aboutsummaryrefslogtreecommitdiff
path: root/Source/Parallelization/WarpXComm.cpp
diff options
context:
space:
mode:
authorGravatar Edoardo Zoni <59625522+EZoni@users.noreply.github.com> 2021-10-18 09:09:09 -0700
committerGravatar GitHub <noreply@github.com> 2021-10-18 09:09:09 -0700
commit53996b5296b60732a918f859296722032226ff0e (patch)
tree3cc94416688a0c9906ddfa33f71c04fa3ead0b3d /Source/Parallelization/WarpXComm.cpp
parentd76891e864f199715fe0a27830ae2021d01a6eba (diff)
downloadWarpX-53996b5296b60732a918f859296722032226ff0e.tar.gz
WarpX-53996b5296b60732a918f859296722032226ff0e.tar.zst
WarpX-53996b5296b60732a918f859296722032226ff0e.zip
Multi-J Algo: Synchronize Nodal Points of F,G (#2434)
Diffstat (limited to 'Source/Parallelization/WarpXComm.cpp')
-rw-r--r--Source/Parallelization/WarpXComm.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/Source/Parallelization/WarpXComm.cpp b/Source/Parallelization/WarpXComm.cpp
index a36521f69..042344bda 100644
--- a/Source/Parallelization/WarpXComm.cpp
+++ b/Source/Parallelization/WarpXComm.cpp
@@ -1314,3 +1314,21 @@ void WarpX::NodalSync (amrex::Vector<std::array<std::unique_ptr<amrex::MultiFab>
}
}
}
+
+void WarpX::NodalSync (amrex::Vector<std::unique_ptr<amrex::MultiFab>>& mf_fp,
+ amrex::Vector<std::unique_ptr<amrex::MultiFab>>& mf_cp)
+{
+ if (!override_sync_intervals.contains(istep[0]) && !do_pml) return;
+
+ for (int lev = 0; lev <= WarpX::finest_level; lev++)
+ {
+ const amrex::Periodicity& period = Geom(lev).periodicity();
+ mf_fp[lev]->OverrideSync(period);
+
+ if (lev > 0)
+ {
+ const amrex::Periodicity& cperiod = Geom(lev-1).periodicity();
+ mf_cp[lev]->OverrideSync(cperiod);
+ }
+ }
+}