1 #include "../coordinates/coordinates.hpp"
2 #include "../reconstruct/interpolation.hpp"
9 if (pmb->block_size.nx2 > 1)
11 if (pmb->block_size.nx3 > 1)
16 data.DeleteAthenaArray();
24 int is = pmb->is, js = pmb->js, ks = pmb->ks;
25 int ie = pmb->ie, je = pmb->je, ke = pmb->ke;
28 if (pmb->block_size.nx2 > 1)
29 for (
int k = ks; k <= ke; ++k)
30 for (
int j = js;
j <= je + 1; ++
j)
31 for (
int i = is; i <= ie; ++i) {
32 v2f2_(k,
j, i) = interp_cp4(w(IVY, k,
j - 2, i), w(IVY, k,
j - 1, i),
33 w(IVY, k,
j, i), w(IVY, k,
j + 1, i));
35 if (pmb->block_size.nx3 > 1)
36 for (
int k = ks; k <= ke + 1; ++k)
37 for (
int j = js;
j <= je; ++
j)
38 for (
int i = is; i <= ie; ++i) {
39 v3f3_(k,
j, i) = interp_cp4(w(IVZ, k - 2,
j, i), w(IVZ, k - 1,
j, i),
40 w(IVZ, k,
j, i), w(IVZ, k + 1,
j, i));
44 for (
int k = ks; k <= ke; ++k)
45 for (
int j = js;
j <= je; ++
j) {
46 pcoord->CellVolume(k,
j, is, ie,
vol_);
47 for (
int i = is; i <= ie; ++i) {
48 if (pmb->block_size.nx2 > 1) {
49 pcoord->Face2Area(k,
j, is, ie,
x2area_);
55 if (pmb->block_size.nx3 > 1) {
56 pcoord->Face3Area(k,
j, is, ie,
x3area_);
AthenaArray< Real > x2area_p1_
AthenaArray< Real > x3area_
AthenaArray< Real > x2area_
AthenaArray< Real > x3area_p1_
AthenaArray< Real > v2f2_
AthenaArray< Real > v3f3_
HorizontalDivergence(MeshBlock *pmb)
virtual ~HorizontalDivergence()
void Finalize(AthenaArray< Real > const &w)