aboutsummaryrefslogtreecommitdiff
path: root/Source/Parallelization/WarpXComm.cpp
diff options
context:
space:
mode:
authorGravatar MaxThevenet <mthevenet@lbl.gov> 2019-10-29 20:46:45 -0700
committerGravatar MaxThevenet <mthevenet@lbl.gov> 2019-10-29 20:46:45 -0700
commit0fe1905133033f128b235a14b04135c064800521 (patch)
tree52388cad17b5b4fa3f114d5243f73385774147ab /Source/Parallelization/WarpXComm.cpp
parent9854b9afb105825e41ac6fade98564425b0179f9 (diff)
downloadWarpX-0fe1905133033f128b235a14b04135c064800521.tar.gz
WarpX-0fe1905133033f128b235a14b04135c064800521.tar.zst
WarpX-0fe1905133033f128b235a14b04135c064800521.zip
Reduce number of guard cells exchanged in Moving window and EvolveEM
Diffstat (limited to 'Source/Parallelization/WarpXComm.cpp')
-rw-r--r--Source/Parallelization/WarpXComm.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/Source/Parallelization/WarpXComm.cpp b/Source/Parallelization/WarpXComm.cpp
index 0dae38e2e..7d2473f30 100644
--- a/Source/Parallelization/WarpXComm.cpp
+++ b/Source/Parallelization/WarpXComm.cpp
@@ -484,6 +484,27 @@ WarpX::FillBoundaryF (int lev, PatchType patch_type, IntVect ng)
}
void
+WarpX::FillBoundaryAux (IntVect ng)
+{
+ for (int lev = 0; lev <= finest_level-1; ++lev)
+ {
+ FillBoundaryAux(lev, ng);
+ }
+}
+
+void
+WarpX::FillBoundaryAux (int lev, IntVect ng)
+{
+ const auto& period = Geom(lev).periodicity();
+ Efield_aux[lev][0]->FillBoundary(0, Efield_aux[lev][0]->nComp(), ng, period);
+ Efield_aux[lev][1]->FillBoundary(0, Efield_aux[lev][1]->nComp(), ng, period);
+ Efield_aux[lev][2]->FillBoundary(0, Efield_aux[lev][2]->nComp(), ng, period);
+ Bfield_aux[lev][0]->FillBoundary(0, Bfield_aux[lev][0]->nComp(), ng, period);
+ Bfield_aux[lev][1]->FillBoundary(0, Bfield_aux[lev][1]->nComp(), ng, period);
+ Bfield_aux[lev][2]->FillBoundary(0, Bfield_aux[lev][2]->nComp(), ng, period);
+}
+
+void
WarpX::SyncCurrent ()
{
BL_PROFILE("SyncCurrent()");