@@ -923,24 +923,16 @@ MetricTensor::FieldMetric Coordinates::recalculateJacobian() const {
923923 TRACE (" Coordinates::jacobian" );
924924 try {
925925 // calculate Jacobian using g^-1 = det[g^ij], J = sqrt(g)
926- auto g = contravariantMetricTensor.g11 () * contravariantMetricTensor.g22 ()
927- * contravariantMetricTensor.g33 ()
928- + 2.0 * contravariantMetricTensor.g12 () * contravariantMetricTensor.g13 ()
929- * contravariantMetricTensor.g23 ()
930- - contravariantMetricTensor.g11 () * contravariantMetricTensor.g23 ()
931- * contravariantMetricTensor.g23 ()
932- - contravariantMetricTensor.g22 () * contravariantMetricTensor.g13 ()
933- * contravariantMetricTensor.g13 ()
934- - contravariantMetricTensor.g33 () * contravariantMetricTensor.g12 ()
935- * contravariantMetricTensor.g12 ();
936-
937- // Check that g is positive
938- bout::checkPositive (g, " The determinant of g^ij" , " RGN_NOBNDRY" );
939-
940- return 1 . / sqrt (g);
941- } catch (BoutException&) {
926+ auto g_matrix = g11 () * g22 () * g33 () + 2.0 * g12 () * g13 () * g23 ()
927+ - g11 () * g23 () * g23 () - g22 () * g13 () * g13 ()
928+ - g33 () * g12 () * g12 ();
929+
930+ bout::checkPositive (g_matrix, " The determinant of g^ij" , " RGN_NOBNDRY" );
931+
932+ return 1 . / sqrt (g_matrix);
933+ } catch (const BoutException& e) {
942934 output_error.write (" \t Error in jacobian call\n " );
943- throw ;
935+ throw e ;
944936 }
945937}
946938
0 commit comments