aboutsummaryrefslogtreecommitdiff
path: root/Source/Evolve/WarpXEvolveEM.cpp
diff options
context:
space:
mode:
authorGravatar MaxThevenet <mthevenet@lbl.gov> 2020-01-03 18:29:25 -0800
committerGravatar MaxThevenet <mthevenet@lbl.gov> 2020-01-03 18:29:25 -0800
commit0dd9333849b53089e1f7cad91b18ed2010a5c29a (patch)
tree9e4d30d49ab47e8cee6cc6a25b2d59de883858be /Source/Evolve/WarpXEvolveEM.cpp
parent2ebae955f208d63fe781613cb511ff57b5da836a (diff)
downloadWarpX-0dd9333849b53089e1f7cad91b18ed2010a5c29a.tar.gz
WarpX-0dd9333849b53089e1f7cad91b18ed2010a5c29a.tar.zst
WarpX-0dd9333849b53089e1f7cad91b18ed2010a5c29a.zip
add call to FillBoundary when moving window + PML + subcycling + momentum-conserving gather
Diffstat (limited to 'Source/Evolve/WarpXEvolveEM.cpp')
-rw-r--r--Source/Evolve/WarpXEvolveEM.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/Source/Evolve/WarpXEvolveEM.cpp b/Source/Evolve/WarpXEvolveEM.cpp
index dcf984bdf..366be28d2 100644
--- a/Source/Evolve/WarpXEvolveEM.cpp
+++ b/Source/Evolve/WarpXEvolveEM.cpp
@@ -376,6 +376,8 @@ WarpX::OneStep_nosub (Real cur_time)
* steps of the fine grid.
*
*/
+
+
void
WarpX::OneStep_sub1 (Real curtime)
{
@@ -502,6 +504,13 @@ WarpX::OneStep_sub1 (Real curtime)
EvolveF(coarse_lev, PatchType::fine, 0.5*dt[coarse_lev], DtType::SecondHalf);
if (do_pml) {
+ if (do_moving_window & field_gathering_algo == GatheringAlgo::MomentumConserving){
+ // Exchance guard cells of PMLs only (0 cells are exchanged for the
+ // regular B field MultiFab). This is required as B has just been
+ // evolved and one guard cell is needed for the averaging
+ // in momentum-conserving gather.
+ FillBoundaryB(coarse_lev, PatchType::fine, IntVect::TheZeroVector());
+ }
DampPML(coarse_lev, PatchType::fine);
}
}