aboutsummaryrefslogtreecommitdiff
path: root/Source/Initialization/InjectorDensity.cpp
diff options
context:
space:
mode:
authorGravatar MaxThevenet <mthevenet@lbl.gov> 2019-07-31 11:04:34 -0700
committerGravatar MaxThevenet <mthevenet@lbl.gov> 2019-07-31 11:04:34 -0700
commit804620cdc9d8510c77341cc5741d96339c064f1e (patch)
treebf08e499d65bc821fd94ae296c29f37bdbfc907f /Source/Initialization/InjectorDensity.cpp
parent801665ed402def24b9953755b8b0befa196fa2bb (diff)
downloadWarpX-804620cdc9d8510c77341cc5741d96339c064f1e.tar.gz
WarpX-804620cdc9d8510c77341cc5741d96339c064f1e.tar.zst
WarpX-804620cdc9d8510c77341cc5741d96339c064f1e.zip
comments on all injectors
Diffstat (limited to 'Source/Initialization/InjectorDensity.cpp')
-rw-r--r--Source/Initialization/InjectorDensity.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/Source/Initialization/InjectorDensity.cpp b/Source/Initialization/InjectorDensity.cpp
index 78846215b..7fed85b75 100644
--- a/Source/Initialization/InjectorDensity.cpp
+++ b/Source/Initialization/InjectorDensity.cpp
@@ -24,6 +24,7 @@ InjectorDensity::~InjectorDensity ()
}
}
+// Compute the amount of memory needed in GPU Shared Memory.
std::size_t
InjectorDensity::sharedMemoryNeeded () const noexcept
{
@@ -31,6 +32,8 @@ InjectorDensity::sharedMemoryNeeded () const noexcept
{
case Type::parser:
{
+ // For parser injector, the 3D position of each particle
+ // is stored in shared memory.
return amrex::Gpu::numThreadsPerBlockParallelFor() * sizeof(double) * 3;
}
default:
@@ -45,6 +48,8 @@ InjectorDensityPredefined::InjectorDensityPredefined (
ParmParse pp(a_species_name);
std::vector<amrex::Real> v;
+ // Read parameters for the predefined plasma profile,
+ // and store them in managed memory
pp.getarr("predefined_profile_params", v);
p = static_cast<amrex::Real*>
(amrex::The_Managed_Arena()->alloc(sizeof(amrex::Real)*v.size()));
@@ -52,6 +57,7 @@ InjectorDensityPredefined::InjectorDensityPredefined (
p[i] = v[i];
}
+ // Parse predefined profile name, and update member variable profile.
std::string which_profile_s;
pp.query("predefined_profile_name", which_profile_s);
std::transform(which_profile_s.begin(), which_profile_s.end(),