diff options
author | 2021-10-18 09:09:09 -0700 | |
---|---|---|
committer | 2021-10-18 09:09:09 -0700 | |
commit | 53996b5296b60732a918f859296722032226ff0e (patch) | |
tree | 3cc94416688a0c9906ddfa33f71c04fa3ead0b3d /Source/Parallelization | |
parent | d76891e864f199715fe0a27830ae2021d01a6eba (diff) | |
download | WarpX-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')
-rw-r--r-- | Source/Parallelization/WarpXComm.cpp | 18 |
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); + } + } +} |