aboutsummaryrefslogtreecommitdiff
path: root/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithm.cpp')
-rw-r--r--Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithm.cpp19
1 files changed, 12 insertions, 7 deletions
diff --git a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithm.cpp b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithm.cpp
index b454d79ba..bc74a36a2 100644
--- a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithm.cpp
+++ b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithm.cpp
@@ -33,13 +33,14 @@ PsatdAlgorithm::PsatdAlgorithm(
const int norder_y,
const int norder_z,
const bool nodal,
+ const amrex::IntVect& fill_guards,
const amrex::Array<amrex::Real,3>& v_galilean,
const amrex::Real dt,
const bool update_with_rho,
const bool time_averaging,
const bool J_linear_in_time)
// Initializer list
- : SpectralBaseAlgorithm(spectral_kspace, dm, norder_x, norder_y, norder_z, nodal),
+ : SpectralBaseAlgorithm(spectral_kspace, dm, norder_x, norder_y, norder_z, nodal, fill_guards),
// Initialize the centered finite-order modified k vectors:
// these are computed always with the assumption of centered grids
// (argument nodal = true), for both nodal and staggered simulations
@@ -859,6 +860,8 @@ PsatdAlgorithm::CurrentCorrection (
field_data.ForwardTransform(lev, *rho, Idx::rho_old, 0);
field_data.ForwardTransform(lev, *rho, Idx::rho_new, 1);
+ const amrex::IntVect& fill_guards = m_fill_guards;
+
// Loop over boxes
for (amrex::MFIter mfi(field_data.fields); mfi.isValid(); ++mfi){
@@ -951,9 +954,9 @@ PsatdAlgorithm::CurrentCorrection (
}
// Backward Fourier transform of J
- field_data.BackwardTransform(lev, *current[0], Idx::Jx, 0);
- field_data.BackwardTransform(lev, *current[1], Idx::Jy, 0);
- field_data.BackwardTransform(lev, *current[2], Idx::Jz, 0);
+ field_data.BackwardTransform(lev, *current[0], Idx::Jx, 0, fill_guards);
+ field_data.BackwardTransform(lev, *current[1], Idx::Jy, 0, fill_guards);
+ field_data.BackwardTransform(lev, *current[2], Idx::Jz, 0, fill_guards);
}
void
@@ -974,6 +977,8 @@ PsatdAlgorithm::VayDeposition (
field_data.ForwardTransform(lev, *current[1], Idx::Jy, 0, IntVect(1));
field_data.ForwardTransform(lev, *current[2], Idx::Jz, 0, IntVect(1));
+ const amrex::IntVect& fill_guards = m_fill_guards;
+
// Loop over boxes
for (amrex::MFIter mfi(field_data.fields); mfi.isValid(); ++mfi)
{
@@ -1028,9 +1033,9 @@ PsatdAlgorithm::VayDeposition (
}
// Backward Fourier transform of J
- field_data.BackwardTransform(lev, *current[0], Idx::Jx, 0);
- field_data.BackwardTransform(lev, *current[1], Idx::Jy, 0);
- field_data.BackwardTransform(lev, *current[2], Idx::Jz, 0);
+ field_data.BackwardTransform(lev, *current[0], Idx::Jx, 0, fill_guards);
+ field_data.BackwardTransform(lev, *current[1], Idx::Jy, 0, fill_guards);
+ field_data.BackwardTransform(lev, *current[2], Idx::Jz, 0, fill_guards);
}
#endif // WARPX_USE_PSATD