Finite Volume Solver  prototype
A framework to build finite volume solvers for the AG Klein at the Freie Universität Berlin.
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | List of all members
fub::PerfectGasMix< N > Struct Template Reference

#include <PerfectGasMix.hpp>

Public Types

using ConservativeDepths = PerfectGasMixConsShape< N >
 
using CompleteDepths = PerfectGasMixCompleteShape< N >
 
using PrimitiveDepths = PerfectGasMixPrimShape< N >
 
using CharacteristicsDepths = PerfectGasMixCharShape< N >
 
using KineticStateDepths = PerfectGasMixKineticStateShape
 
using Conservative = ::fub::Conservative< PerfectGasMix< N > >
 
using Complete = ::fub::Complete< PerfectGasMix< N > >
 
using ConservativeArray = ::fub::ConservativeArray< PerfectGasMix< N > >
 
using CompleteArray = ::fub::CompleteArray< PerfectGasMix< N > >
 
using KineticState = ::fub::KineticState< PerfectGasMix< N > >
 

Public Member Functions

void Flux (Conservative &flux, const Complete &state, [[maybe_unused]] Direction dir=Direction::X) const noexcept
 
void Flux (ConservativeArray &flux, const CompleteArray &state, [[maybe_unused]] Direction dir) const noexcept
 
void Flux (ConservativeArray &flux, const CompleteArray &state, MaskArray mask, [[maybe_unused]] Direction dir) const noexcept
 
void CompleteFromCons (Complete &complete, const ConservativeBase< PerfectGasMix > &cons) const noexcept
 
void CompleteFromCons (CompleteArray &complete, const ConservativeArrayBase< PerfectGasMix > &cons) const noexcept
 
void CompleteFromCons (CompleteArray &complete, const ConservativeArrayBase< PerfectGasMix > &cons, MaskArray mask) const noexcept
 
Complete CompleteFromPrim (double density, const Array< double, N, 1 > &u, double pressure, const Array< double, -1, 1 > &species) const noexcept
 
Array< double, N, 1 > Velocity (const Complete &q) const noexcept
 
Array< double, N > Velocity (const CompleteArray &q) const noexcept
 
double Machnumber (const Complete &q) const noexcept
 
double Temperature (const Complete &q) const noexcept
 
Array1d Temperature (const CompleteArray &q) const noexcept
 

Static Public Member Functions

static constexpr int Rank () noexcept
 

Public Attributes

int n_species
 
double Rspec
 
double gamma
 
double gamma_minus_1_inv
 
Array1d gamma_array_
 
Array1d gamma_minus_1_inv_array_
 

Private Member Functions

template<typename Density , typename Momentum , typename Energy , typename Species >
decltype(auto) friend tag_invoke (tag_t< euler::Momentum >, const PerfectGasMix &, const PerfectGasMixConservative< Density, Momentum, Energy, Species > &q, int d) noexcept
 
template<typename Density , typename Momentum , typename Energy , typename Species >
decltype(auto) friend tag_invoke (tag_t< euler::Species >, const PerfectGasMix &, const PerfectGasMixConservative< Density, Momentum, Energy, Species > &q, int d) noexcept
 

Member Typedef Documentation

◆ CharacteristicsDepths

◆ Complete

template<int N>
using fub::PerfectGasMix< N >::Complete = ::fub::Complete<PerfectGasMix<N> >

◆ CompleteArray

template<int N>
using fub::PerfectGasMix< N >::CompleteArray = ::fub::CompleteArray<PerfectGasMix<N> >

◆ CompleteDepths

◆ Conservative

template<int N>
using fub::PerfectGasMix< N >::Conservative = ::fub::Conservative<PerfectGasMix<N> >

◆ ConservativeArray

◆ ConservativeDepths

◆ KineticState

template<int N>
using fub::PerfectGasMix< N >::KineticState = ::fub::KineticState<PerfectGasMix<N> >

◆ KineticStateDepths

◆ PrimitiveDepths

template<int N>
using fub::PerfectGasMix< N >::PrimitiveDepths = PerfectGasMixPrimShape<N>

Member Function Documentation

◆ CompleteFromCons() [1/3]

template<int N>
void fub::PerfectGasMix< N >::CompleteFromCons ( Complete complete,
const ConservativeBase< PerfectGasMix< N > > &  cons 
) const
noexcept

◆ CompleteFromCons() [2/3]

template<int N>
void fub::PerfectGasMix< N >::CompleteFromCons ( CompleteArray complete,
const ConservativeArrayBase< PerfectGasMix< N > > &  cons 
) const
noexcept

◆ CompleteFromCons() [3/3]

template<int N>
void fub::PerfectGasMix< N >::CompleteFromCons ( CompleteArray complete,
const ConservativeArrayBase< PerfectGasMix< N > > &  cons,
MaskArray  mask 
) const
noexcept

◆ CompleteFromPrim()

template<int N>
Complete fub::PerfectGasMix< N >::CompleteFromPrim ( double  density,
const Array< double, N, 1 > &  u,
double  pressure,
const Array< double, -1, 1 > &  species 
) const
noexcept

◆ Flux() [1/3]

template<int N>
void fub::PerfectGasMix< N >::Flux ( Conservative flux,
const Complete state,
[[maybe_unused] ] Direction  dir = Direction::X 
) const
noexcept

◆ Flux() [2/3]

template<int N>
void fub::PerfectGasMix< N >::Flux ( ConservativeArray flux,
const CompleteArray state,
[[maybe_unused] ] Direction  dir 
) const
noexcept

◆ Flux() [3/3]

template<int N>
void fub::PerfectGasMix< N >::Flux ( ConservativeArray flux,
const CompleteArray state,
MaskArray  mask,
[[maybe_unused] ] Direction  dir 
) const
noexcept

◆ Machnumber()

template<int N>
double fub::PerfectGasMix< N >::Machnumber ( const Complete q) const
noexcept

◆ Rank()

template<int N>
static constexpr int fub::PerfectGasMix< N >::Rank ( )
inlinestaticconstexprnoexcept

◆ tag_invoke() [1/2]

template<int N>
template<typename Density , typename Momentum , typename Energy , typename Species >
decltype(auto) friend fub::PerfectGasMix< N >::tag_invoke ( tag_t< euler::Momentum ,
const PerfectGasMix< N > &  ,
const PerfectGasMixConservative< Density, Momentum, Energy, Species > &  q,
int  d 
)
inlineprivatenoexcept

◆ tag_invoke() [2/2]

template<int N>
template<typename Density , typename Momentum , typename Energy , typename Species >
decltype(auto) friend fub::PerfectGasMix< N >::tag_invoke ( tag_t< euler::Species ,
const PerfectGasMix< N > &  ,
const PerfectGasMixConservative< Density, Momentum, Energy, Species > &  q,
int  d 
)
inlineprivatenoexcept

◆ Temperature() [1/2]

template<int N>
double fub::PerfectGasMix< N >::Temperature ( const Complete q) const
noexcept

◆ Temperature() [2/2]

template<int N>
Array1d fub::PerfectGasMix< N >::Temperature ( const CompleteArray q) const
noexcept

◆ Velocity() [1/2]

template<int N>
Array<double, N, 1> fub::PerfectGasMix< N >::Velocity ( const Complete q) const
noexcept

◆ Velocity() [2/2]

template<int N>
Array<double, N> fub::PerfectGasMix< N >::Velocity ( const CompleteArray q) const
noexcept

Member Data Documentation

◆ gamma

template<int N>
double fub::PerfectGasMix< N >::gamma

◆ gamma_array_

template<int N>
Array1d fub::PerfectGasMix< N >::gamma_array_

◆ gamma_minus_1_inv

template<int N>
double fub::PerfectGasMix< N >::gamma_minus_1_inv

◆ gamma_minus_1_inv_array_

template<int N>
Array1d fub::PerfectGasMix< N >::gamma_minus_1_inv_array_

◆ n_species

template<int N>
int fub::PerfectGasMix< N >::n_species

◆ Rspec

template<int N>
double fub::PerfectGasMix< N >::Rspec

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