Theseus
Compressible flow solver
Loading...
Searching...
No Matches
Theseus::StateLayout Struct Reference

#include <GasState.hpp>

Public Member Functions

MFEM_HOST_DEVICE StateLayout ()=default
 
void setup (int dim_, int num_dofs_scalar_, int num_scalars_=0)
 
 StateLayout (int dim_, int num_dofs_scalar_, int num_scalars_=0)
 
MFEM_HOST_DEVICE int nequations () const
 
MFEM_HOST_DEVICE int validate (int equation, int dof) const
 
MFEM_HOST_DEVICE int index (int equation, int dof) const
 

Public Attributes

int dim
 
int num_dofs_scalar
 
int eq_mass
 
int eq_mom0
 
int eq_mom [3]
 
int eq_energy
 
int eq_scalar0
 
int num_scalars
 

Constructor & Destructor Documentation

◆ StateLayout() [1/2]

MFEM_HOST_DEVICE Theseus::StateLayout::StateLayout ( )
default

◆ StateLayout() [2/2]

Theseus::StateLayout::StateLayout ( int  dim_,
int  num_dofs_scalar_,
int  num_scalars_ = 0 
)
inline

Member Function Documentation

◆ index()

MFEM_HOST_DEVICE int Theseus::StateLayout::index ( int  equation,
int  dof 
) const
inline

◆ nequations()

MFEM_HOST_DEVICE int Theseus::StateLayout::nequations ( ) const
inline

◆ setup()

void Theseus::StateLayout::setup ( int  dim_,
int  num_dofs_scalar_,
int  num_scalars_ = 0 
)
inline

Set up after creation.

This method exists to allow default construction of StateLayout objects, which is sometimes required for use in containers (e.g., std::vector), serialization frameworks, or APIs that require default-constructible types. In such cases, the object is first default-constructed and then initialized via this setup() method.

Prefer using the parameterized constructor whenever possible to ensure objects are fully initialized at construction time. Use setup() only when default construction is unavoidable due to external constraints.

Parameters
dim_Spatial dimension (1, 2, or 3)
num_dofs_scalar_Number of DOFs per scalar field
num_scalars_Number of scalar components (default: 0)

◆ validate()

MFEM_HOST_DEVICE int Theseus::StateLayout::validate ( int  equation,
int  dof 
) const
inline

Member Data Documentation

◆ dim

int Theseus::StateLayout::dim

◆ eq_energy

int Theseus::StateLayout::eq_energy

◆ eq_mass

int Theseus::StateLayout::eq_mass

◆ eq_mom

int Theseus::StateLayout::eq_mom[3]

◆ eq_mom0

int Theseus::StateLayout::eq_mom0

◆ eq_scalar0

int Theseus::StateLayout::eq_scalar0

◆ num_dofs_scalar

int Theseus::StateLayout::num_dofs_scalar

◆ num_scalars

int Theseus::StateLayout::num_scalars

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