Skip to content

Commit b276d74

Browse files
committed
Simplify recalculateJacobian a little
1 parent a4fe574 commit b276d74

1 file changed

Lines changed: 9 additions & 17 deletions

File tree

src/mesh/coordinates.cxx

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -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("\tError in jacobian call\n");
943-
throw;
935+
throw e;
944936
}
945937
}
946938

0 commit comments

Comments
 (0)