Important PIConGPU Classes¶
This is very, very small selection of classes of interest to get you started.
MySimulation¶
-
class picongpu
::
MySimulation
¶ Global simulation controller class.
Initialises simulation data and defines the simulation steps for each iteration.
- Template Parameters
DIM
: the dimension (2-3) for the simulation
Inherits from PMacc::SimulationHelper< simDim >
Public Functions
-
picongpu::MySimulation
MySimulation
()¶ Constructor.
-
virtual void picongpu::MySimulation
pluginRegisterHelp
(po::options_description &desc)¶ Register command line parameters for this plugin.
Parameters are parsed and set prior to plugin load.
- Parameters
desc
: boost::program_options description
-
std::string picongpu::MySimulation
pluginGetName
() const¶ Return the name of this plugin for status messages.
- Return
- plugin name
-
virtual void picongpu::MySimulation
pluginLoad
()¶
-
virtual void picongpu::MySimulation
pluginUnload
()¶
-
void picongpu::MySimulation
notify
(uint32_t currentStep)¶ Notification callback.
For example Plugins can set their requested notification frequency at the PluginConnector
- Parameters
currentStep
: current simulation iteration step
-
virtual void picongpu::MySimulation
init
()¶ Initialize simulation.
Does hardware selections/reservations, memory allocations and initializes data structures as empty.
-
virtual uint32_t picongpu::MySimulation
fillSimulation
()¶ Fills simulation with initial data after init()
- Return
- returns the first step of the simulation (can be >0 for, e.g., restarts from checkpoints)
-
virtual void picongpu::MySimulation
runOneStep
(uint32_t currentStep)¶ Run one simulation step.
- Parameters
currentStep
: iteration number of the current step
-
virtual void picongpu::MySimulation
movingWindowCheck
(uint32_t currentStep)¶ Check if moving window work must do.
If no moving window is needed the implementation of this function can be empty
- Parameters
currentStep
: simulation step
-
virtual void picongpu::MySimulation
resetAll
(uint32_t currentStep)¶ Reset the simulation to a state such as it was after init() but for a specific time step.
Can be used to call fillSimulation() again.
-
void picongpu::MySimulation
slide
(uint32_t currentStep)¶
-
virtual void picongpu::MySimulation
setInitController
(IInitPlugin *initController)¶
-
MappingDesc *picongpu::MySimulation
getMappingDescription
()¶
FieldE¶
-
class picongpu
::
FieldE
¶ Inherits from PMacc::SimulationFieldHelper< MappingDesc >, PMacc::ISimulationData
FieldB¶
-
class picongpu
::
FieldB
¶ Inherits from PMacc::SimulationFieldHelper< MappingDesc >, PMacc::ISimulationData
FieldJ¶
-
class picongpu
::
FieldJ
¶ Inherits from PMacc::SimulationFieldHelper< MappingDesc >, PMacc::ISimulationData
FieldTmp¶
-
class picongpu
::
FieldTmp
¶ Tmp (at the moment: scalar) field for plugins and tmp data like “gridded” particle data (charge density, energy density, …)
Inherits from PMacc::SimulationFieldHelper< MappingDesc >, PMacc::ISimulationData
Particles¶
- template <typename T_Name, typename T_Flags, typename T_Attributes>
-
class picongpu
::
Particles
¶ particle species
- Template Parameters
T_Name
: name of the species [type boost::mpl::string]T_Attributes
: sequence with attributes [type boost::mpl forward sequence]T_Flags
: sequence with flags e.g. solver [type boost::mpl forward sequence]
Inherits from PMacc::ParticlesBase< ParticleDescription< T_Name, SuperCellSize, T_Attributes, T_Flags >, MappingDesc, DeviceHeap >, PMacc::ISimulationData
Public Types
-
typedef ParticleDescription<T_Name, SuperCellSize, T_Attributes, T_Flags> picongpu::Particles
SpeciesParticleDescription
¶
-
typedef ParticlesBase<SpeciesParticleDescription, MappingDesc, DeviceHeap> picongpu::Particles
ParticlesBaseType
¶
-
typedef ParticlesBaseType::FrameType picongpu::Particles
FrameType
¶
-
typedef ParticlesBaseType::FrameTypeBorder picongpu::Particles
FrameTypeBorder
¶
-
typedef ParticlesBaseType::ParticlesBoxType picongpu::Particles
ParticlesBoxType
¶
Public Functions
- template <typename T_DensityFunctor, typename T_PositionFunctor>
-
void picongpu::Particles
initDensityProfile
(T_DensityFunctor &densityFunctor, T_PositionFunctor &positionFunctor, const uint32_t currentStep)¶
- template <typename T_SrcName, typename T_SrcAttributes, typename T_SrcFlags, typename T_ManipulateFunctor>
-
void picongpu::Particles
deviceDeriveFrom
(Particles<T_SrcName, T_SrcAttributes, T_SrcFlags> &src, T_ManipulateFunctor &manipulateFunctor)¶
- template <typename T_Functor>
-
void picongpu::Particles
manipulateAllParticles
(uint32_t currentStep, T_Functor &functor)¶
-
SimulationDataId picongpu::Particles
getUniqueId
()¶ Return the globally unique identifier for this simulation data.
- Return
- globally unique identifier
ComputeGridValuePerFrame¶
- template <class T_ParticleShape, class T_DerivedAttribute>
-
class picongpu::particleToGrid
::
ComputeGridValuePerFrame
¶ Public Types
-
typedef T_ParticleShape::ChargeAssignment picongpu::particleToGrid::ComputeGridValuePerFrame
AssignmentFunction
¶
-
typedef PMacc::math::CT::make_Int<simDim, lowerMargin>::type picongpu::particleToGrid::ComputeGridValuePerFrame
LowerMargin
¶
-
typedef PMacc::math::CT::make_Int<simDim, upperMargin>::type picongpu::particleToGrid::ComputeGridValuePerFrame
UpperMargin
¶
Public Functions
-
HDINLINE picongpu::particleToGrid::ComputeGridValuePerFrame
ComputeGridValuePerFrame
()¶
-
HDINLINE float1_64 picongpu::particleToGrid::ComputeGridValuePerFrame::getUnit() const
return unit for this solver
- Return
- solver unit
-
HINLINE std::vector< float_64 > picongpu::particleToGrid::ComputeGridValuePerFrame::getUnitDimension() const
return powers of the 7 base measures for this solver
characterizing the unit of the result of the solver in SI (length L, mass M, time T, electric current I, thermodynamic temperature theta, amount of substance N, luminous intensity J)
-
HINLINE std::string picongpu::particleToGrid::ComputeGridValuePerFrame::getName() const
return name of the this solver
- Return
- name of solver
- template <class FrameType, class TVecSuperCell, class BoxTmp>
-
DINLINE void picongpu::particleToGrid::ComputeGridValuePerFrame::operator()(FrameType & frame, const int localIdx, const TVecSuperCell superCell, BoxTmp & tmpBox)
Public Static Attributes
-
constexpr int picongpu::particleToGrid::ComputeGridValuePerFrame
supp
= AssignmentFunction::support¶
-
constexpr int picongpu::particleToGrid::ComputeGridValuePerFrame
lowerMargin
= supp / 2¶
-
constexpr int picongpu::particleToGrid::ComputeGridValuePerFrame
upperMargin
= (supp + 1) / 2¶
-
typedef T_ParticleShape::ChargeAssignment picongpu::particleToGrid::ComputeGridValuePerFrame