aboutsummaryrefslogtreecommitdiff
path: root/Source/Evolve/WarpXEvolveEM.cpp
diff options
context:
space:
mode:
authorGravatar Remi Lehe <remi.lehe@normalesup.org> 2020-02-20 08:05:44 -0800
committerGravatar GitHub <noreply@github.com> 2020-02-20 08:05:44 -0800
commit6e5b96e3219807c97a1161ed9dd28a22ea802d85 (patch)
tree6ca639b44a561a3f9b18118b0924a928984e0253 /Source/Evolve/WarpXEvolveEM.cpp
parentacda264476bcc2c811c3bb7e6018584127b6edba (diff)
downloadWarpX-6e5b96e3219807c97a1161ed9dd28a22ea802d85.tar.gz
WarpX-6e5b96e3219807c97a1161ed9dd28a22ea802d85.tar.zst
WarpX-6e5b96e3219807c97a1161ed9dd28a22ea802d85.zip
Do not use local Redistribute for electrostatic solver (#731)
Diffstat (limited to '')
-rw-r--r--Source/Evolve/WarpXEvolveEM.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/Source/Evolve/WarpXEvolveEM.cpp b/Source/Evolve/WarpXEvolveEM.cpp
index a239285c7..80fe321cb 100644
--- a/Source/Evolve/WarpXEvolveEM.cpp
+++ b/Source/Evolve/WarpXEvolveEM.cpp
@@ -182,6 +182,12 @@ WarpX::EvolveEM (int numsteps)
int num_moved = MoveWindow(move_j);
+#ifdef WARPX_DO_ELECTROSTATIC
+ // Electrostatic solver: particles can move by an arbitrary number of cells
+ mypc->Redistribute();
+#else
+ // Electromagnetic solver: due to CFL condition, particles can
+ // only move by one or two cells per time step
if (max_level == 0) {
int num_redistribute_ghost = num_moved;
if ((v_galilean[0]!=0) or (v_galilean[1]!=0) or (v_galilean[2]!=0)) {
@@ -196,6 +202,7 @@ WarpX::EvolveEM (int numsteps)
else {
mypc->Redistribute();
}
+#endif
bool to_sort = (sort_int > 0) && ((step+1) % sort_int == 0);
if (to_sort) {