aboutsummaryrefslogtreecommitdiff
path: root/Source/Evolve/WarpXEvolve.cpp
diff options
context:
space:
mode:
authorGravatar Neïl Zaim <49716072+NeilZaim@users.noreply.github.com> 2021-04-13 00:05:31 +0200
committerGravatar GitHub <noreply@github.com> 2021-04-12 15:05:31 -0700
commit346f0a6f6c2744d0d7f0ca5b4e3110a0137c0d44 (patch)
tree49db1a9887821ffc47af83a10d469a86af23241e /Source/Evolve/WarpXEvolve.cpp
parent60fd4ddea3f298d7af5882e99d10d6bdd32fd50e (diff)
downloadWarpX-346f0a6f6c2744d0d7f0ca5b4e3110a0137c0d44.tar.gz
WarpX-346f0a6f6c2744d0d7f0ca5b4e3110a0137c0d44.tar.zst
WarpX-346f0a6f6c2744d0d7f0ca5b4e3110a0137c0d44.zip
Add nodal synchronization of E and B fields in the main grid (#1817)
* Add nodal synchronization of E and B fields in the main grid * Update benchmarks * Update value in pml analysis file and put synchronization between PSATD push and FillBoundary * Update PML benchmarks and put the synchronization back in its original position * Bogus change in benchmark to trigger CI again * Update benchmarks
Diffstat (limited to 'Source/Evolve/WarpXEvolve.cpp')
-rw-r--r--Source/Evolve/WarpXEvolve.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/Source/Evolve/WarpXEvolve.cpp b/Source/Evolve/WarpXEvolve.cpp
index 22457b647..5efd000c6 100644
--- a/Source/Evolve/WarpXEvolve.cpp
+++ b/Source/Evolve/WarpXEvolve.cpp
@@ -346,6 +346,11 @@ WarpX::OneStep_nosub (Real cur_time)
WarpX::Hybrid_QED_Push(dt);
FillBoundaryE(guard_cells.ng_alloc_EB);
}
+
+ // Synchronize E and B fields on nodal points
+ NodalSyncE();
+ NodalSyncB();
+
if (do_pml) {
DampPML();
NodalSyncPML();
@@ -371,6 +376,11 @@ WarpX::OneStep_nosub (Real cur_time)
FillBoundaryE(guard_cells.ng_FieldSolver);
EvolveF(0.5_rt * dt[0], DtType::SecondHalf);
EvolveB(0.5_rt * dt[0]); // We now have B^{n+1}
+
+ // Synchronize E and B fields on nodal points
+ NodalSyncE();
+ NodalSyncB();
+
if (do_pml) {
FillBoundaryF(guard_cells.ng_alloc_F);
DampPML();