aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/PhysicalParticleContainer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Particles/PhysicalParticleContainer.cpp')
-rw-r--r--Source/Particles/PhysicalParticleContainer.cpp19
1 files changed, 13 insertions, 6 deletions
diff --git a/Source/Particles/PhysicalParticleContainer.cpp b/Source/Particles/PhysicalParticleContainer.cpp
index 94766d48a..4d8dc67cf 100644
--- a/Source/Particles/PhysicalParticleContainer.cpp
+++ b/Source/Particles/PhysicalParticleContainer.cpp
@@ -919,6 +919,8 @@ void
PhysicalParticleContainer::Evolve (int lev,
const MultiFab& Ex, const MultiFab& Ey, const MultiFab& Ez,
const MultiFab& Bx, const MultiFab& By, const MultiFab& Bz,
+ const MultiFab& Ex_avg, const MultiFab& Ey_avg, const MultiFab& Ez_avg,
+ const MultiFab& Bx_avg, const MultiFab& By_avg, const MultiFab& Bz_avg,
MultiFab& jx, MultiFab& jy, MultiFab& jz,
MultiFab* cjx, MultiFab* cjy, MultiFab* cjz,
MultiFab* rho, MultiFab* crho,
@@ -926,6 +928,11 @@ PhysicalParticleContainer::Evolve (int lev,
const MultiFab* cBx, const MultiFab* cBy, const MultiFab* cBz,
Real /*t*/, Real dt, DtType a_dt_type)
{
+
+ bool fft_do_time_averaging = false;
+ ParmParse pp("psatd");
+ pp.query("do_time_averaging", fft_do_time_averaging);
+
WARPX_PROFILE("PPC::Evolve()");
WARPX_PROFILE_VAR_NS("PPC::GatherAndPush", blp_fg);
@@ -984,12 +991,12 @@ PhysicalParticleContainer::Evolve (int lev,
const long np = pti.numParticles();
// Data on the grid
- FArrayBox const* exfab = &(Ex[pti]);
- FArrayBox const* eyfab = &(Ey[pti]);
- FArrayBox const* ezfab = &(Ez[pti]);
- FArrayBox const* bxfab = &(Bx[pti]);
- FArrayBox const* byfab = &(By[pti]);
- FArrayBox const* bzfab = &(Bz[pti]);
+ FArrayBox const* exfab = fft_do_time_averaging ? &(Ex_avg[pti]) : &(Ex[pti]);
+ FArrayBox const* eyfab = fft_do_time_averaging ? &(Ey_avg[pti]) : &(Ey[pti]);
+ FArrayBox const* ezfab = fft_do_time_averaging ? &(Ez_avg[pti]) : &(Ez[pti]);
+ FArrayBox const* bxfab = fft_do_time_averaging ? &(Bx_avg[pti]) : &(Bx[pti]);
+ FArrayBox const* byfab = fft_do_time_averaging ? &(By_avg[pti]) : &(By[pti]);
+ FArrayBox const* bzfab = fft_do_time_averaging ? &(Bz_avg[pti]) : &(Bz[pti]);
Elixir exeli, eyeli, ezeli, bxeli, byeli, bzeli;