ryujin 2.5.0 revision c64172211cf21344cb9b9b0f3a1266aa6400d392
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ryujin::Interface::HyperbolicSystem Class Reference

#include <include/ryujin/interface/hyperbolic_system.h>

Inheritance diagram for ryujin::Interface::HyperbolicSystem:
Inheritance graph
[legend]
Collaboration diagram for ryujin::Interface::HyperbolicSystem:
Collaboration graph
[legend]

Public Types

using Names = std::array< std::vector< std::string >, 3 >
 

Public Member Functions

const std::vector< std::string > & state_names (const unsigned int dim) const
 
const std::vector< std::string > & precomputed_names (const unsigned int dim) const
 
const std::vector< std::string > & primitive_names (const unsigned int dim) const
 
const std::vector< std::string > & initial_precomputed_names (const unsigned int dim) const
 

Protected Member Functions

 HyperbolicSystem (const std::string &problem_name, const Names &state_names, const Names &primitive_names, const Names &precomputed_names, const Names &initial_precomputed_names, const std::string &subsection)
 

Protected Attributes

std::string problem_name_
 
Names state_names_
 
Names precomputed_names_
 
Names primitive_names_
 
Names initial_precomputed_names_
 

Detailed Description

The description-free part of a hyperbolic system: its name and the names of its components.

The first View<dim>::problem_dimension state names and the first View<dim>::n_precomputed_values precomputed names are static: they are stored interleaved in StateVector::state and StateVector::precomputed. All remaining names are dynamic: they are stored as scalar vectors in StateVector::dynamic_state and StateVector::dynamic_precomputed.

The primitive names (View<dim>::problem_dimension entries) name the primitive state returned by View::to_primitive_state(), and the initial precomputed names (View<dim>::n_initial_precomputed_values entries) name the time-independent initial precomputed values.

Definition at line 40 of file hyperbolic_system.h.

Member Typedef Documentation

◆ Names

using ryujin::Interface::HyperbolicSystem::Names = std::array<std::vector<std::string>, 3>

The name of the system as a string. A list of component names for every dimension:

Definition at line 51 of file hyperbolic_system.h.

Constructor & Destructor Documentation

◆ HyperbolicSystem()

ryujin::Interface::HyperbolicSystem::HyperbolicSystem ( const std::string &  problem_name,
const Names &  state_names,
const Names &  primitive_names,
const Names &  precomputed_names,
const Names &  initial_precomputed_names,
const std::string &  subsection 
)
inlineprotected

Constructor.

Definition at line 107 of file hyperbolic_system.h.

Member Function Documentation

◆ state_names()

const std::vector< std::string > & ryujin::Interface::HyperbolicSystem::state_names ( const unsigned int  dim) const
inline

The names of the state components for dimension dim.

Note
Valid once the run time parameters are parsed.

Definition at line 58 of file hyperbolic_system.h.

References state_names_.

◆ precomputed_names()

const std::vector< std::string > & ryujin::Interface::HyperbolicSystem::precomputed_names ( const unsigned int  dim) const
inline

The names of the precomputed values for dimension dim.

Note
Valid once the run time parameters are parsed.

Definition at line 70 of file hyperbolic_system.h.

References precomputed_names_.

◆ primitive_names()

const std::vector< std::string > & ryujin::Interface::HyperbolicSystem::primitive_names ( const unsigned int  dim) const
inline

The names of the primitive state components for dimension dim.

Note
Valid once the run time parameters are parsed.

Definition at line 82 of file hyperbolic_system.h.

References primitive_names_.

◆ initial_precomputed_names()

const std::vector< std::string > & ryujin::Interface::HyperbolicSystem::initial_precomputed_names ( const unsigned int  dim) const
inline

The names of the initial precomputed values for dimension dim.

Initial precomputed values are time-independent and stored outside of the state vector.

Note
Valid once the run time parameters are parsed.

Definition at line 97 of file hyperbolic_system.h.

References initial_precomputed_names_.

Member Data Documentation

◆ problem_name_

std::string ryujin::Interface::HyperbolicSystem::problem_name_
protected

The name of the system.

Note
A derived class may update it once the run time parameters are known.

Definition at line 128 of file hyperbolic_system.h.

◆ state_names_

Names ryujin::Interface::HyperbolicSystem::state_names_
protected

The names of the state components for every dimension.

Note
A derived class may update them once the run time parameters are known.

Definition at line 136 of file hyperbolic_system.h.

Referenced by state_names().

◆ precomputed_names_

Names ryujin::Interface::HyperbolicSystem::precomputed_names_
protected

The names of the precomputed values for every dimension.

Note
A derived class may update them once the run time parameters are known.

Definition at line 144 of file hyperbolic_system.h.

Referenced by precomputed_names().

◆ primitive_names_

Names ryujin::Interface::HyperbolicSystem::primitive_names_
protected

The names of the primitive state components for every dimension.

Note
A derived class may update them once the run time parameters are known.

Definition at line 152 of file hyperbolic_system.h.

Referenced by primitive_names().

◆ initial_precomputed_names_

Names ryujin::Interface::HyperbolicSystem::initial_precomputed_names_
protected

The names of the initial precomputed values for every dimension.

Note
A derived class may update them once the run time parameters are known.

Definition at line 160 of file hyperbolic_system.h.

Referenced by initial_precomputed_names().


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