Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
shammodels::gsph::RiemannConfig< Tvec > Struct Template Reference

Configuration for Riemann solvers in GSPH. More...

Classes

struct  Exact
 Exact Riemann solver. More...
 
struct  HLLC
 HLLC approximate Riemann solver. More...
 
struct  Iterative
 van Leer (1997) iterative Riemann solver More...
 
struct  Roe
 Roe linearized Riemann solver. More...
 

Public Types

using Tscal = shambase::VecComponent< Tvec >
 
using Variant = std::variant< Iterative, Exact, HLLC, Roe >
 

Public Member Functions

void set (Variant v)
 
void set_iterative (Tscal tol=Tscal{1.0e-6}, u32 max_iter=20)
 
void set_exact (Tscal tol=Tscal{1.0e-8})
 
void set_hllc ()
 
void set_roe (Tscal entropy_fix=Tscal{0.1})
 
bool is_iterative () const
 
bool is_exact () const
 
bool is_hllc () const
 
bool is_roe () const
 
void print_status () const
 

Public Attributes

Variant config = Iterative{}
 

Static Public Attributes

static constexpr u32 dim = shambase::VectorProperties<Tvec>::dimension
 

Detailed Description

template<class Tvec>
struct shammodels::gsph::RiemannConfig< Tvec >

Configuration for Riemann solvers in GSPH.

This struct contains the configuration for different Riemann solver types:

Template Parameters
Tvectype of the vector of coordinates

Definition at line 53 of file RiemannConfig.hpp.

Member Typedef Documentation

◆ Tscal

template<class Tvec >
using shammodels::gsph::RiemannConfig< Tvec >::Tscal = shambase::VecComponent<Tvec>

Definition at line 55 of file RiemannConfig.hpp.

◆ Variant

template<class Tvec >
using shammodels::gsph::RiemannConfig< Tvec >::Variant = std::variant<Iterative, Exact, HLLC, Roe>

Definition at line 101 of file RiemannConfig.hpp.

Member Function Documentation

◆ is_exact()

template<class Tvec >
bool shammodels::gsph::RiemannConfig< Tvec >::is_exact ( ) const
inline

Definition at line 118 of file RiemannConfig.hpp.

◆ is_hllc()

template<class Tvec >
bool shammodels::gsph::RiemannConfig< Tvec >::is_hllc ( ) const
inline

Definition at line 119 of file RiemannConfig.hpp.

◆ is_iterative()

template<class Tvec >
bool shammodels::gsph::RiemannConfig< Tvec >::is_iterative ( ) const
inline

Definition at line 117 of file RiemannConfig.hpp.

◆ is_roe()

template<class Tvec >
bool shammodels::gsph::RiemannConfig< Tvec >::is_roe ( ) const
inline

Definition at line 120 of file RiemannConfig.hpp.

◆ print_status()

template<class Tvec >
void shammodels::gsph::RiemannConfig< Tvec >::print_status ( ) const
inline

Definition at line 122 of file RiemannConfig.hpp.

◆ set()

template<class Tvec >
void shammodels::gsph::RiemannConfig< Tvec >::set ( Variant  v)
inline

Definition at line 105 of file RiemannConfig.hpp.

◆ set_exact()

template<class Tvec >
void shammodels::gsph::RiemannConfig< Tvec >::set_exact ( Tscal  tol = Tscal{1.0e-8})
inline

Definition at line 111 of file RiemannConfig.hpp.

◆ set_hllc()

template<class Tvec >
void shammodels::gsph::RiemannConfig< Tvec >::set_hllc ( )
inline

Definition at line 113 of file RiemannConfig.hpp.

◆ set_iterative()

template<class Tvec >
void shammodels::gsph::RiemannConfig< Tvec >::set_iterative ( Tscal  tol = Tscal{1.0e-6},
u32  max_iter = 20 
)
inline

Definition at line 107 of file RiemannConfig.hpp.

◆ set_roe()

template<class Tvec >
void shammodels::gsph::RiemannConfig< Tvec >::set_roe ( Tscal  entropy_fix = Tscal{0.1})
inline

Definition at line 115 of file RiemannConfig.hpp.

Member Data Documentation

◆ config

template<class Tvec >
Variant shammodels::gsph::RiemannConfig< Tvec >::config = Iterative{}

Definition at line 103 of file RiemannConfig.hpp.

◆ dim

template<class Tvec >
constexpr u32 shammodels::gsph::RiemannConfig< Tvec >::dim = shambase::VectorProperties<Tvec>::dimension
staticconstexpr

Definition at line 56 of file RiemannConfig.hpp.


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