diff options
author | 2022-10-08 17:28:44 -0700 | |
---|---|---|
committer | 2022-10-08 17:28:44 -0700 | |
commit | 56e04c1b911f9399662c4ff9ecf6630d686cc220 (patch) | |
tree | 01c0461e02cdd2a5adbe1ff6be0c87b24062a843 /Source/Evolve/WarpXEvolve.cpp | |
parent | acb7f1d78b9ef2644dd8cd08a7eca04e17df06fa (diff) | |
download | WarpX-56e04c1b911f9399662c4ff9ecf6630d686cc220.tar.gz WarpX-56e04c1b911f9399662c4ff9ecf6630d686cc220.tar.zst WarpX-56e04c1b911f9399662c4ff9ecf6630d686cc220.zip |
Fix synchronization of nodal points in subcycling (#3455)
* Fix synchronization of nodal points in subcycling
* Update checksum
Diffstat (limited to 'Source/Evolve/WarpXEvolve.cpp')
-rw-r--r-- | Source/Evolve/WarpXEvolve.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/Source/Evolve/WarpXEvolve.cpp b/Source/Evolve/WarpXEvolve.cpp index 202e91643..717adbedd 100644 --- a/Source/Evolve/WarpXEvolve.cpp +++ b/Source/Evolve/WarpXEvolve.cpp @@ -733,8 +733,10 @@ WarpX::OneStep_sub1 (Real curtime) EvolveB(fine_lev, PatchType::fine, 0.5_rt*dt[fine_lev], DtType::FirstHalf); EvolveF(fine_lev, PatchType::fine, 0.5_rt*dt[fine_lev], DtType::FirstHalf); - FillBoundaryB(fine_lev, PatchType::fine, guard_cells.ng_FieldSolver); - FillBoundaryF(fine_lev, PatchType::fine, guard_cells.ng_alloc_F); + FillBoundaryB(fine_lev, PatchType::fine, guard_cells.ng_FieldSolver, + WarpX::sync_nodal_points); + FillBoundaryF(fine_lev, PatchType::fine, guard_cells.ng_alloc_F, + WarpX::sync_nodal_points); EvolveE(fine_lev, PatchType::fine, dt[fine_lev]); FillBoundaryE(fine_lev, PatchType::fine, guard_cells.ng_FieldGather); @@ -768,8 +770,10 @@ WarpX::OneStep_sub1 (Real curtime) EvolveB(coarse_lev, PatchType::fine, 0.5_rt*dt[coarse_lev], DtType::FirstHalf); EvolveF(coarse_lev, PatchType::fine, 0.5_rt*dt[coarse_lev], DtType::FirstHalf); - FillBoundaryB(coarse_lev, PatchType::fine, guard_cells.ng_FieldGather); - FillBoundaryF(coarse_lev, PatchType::fine, guard_cells.ng_FieldSolverF); + FillBoundaryB(coarse_lev, PatchType::fine, guard_cells.ng_FieldGather, + WarpX::sync_nodal_points); + FillBoundaryF(coarse_lev, PatchType::fine, guard_cells.ng_FieldSolverF, + WarpX::sync_nodal_points); EvolveE(coarse_lev, PatchType::fine, 0.5_rt*dt[coarse_lev]); FillBoundaryE(coarse_lev, PatchType::fine, guard_cells.ng_FieldGather); @@ -794,7 +798,8 @@ WarpX::OneStep_sub1 (Real curtime) 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); + FillBoundaryE(fine_lev, PatchType::fine, guard_cells.ng_FieldSolver, + WarpX::sync_nodal_points); EvolveB(fine_lev, PatchType::fine, 0.5_rt*dt[fine_lev], DtType::SecondHalf); EvolveF(fine_lev, PatchType::fine, 0.5_rt*dt[fine_lev], DtType::SecondHalf); @@ -830,7 +835,6 @@ WarpX::OneStep_sub1 (Real curtime) FillBoundaryB(fine_lev, PatchType::coarse, guard_cells.ng_FieldSolver, WarpX::sync_nodal_points); - FillBoundaryF(fine_lev, PatchType::coarse, guard_cells.ng_FieldSolverF, WarpX::sync_nodal_points); |