diff options
author | 2021-07-01 21:50:30 -0700 | |
---|---|---|
committer | 2021-07-01 21:50:30 -0700 | |
commit | f44102d14f98f233f292d86fdfdd0ab33f08f43c (patch) | |
tree | b4ae27d186d211ec08966d9d9f0f652c84787fe5 /Source/Diagnostics/ComputeDiagFunctors/RhoFunctor.cpp | |
parent | a79985f83a2486e35bc28f2d580f7fe4a2c802f2 (diff) | |
download | WarpX-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.cpp | 15 |
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 |