diff options
author | 2021-07-08 02:05:26 -0700 | |
---|---|---|
committer | 2021-07-08 02:05:26 -0700 | |
commit | 6269c20a6c42037c85efd76bfa9ed162a312df96 (patch) | |
tree | 0a12767ff0c56c598f6d684625981fec99f75db7 /Source/FieldSolver/SpectralSolver/SpectralAlgorithms/SpectralBaseAlgorithm.cpp | |
parent | ecbe32dca65ace0faa092afaf75a3725c65a42e5 (diff) | |
download | WarpX-6269c20a6c42037c85efd76bfa9ed162a312df96.tar.gz WarpX-6269c20a6c42037c85efd76bfa9ed162a312df96.tar.zst WarpX-6269c20a6c42037c85efd76bfa9ed162a312df96.zip |
Do Not Fill Guard Cells with Inverse FFTs, Unless for Field Damping (#2045)
* Do Not Always Fill Guard Cells with Inverse FFTs
* Query psatd.fill_guards from Inputs
* Clean Up and Reduce Style Changes
* Fix Bug for Periodic Single Box
* Clean Up and Reduce Style Changes
* Fix Bug for RZ PSATD
* Remove Input Parameter, Default 0 Unless Damping
* Fix CI Tests (2D)
* Fix CI Tests (3D)
Diffstat (limited to 'Source/FieldSolver/SpectralSolver/SpectralAlgorithms/SpectralBaseAlgorithm.cpp')
-rw-r--r-- | Source/FieldSolver/SpectralSolver/SpectralAlgorithms/SpectralBaseAlgorithm.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/SpectralBaseAlgorithm.cpp b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/SpectralBaseAlgorithm.cpp index e57302cc4..4445705cb 100644 --- a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/SpectralBaseAlgorithm.cpp +++ b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/SpectralBaseAlgorithm.cpp @@ -30,8 +30,10 @@ using namespace amrex; SpectralBaseAlgorithm::SpectralBaseAlgorithm(const SpectralKSpace& spectral_kspace, const amrex::DistributionMapping& dm, const int norder_x, const int norder_y, - const int norder_z, const bool nodal): + const int norder_z, const bool nodal, + const amrex::IntVect& fill_guards): // Compute and assign the modified k vectors + m_fill_guards(fill_guards), modified_kx_vec(spectral_kspace.getModifiedKComponent(dm,0,norder_x,nodal)), #if (AMREX_SPACEDIM==3) modified_ky_vec(spectral_kspace.getModifiedKComponent(dm,1,norder_y,nodal)), @@ -62,6 +64,8 @@ SpectralBaseAlgorithm::ComputeSpectralDivE ( field_data.ForwardTransform(lev, *Efield[1], Idx::Ey, 0 ); field_data.ForwardTransform(lev, *Efield[2], Idx::Ez, 0 ); + const amrex::IntVect& fill_guards = m_fill_guards; + // Loop over boxes for (MFIter mfi(field_data.fields); mfi.isValid(); ++mfi){ @@ -101,5 +105,5 @@ SpectralBaseAlgorithm::ComputeSpectralDivE ( } // Backward Fourier transform - field_data.BackwardTransform(lev, divE, Idx::divE, 0 ); + field_data.BackwardTransform(lev, divE, Idx::divE, 0, fill_guards); } |