41 for (
int d = 0; d < AMREX_SPACEDIM; ++d) {
44 if ( std::signbit(tmp) )
45 civ[d] = std::floor(tmp);
50 civ.coarsen(mglevel->refinement());
53 scalar_t dx = 0.5 * ( iv[0] - civ[0] * 2 ) - 0.25;
54 scalar_t dy = 0.5 * ( iv[1] - civ[1] * 2 ) - 0.25;
55#if AMREX_SPACEDIM == 3
56 scalar_t dz = 0.5 * ( iv[2] - civ[2] * 2 ) - 0.25;
61#if AMREX_SPACEDIM == 3
65 go_t crse_gidx = mglevel->serialize(civ);
66 scalar_t value = AMREX_D_TERM(xdiff, * ydiff, * zdiff) * scale;
68 if ( !mglevel->applyBoundary(civ, fab, map, value) )
69 map[crse_gidx] += value;
73 value = AMREX_D_TERM(dx, * ydiff, * zdiff) * scale;
74 if ( !mglevel->applyBoundary(tmp, map, value) )
75 map[mglevel->serialize(tmp)] += value;
79 value = AMREX_D_TERM(xdiff, * dy, * zdiff) * scale;
80 if ( !mglevel->applyBoundary(tmp, map, value) )
81 map[mglevel->serialize(tmp)] += value;
85 value = AMREX_D_TERM(dx, * dy, * zdiff) * scale;
86 if ( !mglevel->applyBoundary(tmp, map, value) )
87 map[mglevel->serialize(tmp)] += value;
89#if AMREX_SPACEDIM == 3
92 value = AMREX_D_TERM(xdiff, * ydiff, * dz) * scale;
93 if ( !mglevel->applyBoundary(tmp, map, value) )
94 map[mglevel->serialize(tmp)] += value;
98 value = AMREX_D_TERM(dx, * ydiff, * dz) * scale;
99 if ( !mglevel->applyBoundary(tmp, map, value) )
100 map[mglevel->serialize(tmp)] += value;
104 value = AMREX_D_TERM(xdiff, * dy, * dz) * scale;
105 if ( !mglevel->applyBoundary(tmp, map, value) )
106 map[mglevel->serialize(tmp)] += value;
109 tmp =
AmrIntVect_t(D_DECL(civ[0]+1, civ[1]+1, civ[2]+1));
110 value = AMREX_D_TERM(dx, * dy, * dz) * scale;
111 if ( !mglevel->applyBoundary(tmp, map, value) )
112 map[mglevel->serialize(tmp)] += value;