diff options
Diffstat (limited to 'Source/FieldSolver/FiniteDifferenceSolver')
21 files changed, 321 insertions, 94 deletions
diff --git a/Source/FieldSolver/FiniteDifferenceSolver/ApplySilverMuellerBoundary.cpp b/Source/FieldSolver/FiniteDifferenceSolver/ApplySilverMuellerBoundary.cpp index a7258da09..58a382d19 100644 --- a/Source/FieldSolver/FiniteDifferenceSolver/ApplySilverMuellerBoundary.cpp +++ b/Source/FieldSolver/FiniteDifferenceSolver/ApplySilverMuellerBoundary.cpp @@ -4,14 +4,29 @@ * * License: BSD-3-Clause-LBNL */ - -#include "Utils/WarpXAlgorithmSelection.H" #include "FiniteDifferenceSolver.H" -#include "Utils/WarpXConst.H" -#include <AMReX_Gpu.H> + #ifdef WARPX_DIM_RZ # include "FiniteDifferenceAlgorithms/CylindricalYeeAlgorithm.H" #endif +#include "Utils/WarpXAlgorithmSelection.H" +#include "Utils/WarpXConst.H" + +#include <AMReX.H> +#include <AMReX_Array4.H> +#include <AMReX_Box.H> +#include <AMReX_Config.H> +#include <AMReX_GpuContainers.H> +#include <AMReX_GpuControl.H> +#include <AMReX_GpuLaunch.H> +#include <AMReX_GpuQualifiers.H> +#include <AMReX_IndexType.H> +#include <AMReX_MFIter.H> +#include <AMReX_MultiFab.H> +#include <AMReX_REAL.H> + +#include <array> +#include <memory> using namespace amrex; diff --git a/Source/FieldSolver/FiniteDifferenceSolver/ComputeDivE.cpp b/Source/FieldSolver/FiniteDifferenceSolver/ComputeDivE.cpp index bcc7c4460..0e511e279 100644 --- a/Source/FieldSolver/FiniteDifferenceSolver/ComputeDivE.cpp +++ b/Source/FieldSolver/FiniteDifferenceSolver/ComputeDivE.cpp @@ -4,19 +4,34 @@ * * License: BSD-3-Clause-LBNL */ +#include "FiniteDifferenceSolver.H" #include "Utils/WarpXAlgorithmSelection.H" -#include "FiniteDifferenceSolver.H" -#ifdef WARPX_DIM_RZ -# include "FiniteDifferenceAlgorithms/CylindricalYeeAlgorithm.H" -#else -# include "FiniteDifferenceAlgorithms/CartesianYeeAlgorithm.H" +#ifndef WARPX_DIM_RZ # include "FiniteDifferenceAlgorithms/CartesianCKCAlgorithm.H" # include "FiniteDifferenceAlgorithms/CartesianNodalAlgorithm.H" +# include "FiniteDifferenceAlgorithms/CartesianYeeAlgorithm.H" +#else +# include "FiniteDifferenceAlgorithms/CylindricalYeeAlgorithm.H" #endif -#include "Utils/WarpXConst.H" -#include "WarpX.H" -#include <AMReX_Gpu.H> + +#include <AMReX.H> +#include <AMReX_Array4.H> +#include <AMReX_Config.H> +#include <AMReX_Extension.H> +#include <AMReX_GpuContainers.H> +#include <AMReX_GpuControl.H> +#include <AMReX_GpuLaunch.H> +#include <AMReX_GpuQualifiers.H> +#include <AMReX_IndexType.H> +#include <AMReX_MFIter.H> +#include <AMReX_MultiFab.H> +#include <AMReX_REAL.H> + +#include <AMReX_BaseFwd.H> + +#include <array> +#include <memory> using namespace amrex; diff --git a/Source/FieldSolver/FiniteDifferenceSolver/EvolveB.cpp b/Source/FieldSolver/FiniteDifferenceSolver/EvolveB.cpp index 3d2dc42d8..eefd5f57c 100644 --- a/Source/FieldSolver/FiniteDifferenceSolver/EvolveB.cpp +++ b/Source/FieldSolver/FiniteDifferenceSolver/EvolveB.cpp @@ -4,18 +4,40 @@ * * License: BSD-3-Clause-LBNL */ - -#include "WarpX.H" -#include "Utils/WarpXAlgorithmSelection.H" #include "FiniteDifferenceSolver.H" -#ifdef WARPX_DIM_RZ -# include "FiniteDifferenceAlgorithms/CylindricalYeeAlgorithm.H" -#else + +#ifndef WARPX_DIM_RZ # include "FiniteDifferenceAlgorithms/CartesianYeeAlgorithm.H" # include "FiniteDifferenceAlgorithms/CartesianCKCAlgorithm.H" # include "FiniteDifferenceAlgorithms/CartesianNodalAlgorithm.H" +#else +# include "FiniteDifferenceAlgorithms/CylindricalYeeAlgorithm.H" #endif -#include <AMReX_Gpu.H> +#include "Utils/WarpXAlgorithmSelection.H" +#include "Utils/WarpXConst.H" +#include "WarpX.H" + +#include <AMReX.H> +#include <AMReX_Array4.H> +#include <AMReX_Config.H> +#include <AMReX_Extension.H> +#include <AMReX_GpuAtomic.H> +#include <AMReX_GpuContainers.H> +#include <AMReX_GpuControl.H> +#include <AMReX_GpuDevice.H> +#include <AMReX_GpuLaunch.H> +#include <AMReX_GpuQualifiers.H> +#include <AMReX_IndexType.H> +#include <AMReX_LayoutData.H> +#include <AMReX_MFIter.H> +#include <AMReX_MultiFab.H> +#include <AMReX_REAL.H> +#include <AMReX_Utility.H> + +#include <AMReX_BaseFwd.H> + +#include <array> +#include <memory> using namespace amrex; diff --git a/Source/FieldSolver/FiniteDifferenceSolver/EvolveBPML.cpp b/Source/FieldSolver/FiniteDifferenceSolver/EvolveBPML.cpp index 6eb7caacc..299f92f2f 100644 --- a/Source/FieldSolver/FiniteDifferenceSolver/EvolveBPML.cpp +++ b/Source/FieldSolver/FiniteDifferenceSolver/EvolveBPML.cpp @@ -4,19 +4,35 @@ * * License: BSD-3-Clause-LBNL */ - -#include "Utils/WarpXAlgorithmSelection.H" #include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H" -#ifdef WARPX_DIM_RZ -# include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CylindricalYeeAlgorithm.H" -#else + +#include "BoundaryConditions/PMLComponent.H" + +#ifndef WARPX_DIM_RZ # include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianYeeAlgorithm.H" # include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianCKCAlgorithm.H" # include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianNodalAlgorithm.H" +#else +# include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CylindricalYeeAlgorithm.H" #endif -#include "BoundaryConditions/PMLComponent.H" -#include <AMReX_Gpu.H> +#include "Utils/WarpXAlgorithmSelection.H" + #include <AMReX.H> +#include <AMReX_Array4.H> +#include <AMReX_Config.H> +#include <AMReX_Extension.H> +#include <AMReX_GpuContainers.H> +#include <AMReX_GpuControl.H> +#include <AMReX_GpuLaunch.H> +#include <AMReX_GpuQualifiers.H> +#include <AMReX_IndexType.H> +#include <AMReX_MFIter.H> +#include <AMReX_MultiFab.H> +#include <AMReX_REAL.H> + +#include <AMReX_BaseFwd.H> + +#include <array> using namespace amrex; diff --git a/Source/FieldSolver/FiniteDifferenceSolver/EvolveE.cpp b/Source/FieldSolver/FiniteDifferenceSolver/EvolveE.cpp index 63fc8b38d..83494e3c2 100644 --- a/Source/FieldSolver/FiniteDifferenceSolver/EvolveE.cpp +++ b/Source/FieldSolver/FiniteDifferenceSolver/EvolveE.cpp @@ -4,20 +4,40 @@ * * License: BSD-3-Clause-LBNL */ - -#include "WarpX.H" -#include "Utils/WarpXAlgorithmSelection.H" #include "FiniteDifferenceSolver.H" -#ifdef WARPX_DIM_RZ -# include "FiniteDifferenceAlgorithms/CylindricalYeeAlgorithm.H" + +#ifndef WARPX_DIM_RZ +# include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianYeeAlgorithm.H" +# include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianCKCAlgorithm.H" +# include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianNodalAlgorithm.H" #else -# include "FiniteDifferenceAlgorithms/CartesianYeeAlgorithm.H" -# include "FiniteDifferenceAlgorithms/CartesianCKCAlgorithm.H" -# include "FiniteDifferenceAlgorithms/CartesianNodalAlgorithm.H" +# include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CylindricalYeeAlgorithm.H" #endif +#include "Utils/WarpXAlgorithmSelection.H" #include "Utils/WarpXConst.H" -#include <AMReX_Gpu.H> +#include "WarpX.H" +#include <AMReX.H> +#include <AMReX_Array4.H> +#include <AMReX_Config.H> +#include <AMReX_Extension.H> +#include <AMReX_GpuAtomic.H> +#include <AMReX_GpuContainers.H> +#include <AMReX_GpuControl.H> +#include <AMReX_GpuDevice.H> +#include <AMReX_GpuLaunch.H> +#include <AMReX_GpuQualifiers.H> +#include <AMReX_IndexType.H> +#include <AMReX_LayoutData.H> +#include <AMReX_MFIter.H> +#include <AMReX_MultiFab.H> +#include <AMReX_REAL.H> +#include <AMReX_Utility.H> + +#include <AMReX_BaseFwd.H> + +#include <array> +#include <memory> using namespace amrex; diff --git a/Source/FieldSolver/FiniteDifferenceSolver/EvolveEPML.cpp b/Source/FieldSolver/FiniteDifferenceSolver/EvolveEPML.cpp index f93f68414..ea5ecb381 100644 --- a/Source/FieldSolver/FiniteDifferenceSolver/EvolveEPML.cpp +++ b/Source/FieldSolver/FiniteDifferenceSolver/EvolveEPML.cpp @@ -4,22 +4,38 @@ * * License: BSD-3-Clause-LBNL */ - -#include "Utils/WarpXAlgorithmSelection.H" #include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H" -#ifdef WARPX_DIM_RZ -# include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CylindricalYeeAlgorithm.H" -#else + +#include "BoundaryConditions/PML.H" +#include "BoundaryConditions/PMLComponent.H" +#include "BoundaryConditions/PML_current.H" +#ifndef WARPX_DIM_RZ # include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianYeeAlgorithm.H" # include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianCKCAlgorithm.H" # include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianNodalAlgorithm.H" +#else +# include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CylindricalYeeAlgorithm.H" #endif -#include "BoundaryConditions/PML.H" -#include "BoundaryConditions/PML_current.H" -#include "BoundaryConditions/PMLComponent.H" +#include "Utils/WarpXAlgorithmSelection.H" #include "Utils/WarpXConst.H" -#include <AMReX_Gpu.H> + #include <AMReX.H> +#include <AMReX_Array4.H> +#include <AMReX_Config.H> +#include <AMReX_Extension.H> +#include <AMReX_FabArray.H> +#include <AMReX_GpuContainers.H> +#include <AMReX_GpuControl.H> +#include <AMReX_GpuLaunch.H> +#include <AMReX_GpuQualifiers.H> +#include <AMReX_IndexType.H> +#include <AMReX_MFIter.H> +#include <AMReX_MultiFab.H> +#include <AMReX_REAL.H> + +#include <AMReX_BaseFwd.H> + +#include <array> using namespace amrex; diff --git a/Source/FieldSolver/FiniteDifferenceSolver/EvolveF.cpp b/Source/FieldSolver/FiniteDifferenceSolver/EvolveF.cpp index 445b62fb6..18401d74e 100644 --- a/Source/FieldSolver/FiniteDifferenceSolver/EvolveF.cpp +++ b/Source/FieldSolver/FiniteDifferenceSolver/EvolveF.cpp @@ -4,19 +4,38 @@ * * License: BSD-3-Clause-LBNL */ - -#include "Utils/WarpXAlgorithmSelection.H" #include "FiniteDifferenceSolver.H" -#ifdef WARPX_DIM_RZ -# include "FiniteDifferenceAlgorithms/CylindricalYeeAlgorithm.H" + +#ifndef WARPX_DIM_RZ +# include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianYeeAlgorithm.H" +# include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianCKCAlgorithm.H" +# include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianNodalAlgorithm.H" #else -# include "FiniteDifferenceAlgorithms/CartesianYeeAlgorithm.H" -# include "FiniteDifferenceAlgorithms/CartesianCKCAlgorithm.H" -# include "FiniteDifferenceAlgorithms/CartesianNodalAlgorithm.H" +# include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CylindricalYeeAlgorithm.H" #endif +#include "Utils/WarpXAlgorithmSelection.H" #include "Utils/WarpXConst.H" -#include "WarpX.H" -#include <AMReX_Gpu.H> +#ifdef WARPX_DIM_RZ +# include "WarpX.H" +#endif + +#include <AMReX.H> +#include <AMReX_Array4.H> +#include <AMReX_Config.H> +#include <AMReX_Extension.H> +#include <AMReX_GpuContainers.H> +#include <AMReX_GpuControl.H> +#include <AMReX_GpuLaunch.H> +#include <AMReX_GpuQualifiers.H> +#include <AMReX_IndexType.H> +#include <AMReX_MFIter.H> +#include <AMReX_MultiFab.H> +#include <AMReX_REAL.H> + +#include <AMReX_BaseFwd.H> + +#include <array> +#include <memory> using namespace amrex; diff --git a/Source/FieldSolver/FiniteDifferenceSolver/EvolveFPML.cpp b/Source/FieldSolver/FiniteDifferenceSolver/EvolveFPML.cpp index 1a49316dd..79eed1efb 100644 --- a/Source/FieldSolver/FiniteDifferenceSolver/EvolveFPML.cpp +++ b/Source/FieldSolver/FiniteDifferenceSolver/EvolveFPML.cpp @@ -4,19 +4,34 @@ * * License: BSD-3-Clause-LBNL */ - -#include "Utils/WarpXAlgorithmSelection.H" #include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H" -#ifdef WARPX_DIM_RZ -# include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CylindricalYeeAlgorithm.H" -#else + +#include "BoundaryConditions/PMLComponent.H" +#ifndef WARPX_DIM_RZ # include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianYeeAlgorithm.H" # include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianCKCAlgorithm.H" # include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianNodalAlgorithm.H" +#else +# include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CylindricalYeeAlgorithm.H" #endif -#include "BoundaryConditions/PMLComponent.H" -#include <AMReX_Gpu.H> +#include "Utils/WarpXAlgorithmSelection.H" + #include <AMReX.H> +#include <AMReX_Array4.H> +#include <AMReX_Config.H> +#include <AMReX_Extension.H> +#include <AMReX_GpuContainers.H> +#include <AMReX_GpuControl.H> +#include <AMReX_GpuLaunch.H> +#include <AMReX_GpuQualifiers.H> +#include <AMReX_IndexType.H> +#include <AMReX_MFIter.H> +#include <AMReX_MultiFab.H> +#include <AMReX_REAL.H> + +#include <AMReX_BaseFwd.H> + +#include <array> using namespace amrex; diff --git a/Source/FieldSolver/FiniteDifferenceSolver/EvolveG.cpp b/Source/FieldSolver/FiniteDifferenceSolver/EvolveG.cpp index f69fb57c4..b2aa302ad 100644 --- a/Source/FieldSolver/FiniteDifferenceSolver/EvolveG.cpp +++ b/Source/FieldSolver/FiniteDifferenceSolver/EvolveG.cpp @@ -5,18 +5,34 @@ * License: BSD-3-Clause-LBNL */ -#include "Utils/WarpXAlgorithmSelection.H" + #include "FiniteDifferenceSolver.H" -#ifdef WARPX_DIM_RZ -# include "FiniteDifferenceAlgorithms/CylindricalYeeAlgorithm.H" +#ifndef WARPX_DIM_RZ +# include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianYeeAlgorithm.H" +# include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianCKCAlgorithm.H" +# include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianNodalAlgorithm.H" #else -# include "FiniteDifferenceAlgorithms/CartesianYeeAlgorithm.H" -# include "FiniteDifferenceAlgorithms/CartesianCKCAlgorithm.H" -# include "FiniteDifferenceAlgorithms/CartesianNodalAlgorithm.H" +# include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CylindricalYeeAlgorithm.H" #endif -#include "Utils/WarpXConst.H" -#include "WarpX.H" -#include <AMReX_Gpu.H> +#include "Utils/WarpXAlgorithmSelection.H" + +#include <AMReX.H> +#include <AMReX_Array4.H> +#include <AMReX_Config.H> +#include <AMReX_Extension.H> +#include <AMReX_GpuContainers.H> +#include <AMReX_GpuControl.H> +#include <AMReX_GpuLaunch.H> +#include <AMReX_GpuQualifiers.H> +#include <AMReX_IndexType.H> +#include <AMReX_MFIter.H> +#include <AMReX_MultiFab.H> +#include <AMReX_REAL.H> + +#include <AMReX_BaseFwd.H> + +#include <array> +#include <memory> using namespace amrex; diff --git a/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianCKCAlgorithm.H b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianCKCAlgorithm.H index da1a8c9a9..216723553 100644 --- a/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianCKCAlgorithm.H +++ b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianCKCAlgorithm.H @@ -10,10 +10,10 @@ #include "Utils/WarpXConst.H" -#include <AMReX_REAL.H> +#include <AMReX.H> #include <AMReX_Array4.H> #include <AMReX_Gpu.H> -#include <AMReX.H> +#include <AMReX_REAL.H> #include <algorithm> #include <array> diff --git a/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianNodalAlgorithm.H b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianNodalAlgorithm.H index 68ecdfc60..5c1d68687 100644 --- a/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianNodalAlgorithm.H +++ b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianNodalAlgorithm.H @@ -10,10 +10,10 @@ #include "Utils/WarpXConst.H" -#include <AMReX_REAL.H> +#include <AMReX.H> #include <AMReX_Array4.H> #include <AMReX_Gpu.H> -#include <AMReX.H> +#include <AMReX_REAL.H> #include <array> #include <cmath> diff --git a/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianYeeAlgorithm.H b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianYeeAlgorithm.H index 4fd76a699..4fe813754 100644 --- a/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianYeeAlgorithm.H +++ b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianYeeAlgorithm.H @@ -8,13 +8,13 @@ #ifndef WARPX_FINITE_DIFFERENCE_ALGORITHM_CARTESIAN_YEE_H_ #define WARPX_FINITE_DIFFERENCE_ALGORITHM_CARTESIAN_YEE_H_ -#include "Utils/WarpXConst.H" #include "FieldAccessorFunctors.H" +#include "Utils/WarpXConst.H" #include <AMReX.H> -#include <AMReX_REAL.H> #include <AMReX_Array4.H> #include <AMReX_Gpu.H> +#include <AMReX_REAL.H> #include <array> #include <cmath> diff --git a/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CylindricalYeeAlgorithm.H b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CylindricalYeeAlgorithm.H index 2283df09a..fee0a9dc8 100644 --- a/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CylindricalYeeAlgorithm.H +++ b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CylindricalYeeAlgorithm.H @@ -10,10 +10,10 @@ #include "Utils/WarpXConst.H" -#include <AMReX_REAL.H> +#include <AMReX.H> #include <AMReX_Array4.H> #include <AMReX_Gpu.H> -#include <AMReX.H> +#include <AMReX_REAL.H> #include <array> #include <cmath> diff --git a/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/FieldAccessorFunctors.H b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/FieldAccessorFunctors.H index 3ba6de335..0b5245228 100644 --- a/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/FieldAccessorFunctors.H +++ b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/FieldAccessorFunctors.H @@ -1,6 +1,8 @@ #ifndef WARPX_FIELD_ACCESSOR_FUNCTORS_H #define WARPX_FIELD_ACCESSOR_FUNCTORS_H + #include "WarpX.H" + /** * \brief Functor that returns the division of the source m_field Array4 value by macroparameter, m_parameter value at the respective (i,j,k,ncomp). diff --git a/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H index 5346604d4..bd6add3f0 100644 --- a/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H +++ b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.H @@ -8,9 +8,18 @@ #ifndef WARPX_FINITE_DIFFERENCE_SOLVER_H_ #define WARPX_FINITE_DIFFERENCE_SOLVER_H_ -#include <AMReX_MultiFab.H> -#include "MacroscopicProperties/MacroscopicProperties.H" -#include "BoundaryConditions/PML.H" +#include "FiniteDifferenceSolver_fwd.H" + +#include "BoundaryConditions/PML_fwd.H" +#include "MacroscopicProperties/MacroscopicProperties_fwd.H" + +#include <AMReX_GpuContainers.H> +#include <AMReX_REAL.H> + +#include <AMReX_BaseFwd.H> + +#include <array> +#include <memory> /** * \brief Top-level class for the electromagnetic finite-difference solver diff --git a/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.cpp b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.cpp index 14decf5c1..aab4a69c5 100644 --- a/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.cpp +++ b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.cpp @@ -4,17 +4,26 @@ * * License: BSD-3-Clause-LBNL */ +#include "FiniteDifferenceSolver.H" +#ifndef WARPX_DIM_RZ +# include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianYeeAlgorithm.H" +# include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianCKCAlgorithm.H" +# include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianNodalAlgorithm.H" +#else +# include "FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CylindricalYeeAlgorithm.H" +#endif #include "Utils/WarpXAlgorithmSelection.H" #ifdef WARPX_DIM_RZ -# include "FiniteDifferenceAlgorithms/CylindricalYeeAlgorithm.H" -#else -# include "FiniteDifferenceAlgorithms/CartesianYeeAlgorithm.H" -# include "FiniteDifferenceAlgorithms/CartesianCKCAlgorithm.H" -# include "FiniteDifferenceAlgorithms/CartesianNodalAlgorithm.H" +# include "WarpX.H" #endif -#include "FiniteDifferenceSolver.H" -#include "WarpX.H" + +#include <AMReX.H> +#include <AMReX_GpuDevice.H> +#include <AMReX_PODVector.H> +#include <AMReX_Vector.H> + +#include <vector> /* This function initializes the stencil coefficients for the chosen finite-difference algorithm */ FiniteDifferenceSolver::FiniteDifferenceSolver ( diff --git a/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver_fwd.H b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver_fwd.H new file mode 100644 index 000000000..4ecd05116 --- /dev/null +++ b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver_fwd.H @@ -0,0 +1,8 @@ +/* Copyright 2021 Luca Fedeli + * + * This file is part of WarpX. + * + * License: BSD-3-Clause-LBNL + */ + +class FiniteDifferenceSolver; diff --git a/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicEvolveE.cpp b/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicEvolveE.cpp index 448c9b57d..f2a0cc9c7 100644 --- a/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicEvolveE.cpp +++ b/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicEvolveE.cpp @@ -1,5 +1,5 @@ -#include "Utils/WarpXAlgorithmSelection.H" #include "FiniteDifferenceSolver.H" + #ifdef WARPX_DIM_RZ // currently works only for 3D #else @@ -7,12 +7,28 @@ # include "FiniteDifferenceAlgorithms/CartesianCKCAlgorithm.H" # include "FiniteDifferenceAlgorithms/FieldAccessorFunctors.H" #endif -#include "Utils/WarpXConst.H" +#include "MacroscopicProperties/MacroscopicProperties.H" #include "Utils/CoarsenIO.H" -#include <WarpX.H> -#include <AMReX.H> -#include <AMReX_Gpu.H> +#include "Utils/WarpXAlgorithmSelection.H" +#include "WarpX.H" +#include <AMReX.H> +#include <AMReX_Array4.H> +#include <AMReX_Config.H> +#include <AMReX_Extension.H> +#include <AMReX_GpuContainers.H> +#include <AMReX_GpuControl.H> +#include <AMReX_GpuLaunch.H> +#include <AMReX_GpuQualifiers.H> +#include <AMReX_IndexType.H> +#include <AMReX_MFIter.H> +#include <AMReX_MultiFab.H> +#include <AMReX_REAL.H> + +#include <AMReX_BaseFwd.H> + +#include <array> +#include <memory> using namespace amrex; diff --git a/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties.H b/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties.H index 7dfa2ff62..3597212c4 100644 --- a/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties.H +++ b/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties.H @@ -1,12 +1,19 @@ #ifndef WARPX_MACROSCOPICPROPERTIES_H_ #define WARPX_MACROSCOPICPROPERTIES_H_ +#include "MacroscopicProperties_fwd.H" #include "Parser/WarpXParserWrapper.H" #include "Utils/WarpXConst.H" -#include <AMReX_MultiFab.H> +#include <AMReX_Array.H> +#include <AMReX_Extension.H> +#include <AMReX_GpuQualifiers.H> +#include <AMReX_MultiFab.H> +#include <AMReX_REAL.H> +#include <memory> +#include <string> /** * \brief This class contains the macroscopic properties of the medium needed to diff --git a/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties.cpp b/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties.cpp index 170ee6d80..579296e14 100644 --- a/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties.cpp +++ b/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties.cpp @@ -1,8 +1,22 @@ #include "MacroscopicProperties.H" -#include "WarpX.H" + #include "Utils/WarpXUtil.H" +#include "WarpX.H" +#include <AMReX_Array4.H> +#include <AMReX_BoxArray.H> +#include <AMReX_Config.H> +#include <AMReX_DistributionMapping.H> +#include <AMReX_Geometry.H> +#include <AMReX_GpuLaunch.H> +#include <AMReX_IndexType.H> +#include <AMReX_IntVect.H> +#include <AMReX_MFIter.H> #include <AMReX_ParmParse.H> +#include <AMReX_Print.H> +#include <AMReX_RealBox.H> + +#include <AMReX_BaseFwd.H> #include <memory> diff --git a/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties_fwd.H b/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties_fwd.H new file mode 100644 index 000000000..2ca4662d7 --- /dev/null +++ b/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicProperties/MacroscopicProperties_fwd.H @@ -0,0 +1,8 @@ +/* Copyright 2021 Luca Fedeli + * + * This file is part of WarpX. + * + * License: BSD-3-Clause-LBNL + */ + +class MacroscopicProperties; |