aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/PhysicalParticleContainer.cpp
diff options
context:
space:
mode:
authorGravatar Edoardo Zoni <59625522+EZoni@users.noreply.github.com> 2022-04-20 14:10:11 -0700
committerGravatar GitHub <noreply@github.com> 2022-04-20 14:10:11 -0700
commitf316aa4e8c199e012ef04c26e1539dee8e682bd2 (patch)
treef3bfcb72376f5dd747db6a1a4dced13e0b5d0e59 /Source/Particles/PhysicalParticleContainer.cpp
parente538399d99121d37ece3d23f4444342117a9a723 (diff)
downloadWarpX-f316aa4e8c199e012ef04c26e1539dee8e682bd2.tar.gz
WarpX-f316aa4e8c199e012ef04c26e1539dee8e682bd2.tar.zst
WarpX-f316aa4e8c199e012ef04c26e1539dee8e682bd2.zip
Current Deposition Interfaces: Always Pass `dt` & `relative_time` (#2937)
* Current Deposition Interfaces: Always Pass `dt` & `relative_time` * Fix CI Failures * Fix 1D/RZ Warnings * Fix RZ Bug * Fix Bugs * Minimize Changes, Fix Roundoff Errors * Cleaning * Remove dt From doDepositionShapeN * Cleaning Esirkepov Deposition * Cleaning Vay Deposition * Fix Roundoff Errors * Fix Roundoff Errors (continued) * Fix Bug (RZ)
Diffstat (limited to 'Source/Particles/PhysicalParticleContainer.cpp')
-rw-r--r--Source/Particles/PhysicalParticleContainer.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/Source/Particles/PhysicalParticleContainer.cpp b/Source/Particles/PhysicalParticleContainer.cpp
index cd22465df..ccd5edf6c 100644
--- a/Source/Particles/PhysicalParticleContainer.cpp
+++ b/Source/Particles/PhysicalParticleContainer.cpp
@@ -1852,10 +1852,12 @@ PhysicalParticleContainer::Evolve (int lev,
WARPX_PROFILE_VAR_STOP(blp_fg);
- //
// Current Deposition
- //
- if (! skip_deposition) {
+ if (skip_deposition == false)
+ {
+ // Deposit at t_{n+1/2}
+ amrex::Real relative_time = -0.5_rt * dt;
+
int* AMREX_RESTRICT ion_lev;
if (do_field_ionization){
ion_lev = pti.GetiAttribs(particle_icomps["ionizationLevel"]).dataPtr();
@@ -1865,12 +1867,14 @@ PhysicalParticleContainer::Evolve (int lev,
// Deposit inside domains
DepositCurrent(pti, wp, uxp, uyp, uzp, ion_lev, &jx, &jy, &jz,
0, np_current, thread_num,
- lev, lev, dt, -0.5_rt); // Deposit current at t_{n+1/2}
- if (has_buffer){
+ lev, lev, dt, relative_time);
+
+ if (has_buffer)
+ {
// Deposit in buffers
DepositCurrent(pti, wp, uxp, uyp, uzp, ion_lev, cjx, cjy, cjz,
np_current, np-np_current, thread_num,
- lev, lev-1, dt, -0.5_rt); // Deposit current at t_{n+1/2}
+ lev, lev-1, dt, relative_time);
}
} // end of "if do_electrostatic == ElectrostaticSolverAlgo::None"
} // end of "if do_not_push"