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::ReconstructConfig< Tvec > Struct Template Reference

Configuration for reconstruction methods in GSPH. More...

Classes

struct  MUSCL
 MUSCL reconstruction (2nd order) More...
 
struct  PiecewiseConstant
 Piecewise constant (1st order) More...
 

Public Types

enum class  Limiter { VanLeer , Minmod , Superbee , MC }
 Slope limiter types for MUSCL reconstruction. More...
 
using Tscal = shambase::VecComponent< Tvec >
 
using Variant = std::variant< PiecewiseConstant, MUSCL >
 

Public Member Functions

void set (Variant v)
 
void set_piecewise_constant ()
 
void set_muscl (Limiter limiter=Limiter::VanLeer)
 
bool is_piecewise_constant () const
 
bool is_muscl () const
 
bool requires_gradients () const
 
void print_status () const
 

Public Attributes

Variant config = PiecewiseConstant{}
 

Static Public Attributes

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

Detailed Description

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

Configuration for reconstruction methods in GSPH.

This struct contains the configuration for different reconstruction types:

Template Parameters
Tvectype of the vector of coordinates

Definition at line 47 of file ReconstructConfig.hpp.

Member Typedef Documentation

◆ Tscal

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

Definition at line 49 of file ReconstructConfig.hpp.

◆ Variant

template<class Tvec >
using shammodels::gsph::ReconstructConfig< Tvec >::Variant = std::variant<PiecewiseConstant, MUSCL>

Definition at line 81 of file ReconstructConfig.hpp.

Member Enumeration Documentation

◆ Limiter

template<class Tvec >
enum class shammodels::gsph::ReconstructConfig::Limiter
strong

Slope limiter types for MUSCL reconstruction.

Enumerator
VanLeer 

van Leer limiter (smooth)

Minmod 

Minmod limiter (most diffusive)

Superbee 

Superbee limiter (least diffusive)

MC 

Monotonized Central limiter.

Definition at line 55 of file ReconstructConfig.hpp.

Member Function Documentation

◆ is_muscl()

template<class Tvec >
bool shammodels::gsph::ReconstructConfig< Tvec >::is_muscl ( ) const
inline

Definition at line 95 of file ReconstructConfig.hpp.

◆ is_piecewise_constant()

template<class Tvec >
bool shammodels::gsph::ReconstructConfig< Tvec >::is_piecewise_constant ( ) const
inline

Definition at line 91 of file ReconstructConfig.hpp.

◆ print_status()

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

Definition at line 99 of file ReconstructConfig.hpp.

◆ requires_gradients()

template<class Tvec >
bool shammodels::gsph::ReconstructConfig< Tvec >::requires_gradients ( ) const
inline

Definition at line 97 of file ReconstructConfig.hpp.

◆ set()

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

Definition at line 85 of file ReconstructConfig.hpp.

◆ set_muscl()

template<class Tvec >
void shammodels::gsph::ReconstructConfig< Tvec >::set_muscl ( Limiter  limiter = Limiter::VanLeer)
inline

Definition at line 89 of file ReconstructConfig.hpp.

◆ set_piecewise_constant()

template<class Tvec >
void shammodels::gsph::ReconstructConfig< Tvec >::set_piecewise_constant ( )
inline

Definition at line 87 of file ReconstructConfig.hpp.

Member Data Documentation

◆ config

template<class Tvec >
Variant shammodels::gsph::ReconstructConfig< Tvec >::config = PiecewiseConstant{}

Definition at line 83 of file ReconstructConfig.hpp.

◆ dim

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

Definition at line 50 of file ReconstructConfig.hpp.


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