aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/ParticleCreation/ElementaryProcess.H
diff options
context:
space:
mode:
authorGravatar MaxThevenet <mthevenet@lbl.gov> 2019-11-06 15:39:01 -0800
committerGravatar GitHub <noreply@github.com> 2019-11-06 15:39:01 -0800
commit48d1753a0040877a8c8948cdf3addab6a20c0468 (patch)
treeb19ecfe9f7f0de6253620f77ffbc1e8680b05f98 /Source/Particles/ParticleCreation/ElementaryProcess.H
parent2f5472ead913dd8587856e195f85e7f99d1ceb2f (diff)
parentffdaabcf7134a43b0f063ca5d8158862e7c04579 (diff)
downloadWarpX-48d1753a0040877a8c8948cdf3addab6a20c0468.tar.gz
WarpX-48d1753a0040877a8c8948cdf3addab6a20c0468.tar.zst
WarpX-48d1753a0040877a8c8948cdf3addab6a20c0468.zip
Merge pull request #513 from ax3l/topic-upperClassNames
Create/Copy Particle: Class Names Upper
Diffstat (limited to 'Source/Particles/ParticleCreation/ElementaryProcess.H')
-rw-r--r--Source/Particles/ParticleCreation/ElementaryProcess.H33
1 files changed, 18 insertions, 15 deletions
diff --git a/Source/Particles/ParticleCreation/ElementaryProcess.H b/Source/Particles/ParticleCreation/ElementaryProcess.H
index 9024900ea..75443cb38 100644
--- a/Source/Particles/ParticleCreation/ElementaryProcess.H
+++ b/Source/Particles/ParticleCreation/ElementaryProcess.H
@@ -21,8 +21,8 @@
* The class is templated on the process type. This gives flexibility
* on source and product particle transformations.
*/
-template<elementaryProcessType ProcessT>
-class elementaryProcess
+template<ElementaryProcessType ProcessT>
+class ElementaryProcess
{
public:
@@ -36,16 +36,17 @@ public:
* \param attribs_product attribs of product particles
* \param runtime_attribs_product runtime attribs for product, to store old attribs
*/
- copyParticle initialize_copy(
+ CopyParticle initialize_copy(
const int cpuid, const int do_back_transformed_product,
const amrex::GpuArray<amrex::ParticleReal*,3> runtime_uold_source,
const amrex::GpuArray<amrex::ParticleReal*,PIdx::nattribs> attribs_source,
const amrex::GpuArray<amrex::ParticleReal*,PIdx::nattribs> attribs_product,
const amrex::GpuArray<amrex::ParticleReal*,6> runtime_attribs_product) const noexcept
{
- return copyParticle (
+ return CopyParticle(
cpuid, do_back_transformed_product, runtime_uold_source,
- attribs_source, attribs_product, runtime_attribs_product);
+ attribs_source, attribs_product, runtime_attribs_product
+ );
};
/**
@@ -123,7 +124,8 @@ public:
int np_flagged = i_product[np_source-1];
if (np_flagged == 0) return;
- amrex::Gpu::ManagedDeviceVector<copyParticle> v_copy_functor;
+ amrex::Gpu::ManagedDeviceVector<CopyParticle> v_copy_functor;
+ v_copy_functor.reserve(nproducts);
amrex::Gpu::ManagedDeviceVector<int> v_pid_product(nproducts);
amrex::Gpu::ManagedDeviceVector<WarpXParticleContainer::ParticleType*> v_particles_product(nproducts);
for (int iproduct=0; iproduct<nproducts; iproduct++){
@@ -172,12 +174,13 @@ public:
const int cpuid = amrex::ParallelDescriptor::MyProc();
// Create instance of copy functor, and add it to the vector
- v_copy_functor.push_back (initialize_copy(
- cpuid, v_do_back_transformed_product[iproduct],
- runtime_uold_source,
- attribs_source,
- attribs_product,
- runtime_attribs_product) );
+ v_copy_functor.push_back( initialize_copy(
+ cpuid, v_do_back_transformed_product[iproduct],
+ runtime_uold_source,
+ attribs_source,
+ attribs_product,
+ runtime_attribs_product
+ ) );
v_pid_product[iproduct] = pid_product;
}
@@ -212,12 +215,12 @@ public:
amrex::Gpu::ManagedDeviceVector<int> v_pid_product,
amrex::Gpu::ManagedDeviceVector<WarpXParticleContainer::ParticleType*> v_particles_product,
WarpXParticleContainer::ParticleType* particles_source,
- const amrex::Gpu::ManagedDeviceVector<copyParticle>& v_copy_functor,
+ const amrex::Gpu::ManagedDeviceVector<CopyParticle>& v_copy_functor,
amrex::GpuArray<int*,1> runtime_iattribs_source)
{
int const * const AMREX_RESTRICT p_is_flagged = is_flagged.dataPtr();
int const * const AMREX_RESTRICT p_i_product = i_product.dataPtr();
- copyParticle const * const AMREX_RESTRICT p_copy_functor = v_copy_functor.dataPtr();
+ CopyParticle const * const AMREX_RESTRICT p_copy_functor = v_copy_functor.dataPtr();
WarpXParticleContainer::ParticleType * * p_particles_product = v_particles_product.data();
int const * const p_pid_product = v_pid_product.data();
@@ -251,7 +254,7 @@ public:
};
// Derived class for ionization process
-class IonizationProcess: public elementaryProcess<elementaryProcessType::Ionization>
+class IonizationProcess: public ElementaryProcess<ElementaryProcessType::Ionization>
{};
#endif // ELEMENTARYPROCESS_H_