aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Source/Evolve/WarpXEvolveEM.cpp12
-rw-r--r--Source/Parallelization/GuardCellManager.H1
-rw-r--r--Source/Parallelization/GuardCellManager.cpp3
-rw-r--r--Source/Parallelization/WarpXComm.cpp4
4 files changed, 10 insertions, 10 deletions
diff --git a/Source/Evolve/WarpXEvolveEM.cpp b/Source/Evolve/WarpXEvolveEM.cpp
index 38b959808..af4eb9467 100644
--- a/Source/Evolve/WarpXEvolveEM.cpp
+++ b/Source/Evolve/WarpXEvolveEM.cpp
@@ -340,7 +340,7 @@ WarpX::OneStep_nosub (Real cur_time)
FillBoundaryB(guard_cells.ng_alloc_EB, guard_cells.ng_Extra);
#else
EvolveF(0.5*dt[0], DtType::FirstHalf);
- FillBoundaryF(guard_cells.ng_FieldSolver);
+ FillBoundaryF(guard_cells.ng_FieldSolverF);
EvolveB(0.5*dt[0]); // We now have B^{n+1/2}
FillBoundaryB(guard_cells.ng_FieldSolver, IntVect::TheZeroVector());
@@ -427,7 +427,7 @@ WarpX::OneStep_sub1 (Real curtime)
EvolveB(fine_lev, PatchType::coarse, dt[fine_lev]);
EvolveF(fine_lev, PatchType::coarse, dt[fine_lev], DtType::FirstHalf);
FillBoundaryB(fine_lev, PatchType::coarse, guard_cells.ng_FieldGather);
- FillBoundaryF(fine_lev, PatchType::coarse, guard_cells.ng_FieldSolver);
+ FillBoundaryF(fine_lev, PatchType::coarse, guard_cells.ng_FieldSolverF);
EvolveE(fine_lev, PatchType::coarse, dt[fine_lev]);
FillBoundaryE(fine_lev, PatchType::coarse, guard_cells.ng_FieldGather);
@@ -435,7 +435,7 @@ WarpX::OneStep_sub1 (Real curtime)
EvolveB(coarse_lev, PatchType::fine, 0.5*dt[coarse_lev]);
EvolveF(coarse_lev, PatchType::fine, 0.5*dt[coarse_lev], DtType::FirstHalf);
FillBoundaryB(coarse_lev, PatchType::fine, guard_cells.ng_FieldGather + guard_cells.ng_Extra);
- FillBoundaryF(coarse_lev, PatchType::fine, guard_cells.ng_FieldSolver);
+ FillBoundaryF(coarse_lev, PatchType::fine, guard_cells.ng_FieldSolverF);
EvolveE(coarse_lev, PatchType::fine, 0.5*dt[coarse_lev]);
FillBoundaryE(coarse_lev, PatchType::fine, guard_cells.ng_FieldGather + guard_cells.ng_Extra);
@@ -456,7 +456,7 @@ WarpX::OneStep_sub1 (Real curtime)
EvolveB(fine_lev, PatchType::fine, 0.5*dt[fine_lev]);
EvolveF(fine_lev, PatchType::fine, 0.5*dt[fine_lev], DtType::FirstHalf);
FillBoundaryB(fine_lev, PatchType::fine, guard_cells.ng_FieldSolver);
- FillBoundaryF(fine_lev, PatchType::fine, guard_cells.ng_FieldSolver);
+ FillBoundaryF(fine_lev, PatchType::fine, guard_cells.ng_FieldSolverF);
EvolveE(fine_lev, PatchType::fine, dt[fine_lev]);
FillBoundaryE(fine_lev, PatchType::fine, guard_cells.ng_FieldSolver);
@@ -484,7 +484,7 @@ WarpX::OneStep_sub1 (Real curtime)
EvolveF(fine_lev, PatchType::coarse, dt[fine_lev], DtType::SecondHalf);
if (do_pml) {
- FillBoundaryF(fine_lev, PatchType::fine, guard_cells.ng_FieldSolver);
+ FillBoundaryF(fine_lev, PatchType::fine, guard_cells.ng_FieldSolverF);
DampPML(fine_lev, PatchType::coarse); // do it twice
DampPML(fine_lev, PatchType::coarse);
FillBoundaryE(fine_lev, PatchType::coarse, guard_cells.ng_alloc_EB);
@@ -492,7 +492,7 @@ WarpX::OneStep_sub1 (Real curtime)
FillBoundaryB(fine_lev, PatchType::coarse, guard_cells.ng_FieldSolver);
- FillBoundaryF(fine_lev, PatchType::coarse, guard_cells.ng_FieldSolver);
+ FillBoundaryF(fine_lev, PatchType::coarse, guard_cells.ng_FieldSolverF);
EvolveE(coarse_lev, PatchType::fine, 0.5*dt[coarse_lev]);
FillBoundaryE(coarse_lev, PatchType::fine, guard_cells.ng_FieldSolver);
diff --git a/Source/Parallelization/GuardCellManager.H b/Source/Parallelization/GuardCellManager.H
index 9f2bafa19..2e1cebff8 100644
--- a/Source/Parallelization/GuardCellManager.H
+++ b/Source/Parallelization/GuardCellManager.H
@@ -30,6 +30,7 @@ public:
// Guard cells exchanged for specific in the PIC loop
amrex::IntVect ng_FieldSolver = amrex::IntVect::TheZeroVector();
+ amrex::IntVect ng_FieldSolverF = amrex::IntVect::TheZeroVector();
amrex::IntVect ng_FieldGather = amrex::IntVect::TheZeroVector();
amrex::IntVect ng_UpdateAux = amrex::IntVect::TheZeroVector();
amrex::IntVect ng_MovingWindow = amrex::IntVect::TheZeroVector();
diff --git a/Source/Parallelization/GuardCellManager.cpp b/Source/Parallelization/GuardCellManager.cpp
index 28670fb91..34454bd7e 100644
--- a/Source/Parallelization/GuardCellManager.cpp
+++ b/Source/Parallelization/GuardCellManager.cpp
@@ -116,8 +116,10 @@ guardCellManager::Init(
// Compute number of cells required for Field Solver
#ifdef WARPX_USE_PSATD
ng_FieldSolver = ng_alloc_EB;
+ ng_FieldSolverF = ng_alloc_EB;
#else
ng_FieldSolver = IntVect(AMREX_D_DECL(1,1,1));
+ ng_FieldSolverF = IntVect(AMREX_D_DECL(1,1,1));
#endif
ng_FieldSolver = ng_FieldSolver.min(ng_alloc_EB);
@@ -144,6 +146,7 @@ guardCellManager::Init(
// Make sure we do not exchange more guard cells than allocated.
ng_FieldGather = ng_FieldGather.min(ng_alloc_EB);
ng_UpdateAux = ng_UpdateAux.min(ng_alloc_EB);
+ ng_FieldSolverF = ng_FieldSolverF.min(ng_alloc_F);
// Only FillBoundary(ng_FieldGather) is called between consecutive
// field solves. So ng_FieldGather must have enough cells
// for the field solve too.
diff --git a/Source/Parallelization/WarpXComm.cpp b/Source/Parallelization/WarpXComm.cpp
index 5d7e44a8e..f7e9086f9 100644
--- a/Source/Parallelization/WarpXComm.cpp
+++ b/Source/Parallelization/WarpXComm.cpp
@@ -373,7 +373,6 @@ WarpX::FillBoundaryE (int lev, PatchType patch_type, IntVect ng)
AMREX_ALWAYS_ASSERT_WITH_MESSAGE(
ng <= Efield_fp[lev][0]->nGrowVect(),
"Error: in FillBoundaryE, requested more guard cells than allocated");
- Print()<<"FillBoundaryE exchanges "<< Efield_fp[lev][0]->nGrowVect() <<'\n';
Efield_fp[lev][0]->FillBoundary(ng, period);
Efield_fp[lev][1]->FillBoundary(ng, period);
Efield_fp[lev][2]->FillBoundary(ng, period);
@@ -394,7 +393,6 @@ WarpX::FillBoundaryE (int lev, PatchType patch_type, IntVect ng)
AMREX_ALWAYS_ASSERT_WITH_MESSAGE(
ng <= Efield_cp[lev][0]->nGrowVect(),
"Error: in FillBoundaryE, requested more guard cells than allocated");
- Print()<<"FillBoundaryE exchanges "<< Efield_cp[lev][0]->nGrowVect() <<'\n';
Efield_cp[lev][0]->FillBoundary(ng, cperiod);
Efield_cp[lev][1]->FillBoundary(ng, cperiod);
Efield_cp[lev][2]->FillBoundary(ng, cperiod);
@@ -426,7 +424,6 @@ WarpX::FillBoundaryB (int lev, PatchType patch_type, IntVect ng)
AMREX_ALWAYS_ASSERT_WITH_MESSAGE(
ng <= Bfield_fp[lev][0]->nGrowVect(),
"Error: in FillBoundaryB, requested more guard cells than allocated");
- Print()<<"FillBoundaryB exchanges "<< Bfield_fp[lev][0]->nGrowVect() <<'\n';
Bfield_fp[lev][0]->FillBoundary(ng, period);
Bfield_fp[lev][1]->FillBoundary(ng, period);
Bfield_fp[lev][2]->FillBoundary(ng, period);
@@ -446,7 +443,6 @@ WarpX::FillBoundaryB (int lev, PatchType patch_type, IntVect ng)
AMREX_ALWAYS_ASSERT_WITH_MESSAGE(
ng <= Bfield_cp[lev][0]->nGrowVect(),
"Error: in FillBoundaryB, requested more guard cells than allocated");
- Print()<<"FillBoundaryB exchanges "<< Bfield_cp[lev][0]->nGrowVect() <<'\n';
Bfield_cp[lev][0]->FillBoundary(ng, cperiod);
Bfield_cp[lev][1]->FillBoundary(ng, cperiod);
Bfield_cp[lev][2]->FillBoundary(ng, cperiod);