Skip to content

Commit

Permalink
The (x, y) indexing methods return a pointer when BOUT_USE_METRIC_3D …
Browse files Browse the repository at this point in the history
…and a reference otherwise).
  • Loading branch information
tomchapman committed Sep 25, 2024
1 parent 7041398 commit 5c6432b
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 0 deletions.
9 changes: 9 additions & 0 deletions include/bout/coordinates.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -154,12 +154,21 @@ public:
const BoutReal& g_13(int x, int y, int z) const { return covariantMetricTensor.g13(x, y, z); }
const BoutReal& g_23(int x, int y, int z) const { return covariantMetricTensor.g23(x, y, z); }

#if BOUT_USE_METRIC_3D
const BoutReal* g_11(int x, int y) const { return covariantMetricTensor.g11(x, y); }
const BoutReal* g_22(int x, int y) const { return covariantMetricTensor.g22(x, y); }
const BoutReal* g_33(int x, int y) const { return covariantMetricTensor.g33(x, y); }
const BoutReal* g_12(int x, int y) const { return covariantMetricTensor.g12(x, y); }
const BoutReal* g_13(int x, int y) const { return covariantMetricTensor.g13(x, y); }
const BoutReal* g_23(int x, int y) const { return covariantMetricTensor.g23(x, y); }
#else
const BoutReal& g_11(int x, int y) const { return covariantMetricTensor.g11(x, y); }
const BoutReal& g_22(int x, int y) const { return covariantMetricTensor.g22(x, y); }
const BoutReal& g_33(int x, int y) const { return covariantMetricTensor.g33(x, y); }
const BoutReal& g_12(int x, int y) const { return covariantMetricTensor.g12(x, y); }
const BoutReal& g_13(int x, int y) const { return covariantMetricTensor.g13(x, y); }
const BoutReal& g_23(int x, int y) const { return covariantMetricTensor.g23(x, y); }
#endif

/// Contravariant metric tensor (g^{ij})
const BoutReal& g11(int x, int y, int z) const { return contravariantMetricTensor.g11(x, y, z); }
Expand Down
9 changes: 9 additions & 0 deletions include/bout/metric_tensor.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,21 @@ public:
const BoutReal& g13(int x, int y, int z) const { return g13_(x, y, z); }
const BoutReal& g23(int x, int y, int z) const { return g23_(x, y, z); }

#if BOUT_USE_METRIC_3D
const BoutReal* g11(int x, int y) const { return g11_(x, y); }
const BoutReal* g22(int x, int y) const { return g22_(x, y); }
const BoutReal* g33(int x, int y) const { return g33_(x, y); }
const BoutReal* g12(int x, int y) const { return g12_(x, y); }
const BoutReal* g13(int x, int y) const { return g13_(x, y); }
const BoutReal* g23(int x, int y) const { return g23_(x, y); }
#else
const BoutReal& g11(int x, int y) const { return g11_(x, y); }
const BoutReal& g22(int x, int y) const { return g22_(x, y); }
const BoutReal& g33(int x, int y) const { return g33_(x, y); }
const BoutReal& g12(int x, int y) const { return g12_(x, y); }
const BoutReal& g13(int x, int y) const { return g13_(x, y); }
const BoutReal& g23(int x, int y) const { return g23_(x, y); }
#endif

void setMetricTensor(const MetricTensor& metric_tensor) {

Expand Down

0 comments on commit 5c6432b

Please sign in to comment.