ORB5X 1.0.0
Performance-portable global electromagnetic gyrokinetic PIC code
orb5x::PointerMarkers Struct Reference

Owning double-precision marker matrix [particle][property]. More...

#include "part.hpp"

Public Member Functions

void allocate (const std::string &label, int npmx, int nprops)
 Replace storage with a newly allocated marker matrix.
 
Real & operator() (int ip, int prop)
 Access a mutable marker property by zero-based indices.
 
const Real & operator() (int ip, int prop) const
 Access a marker property by zero-based indices.
 
 PointerMarkers ()=default
 Construct an empty wrapper.
 
 PointerMarkers (const std::string &label, int npmx, int nprops)
 Allocate a named marker matrix.
 

Public Attributes

Kokkos::View< Real ** > markers
 Marker values [capacity][property] in normalized units.
 

Detailed Description

Owning double-precision marker matrix [particle][property].

Constructor & Destructor Documentation

◆ PointerMarkers() [1/2]

orb5x::PointerMarkers::PointerMarkers ( )
default

Construct an empty wrapper.

◆ PointerMarkers() [2/2]

orb5x::PointerMarkers::PointerMarkers ( const std::string &  label,
int  npmx,
int  nprops 
)
inline

Allocate a named marker matrix.

Parameters
[in]labelKokkos allocation label.
[in]npmxParticle capacity.
[in]npropsProperty-column count.

Member Function Documentation

◆ allocate()

void orb5x::PointerMarkers::allocate ( const std::string &  label,
int  npmx,
int  nprops 
)
inline

Replace storage with a newly allocated marker matrix.

Parameters
[in]labelKokkos allocation label.
[in]npmxParticle capacity.
[in]npropsProperty-column count.

References markers.

◆ operator()() [1/2]

Real & orb5x::PointerMarkers::operator() ( int  ip,
int  prop 
)
inline

Access a mutable marker property by zero-based indices.

Parameters
[in]ipLocal particle index.
[in]propProperty-column index.
Returns
Reference to the selected marker property.

References markers.

◆ operator()() [2/2]

const Real & orb5x::PointerMarkers::operator() ( int  ip,
int  prop 
) const
inline

Access a marker property by zero-based indices.

Parameters
[in]ipLocal particle index.
[in]propProperty-column index.
Returns
Const reference to the selected marker property.

References markers.

Member Data Documentation

◆ markers

Kokkos::View<Real**> orb5x::PointerMarkers::markers

Marker values [capacity][property] in normalized units.

Referenced by allocate(), operator()(), and operator()().


The documentation for this struct was generated from the following file: