NE2O3IMQBR3OAPLJC22SPJ7AX2ABULA7XNSIZYFHCQLWC45T6GJAC
UTHNLH3J3VG7BBJPOKGE6DY7Z2QHDLY72TR2VMEDQYP73SIWZGKAC
MSBBCXVGD3GRLE5KAI6BKAFRV7SQUWI2SNN43AJAUD3ISRCEXY6QC
TVBD244E7Q7WV44CRBTFST535NUP3JAZH6OLL4IKDR3OWEXSU7HAC
BVR7DVINVPQG7PA6Z7QYVYNQ43YZL7XCC6AOMSMWMGAAB2Q43STAC
TOBGHRPKEPSXDN56WGSZNWOMCBVJ4KUSLWYWI56MC2RR3MM3KLZAC
UUGQGVC4WEKN64WAP7F5QPS2UHGQB5ZLMFRIYNWKMIEBDO3QRX4AC
5XGIB7XMEZNBLA5ZLQTXRTC3AZ5CTRGMXWBPVMWXG4DPHKWDF4ZAC
NGD6QWRDHWBMQXL2YXZVF3BFQALSII3LH6BMIOFL7VFMGPLHCZEQC
if (mask(grid.cactus_offset.x + p.i, grid.cactus_offset.y + p.j,
grid.cactus_offset.z + p.k))
const int i = grid.cactus_offset.x + p.i;
const int j = grid.cactus_offset.y + p.j;
const int k = grid.cactus_offset.z + p.k;
bool is_restricted = true;
// For cell centred indices (indextype=1), check the
// mask directly. For vertex centred indices
// (indextype=0), check the two neighbouring cells. We
// assume restriction is possible if either of the cells
// is unmasked. At the boundary of the mask grid
// function, be conservative and don't poison.
for (int c = groupdata.indextype[2] - 1; c < 1; ++c)
for (int b = groupdata.indextype[1] - 1; b < 1; ++b)
for (int a = groupdata.indextype[0] - 1; a < 1; ++a)
if (i + a >= mask.begin.x && i + a < mask.end.x &&
j + b >= mask.begin.y && j + b < mask.end.y &&
k + c >= mask.begin.z && k + c < mask.end.z)
is_restricted &= mask(i + a, j + b, k + c);
else
is_restricted = false; // be conservative
if (is_restricted)
SCHEDULE MaxwellToyAMReX_Boundaries AT postregridinitial
{
LANG: C
SYNC: potential_phi
SYNC: potential_ax potential_ay potential_az
SYNC: field_ex field_ey field_ez
SYNC: field_bx field_by field_bz
SYNC: current_rho
SYNC: current_jx current_jy current_jz
} "Apply boundary conditions for the Maxwell equations"
SCHEDULE MaxwellToyAMReX_Boundaries AT postregrid
{
LANG: C
SYNC: potential_phi
SYNC: potential_ax potential_ay potential_az
SYNC: field_ex field_ey field_ez
SYNC: field_bx field_by field_bz
SYNC: current_rho
SYNC: current_jx current_jy current_jz
} "Apply boundary conditions for the Maxwell equations"
SCHEDULE MaxwellToyAMReX_Boundaries AT postrestrict
{
LANG: C
SYNC: potential_phi
SYNC: potential_ax potential_ay potential_az
SYNC: field_ex field_ey field_ez
SYNC: field_bx field_by field_bz
SYNC: current_rho
SYNC: current_jx current_jy current_jz
} "Apply boundary conditions for the Maxwell equations"
SCHEDULE MaxwellToyAMReX_EstimateError AT poststep
{
LANG: C
} "Estimate local error for regridding during evolution"