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::PerfectGas< N > Struct Template Reference

#include <PerfectGas.hpp>

Public Types

using ConservativeDepths = PerfectGasConsShape< N >
 
using CompleteDepths = PerfectGasCompleteShape< N >
 
using PrimitiveDepths = PerfectGasPrimShape< N >
 
using CharacteristicsDepths = PerfectGasCharShape< N >
 
using Conservative = ::fub::Conservative< PerfectGas< N > >
 
using Complete = ::fub::Complete< PerfectGas< N > >
 
using ConservativeArray = ::fub::ConservativeArray< PerfectGas< N > >
 
using CompleteArray = ::fub::CompleteArray< PerfectGas< 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< PerfectGas > &cons) const noexcept
 
void CompleteFromCons (CompleteArray &complete, const ConservativeArrayBase< PerfectGas > &cons) const noexcept
 
void CompleteFromCons (CompleteArray &complete, const ConservativeArrayBase< PerfectGas > &cons, MaskArray mask) const noexcept
 
Complete CompleteFromPrim (double density, const Array< double, N, 1 > &u, double pressure) const noexcept
 
CompleteArray CompleteFromPrim (Array1d density, const Array< double, N > &u, Array1d pressure) const noexcept
 
CompleteArray CompleteFromPrim (Array1d density, const Array< double, N > &u, Array1d pressure, const MaskArray &mask) 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

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 >
decltype(auto) friend tag_invoke (tag_t< euler::Momentum >, const PerfectGas &, const PerfectGasConservative< Density, Momentum, Energy > &q, int d) noexcept
 

Member Typedef Documentation

◆ CharacteristicsDepths

template<int N>
using fub::PerfectGas< N >::CharacteristicsDepths = PerfectGasCharShape<N>

◆ Complete

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

◆ CompleteArray

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

◆ CompleteDepths

template<int N>
using fub::PerfectGas< N >::CompleteDepths = PerfectGasCompleteShape<N>

◆ Conservative

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

◆ ConservativeArray

◆ ConservativeDepths

template<int N>
using fub::PerfectGas< N >::ConservativeDepths = PerfectGasConsShape<N>

◆ PrimitiveDepths

template<int N>
using fub::PerfectGas< N >::PrimitiveDepths = PerfectGasPrimShape<N>

Member Function Documentation

◆ CompleteFromCons() [1/3]

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

◆ CompleteFromCons() [2/3]

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

◆ CompleteFromCons() [3/3]

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

◆ CompleteFromPrim() [1/3]

template<int N>
CompleteArray fub::PerfectGas< N >::CompleteFromPrim ( Array1d  density,
const Array< double, N > &  u,
Array1d  pressure 
) const
noexcept

◆ CompleteFromPrim() [2/3]

template<int N>
CompleteArray fub::PerfectGas< N >::CompleteFromPrim ( Array1d  density,
const Array< double, N > &  u,
Array1d  pressure,
const MaskArray mask 
) const
noexcept

◆ CompleteFromPrim() [3/3]

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

◆ Flux() [1/3]

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

◆ Flux() [2/3]

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

◆ Flux() [3/3]

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

◆ Machnumber()

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

◆ Rank()

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

◆ tag_invoke()

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

◆ Temperature() [1/2]

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

◆ Temperature() [2/2]

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

◆ Velocity() [1/2]

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

◆ Velocity() [2/2]

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

Member Data Documentation

◆ gamma

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

◆ gamma_array_

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

◆ gamma_minus_1_inv

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

◆ gamma_minus_1_inv_array_

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

◆ Rspec

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

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