Finite Volume Solver
prototype
A framework to build finite volume solvers for the AG Klein at the Freie Universität Berlin.
|
This is a variation of the Muscl Hancock Method where the reconstruction at the half time level is based on the primitive variables (p, u, T, Y) instead of on conservative variables. More...
#include <MusclHancockCharactersticMethod.hpp>
Public Types | |
using | Equation = IdealGasMix< Rank > |
using | Complete = ::fub::Complete< Equation > |
using | Conservative = ::fub::Conservative< Equation > |
using | CompleteArray = ::fub::CompleteArray< Equation > |
using | ConservativeArray = ::fub::ConservativeArray< Equation > |
Public Member Functions | |
MusclHancockCharacteristic (const IdealGasMix< Rank > &equation) | |
template<typename Limiter > | |
MusclHancockCharacteristic (const IdealGasMix< Rank > &equation, Limiter &&limiter) | |
double | ComputeStableDt (span< const Complete, 4 > states, double dx, Direction dir) noexcept |
Returns a stable time step estimate based on HLL signal velocities. More... | |
Array1d | ComputeStableDt (span< const CompleteArray, 4 > states, Array1d face_fraction, span< const Array1d, 4 > volume_fraction, double dx, Direction dir) noexcept |
Returns an array of stable time step estimates based on HLL signal velocities. More... | |
Array1d | ComputeStableDt (span< const CompleteArray, 4 > states, double dx, Direction dir) noexcept |
void | ComputeNumericFlux (Conservative &flux, span< const Complete, 4 > stencil, Duration dt, double dx, Direction dir) |
void | ComputeNumericFlux (ConservativeArray &flux, span< const CompleteArray, 4 > stencil, Duration dt, double dx, Direction dir) |
void | ComputeNumericFlux (ConservativeArray &flux, Array1d face_fractions, span< const CompleteArray, 4 > stencil, span< const Array1d, 4 > volume_fractions, Duration dt, double dx, Direction dir) |
const Equation & | GetEquation () const noexcept |
Equation & | GetEquation () noexcept |
Static Public Member Functions | |
static constexpr int | GetStencilWidth () noexcept |
Private Types | |
using | HlleMethod = Hll< IdealGasMix< Rank >, EinfeldtSignalVelocities< IdealGasMix< Rank > >> |
Private Attributes | |
IdealGasMix< Rank > | equation_ |
std::array< Complete, 2 > | reconstruction_ |
Primitives | diffs_ |
Characteristics | amplitudes_ |
Characteristics | slopes_ |
std::function< double(double, double)> | limiter_ |
std::array< CompleteArray, 2 > | reconstruction_array_ |
PrimitivesArray | diffs_array_ |
CharacteristicsArray | amplitudes_array_ |
CharacteristicsArray | slopes_array_ |
std::function< Array1d(Array1d, Array1d)> | array_limiter_ |
HlleMethod | hlle_ |
This is a variation of the Muscl Hancock Method where the reconstruction at the half time level is based on the primitive variables (p, u, T, Y) instead of on conservative variables.
using fub::ideal_gas::MusclHancockCharacteristic< Rank >::Complete = ::fub::Complete<Equation> |
using fub::ideal_gas::MusclHancockCharacteristic< Rank >::CompleteArray = ::fub::CompleteArray<Equation> |
using fub::ideal_gas::MusclHancockCharacteristic< Rank >::Conservative = ::fub::Conservative<Equation> |
using fub::ideal_gas::MusclHancockCharacteristic< Rank >::ConservativeArray = ::fub::ConservativeArray<Equation> |
using fub::ideal_gas::MusclHancockCharacteristic< Rank >::Equation = IdealGasMix<Rank> |
|
private |
|
inlineexplicit |
|
inline |
void fub::ideal_gas::MusclHancockCharacteristic< Rank >::ComputeNumericFlux | ( | Conservative & | flux, |
span< const Complete, 4 > | stencil, | ||
Duration | dt, | ||
double | dx, | ||
Direction | dir | ||
) |
void fub::ideal_gas::MusclHancockCharacteristic< Rank >::ComputeNumericFlux | ( | ConservativeArray & | flux, |
Array1d | face_fractions, | ||
span< const CompleteArray, 4 > | stencil, | ||
span< const Array1d, 4 > | volume_fractions, | ||
Duration | dt, | ||
double | dx, | ||
Direction | dir | ||
) |
void fub::ideal_gas::MusclHancockCharacteristic< Rank >::ComputeNumericFlux | ( | ConservativeArray & | flux, |
span< const CompleteArray, 4 > | stencil, | ||
Duration | dt, | ||
double | dx, | ||
Direction | dir | ||
) |
|
noexcept |
Returns a stable time step estimate based on HLL signal velocities.
|
noexcept |
Returns an array of stable time step estimates based on HLL signal velocities.
|
noexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinestaticconstexprnoexcept |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |