Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
shammodels::gsph::RiemannConfig< Tvec > Struct Template Reference

Configuration for Riemann solvers in GSPH. More...

Classes

struct  Iterative
 van Leer (1997) iterative Riemann solver More...
struct  Exact
 Exact Riemann solver. More...
struct  HLLC
 HLLC approximate 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:

  • Iterative: van Leer (1997) Newton-Raphson iterative solver
  • Exact: Exact Riemann solver (Toro)
  • HLLC: Harten-Lax-van Leer-Contact approximate solver
  • Roe: Roe linearized solver
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>
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: