diff options
Diffstat (limited to 'Source/Particles/PhysicalParticleContainer.cpp')
-rw-r--r-- | Source/Particles/PhysicalParticleContainer.cpp | 19 |
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; |