aboutsummaryrefslogtreecommitdiff
path: root/Source/Evolve/WarpXEvolveEM.cpp
diff options
context:
space:
mode:
authorGravatar MaxThevenet <mthevenet@lbl.gov> 2020-02-21 14:27:52 -0800
committerGravatar GitHub <noreply@github.com> 2020-02-21 14:27:52 -0800
commit29e99787fc8b6548f20c352ffe24fe7a94ed3edb (patch)
tree80276e0d911bef5b455b4eabf4ece8e4b15bfba5 /Source/Evolve/WarpXEvolveEM.cpp
parent5ae9c7e3edcc18272e32f5871329c024fddc4df9 (diff)
downloadWarpX-29e99787fc8b6548f20c352ffe24fe7a94ed3edb.tar.gz
WarpX-29e99787fc8b6548f20c352ffe24fe7a94ed3edb.tar.zst
WarpX-29e99787fc8b6548f20c352ffe24fe7a94ed3edb.zip
Make the option to exchange all guard cells safer (#709)
* make the option to exchange all guard cells safer * EOL **** * more consistent naming in guard cells test script
Diffstat (limited to 'Source/Evolve/WarpXEvolveEM.cpp')
-rw-r--r--Source/Evolve/WarpXEvolveEM.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/Source/Evolve/WarpXEvolveEM.cpp b/Source/Evolve/WarpXEvolveEM.cpp
index 80fe321cb..f58c34ed1 100644
--- a/Source/Evolve/WarpXEvolveEM.cpp
+++ b/Source/Evolve/WarpXEvolveEM.cpp
@@ -416,6 +416,8 @@ WarpX::OneStep_nosub (Real cur_time)
}
// E and B are up-to-date in the domain, but all guard cells are
// outdated.
+ if ( safe_guard_cells )
+ FillBoundaryB(guard_cells.ng_alloc_EB, guard_cells.ng_Extra);
#endif
}
@@ -529,6 +531,8 @@ WarpX::OneStep_sub1 (Real curtime)
FillBoundaryE(fine_lev, PatchType::fine, guard_cells.ng_FieldSolver);
}
+ if ( safe_guard_cells )
+ FillBoundaryF(fine_lev, PatchType::fine, guard_cells.ng_FieldSolver);
FillBoundaryB(fine_lev, PatchType::fine, guard_cells.ng_FieldSolver);
// v) Push the fields on the coarse patch and mother grid
@@ -569,7 +573,11 @@ WarpX::OneStep_sub1 (Real curtime)
FillBoundaryF(coarse_lev, PatchType::fine, IntVect::TheZeroVector());
}
DampPML(coarse_lev, PatchType::fine);
+ if ( safe_guard_cells )
+ FillBoundaryE(coarse_lev, PatchType::fine, guard_cells.ng_FieldSolver);
}
+ if ( safe_guard_cells )
+ FillBoundaryB(coarse_lev, PatchType::fine, guard_cells.ng_FieldSolver);
}
void