aboutsummaryrefslogtreecommitdiff
path: root/Source/Evolve/WarpXEvolveEM.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Evolve/WarpXEvolveEM.cpp')
-rw-r--r--Source/Evolve/WarpXEvolveEM.cpp17
1 files changed, 14 insertions, 3 deletions
diff --git a/Source/Evolve/WarpXEvolveEM.cpp b/Source/Evolve/WarpXEvolveEM.cpp
index 8ad3b2401..c98a4688e 100644
--- a/Source/Evolve/WarpXEvolveEM.cpp
+++ b/Source/Evolve/WarpXEvolveEM.cpp
@@ -90,15 +90,22 @@ WarpX::EvolveEM (int numsteps)
// Beyond one step, we have E^{n} and B^{n}.
// Particles have p^{n-1/2} and x^{n}.
// This is probably overkill
- FillBoundaryE(guard_cells.ngE);
+ // FillBoundaryE(guard_cells.ngE);
// This is probably overkill
- FillBoundaryB(guard_cells.ngE);
+ // FillBoundaryB(guard_cells.ngE);
+ IntVect my_nc;
+ my_nc = guard_cells.ng_FieldGather+guard_cells.ng_NCIFilter;
+ FillBoundaryE(my_nc);
+ FillBoundaryB(my_nc);
+ FillBoundaryAux(guard_cells.ng_Aux);
UpdateAuxilaryData();
-
}
if (do_subcycling == 0 || finest_level == 0) {
OneStep_nosub(cur_time);
+ // E : guard cells are up-to-date
+ // B : guard cells are NOT up-to-date
+ // F : guard cells are NOT up-to-date
} else if (do_subcycling == 1 && finest_level == 1) {
OneStep_sub1(cur_time);
} else {
@@ -108,6 +115,7 @@ WarpX::EvolveEM (int numsteps)
if (num_mirrors>0){
applyMirrors(cur_time);
+ // E : guard cells are NOT up-to-date
}
#ifdef WARPX_USE_PY
@@ -191,6 +199,7 @@ WarpX::EvolveEM (int numsteps)
FillBoundaryE(guard_cells.ngE);
// This is probably overkill
FillBoundaryB(guard_cells.ngE);
+ FillBoundaryAux(guard_cells.ng_Aux);
UpdateAuxilaryData();
for (int lev = 0; lev <= finest_level; ++lev) {
@@ -245,6 +254,7 @@ WarpX::EvolveEM (int numsteps)
FillBoundaryE(guard_cells.ngE);
// This is probably overkill
FillBoundaryB(guard_cells.ngE);
+ FillBoundaryAux(guard_cells.ng_Aux);
UpdateAuxilaryData();
for (int lev = 0; lev <= finest_level; ++lev) {
@@ -325,6 +335,7 @@ WarpX::OneStep_nosub (Real cur_time)
EvolveE(dt[0]); // We now have E^{n+1}
FillBoundaryE(guard_cells.ngE_FieldSolver);
EvolveF(0.5*dt[0], DtType::SecondHalf);
+ FillBoundaryF(guard_cells.ngF);
EvolveB(0.5*dt[0]); // We now have B^{n+1}
if (do_pml) {
DampPML();