1 #ifndef COORDINATES_COORDINATES_HPP_
2 #define COORDINATES_COORDINATES_HPP_
20 #include "../athena.hpp"
21 #include "../athena_arrays.hpp"
22 #include "../hydro/srcterms/hydro_srcterms.hpp"
23 #include "../mesh/mesh.hpp"
50 virtual void Edge1Length(
const int k,
const int j,
const int il,
const int iu,
52 virtual void Edge2Length(
const int k,
const int j,
const int il,
const int iu,
54 virtual void Edge3Length(
const int k,
const int j,
const int il,
const int iu,
67 virtual void CenterWidth1(
const int k,
const int j,
const int il,
const int iu,
69 virtual void CenterWidth2(
const int k,
const int j,
const int il,
const int iu,
71 virtual void CenterWidth3(
const int k,
const int j,
const int il,
const int iu,
75 virtual void Face1Area(
const int k,
const int j,
const int il,
const int iu,
77 virtual void Face2Area(
const int k,
const int j,
const int il,
const int iu,
79 virtual void Face3Area(
const int k,
const int j,
const int il,
const int iu,
95 const int il,
const int iu,
const int jl,
const int ju,
const int kl,
const int ku,
96 const int nl,
const int nu);
99 const int n,
const int k,
const int j,
const int il,
const int iu);
102 const int nl,
const int nu,
const int kl,
const int ku,
103 const int jl,
const int ju,
const int il,
const int iu);
106 const int n,
const int k,
const int j,
const int il,
const int iu);
109 const int nl,
const int nu,
const int kl,
const int ku,
110 const int jl,
const int ju,
const int il,
const int iu);
113 const int n,
const int k,
const int j,
const int il,
const int iu);
116 const int nl,
const int nu,
const int kl,
const int ku,
117 const int jl,
const int ju,
const int il,
const int iu);
120 virtual void CellVolume(
const int k,
const int j,
const int il,
const int iu,
154 const int k,
const int j,
const int il,
const int iu,
158 const int k,
const int j,
const int il,
const int iu,
162 const int k,
const int j,
const int il,
const int iu,
168 const int k,
const int j,
const int il,
const int iu,
172 const int k,
const int j,
const int il,
const int iu,
176 const int k,
const int j,
const int il,
const int iu,
316 void Face1Area(
const int k,
const int j,
const int il,
const int iu,
318 void Face3Area(
const int k,
const int j,
const int il,
const int iu,
328 void CellVolume(
const int k,
const int j,
const int il,
const int iu,
369 void Face1Area(
const int k,
const int j,
const int il,
const int iu,
371 void Face2Area(
const int k,
const int j,
const int il,
const int iu,
373 void Face3Area(
const int k,
const int j,
const int il,
const int iu,
386 void CellVolume(
const int k,
const int j,
const int il,
const int iu,
410 void CellMetric(
const int k,
const int j,
const int il,
const int iu,
432 const int k,
const int j,
const int il,
const int iu,
436 const int k,
const int j,
const int il,
const int iu,
440 const int k,
const int j,
const int il,
const int iu,
483 void Face1Area(
const int k,
const int j,
const int il,
const int iu,
485 void Face2Area(
const int k,
const int j,
const int il,
const int iu,
487 void Face3Area(
const int k,
const int j,
const int il,
const int iu,
494 void CellVolume(
const int k,
const int j,
const int il,
const int iu,
505 void CellMetric(
const int k,
const int j,
const int il,
const int iu,
527 const int k,
const int j,
const int il,
const int iu,
531 const int k,
const int j,
const int il,
const int iu,
535 const int k,
const int j,
const int il,
const int iu,
578 void Face1Area(
const int k,
const int j,
const int il,
const int iu,
580 void Face2Area(
const int k,
const int j,
const int il,
const int iu,
582 void Face3Area(
const int k,
const int j,
const int il,
const int iu,
589 void CellVolume(
const int k,
const int j,
const int il,
const int iu,
600 void CellMetric(
const int k,
const int j,
const int il,
const int iu,
622 const int k,
const int j,
const int il,
const int iu,
626 const int k,
const int j,
const int il,
const int iu,
630 const int k,
const int j,
const int il,
const int iu,
673 void Face1Area(
const int k,
const int j,
const int il,
const int iu,
675 void Face2Area(
const int k,
const int j,
const int il,
const int iu,
677 void Face3Area(
const int k,
const int j,
const int il,
const int iu,
684 void CellVolume(
const int k,
const int j,
const int il,
const int iu,
695 void CellMetric(
const int k,
const int j,
const int il,
const int iu,
717 const int k,
const int j,
const int il,
const int iu,
721 const int k,
const int j,
const int il,
const int iu,
725 const int k,
const int j,
const int il,
const int iu,
Cartesian(MeshBlock *pmb, ParameterInput *pin, bool flag)
AthenaArray< Real > trans_face3_i1_
AthenaArray< Real > coord_area2_k1_
AthenaArray< Real > coord_len2_i1_
AthenaArray< Real > coord_area2vc_i_
AthenaArray< Real > metric_face1_i2_
AthenaArray< Real > coord_width3_j2_
AthenaArray< Real > trans_face3_ji4_
AthenaArray< Real > metric_face1_j1_
virtual void LowerVectorCell(Real a0, Real a1, Real a2, Real a3, int k, int j, int i, Real *pa_0, Real *pa_1, Real *pa_2, Real *pa_3)
virtual void LaplacianX1(const AthenaArray< Real > &s, AthenaArray< Real > &delta_s, const int n, const int k, const int j, const int il, const int iu)
AthenaArray< Real > trans_face2_i2_
AthenaArray< Real > trans_face3_ji3_
AthenaArray< Real > coord_area1_j2_
AthenaArray< Real > phy_src2_i_
AthenaArray< Real > coord_len3_j2_
AthenaArray< Real > trans_face3_ji1_
AthenaArray< Real > metric_face3_j2_
AthenaArray< Real > trans_face1_kji_
AthenaArray< Real > metric_face2_i1_
virtual void Face1Area(const int k, const int j, const int il, const int iu, AthenaArray< Real > &area)
AthenaArray< Real > trans_face3_kji_
virtual Real GetEdge3Length(const int k, const int j, const int i)
virtual void Edge2Length(const int k, const int j, const int il, const int iu, AthenaArray< Real > &len)
AthenaArray< Real > trans_face1_ji6_
AthenaArray< Real > coord_area2_j1_
AthenaArray< Real > coord_area2_i_
AthenaArray< Real > trans_face3_j1_
AthenaArray< Real > coord_area1vc_j_
AthenaArray< Real > coord_len1_i2_
AthenaArray< Real > trans_face2_j1_
virtual void CenterWidth2(const int k, const int j, const int il, const int iu, AthenaArray< Real > &dx2)
AthenaArray< Real > metric_face2_j1_
AthenaArray< Real > coord_width2_i1_
virtual void FluxToGlobal1(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &cons, const AthenaArray< Real > &bbx, AthenaArray< Real > &flux, AthenaArray< Real > &ey, AthenaArray< Real > &ez)
AthenaArray< Real > coord_area1_kji_
AthenaArray< Real > trans_face1_i1_
AthenaArray< Real > metric_face3_i1_
virtual void CellMetric(const int k, const int j, const int il, const int iu, AthenaArray< Real > &g, AthenaArray< Real > &gi)
AthenaArray< Real > trans_face2_ji6_
AthenaArray< Real > coord_src2_j_
AthenaArray< Real > coord_width2_kji_
AthenaArray< Real > coord_width2_j1_
AthenaArray< Real > coord_src_j1_
AthenaArray< Real > trans_face2_ji5_
AthenaArray< Real > coord_len2_kji_
Coordinates(MeshBlock *pmb, ParameterInput *pin, bool flag=false)
AthenaArray< Real > trans_face1_ji2_
virtual void LaplacianX3All(const AthenaArray< Real > &s, AthenaArray< Real > &delta_s, const int nl, const int nu, const int kl, const int ku, const int jl, const int ju, const int il, const int iu)
virtual Real GetEdge1Length(const int k, const int j, const int i)
AthenaArray< Real > metric_face2_i2_
virtual ~Coordinates()=default
virtual void PrimToLocal1(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &b1_vals, AthenaArray< Real > &prim_left, AthenaArray< Real > &prim_right, AthenaArray< Real > &bx)
AthenaArray< Real > coord_len3_i1_
AthenaArray< Real > coord_vol_j2_
AthenaArray< Real > coord_area1_j1_
AthenaArray< Real > coord_src3_j_
AthenaArray< Real > coord_vol_i2_
AthenaArray< Real > trans_face1_j1_
AthenaArray< Real > coord_len2_j1_
virtual void VolCenter3Length(const int k, const int j, const int il, const int iu, AthenaArray< Real > &len)
AthenaArray< Real > coord_area3_i_
virtual Real GetEdge2Length(const int k, const int j, const int i)
AthenaArray< Real > trans_face1_i2_
AthenaArray< Real > coord_len3_j1_
AthenaArray< Real > trans_face1_ji3_
AthenaArray< Real > metric_face2_j2_
virtual void Edge1Length(const int k, const int j, const int il, const int iu, AthenaArray< Real > &len)
AthenaArray< Real > coord_len2_j2_
AthenaArray< Real > coord_area1vc_i_
AthenaArray< Real > coord_vol_j1_
AthenaArray< Real > coord_src_j2_
AthenaArray< Real > coord_area3_i2_
AthenaArray< Real > coord_len1_j2_
AthenaArray< Real > metric_face1_i1_
AthenaArray< Real > coord_len3_k1_
AthenaArray< Real > coord_vol_i_
AthenaArray< Real > coord_len1_i1_
AthenaArray< Real > coord_area2_i2_
AthenaArray< Real > dh31vd1
AthenaArray< Real > coord_area3_i1_
virtual void LaplacianX2All(const AthenaArray< Real > &s, AthenaArray< Real > &delta_s, const int nl, const int nu, const int kl, const int ku, const int jl, const int ju, const int il, const int iu)
AthenaArray< Real > coord_len1_j1_
AthenaArray< Real > coord_area3_kji_
AthenaArray< Real > dh32fd2
virtual void VolCenter1Length(const int k, const int j, const int il, const int iu, AthenaArray< Real > &len)
AthenaArray< Real > coord_area2_j2_
virtual void VolCenterFace1Area(const int k, const int j, const int il, const int iu, AthenaArray< Real > &area)
virtual void Face1Metric(const int k, const int j, const int il, const int iu, AthenaArray< Real > &g, AthenaArray< Real > &g_inv)
virtual Real GetFace1Area(const int k, const int j, const int i)
AthenaArray< Real > coord_area2_i1_
AthenaArray< Real > coord_len3_kji_
virtual void Face2Metric(const int k, const int j, const int il, const int iu, AthenaArray< Real > &g, AthenaArray< Real > &g_inv)
virtual void VolCenterFace2Area(const int k, const int j, const int il, const int iu, AthenaArray< Real > &area)
AthenaArray< Real > phy_src1_i_
AthenaArray< Real > coord_area2vc_j_
AthenaArray< Real > coord_src1_j_
AthenaArray< Real > metric_cell_i2_
AthenaArray< Real > trans_face3_ji2_
AthenaArray< Real > coord_area3_j1_
AthenaArray< Real > trans_face1_ji5_
virtual Real GetFace3Area(const int k, const int j, const int i)
AthenaArray< Real > coord_width1_i1_
AthenaArray< Real > trans_face2_i1_
virtual void CenterWidth3(const int k, const int j, const int il, const int iu, AthenaArray< Real > &dx3)
AthenaArray< Real > trans_face3_ji5_
AthenaArray< Real > coord_src_kji_
AthenaArray< Real > coord_width1_kji_
AthenaArray< Real > trans_face1_ji1_
AthenaArray< Real > coord_area1_j_
AthenaArray< Real > coord_vol_k1_
AthenaArray< Real > coord_vol_kji_
AthenaArray< Real > trans_face1_ji7_
AthenaArray< Real > trans_face1_ji4_
virtual void VolCenterFace3Area(const int k, const int j, const int il, const int iu, AthenaArray< Real > &area)
virtual void FluxToGlobal2(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &cons, const AthenaArray< Real > &bbx, AthenaArray< Real > &flux, AthenaArray< Real > &ey, AthenaArray< Real > &ez)
virtual void RaiseVectorCell(Real a_0, Real a_1, Real a_2, Real a_3, int k, int j, int i, Real *pa0, Real *pa1, Real *pa2, Real *pa3)
AthenaArray< Real > metric_cell_j2_
AthenaArray< Real > coord_vol_i1_
AthenaArray< Real > dh31fd1
AthenaArray< Real > coord_width3_kji_
AthenaArray< Real > coord_vol_j_
AthenaArray< Real > coord_area1_i_
AthenaArray< Real > coord_area1_k1_
AthenaArray< Real > dh2vd1
AthenaArray< Real > coord_area2_j_
AthenaArray< Real > trans_face2_ji3_
AthenaArray< Real > metric_face3_j1_
AthenaArray< Real > coord_width3_j3_
AthenaArray< Real > metric_face2_kji_
AthenaArray< Real > metric_face3_kji_
AthenaArray< Real > coord_area2_kji_
virtual void Face2Area(const int k, const int j, const int il, const int iu, AthenaArray< Real > &area)
AthenaArray< Real > trans_face2_ji1_
virtual void PrimToLocal2(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &b2_vals, AthenaArray< Real > &prim_left, AthenaArray< Real > &prim_right, AthenaArray< Real > &bx)
virtual void LaplacianX3(const AthenaArray< Real > &s, AthenaArray< Real > &delta_s, const int n, const int k, const int j, const int il, const int iu)
AthenaArray< Real > coord_width3_j1_
virtual void Edge3Length(const int k, const int j, const int il, const int iu, AthenaArray< Real > &len)
AthenaArray< Real > trans_face3_ji6_
AthenaArray< Real > coord_src1_i_
AthenaArray< Real > trans_face2_ji4_
virtual void FluxToGlobal3(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &cons, const AthenaArray< Real > &bbx, AthenaArray< Real > &flux, AthenaArray< Real > &ey, AthenaArray< Real > &ez)
virtual void CellVolume(const int k, const int j, const int il, const int iu, AthenaArray< Real > &vol)
AthenaArray< Real > coord_area1_i1_
virtual void LaplacianX2(const AthenaArray< Real > &s, AthenaArray< Real > &delta_s, const int n, const int k, const int j, const int il, const int iu)
virtual void Laplacian(const AthenaArray< Real > &s, AthenaArray< Real > &delta_s, const int il, const int iu, const int jl, const int ju, const int kl, const int ku, const int nl, const int nu)
AthenaArray< Real > dh2fd1
AthenaArray< Real > dh32vd2
AthenaArray< Real > trans_face3_i2_
AthenaArray< Real > metric_face1_j2_
AthenaArray< Real > coord_width3_k1_
AthenaArray< Real > coord_area3_j2_
virtual void CenterWidth1(const int k, const int j, const int il, const int iu, AthenaArray< Real > &dx1)
AthenaArray< Real > metric_face1_kji_
AthenaArray< Real > metric_face3_i2_
AthenaArray< Real > coord_len1_kji_
virtual Real GetFace2Area(const int k, const int j, const int i)
AthenaArray< Real > trans_face2_ji2_
void Metric(Real x1, Real x2, Real x3, ParameterInput *pin, AthenaArray< Real > &g, AthenaArray< Real > &g_inv, AthenaArray< Real > &dg_dx1, AthenaArray< Real > &dg_dx2, AthenaArray< Real > &dg_dx3)
AthenaArray< Real > coord_src2_i_
virtual void Face3Metric(const int k, const int j, const int il, const int iu, AthenaArray< Real > &g, AthenaArray< Real > &g_inv)
AthenaArray< Real > coord_width3_ji1_
virtual void VolCenter2Length(const int k, const int j, const int il, const int iu, AthenaArray< Real > &len)
AthenaArray< Real > metric_cell_kji_
AthenaArray< Real > trans_face2_kji_
virtual Real GetCellVolume(const int k, const int j, const int i)
virtual void PrimToLocal3(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &b3_vals, AthenaArray< Real > &prim_left, AthenaArray< Real > &prim_right, AthenaArray< Real > &bx)
virtual void LaplacianX1All(const AthenaArray< Real > &s, AthenaArray< Real > &delta_s, const int nl, const int nu, const int kl, const int ku, const int jl, const int ju, const int il, const int iu)
AthenaArray< Real > metric_cell_i1_
AthenaArray< Real > metric_cell_j1_
virtual void Face3Area(const int k, const int j, const int il, const int iu, AthenaArray< Real > &area)
virtual void AddCoordTermsDivergence(const Real dt, const AthenaArray< Real > *flux, const AthenaArray< Real > &prim, const AthenaArray< Real > &bcc, AthenaArray< Real > &u)
AthenaArray< Real > coord_area3vc_i_
void AddCoordTermsDivergence(const Real dt, const AthenaArray< Real > *flux, const AthenaArray< Real > &prim, const AthenaArray< Real > &bcc, AthenaArray< Real > &u) final
Cylindrical(MeshBlock *pmb, ParameterInput *pin, bool flag)
Real GetCellVolume(const int k, const int j, const int i) final
void CenterWidth2(const int k, const int j, const int il, const int iu, AthenaArray< Real > &dx2) final
Real GetFace3Area(const int k, const int j, const int i) final
Real GetFace1Area(const int k, const int j, const int i) final
void Edge2Length(const int k, const int j, const int il, const int iu, AthenaArray< Real > &len) final
void VolCenter2Length(const int k, const int j, const int il, const int iu, AthenaArray< Real > &len) final
void VolCenterFace3Area(const int k, const int j, const int il, const int iu, AthenaArray< Real > &area) final
void Face1Area(const int k, const int j, const int il, const int iu, AthenaArray< Real > &area) final
void Face3Area(const int k, const int j, const int il, const int iu, AthenaArray< Real > &area) final
void CellVolume(const int k, const int j, const int il, const int iu, AthenaArray< Real > &vol) final
void VolCenterFace1Area(const int k, const int j, const int il, const int iu, AthenaArray< Real > &area) final
Real GetEdge2Length(const int k, const int j, const int i) final
void Face1Metric(const int k, const int j, const int il, const int iu, AthenaArray< Real > &g, AthenaArray< Real > &g_inv) final
Real GetFace2Area(const int k, const int j, const int i) final
void Edge1Length(const int k, const int j, const int il, const int iu, AthenaArray< Real > &len) final
void CenterWidth3(const int k, const int j, const int il, const int iu, AthenaArray< Real > &dx3) final
void FluxToGlobal1(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &cons, const AthenaArray< Real > &bbx, AthenaArray< Real > &flux, AthenaArray< Real > &ey, AthenaArray< Real > &ez) final
void Edge3Length(const int k, const int j, const int il, const int iu, AthenaArray< Real > &len) final
Real GetEdge1Length(const int k, const int j, const int i) final
GRUser(MeshBlock *pmb, ParameterInput *pin, bool flag)
void Face2Area(const int k, const int j, const int il, const int iu, AthenaArray< Real > &area) final
void PrimToLocal3(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &b3_vals, AthenaArray< Real > &prim_left, AthenaArray< Real > &prim_right, AthenaArray< Real > &bx) final
void CellVolume(const int k, const int j, const int il, const int iu, AthenaArray< Real > &vol) final
void FluxToGlobal3(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &cons, const AthenaArray< Real > &bbx, AthenaArray< Real > &flux, AthenaArray< Real > &ey, AthenaArray< Real > &ez) final
void Face1Area(const int k, const int j, const int il, const int iu, AthenaArray< Real > &area) final
Real GetFace1Area(const int k, const int j, const int i) final
Real GetEdge3Length(const int k, const int j, const int i) final
void CellMetric(const int k, const int j, const int il, const int iu, AthenaArray< Real > &g, AthenaArray< Real > &gi) final
void CenterWidth1(const int k, const int j, const int il, const int iu, AthenaArray< Real > &dx1) final
void Edge2Length(const int k, const int j, const int il, const int iu, AthenaArray< Real > &len) final
void Face2Metric(const int k, const int j, const int il, const int iu, AthenaArray< Real > &g, AthenaArray< Real > &g_inv) final
Real GetFace3Area(const int k, const int j, const int i) final
void PrimToLocal1(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &b1_vals, AthenaArray< Real > &prim_left, AthenaArray< Real > &prim_right, AthenaArray< Real > &bx) final
Real GetEdge2Length(const int k, const int j, const int i) final
void CenterWidth2(const int k, const int j, const int il, const int iu, AthenaArray< Real > &dx2) final
void LowerVectorCell(Real a0, Real a1, Real a2, Real a3, int k, int j, int i, Real *pa_0, Real *pa_1, Real *pa_2, Real *pa_3) final
void PrimToLocal2(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &b2_vals, AthenaArray< Real > &prim_left, AthenaArray< Real > &prim_right, AthenaArray< Real > &bx) final
void FluxToGlobal2(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &cons, const AthenaArray< Real > &bbx, AthenaArray< Real > &flux, AthenaArray< Real > &ey, AthenaArray< Real > &ez) final
Real GetCellVolume(const int k, const int j, const int i) final
void Face3Area(const int k, const int j, const int il, const int iu, AthenaArray< Real > &area) final
void RaiseVectorCell(Real a_0, Real a_1, Real a_2, Real a_3, int k, int j, int i, Real *pa0, Real *pa1, Real *pa2, Real *pa3) final
void Face3Metric(const int k, const int j, const int il, const int iu, AthenaArray< Real > &g, AthenaArray< Real > &g_inv) final
void AddCoordTermsDivergence(const Real dt, const AthenaArray< Real > *flux, const AthenaArray< Real > &prim, const AthenaArray< Real > &bcc, AthenaArray< Real > &u) final
void CenterWidth1(const int k, const int j, const int il, const int iu, AthenaArray< Real > &dx1) final
void Face1Area(const int k, const int j, const int il, const int iu, AthenaArray< Real > &area) final
Real GetFace3Area(const int k, const int j, const int i) final
void PrimToLocal2(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &b2_vals, AthenaArray< Real > &prim_left, AthenaArray< Real > &prim_right, AthenaArray< Real > &bx) final
void FluxToGlobal2(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &cons, const AthenaArray< Real > &bbx, AthenaArray< Real > &flux, AthenaArray< Real > &ey, AthenaArray< Real > &ez) final
void Face2Metric(const int k, const int j, const int il, const int iu, AthenaArray< Real > &g, AthenaArray< Real > &g_inv) final
void LowerVectorCell(Real a0, Real a1, Real a2, Real a3, int k, int j, int i, Real *pa_0, Real *pa_1, Real *pa_2, Real *pa_3) final
void CenterWidth2(const int k, const int j, const int il, const int iu, AthenaArray< Real > &dx2) final
Real GetEdge1Length(const int k, const int j, const int i) final
Real GetEdge3Length(const int k, const int j, const int i) final
void Face3Area(const int k, const int j, const int il, const int iu, AthenaArray< Real > &area) final
void RaiseVectorCell(Real a_0, Real a_1, Real a_2, Real a_3, int k, int j, int i, Real *pa0, Real *pa1, Real *pa2, Real *pa3) final
void AddCoordTermsDivergence(const Real dt, const AthenaArray< Real > *flux, const AthenaArray< Real > &prim, const AthenaArray< Real > &bcc, AthenaArray< Real > &u) final
void PrimToLocal3(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &b3_vals, AthenaArray< Real > &prim_left, AthenaArray< Real > &prim_right, AthenaArray< Real > &bx) final
void FluxToGlobal3(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &cons, const AthenaArray< Real > &bbx, AthenaArray< Real > &flux, AthenaArray< Real > &ey, AthenaArray< Real > &ez) final
void CellMetric(const int k, const int j, const int il, const int iu, AthenaArray< Real > &g, AthenaArray< Real > &gi) final
Real GetCellVolume(const int k, const int j, const int i) final
void Edge3Length(const int k, const int j, const int il, const int iu, AthenaArray< Real > &len) final
void PrimToLocal1(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &b1_vals, AthenaArray< Real > &prim_left, AthenaArray< Real > &prim_right, AthenaArray< Real > &bx) final
void Face3Metric(const int k, const int j, const int il, const int iu, AthenaArray< Real > &g, AthenaArray< Real > &g_inv) final
void Edge2Length(const int k, const int j, const int il, const int iu, AthenaArray< Real > &len) final
KerrSchild(MeshBlock *pmb, ParameterInput *pin, bool flag)
Real GetFace1Area(const int k, const int j, const int i) final
void Edge1Length(const int k, const int j, const int il, const int iu, AthenaArray< Real > &len) final
void Face1Metric(const int k, const int j, const int il, const int iu, AthenaArray< Real > &g, AthenaArray< Real > &g_inv) final
void Face2Area(const int k, const int j, const int il, const int iu, AthenaArray< Real > &area) final
void FluxToGlobal1(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &cons, const AthenaArray< Real > &bbx, AthenaArray< Real > &flux, AthenaArray< Real > &ey, AthenaArray< Real > &ez) final
void CellVolume(const int k, const int j, const int il, const int iu, AthenaArray< Real > &vol) final
void CenterWidth3(const int k, const int j, const int il, const int iu, AthenaArray< Real > &dx3) final
Real GetFace2Area(const int k, const int j, const int i) final
Real GetEdge2Length(const int k, const int j, const int i) final
void Face1Metric(const int k, const int j, const int il, const int iu, AthenaArray< Real > &g, AthenaArray< Real > &g_inv) final
void Face2Metric(const int k, const int j, const int il, const int iu, AthenaArray< Real > &g, AthenaArray< Real > &g_inv) final
void PrimToLocal2(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &b2_vals, AthenaArray< Real > &prim_left, AthenaArray< Real > &prim_right, AthenaArray< Real > &bx) final
void CellMetric(const int k, const int j, const int il, const int iu, AthenaArray< Real > &g, AthenaArray< Real > &gi) final
Minkowski(MeshBlock *pmb, ParameterInput *pin, bool flag)
void PrimToLocal1(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &b1_vals, AthenaArray< Real > &prim_left, AthenaArray< Real > &prim_right, AthenaArray< Real > &bx) final
void FluxToGlobal1(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &cons, const AthenaArray< Real > &bbx, AthenaArray< Real > &flux, AthenaArray< Real > &ey, AthenaArray< Real > &ez) final
void LowerVectorCell(Real a0, Real a1, Real a2, Real a3, int k, int j, int i, Real *pa_0, Real *pa_1, Real *pa_2, Real *pa_3) final
void PrimToLocal3(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &b3_vals, AthenaArray< Real > &prim_left, AthenaArray< Real > &prim_right, AthenaArray< Real > &bx) final
void FluxToGlobal3(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &cons, const AthenaArray< Real > &bbx, AthenaArray< Real > &flux, AthenaArray< Real > &ey, AthenaArray< Real > &ez) final
void Face3Metric(const int k, const int j, const int il, const int iu, AthenaArray< Real > &g, AthenaArray< Real > &g_inv) final
void FluxToGlobal2(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &cons, const AthenaArray< Real > &bbx, AthenaArray< Real > &flux, AthenaArray< Real > &ey, AthenaArray< Real > &ez) final
void RaiseVectorCell(Real a_0, Real a_1, Real a_2, Real a_3, int k, int j, int i, Real *pa0, Real *pa1, Real *pa2, Real *pa3) final
void Face1Area(const int k, const int j, const int il, const int iu, AthenaArray< Real > &area) final
Real GetFace3Area(const int k, const int j, const int i) final
void CenterWidth3(const int k, const int j, const int il, const int iu, AthenaArray< Real > &dx3) final
void Face3Metric(const int k, const int j, const int il, const int iu, AthenaArray< Real > &g, AthenaArray< Real > &g_inv) final
void AddCoordTermsDivergence(const Real dt, const AthenaArray< Real > *flux, const AthenaArray< Real > &prim, const AthenaArray< Real > &bcc, AthenaArray< Real > &u) final
Real GetFace2Area(const int k, const int j, const int i) final
void Edge1Length(const int k, const int j, const int il, const int iu, AthenaArray< Real > &len) final
void CellMetric(const int k, const int j, const int il, const int iu, AthenaArray< Real > &g, AthenaArray< Real > &gi) final
void CellVolume(const int k, const int j, const int il, const int iu, AthenaArray< Real > &vol) final
void FluxToGlobal1(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &cons, const AthenaArray< Real > &bbx, AthenaArray< Real > &flux, AthenaArray< Real > &ey, AthenaArray< Real > &ez) final
Real GetFace1Area(const int k, const int j, const int i) final
Schwarzschild(MeshBlock *pmb, ParameterInput *pin, bool flag)
void Face3Area(const int k, const int j, const int il, const int iu, AthenaArray< Real > &area) final
void FluxToGlobal3(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &cons, const AthenaArray< Real > &bbx, AthenaArray< Real > &flux, AthenaArray< Real > &ey, AthenaArray< Real > &ez) final
void CenterWidth1(const int k, const int j, const int il, const int iu, AthenaArray< Real > &dx1) final
Real GetEdge2Length(const int k, const int j, const int i) final
void PrimToLocal1(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &b1_vals, AthenaArray< Real > &prim_left, AthenaArray< Real > &prim_right, AthenaArray< Real > &bx) final
void PrimToLocal2(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &b2_vals, AthenaArray< Real > &prim_left, AthenaArray< Real > &prim_right, AthenaArray< Real > &bx) final
void LowerVectorCell(Real a0, Real a1, Real a2, Real a3, int k, int j, int i, Real *pa_0, Real *pa_1, Real *pa_2, Real *pa_3) final
void Edge3Length(const int k, const int j, const int il, const int iu, AthenaArray< Real > &len) final
void FluxToGlobal2(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &cons, const AthenaArray< Real > &bbx, AthenaArray< Real > &flux, AthenaArray< Real > &ey, AthenaArray< Real > &ez) final
Real GetEdge1Length(const int k, const int j, const int i) final
void RaiseVectorCell(Real a_0, Real a_1, Real a_2, Real a_3, int k, int j, int i, Real *pa0, Real *pa1, Real *pa2, Real *pa3) final
void Face2Metric(const int k, const int j, const int il, const int iu, AthenaArray< Real > &g, AthenaArray< Real > &g_inv) final
void Face1Metric(const int k, const int j, const int il, const int iu, AthenaArray< Real > &g, AthenaArray< Real > &g_inv) final
void Face2Area(const int k, const int j, const int il, const int iu, AthenaArray< Real > &area) final
void CenterWidth2(const int k, const int j, const int il, const int iu, AthenaArray< Real > &dx2) final
Real GetCellVolume(const int k, const int j, const int i) final
void Edge2Length(const int k, const int j, const int il, const int iu, AthenaArray< Real > &len) final
void PrimToLocal3(const int k, const int j, const int il, const int iu, const AthenaArray< Real > &b3_vals, AthenaArray< Real > &prim_left, AthenaArray< Real > &prim_right, AthenaArray< Real > &bx) final
Real GetEdge3Length(const int k, const int j, const int i) final
void Face1Area(const int k, const int j, const int il, const int iu, AthenaArray< Real > &area) final
Real GetCellVolume(const int k, const int j, const int i) final
void CenterWidth3(const int k, const int j, const int il, const int iu, AthenaArray< Real > &dx3) final
void VolCenter2Length(const int k, const int j, const int il, const int iu, AthenaArray< Real > &len) final
Real GetFace3Area(const int k, const int j, const int i) final
void VolCenterFace3Area(const int k, const int j, const int il, const int iu, AthenaArray< Real > &area) final
void CellVolume(const int k, const int j, const int il, const int iu, AthenaArray< Real > &vol) final
SphericalPolar(MeshBlock *pmb, ParameterInput *pin, bool flag)
void AddCoordTermsDivergence(const Real dt, const AthenaArray< Real > *flux, const AthenaArray< Real > &prim, const AthenaArray< Real > &bcc, AthenaArray< Real > &u) final
void CenterWidth2(const int k, const int j, const int il, const int iu, AthenaArray< Real > &dx2) final
Real GetEdge3Length(const int k, const int j, const int i) final
void VolCenter3Length(const int k, const int j, const int il, const int iu, AthenaArray< Real > &len) final
Real GetFace1Area(const int k, const int j, const int i) final
void Edge3Length(const int k, const int j, const int il, const int iu, AthenaArray< Real > &len) final
void Face3Area(const int k, const int j, const int il, const int iu, AthenaArray< Real > &area) final
void Face2Area(const int k, const int j, const int il, const int iu, AthenaArray< Real > &area) final
Real GetFace2Area(const int k, const int j, const int i) final
void VolCenterFace1Area(const int k, const int j, const int il, const int iu, AthenaArray< Real > &area) final
void Edge2Length(const int k, const int j, const int il, const int iu, AthenaArray< Real > &len) final
Real GetEdge2Length(const int k, const int j, const int i) final
void VolCenterFace2Area(const int k, const int j, const int il, const int iu, AthenaArray< Real > &area) final