chombo-discharge
Loading...
Searching...
No Matches
Classes | Functions
H5Part Namespace Reference

Declarative descriptors for selecting which particle PAYLOAD columns are written to H5Part (visualization) files. A ParticleTraits specialization may declare an optional h5PartColumns tuple of these descriptors; DischargeIO::writeH5Part then derives the output datasets directly, eliminating hand-maintained, positionally coupled name/accessor lists. More...

Classes

struct  Scalar
 Descriptor of a single scalar payload column written to one H5Part dataset. More...
 
struct  Vector
 Descriptor of a SpaceDim-component vector payload column, written as name-x/name-y/name-z. More...
 

Functions

template<typename M >
 Scalar (const char *, M) -> Scalar< M >
 Deduction guide so that Scalar{"name", &P::m} deduces the member-pointer type.
 
template<typename... Ms>
 Vector (const char *, Ms...) -> Vector< Ms... >
 Deduction guide so that Vector{"name", D_DECL(&P::x, &P::y, &P::z)} deduces the member-pointer types.
 

Detailed Description

Declarative descriptors for selecting which particle PAYLOAD columns are written to H5Part (visualization) files. A ParticleTraits specialization may declare an optional h5PartColumns tuple of these descriptors; DischargeIO::writeH5Part then derives the output datasets directly, eliminating hand-maintained, positionally coupled name/accessor lists.

Position, id and weight are written automatically by writeH5Part and need NOT be listed here; only the EXTRA payload columns are. Each descriptor pairs a dataset name with the pointer(s)-to-member that select the column(s):

static constexpr auto h5PartColumns = std::make_tuple(
Descriptor of a single scalar payload column written to one H5Part dataset.
Definition CD_ParticleSoA.H:220
Descriptor of a SpaceDim-component vector payload column, written as name-x/name-y/name-z.
Definition CD_ParticleSoA.H:250
ParticleReal vy
Interpolated velocity, y-component.
Definition CD_ItoParticle.H:44
ParticleReal mobility
Mobility coefficient.
Definition CD_ItoParticle.H:32
ParticleReal vz
Interpolated velocity, z-component.
Definition CD_ItoParticle.H:46
ParticleReal vx
Interpolated velocity, x-component.
Definition CD_ItoParticle.H:43
Note
The descriptors live in a nested H5Part namespace so that H5Part::Vector does not collide with Chombo's Vector container.

Function Documentation

◆ Scalar()

template<typename M >
H5Part::Scalar ( const char ,
M   
) -> Scalar< M >

Deduction guide so that Scalar{"name", &P::m} deduces the member-pointer type.

Template Parameters
MPointer-to-member type.

◆ Vector()

template<typename... Ms>
H5Part::Vector ( const char ,
Ms...   
) -> Vector< Ms... >

Deduction guide so that Vector{"name", D_DECL(&P::x, &P::y, &P::z)} deduces the member-pointer types.

Template Parameters
MsPointer-to-member types.