diff options
Diffstat (limited to 'Source/Particles')
27 files changed, 133 insertions, 110 deletions
diff --git a/Source/Particles/Collision/CollisionType.H b/Source/Particles/Collision/CollisionType.H index 29fdfb029..962530973 100644 --- a/Source/Particles/Collision/CollisionType.H +++ b/Source/Particles/Collision/CollisionType.H @@ -7,7 +7,7 @@ #ifndef WARPX_PARTICLES_COLLISION_COLLISIONTYPE_H_ #define WARPX_PARTICLES_COLLISION_COLLISIONTYPE_H_ -#include "WarpXParticleContainer.H" +#include "Particles/WarpXParticleContainer.H" #include <AMReX_DenseBins.H> #include <AMReX_REAL.H> #include <AMReX_ParmParse.H> diff --git a/Source/Particles/Collision/ComputeTemperature.H b/Source/Particles/Collision/ComputeTemperature.H index 81cb14dad..8128e40ec 100644 --- a/Source/Particles/Collision/ComputeTemperature.H +++ b/Source/Particles/Collision/ComputeTemperature.H @@ -7,7 +7,8 @@ #ifndef WARPX_PARTICLES_COLLISION_COMPUTE_TEMPERATURE_H_ #define WARPX_PARTICLES_COLLISION_COMPUTE_TEMPERATURE_H_ -#include <WarpXConst.H> +#include "Utils/WarpXConst.H" + template <typename T_index, typename T_R> AMREX_GPU_HOST_DEVICE diff --git a/Source/Particles/Collision/ElasticCollisionPerez.H b/Source/Particles/Collision/ElasticCollisionPerez.H index b1fa64300..37cae45a1 100644 --- a/Source/Particles/Collision/ElasticCollisionPerez.H +++ b/Source/Particles/Collision/ElasticCollisionPerez.H @@ -9,9 +9,11 @@ #include "UpdateMomentumPerezElastic.H" #include "ComputeTemperature.H" -#include <WarpXConst.H> +#include "Utils/WarpXConst.H" + #include <AMReX_Random.H> + /** \brief Prepare information for and call * UpdateMomentumPerezElastic(). * @param[in] I1s,I2s is the start index for I1,I2 (inclusive). diff --git a/Source/Particles/Collision/UpdateMomentumPerezElastic.H b/Source/Particles/Collision/UpdateMomentumPerezElastic.H index 05c8cd227..3b905dcf7 100644 --- a/Source/Particles/Collision/UpdateMomentumPerezElastic.H +++ b/Source/Particles/Collision/UpdateMomentumPerezElastic.H @@ -7,11 +7,13 @@ #ifndef WARPX_PARTICLES_COLLISION_UPDATE_MOMENTUM_PEREZ_ELASTIC_H_ #define WARPX_PARTICLES_COLLISION_UPDATE_MOMENTUM_PEREZ_ELASTIC_H_ -#include <WarpXConst.H> +#include "Utils/WarpXConst.H" #include <AMReX_Random.H> + #include <cmath> // isnan() isinf() #include <limits> // numeric_limits<float>::min() + /* \brief Update particle velocities according to * F. Perez et al., Phys.Plasmas.19.083104 (2012), * which is based on Nanbu's method, PhysRevE.55.4642 (1997). diff --git a/Source/Particles/Deposition/ChargeDeposition.H b/Source/Particles/Deposition/ChargeDeposition.H index b03e4224f..597f387a7 100755 --- a/Source/Particles/Deposition/ChargeDeposition.H +++ b/Source/Particles/Deposition/ChargeDeposition.H @@ -8,8 +8,9 @@ #ifndef CHARGEDEPOSITION_H_ #define CHARGEDEPOSITION_H_ -#include "GetAndSetPosition.H" -#include "ShapeFactors.H" +#include "Particles/Pusher/GetAndSetPosition.H" +#include "Particles/ShapeFactors.H" + /* \brief Charge Deposition for thread thread_num * /param GetPosition : A functor for returning the particle position. diff --git a/Source/Particles/Deposition/CurrentDeposition.H b/Source/Particles/Deposition/CurrentDeposition.H index af3b0006b..dd0180b88 100644 --- a/Source/Particles/Deposition/CurrentDeposition.H +++ b/Source/Particles/Deposition/CurrentDeposition.H @@ -8,9 +8,9 @@ #ifndef CURRENTDEPOSITION_H_ #define CURRENTDEPOSITION_H_ -#include "GetAndSetPosition.H" -#include "ShapeFactors.H" -#include <WarpX_Complex.H> +#include "Particles/Pusher/GetAndSetPosition.H" +#include "Particles/ShapeFactors.H" +#include "Utils/WarpX_Complex.H" #include <AMReX_Array4.H> #include <AMReX_REAL.H> diff --git a/Source/Particles/ElementaryProcess/Ionization.H b/Source/Particles/ElementaryProcess/Ionization.H index 279339d07..6cf30bd4d 100644 --- a/Source/Particles/ElementaryProcess/Ionization.H +++ b/Source/Particles/ElementaryProcess/Ionization.H @@ -8,8 +8,8 @@ #ifndef IONIZATION_H_ #define IONIZATION_H_ -#include "WarpXConst.H" -#include "WarpXParticleContainer.H" +#include "Utils/WarpXConst.H" +#include "Particles/WarpXParticleContainer.H" struct IonizationFilterFunc { diff --git a/Source/Particles/Gather/FieldGather.H b/Source/Particles/Gather/FieldGather.H index 12d9b6291..53dfeb15e 100644 --- a/Source/Particles/Gather/FieldGather.H +++ b/Source/Particles/Gather/FieldGather.H @@ -8,9 +8,10 @@ #ifndef FIELDGATHER_H_ #define FIELDGATHER_H_ -#include "GetAndSetPosition.H" -#include "ShapeFactors.H" -#include <WarpX_Complex.H> +#include "Particles/Pusher/GetAndSetPosition.H" +#include "Particles/ShapeFactors.H" +#include "Utils/WarpX_Complex.H" + /** * \brief Field gather for particles handled by thread thread_num diff --git a/Source/Particles/MultiParticleContainer.H b/Source/Particles/MultiParticleContainer.H index 7b5166243..e50830cc9 100644 --- a/Source/Particles/MultiParticleContainer.H +++ b/Source/Particles/MultiParticleContainer.H @@ -11,23 +11,23 @@ #ifndef WARPX_ParticleContainer_H_ #define WARPX_ParticleContainer_H_ -#include <WarpXParticleContainer.H> -#include <PhysicalParticleContainer.H> -#include <RigidInjectedParticleContainer.H> -#include <PhotonParticleContainer.H> -#include <LaserParticleContainer.H> -#include <WarpXParserWrapper.H> -#include <SmartCopy.H> -#include <FilterCopyTransform.H> +#include "WarpXParticleContainer.H" +#include "PhysicalParticleContainer.H" +#include "PhotonParticleContainer.H" +#include "Laser/LaserParticleContainer.H" +#include "Parser/WarpXParserWrapper.H" +#include "Particles/Collision/CollisionType.H" +#include "Particles/ParticleCreation/SmartCopy.H" +#include "Particles/ParticleCreation/FilterCopyTransform.H" +#include "Particles/RigidInjectedParticleContainer.H" -#include <AMReX_Particles.H> #ifdef WARPX_QED - #include <QedChiFunctions.H> - #include <BreitWheelerEngineWrapper.H> - #include <QuantumSyncEngineWrapper.H> +# include "QED/QedChiFunctions.H" +# include "QED/BreitWheelerEngineWrapper.H" +# include "QED/QuantumSyncEngineWrapper.H" #endif -#include "CollisionType.H" +#include <AMReX_Particles.H> #include <memory> #include <map> diff --git a/Source/Particles/MultiParticleContainer.cpp b/Source/Particles/MultiParticleContainer.cpp index ebb79787e..100dfc44b 100644 --- a/Source/Particles/MultiParticleContainer.cpp +++ b/Source/Particles/MultiParticleContainer.cpp @@ -8,19 +8,17 @@ * * License: BSD-3-Clause-LBNL */ -#include <MultiParticleContainer.H> +#include "MultiParticleContainer.H" +#include "Utils/WarpXUtil.H" +#include "WarpX.H" #include <AMReX_Vector.H> -#include <WarpX.H> - -//This is now needed for writing a binary file on disk. -#include <WarpXUtil.H> - #include <limits> #include <algorithm> #include <string> + using namespace amrex; MultiParticleContainer::MultiParticleContainer (AmrCore* amr_core) diff --git a/Source/Particles/ParticleCreation/SmartCopy.H b/Source/Particles/ParticleCreation/SmartCopy.H index 0668321c9..1ed031cc6 100644 --- a/Source/Particles/ParticleCreation/SmartCopy.H +++ b/Source/Particles/ParticleCreation/SmartCopy.H @@ -1,5 +1,5 @@ /* Copyright 2019-2020 Andrew Myers, Axel Huebl, - * Maxence Thevenet + * Maxence Thevenet * * This file is part of WarpX. * @@ -8,7 +8,7 @@ #ifndef SMART_COPY_H_ #define SMART_COPY_H_ -#include <DefaultInitialization.H> +#include "DefaultInitialization.H" #include <AMReX_GpuContainers.H> #include <AMReX_ParallelDescriptor.H> diff --git a/Source/Particles/PhotonParticleContainer.H b/Source/Particles/PhotonParticleContainer.H index ef32ebcb0..90c0a0e33 100644 --- a/Source/Particles/PhotonParticleContainer.H +++ b/Source/Particles/PhotonParticleContainer.H @@ -8,7 +8,7 @@ #ifndef WARPX_PhotonParticleContainer_H_ #define WARPX_PhotonParticleContainer_H_ -#include <PhysicalParticleContainer.H> +#include "PhysicalParticleContainer.H" #include <AMReX_Vector.H> /** diff --git a/Source/Particles/PhotonParticleContainer.cpp b/Source/Particles/PhotonParticleContainer.cpp index 28328464d..0f0eb2284 100644 --- a/Source/Particles/PhotonParticleContainer.cpp +++ b/Source/Particles/PhotonParticleContainer.cpp @@ -5,22 +5,22 @@ * * License: BSD-3-Clause-LBNL */ -#include <limits> -#include <sstream> -#include <algorithm> +#include "PhotonParticleContainer.H" +#include "Utils/WarpXConst.H" +#include "WarpX.H" + +// Import low-level single-particle kernels +#include "Particles/Pusher/UpdatePositionPhoton.H" +#include "Particles/Pusher/GetAndSetPosition.H" #ifdef _OPENMP -#include <omp.h> +# include <omp.h> #endif -#include <PhotonParticleContainer.H> -#include <WarpX.H> -#include <WarpXConst.H> - +#include <limits> +#include <sstream> +#include <algorithm> -// Import low-level single-particle kernels -#include <UpdatePositionPhoton.H> -#include <GetAndSetPosition.H> using namespace amrex; diff --git a/Source/Particles/PhysicalParticleContainer.H b/Source/Particles/PhysicalParticleContainer.H index 0470b6173..d272c75bb 100644 --- a/Source/Particles/PhysicalParticleContainer.H +++ b/Source/Particles/PhysicalParticleContainer.H @@ -10,10 +10,10 @@ #ifndef WARPX_PhysicalParticleContainer_H_ #define WARPX_PhysicalParticleContainer_H_ -#include <PlasmaInjector.H> -#include <WarpXParticleContainer.H> -#include <NCIGodfreyFilter.H> -#include <Ionization.H> +#include "Initialization/PlasmaInjector.H" +#include "WarpXParticleContainer.H" +#include "Filter/NCIGodfreyFilter.H" +#include "Particles/ElementaryProcess/Ionization.H" #include <AMReX_IArrayBox.H> diff --git a/Source/Particles/PhysicalParticleContainer.cpp b/Source/Particles/PhysicalParticleContainer.cpp index 35a52107b..3953bb243 100644 --- a/Source/Particles/PhysicalParticleContainer.cpp +++ b/Source/Particles/PhysicalParticleContainer.cpp @@ -8,28 +8,29 @@ * * License: BSD-3-Clause-LBNL */ -#include <limits> -#include <sstream> +#include "PhysicalParticleContainer.H" -#include <PhysicalParticleContainer.H> +#include "MultiParticleContainer.H" +#include "FortranInterface/WarpX_f.H" +#include "WarpX.H" +#include "Utils/WarpXConst.H" +#include "Python/WarpXWrappers.h" +#include "Utils/IonizationEnergiesTable.H" +#include "Particles/Gather/FieldGather.H" +#include "Particles/Pusher/GetAndSetPosition.H" -#include <MultiParticleContainer.H> -#include <WarpX_f.H> -#include <WarpX.H> -#include <WarpXConst.H> -#include <WarpXWrappers.h> -#include <IonizationEnergiesTable.H> -#include <FieldGather.H> -#include <GetAndSetPosition.H> - -#include <WarpXAlgorithmSelection.H> +#include "Utils/WarpXAlgorithmSelection.H" // Import low-level single-particle kernels -#include <UpdatePosition.H> -#include <UpdateMomentumBoris.H> -#include <UpdateMomentumVay.H> -#include <UpdateMomentumBorisWithRadiationReaction.H> -#include <UpdateMomentumHigueraCary.H> +#include "Particles/Pusher/UpdatePosition.H" +#include "Particles/Pusher/UpdateMomentumBoris.H" +#include "Particles/Pusher/UpdateMomentumVay.H" +#include "Particles/Pusher/UpdateMomentumBorisWithRadiationReaction.H" +#include "Particles/Pusher/UpdateMomentumHigueraCary.H" + +#include <limits> +#include <sstream> + using namespace amrex; diff --git a/Source/Particles/Pusher/GetAndSetPosition.H b/Source/Particles/Pusher/GetAndSetPosition.H index 594260703..e575bab16 100644 --- a/Source/Particles/Pusher/GetAndSetPosition.H +++ b/Source/Particles/Pusher/GetAndSetPosition.H @@ -8,10 +8,13 @@ #ifndef WARPX_PARTICLES_PUSHER_GETANDSETPOSITION_H_ #define WARPX_PARTICLES_PUSHER_GETANDSETPOSITION_H_ -#include <limits> -#include <WarpXParticleContainer.H> +#include "Particles/WarpXParticleContainer.H" + #include <AMReX_REAL.H> +#include <limits> + + /** \brief Functor that can be used to extract the positions of the macroparticles * inside a ParallelFor kernel * diff --git a/Source/Particles/Pusher/UpdateMomentumBorisWithRadiationReaction.H b/Source/Particles/Pusher/UpdateMomentumBorisWithRadiationReaction.H index d8489e23e..e502cc82d 100644 --- a/Source/Particles/Pusher/UpdateMomentumBorisWithRadiationReaction.H +++ b/Source/Particles/Pusher/UpdateMomentumBorisWithRadiationReaction.H @@ -4,12 +4,13 @@ * * License: BSD-3-Clause-LBNL */ - #ifndef WARPX_PARTICLES_PUSHER_UPDATEMOMENTUM_BORIS_WITHRR_H_ #define WARPX_PARTICLES_PUSHER_UPDATEMOMENTUM_BORIS_WITHRR_H_ +#include "UpdateMomentumBoris.H" + #include <AMReX_REAL.H> -#include <UpdateMomentumBoris.H> + /** * Push the particle's positions over one timestep, diff --git a/Source/Particles/Pusher/UpdateMomentumHigueraCary.H b/Source/Particles/Pusher/UpdateMomentumHigueraCary.H index de2436ce2..bec843d8f 100644 --- a/Source/Particles/Pusher/UpdateMomentumHigueraCary.H +++ b/Source/Particles/Pusher/UpdateMomentumHigueraCary.H @@ -7,10 +7,12 @@ #ifndef WARPX_PARTICLES_PUSHER_UPDATEMOMENTUM_HIGUERACARY_H_ #define WARPX_PARTICLES_PUSHER_UPDATEMOMENTUM_HIGUERACARY_H_ -#include "WarpXConst.H" +#include "Utils/WarpXConst.H" + #include <AMReX_FArrayBox.H> #include <AMReX_REAL.H> + /** * \brief Push the particle's positions over one timestep, * given the value of its momenta `ux`, `uy`, `uz` diff --git a/Source/Particles/Pusher/UpdateMomentumVay.H b/Source/Particles/Pusher/UpdateMomentumVay.H index 846d59310..e754d3892 100644 --- a/Source/Particles/Pusher/UpdateMomentumVay.H +++ b/Source/Particles/Pusher/UpdateMomentumVay.H @@ -8,9 +8,11 @@ #ifndef WARPX_PARTICLES_PUSHER_UPDATEMOMENTUM_VAY_H_ #define WARPX_PARTICLES_PUSHER_UPDATEMOMENTUM_VAY_H_ -#include <AMReX_FArrayBox.H> -#include <WarpXConst.H> +#include "Utils/WarpXConst.H" + #include <AMReX_REAL.H> +#include <AMReX_FArrayBox.H> + /** \brief Push the particle's positions over one timestep, * given the value of its momenta `ux`, `uy`, `uz` */ diff --git a/Source/Particles/Pusher/UpdatePosition.H b/Source/Particles/Pusher/UpdatePosition.H index 1968a1439..81b586ec7 100644 --- a/Source/Particles/Pusher/UpdatePosition.H +++ b/Source/Particles/Pusher/UpdatePosition.H @@ -8,9 +8,11 @@ #ifndef WARPX_PARTICLES_PUSHER_UPDATEPOSITION_H_ #define WARPX_PARTICLES_PUSHER_UPDATEPOSITION_H_ -#include <AMReX_FArrayBox.H> -#include <WarpXConst.H> +#include "Utils/WarpXConst.H" + #include <AMReX_REAL.H> +#include <AMReX_FArrayBox.H> + /** \brief Push the particle's positions over one timestep, * given the value of its momenta `ux`, `uy`, `uz` */ diff --git a/Source/Particles/Pusher/UpdatePositionPhoton.H b/Source/Particles/Pusher/UpdatePositionPhoton.H index 44c0afda9..08827e407 100644 --- a/Source/Particles/Pusher/UpdatePositionPhoton.H +++ b/Source/Particles/Pusher/UpdatePositionPhoton.H @@ -8,11 +8,12 @@ #ifndef WARPX_PARTICLES_PUSHER_UPDATEPOSITIONPHOTON_H_ #define WARPX_PARTICLES_PUSHER_UPDATEPOSITIONPHOTON_H_ -#include <WarpXConst.H> +#include "Utils/WarpXConst.H" #include <AMReX_FArrayBox.H> #include <AMReX_REAL.H> + /** * \brief Push the position of a photon particle over one timestep, * given the value of its momenta `ux`, `uy`, `uz` diff --git a/Source/Particles/RigidInjectedParticleContainer.H b/Source/Particles/RigidInjectedParticleContainer.H index 7ad7fd82e..cc824ce00 100644 --- a/Source/Particles/RigidInjectedParticleContainer.H +++ b/Source/Particles/RigidInjectedParticleContainer.H @@ -8,7 +8,7 @@ #ifndef WARPX_RigidInjectedParticleContainer_H_ #define WARPX_RigidInjectedParticleContainer_H_ -#include <PhysicalParticleContainer.H> +#include "PhysicalParticleContainer.H" #include <AMReX_Vector.H> /** diff --git a/Source/Particles/RigidInjectedParticleContainer.cpp b/Source/Particles/RigidInjectedParticleContainer.cpp index c3152049a..e6f0d5536 100644 --- a/Source/Particles/RigidInjectedParticleContainer.cpp +++ b/Source/Particles/RigidInjectedParticleContainer.cpp @@ -7,23 +7,24 @@ * * License: BSD-3-Clause-LBNL */ +#ifdef _OPENMP +# include <omp.h> +#endif + +#include "RigidInjectedParticleContainer.H" +#include "WarpX.H" +#include "Utils/WarpXConst.H" +#include "Utils/WarpXAlgorithmSelection.H" +#include "Pusher/UpdateMomentumBoris.H" +#include "Pusher/UpdateMomentumVay.H" +#include "Pusher/UpdateMomentumBorisWithRadiationReaction.H" +#include "Pusher/UpdateMomentumHigueraCary.H" +#include "Pusher/GetAndSetPosition.H" + #include <limits> #include <sstream> #include <algorithm> -#ifdef _OPENMP -#include <omp.h> -#endif - -#include <RigidInjectedParticleContainer.H> -#include <WarpX.H> -#include <WarpXConst.H> -#include <WarpXAlgorithmSelection.H> -#include <UpdateMomentumBoris.H> -#include <UpdateMomentumVay.H> -#include <UpdateMomentumBorisWithRadiationReaction.H> -#include <UpdateMomentumHigueraCary.H> -#include <GetAndSetPosition.H> using namespace amrex; diff --git a/Source/Particles/Sorting/Partition.cpp b/Source/Particles/Sorting/Partition.cpp index 3c0ad7965..b78cffa6c 100644 --- a/Source/Particles/Sorting/Partition.cpp +++ b/Source/Particles/Sorting/Partition.cpp @@ -4,11 +4,13 @@ * * License: BSD-3-Clause-LBNL */ -#include <SortingUtils.H> -#include <PhysicalParticleContainer.H> -#include <WarpX.H> +#include "SortingUtils.H" +#include "Particles/PhysicalParticleContainer.H" +#include "WarpX.H" + #include <AMReX_Particles.H> + using namespace amrex; /* \brief Determine which particles deposit/gather in the buffer, and diff --git a/Source/Particles/Sorting/SortingUtils.H b/Source/Particles/Sorting/SortingUtils.H index a55303251..754acadf2 100644 --- a/Source/Particles/Sorting/SortingUtils.H +++ b/Source/Particles/Sorting/SortingUtils.H @@ -8,10 +8,12 @@ #ifndef WARPX_PARTICLES_SORTING_SORTINGUTILS_H_ #define WARPX_PARTICLES_SORTING_SORTINGUTILS_H_ -#include <WarpXParticleContainer.H> +#include "Particles/WarpXParticleContainer.H" + #include <AMReX_Gpu.H> #include <AMReX_Partition.H> + /** \brief Fill the elements of the input vector with consecutive integer, * starting from 0 * diff --git a/Source/Particles/WarpXParticleContainer.H b/Source/Particles/WarpXParticleContainer.H index 2c7ed89bd..4dd36b7e0 100644 --- a/Source/Particles/WarpXParticleContainer.H +++ b/Source/Particles/WarpXParticleContainer.H @@ -10,7 +10,7 @@ #ifndef WARPX_WarpXParticleContainer_H_ #define WARPX_WarpXParticleContainer_H_ -#include "WarpXDtType.H" +#include "Evolve/WarpXDtType.H" #include <AMReX_Particles.H> #include <AMReX_AmrCore.H> diff --git a/Source/Particles/WarpXParticleContainer.cpp b/Source/Particles/WarpXParticleContainer.cpp index d77e35b6b..d249e3d6b 100644 --- a/Source/Particles/WarpXParticleContainer.cpp +++ b/Source/Particles/WarpXParticleContainer.cpp @@ -7,20 +7,21 @@ * * License: BSD-3-Clause-LBNL */ -#include <limits> +#include "MultiParticleContainer.H" +#include "WarpXParticleContainer.H" +#include "WarpX.H" +#include "Utils/WarpXAlgorithmSelection.H" +#include "Parallelization/WarpXComm.H" +// Import low-level single-particle kernels +#include "Pusher/GetAndSetPosition.H" +#include "Pusher/UpdatePosition.H" +#include "Deposition/CurrentDeposition.H" +#include "Deposition/ChargeDeposition.H" -#include <MultiParticleContainer.H> -#include <WarpXParticleContainer.H> #include <AMReX_AmrParGDB.H> -#include <WarpXComm.H> -#include <WarpX.H> -#include <WarpXAlgorithmSelection.H> -#include <WarpXComm.H> -// Import low-level single-particle kernels -#include <GetAndSetPosition.H> -#include <UpdatePosition.H> -#include <CurrentDeposition.H> -#include <ChargeDeposition.H> + +#include <limits> + using namespace amrex; |