aboutsummaryrefslogtreecommitdiff
path: root/Source/WarpXEvolve.cpp
diff options
context:
space:
mode:
authorGravatar Weiqun Zhang <weiqunzhang@lbl.gov> 2017-12-04 15:38:10 -0800
committerGravatar Weiqun Zhang <weiqunzhang@lbl.gov> 2017-12-04 15:38:10 -0800
commit5a33f6890451b27bb8a2930faeea431beb58910d (patch)
treef3f6976ad76128b4ed850fcf5bdbe347cdb3c286 /Source/WarpXEvolve.cpp
parent3a9cbe252160421b008eddbcc277825570d252f6 (diff)
parent3d1b776e2273bb19c633a5d0c7bf1ed02fd9f66e (diff)
downloadWarpX-5a33f6890451b27bb8a2930faeea431beb58910d.tar.gz
WarpX-5a33f6890451b27bb8a2930faeea431beb58910d.tar.zst
WarpX-5a33f6890451b27bb8a2930faeea431beb58910d.zip
Merge branch 'master' of bitbucket.org:berkeleylab/warpx
Diffstat (limited to 'Source/WarpXEvolve.cpp')
-rw-r--r--Source/WarpXEvolve.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/Source/WarpXEvolve.cpp b/Source/WarpXEvolve.cpp
index 4bef3b2d0..b54b7f8b0 100644
--- a/Source/WarpXEvolve.cpp
+++ b/Source/WarpXEvolve.cpp
@@ -68,6 +68,7 @@ WarpX::EvolveES(int numsteps) {
if (is_synchronized) {
// on first step, push X by 0.5*dt
mypc->PushXES(0.5*dt[lev]);
+ UpdatePlasmaInjectionPosition(0.5*dt[lev]);
mypc->Redistribute();
mypc->DepositCharge(rhoNodal);
computePhi(rhoNodal, phiNodal);
@@ -92,6 +93,7 @@ WarpX::EvolveES(int numsteps) {
if (cur_time + dt[0] >= stop_time - 1.e-3*dt[0] || step == numsteps_max-1) {
// on last step, push by only 0.5*dt to synchronize all at n+1/2
mypc->PushXES(-0.5*dt[lev]);
+ UpdatePlasmaInjectionPosition(-0.5*dt[lev]);
is_synchronized = true;
}
@@ -194,6 +196,7 @@ WarpX::EvolveEM (int numsteps)
FillBoundaryB();
EvolveE(0.5*dt[0], DtType::SecondHalf);
mypc->PushX(0.5*dt[0]);
+ UpdatePlasmaInjectionPosition(0.5*dt[0]);
mypc->Redistribute(); // Redistribute particles
is_synchronized = false;
}
@@ -226,6 +229,7 @@ WarpX::EvolveEM (int numsteps)
// on last step, push by only 0.5*dt to synchronize all at n+1/2
EvolveE(0.5*dt[0], DtType::FirstHalf); // We now have E^{n+1/2}
mypc->PushX(-0.5*dt[0]);
+ UpdatePlasmaInjectionPosition(-0.5*dt[0]);
is_synchronized = true;
} else {
EvolveE(dt[0], DtType::Full); // We now have E^{n+1}