diff options
Diffstat (limited to 'Source/FieldSolver/SpectralSolver/SpectralAlgorithms')
10 files changed, 135 insertions, 24 deletions
diff --git a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/ComovingPsatdAlgorithm.H b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/ComovingPsatdAlgorithm.H index 76526024f..ecbc1578b 100644 --- a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/ComovingPsatdAlgorithm.H +++ b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/ComovingPsatdAlgorithm.H @@ -1,8 +1,19 @@ #ifndef WARPX_COMOVING_PSATD_ALGORITHM_H_ #define WARPX_COMOVING_PSATD_ALGORITHM_H_ +#include "FieldSolver/SpectralSolver/SpectralFieldData.H" +#include "FieldSolver/SpectralSolver/SpectralKSpace.H" #include "SpectralBaseAlgorithm.H" +#include <AMReX_Array.H> +#include <AMReX_Config.H> +#include <AMReX_REAL.H> + +#include <AMReX_BaseFwd.H> + +#include <array> +#include <memory> + #if WARPX_USE_PSATD /* \brief Class that updates the field in spectral space and stores the coefficients diff --git a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/ComovingPsatdAlgorithm.cpp b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/ComovingPsatdAlgorithm.cpp index eb4f13bb4..64920d325 100644 --- a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/ComovingPsatdAlgorithm.cpp +++ b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/ComovingPsatdAlgorithm.cpp @@ -1,5 +1,20 @@ #include "ComovingPsatdAlgorithm.H" + #include "Utils/WarpXConst.H" +#include "Utils/WarpX_Complex.H" + +#include <AMReX.H> +#include <AMReX_Array4.H> +#include <AMReX_BLProfiler.H> +#include <AMReX_BaseFab.H> +#include <AMReX_BoxArray.H> +#include <AMReX_GpuComplex.H> +#include <AMReX_GpuLaunch.H> +#include <AMReX_GpuQualifiers.H> +#include <AMReX_MFIter.H> +#include <AMReX_PODVector.H> + +#include <cmath> #if WARPX_USE_PSATD diff --git a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/GalileanPsatdAlgorithmRZ.cpp b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/GalileanPsatdAlgorithmRZ.cpp index a76311db3..ce6d5b933 100644 --- a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/GalileanPsatdAlgorithmRZ.cpp +++ b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/GalileanPsatdAlgorithmRZ.cpp @@ -4,10 +4,10 @@ * * License: BSD-3-Clause-LBNL */ -#include "WarpX.H" #include "GalileanPsatdAlgorithmRZ.H" #include "Utils/WarpXConst.H" #include "Utils/WarpXProfilerWrapper.H" +#include "WarpX.H" #include <cmath> diff --git a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PMLPsatdAlgorithm.H b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PMLPsatdAlgorithm.H index 1b9755826..7e17eda07 100644 --- a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PMLPsatdAlgorithm.H +++ b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PMLPsatdAlgorithm.H @@ -9,6 +9,16 @@ #include "SpectralBaseAlgorithm.H" +#include "FieldSolver/SpectralSolver/SpectralFieldData_fwd.H" +#include "FieldSolver/SpectralSolver/SpectralKSpace_fwd.H" + +#include <AMReX_REAL.H> + +#include <AMReX_BaseFwd.H> + +#include <array> +#include <memory> + #if WARPX_USE_PSATD /* \brief Class that updates the field in spectral space @@ -32,9 +42,7 @@ class PMLPsatdAlgorithm : public SpectralBaseAlgorithm // Redefine functions from base class virtual void pushSpectralFields(SpectralFieldData& f) const override final; - virtual int getRequiredNumberOfFields() const override final { - return SpectralPMLIndex::n_fields; - } + virtual int getRequiredNumberOfFields() const override final; /** * \brief Virtual function for current correction in Fourier space diff --git a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PMLPsatdAlgorithm.cpp b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PMLPsatdAlgorithm.cpp index 3c1526357..d28b5218a 100644 --- a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PMLPsatdAlgorithm.cpp +++ b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PMLPsatdAlgorithm.cpp @@ -5,11 +5,25 @@ * License: BSD-3-Clause-LBNL */ #include "PMLPsatdAlgorithm.H" + +#include "FieldSolver/SpectralSolver/SpectralFieldData.H" +#include "FieldSolver/SpectralSolver/SpectralKSpace.H" #include "Utils/WarpXConst.H" +#include "Utils/WarpX_Complex.H" + +#include <AMReX.H> +#include <AMReX_Array4.H> +#include <AMReX_BaseFab.H> +#include <AMReX_BoxArray.H> +#include <AMReX_Config.H> +#include <AMReX_GpuComplex.H> +#include <AMReX_GpuLaunch.H> +#include <AMReX_GpuQualifiers.H> +#include <AMReX_MFIter.H> +#include <AMReX_PODVector.H> #include <cmath> - #if WARPX_USE_PSATD using namespace amrex; @@ -401,4 +415,8 @@ PMLPsatdAlgorithm::VayDeposition (const int /*lev*/, amrex::Abort("Vay deposition not implemented for PML PSATD"); } +int PMLPsatdAlgorithm::getRequiredNumberOfFields() const { + return SpectralPMLIndex::n_fields; +} + #endif // WARPX_USE_PSATD diff --git a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithm.H b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithm.H index 973265cdf..7b917284b 100644 --- a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithm.H +++ b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithm.H @@ -7,8 +7,19 @@ #ifndef WARPX_PSATD_ALGORITHM_H_ #define WARPX_PSATD_ALGORITHM_H_ +#include "FieldSolver/SpectralSolver/SpectralFieldData.H" +#include "FieldSolver/SpectralSolver/SpectralKSpace.H" #include "SpectralBaseAlgorithm.H" +#include <AMReX_Array.H> +#include <AMReX_Config.H> +#include <AMReX_REAL.H> + +#include <AMReX_BaseFwd.H> + +#include <array> +#include <memory> + #if WARPX_USE_PSATD /* \brief Class that updates the field in spectral space * and stores the coefficients of the corresponding update equation. diff --git a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithm.cpp b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithm.cpp index 01a2cfe94..8a5b791ab 100644 --- a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithm.cpp +++ b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithm.cpp @@ -5,7 +5,20 @@ * License: BSD-3-Clause-LBNL */ #include "PsatdAlgorithm.H" + #include "Utils/WarpXConst.H" +#include "Utils/WarpX_Complex.H" + +#include <AMReX_Array4.H> +#include <AMReX_BLProfiler.H> +#include <AMReX_BaseFab.H> +#include <AMReX_BoxArray.H> +#include <AMReX_GpuComplex.H> +#include <AMReX_GpuLaunch.H> +#include <AMReX_GpuQualifiers.H> +#include <AMReX_IntVect.H> +#include <AMReX_MFIter.H> +#include <AMReX_PODVector.H> #include <cmath> diff --git a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithmRZ.cpp b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithmRZ.cpp index 86d9f9696..cb055a27b 100644 --- a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithmRZ.cpp +++ b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithmRZ.cpp @@ -4,10 +4,10 @@ * * License: BSD-3-Clause-LBNL */ -#include "WarpX.H" #include "PsatdAlgorithmRZ.H" #include "Utils/WarpXConst.H" #include "Utils/WarpXProfilerWrapper.H" +#include "WarpX.H" #include <cmath> diff --git a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/SpectralBaseAlgorithm.H b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/SpectralBaseAlgorithm.H index 598046042..624d7870c 100644 --- a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/SpectralBaseAlgorithm.H +++ b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/SpectralBaseAlgorithm.H @@ -8,9 +8,19 @@ #define WARPX_SPECTRAL_BASE_ALGORITHM_H_ #include "FieldSolver/SpectralSolver/SpectralKSpace.H" -#include "FieldSolver/SpectralSolver/SpectralFieldData.H" +#include "Utils/WarpX_Complex.H" -#include <AMReX.H> +#include "FieldSolver/SpectralSolver/SpectralFieldData_fwd.H" + +#include <AMReX_BaseFab.H> +#include <AMReX_Config.H> +#include <AMReX_FabArray.H> +#include <AMReX_REAL.H> + +#include <AMReX_BaseFwd.H> + +#include <array> +#include <memory> #if WARPX_USE_PSATD @@ -75,24 +85,13 @@ class SpectralBaseAlgorithm using SpectralComplexCoefficients = \ amrex::FabArray< amrex::BaseFab <Complex> >; - // Constructor + /** + * \brief Constructor + */ SpectralBaseAlgorithm(const SpectralKSpace& spectral_kspace, const amrex::DistributionMapping& dm, const int norder_x, const int norder_y, - const int norder_z, const bool nodal) - // Compute and assign the modified k vectors - : 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)), - modified_kz_vec(spectral_kspace.getModifiedKComponent(dm,2,norder_z,nodal)) -#else - modified_kz_vec(spectral_kspace.getModifiedKComponent(dm,1,norder_z,nodal)) -#endif - { -#if (AMREX_SPACEDIM!=3) - amrex::ignore_unused(norder_y); -#endif - } + const int norder_z, const bool nodal); // Modified finite-order vectors KVectorComponent modified_kx_vec; diff --git a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/SpectralBaseAlgorithm.cpp b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/SpectralBaseAlgorithm.cpp index 46fe83900..e57302cc4 100644 --- a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/SpectralBaseAlgorithm.cpp +++ b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/SpectralBaseAlgorithm.cpp @@ -5,11 +5,47 @@ * License: BSD-3-Clause-LBNL */ #include "SpectralBaseAlgorithm.H" -#include <cmath> + +#include "FieldSolver/SpectralSolver/SpectralFieldData.H" +#include "Utils/WarpX_Complex.H" + +#include <AMReX_Array4.H> +#include <AMReX_BaseFab.H> +#include <AMReX_Config.H> +#include <AMReX_GpuComplex.H> +#include <AMReX_GpuLaunch.H> +#include <AMReX_GpuQualifiers.H> +#include <AMReX_MFIter.H> +#include <AMReX_PODVector.H> +#include <AMReX_REAL.H> + +#include <array> +#include <memory> using namespace amrex; /** + * \brief Constructor + */ +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): + // Compute and assign the modified k vectors + 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)), + modified_kz_vec(spectral_kspace.getModifiedKComponent(dm,2,norder_z,nodal)) +#else + modified_kz_vec(spectral_kspace.getModifiedKComponent(dm,1,norder_z,nodal)) +#endif + { +#if (AMREX_SPACEDIM!=3) + amrex::ignore_unused(norder_y); +#endif + } + +/** * \brief Compute spectral divergence of E */ void |