aboutsummaryrefslogtreecommitdiff
path: root/Source/Diagnostics/ComputeDiagFunctors/RhoFunctor.cpp
diff options
context:
space:
mode:
authorGravatar Edoardo Zoni <59625522+EZoni@users.noreply.github.com> 2021-07-01 21:50:30 -0700
committerGravatar GitHub <noreply@github.com> 2021-07-01 21:50:30 -0700
commitf44102d14f98f233f292d86fdfdd0ab33f08f43c (patch)
treeb4ae27d186d211ec08966d9d9f0f652c84787fe5 /Source/Diagnostics/ComputeDiagFunctors/RhoFunctor.cpp
parenta79985f83a2486e35bc28f2d580f7fe4a2c802f2 (diff)
downloadWarpX-f44102d14f98f233f292d86fdfdd0ab33f08f43c.tar.gz
WarpX-f44102d14f98f233f292d86fdfdd0ab33f08f43c.tar.zst
WarpX-f44102d14f98f233f292d86fdfdd0ab33f08f43c.zip
Filter Always ON by Default (#2031)
* Filter Always ON by Default * Fix CI Tests * Update Docs * Fix CI Test dirichletbc * Default WarpX::use_filter = 0 with RZ FDTD, Add Warnings * Set WarpX::use_kspace_filter = true by Default, too * RZ: Fix Bug with PSATD Binary and FDTD Runtime Solver * Default use_kspace_filter = true, Fix Runtime Issue with Rho Functor
Diffstat (limited to 'Source/Diagnostics/ComputeDiagFunctors/RhoFunctor.cpp')
-rw-r--r--Source/Diagnostics/ComputeDiagFunctors/RhoFunctor.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/Source/Diagnostics/ComputeDiagFunctors/RhoFunctor.cpp b/Source/Diagnostics/ComputeDiagFunctors/RhoFunctor.cpp
index e8d7828cb..26d99f4a9 100644
--- a/Source/Diagnostics/ComputeDiagFunctors/RhoFunctor.cpp
+++ b/Source/Diagnostics/ComputeDiagFunctors/RhoFunctor.cpp
@@ -4,6 +4,7 @@
#if (defined WARPX_DIM_RZ) && (defined WARPX_USE_PSATD)
#include "FieldSolver/SpectralSolver/SpectralFieldData.H"
#include "FieldSolver/SpectralSolver/SpectralSolverRZ.H"
+ #include "Utils/WarpXAlgorithmSelection.H"
#endif
#include "Particles/MultiParticleContainer.H"
#include "Particles/WarpXParticleContainer.H"
@@ -54,11 +55,15 @@ RhoFunctor::operator() ( amrex::MultiFab& mf_dst, const int dcomp, const int /*i
#if (defined WARPX_DIM_RZ) && (defined WARPX_USE_PSATD)
using IdxAvg = SpectralFieldIndexTimeAveraging;
- if (WarpX::use_kspace_filter) {
- auto & solver = warpx.get_spectral_solver_fp(m_lev);
- solver.ForwardTransform(m_lev, *rho, IdxAvg::rho_new);
- solver.ApplyFilter(IdxAvg::rho_new);
- solver.BackwardTransform(m_lev, *rho, IdxAvg::rho_new);
+ // Apply k-space filtering when using the PSATD solver
+ if (WarpX::maxwell_solver_id == MaxwellSolverAlgo::PSATD)
+ {
+ if (WarpX::use_kspace_filter) {
+ auto & solver = warpx.get_spectral_solver_fp(m_lev);
+ solver.ForwardTransform(m_lev, *rho, IdxAvg::rho_new);
+ solver.ApplyFilter(IdxAvg::rho_new);
+ solver.BackwardTransform(m_lev, *rho, IdxAvg::rho_new);
+ }
}
#endif