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 | List of all members
fub::perfect_gas::ThirdOrderRungeKutta< Dim > Struct Template Reference

#include <ThirdOrderRungeKuttaMethod.hpp>

Public Types

using Conservative = ::fub::Conservative< PerfectGas< Dim > >
 
using Complete = ::fub::Complete< PerfectGas< Dim > >
 
using ConservativeArray = ::fub::ConservativeArray< PerfectGas< Dim > >
 
using CompleteArray = ::fub::CompleteArray< PerfectGas< Dim > >
 

Public Member Functions

 ThirdOrderRungeKutta (const PerfectGas< Dim > &equation)
 
const PerfectGas< Dim > & GetEquation () const noexcept
 
void ComputeNumericFlux (Conservative &flux, span< const Complete, 12 > stencil, Duration dt, double dx, Direction dir)
 
void ComputeNumericFlux (ConservativeArray &flux, Array1d face_fractions, span< const CompleteArray, 12 > stencil, span< const Array1d, 12 > volume_fractions, Duration dt, double dx, Direction dir)
 
void ComputeNumericFlux (ConservativeArray &flux, span< const CompleteArray, 12 > stencil, Duration dt, double dx, Direction dir)
 
double ComputeStableDt (span< const Complete, 12 > states, double dx, Direction dir)
 
Array1d ComputeStableDt (span< const CompleteArray, 12 > states, double dx, Direction dir)
 
Array1d ComputeStableDt (span< const CompleteArray, 12 > states, Array1d face_fraction, span< const Array1d, 2 >, double dx, Direction dir)
 

Static Public Member Functions

static constexpr int GetStencilWidth () noexcept
 

Public Attributes

PerfectGas< Dim > equation_
 
double k_0
 
double eta_0
 

Member Typedef Documentation

◆ Complete

template<int Dim>
using fub::perfect_gas::ThirdOrderRungeKutta< Dim >::Complete = ::fub::Complete<PerfectGas<Dim> >

◆ CompleteArray

◆ Conservative

◆ ConservativeArray

Constructor & Destructor Documentation

◆ ThirdOrderRungeKutta()

template<int Dim>
fub::perfect_gas::ThirdOrderRungeKutta< Dim >::ThirdOrderRungeKutta ( const PerfectGas< Dim > &  equation)
inline

Member Function Documentation

◆ ComputeNumericFlux() [1/3]

template<int Dim>
void fub::perfect_gas::ThirdOrderRungeKutta< Dim >::ComputeNumericFlux ( Conservative flux,
span< const Complete, 12 >  stencil,
Duration  dt,
double  dx,
Direction  dir 
)

◆ ComputeNumericFlux() [2/3]

template<int Dim>
void fub::perfect_gas::ThirdOrderRungeKutta< Dim >::ComputeNumericFlux ( ConservativeArray flux,
Array1d  face_fractions,
span< const CompleteArray, 12 >  stencil,
span< const Array1d, 12 >  volume_fractions,
Duration  dt,
double  dx,
Direction  dir 
)

◆ ComputeNumericFlux() [3/3]

template<int Dim>
void fub::perfect_gas::ThirdOrderRungeKutta< Dim >::ComputeNumericFlux ( ConservativeArray flux,
span< const CompleteArray, 12 >  stencil,
Duration  dt,
double  dx,
Direction  dir 
)

◆ ComputeStableDt() [1/3]

template<int Dim>
double fub::perfect_gas::ThirdOrderRungeKutta< Dim >::ComputeStableDt ( span< const Complete, 12 >  states,
double  dx,
Direction  dir 
)

◆ ComputeStableDt() [2/3]

template<int Dim>
Array1d fub::perfect_gas::ThirdOrderRungeKutta< Dim >::ComputeStableDt ( span< const CompleteArray, 12 >  states,
Array1d  face_fraction,
span< const Array1d, 2 >  ,
double  dx,
Direction  dir 
)

◆ ComputeStableDt() [3/3]

template<int Dim>
Array1d fub::perfect_gas::ThirdOrderRungeKutta< Dim >::ComputeStableDt ( span< const CompleteArray, 12 >  states,
double  dx,
Direction  dir 
)

◆ GetEquation()

template<int Dim>
const PerfectGas<Dim>& fub::perfect_gas::ThirdOrderRungeKutta< Dim >::GetEquation ( ) const
inlinenoexcept

◆ GetStencilWidth()

template<int Dim>
static constexpr int fub::perfect_gas::ThirdOrderRungeKutta< Dim >::GetStencilWidth ( )
inlinestaticconstexprnoexcept

Member Data Documentation

◆ equation_

template<int Dim>
PerfectGas<Dim> fub::perfect_gas::ThirdOrderRungeKutta< Dim >::equation_

◆ eta_0

template<int Dim>
double fub::perfect_gas::ThirdOrderRungeKutta< Dim >::eta_0

◆ k_0

template<int Dim>
double fub::perfect_gas::ThirdOrderRungeKutta< Dim >::k_0

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