|
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 <MusclHancockPrimMethod.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 | |
| MusclHancockPrimitive (const IdealGasMix< Rank > &equation) | |
| 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 | Signals = EinfeldtSignalVelocities< IdealGasMix< Rank > > |
Private Attributes | |
| Hll< IdealGasMix< Rank >, Signals > | hll_ |
| Primitive< Rank > | dpdx |
| Primitive< Rank > | dpdt |
| Primitive< Rank > | pL |
| Primitive< Rank > | pM |
| Primitive< Rank > | pR |
| std::array< Complete, 2 > | stencil_ |
| PrimitiveArray< Rank > | dpdx_array_ |
| PrimitiveArray< Rank > | dpdt_array_ |
| PrimitiveArray< Rank > | pL_array_ |
| PrimitiveArray< Rank > | pM_array_ |
| PrimitiveArray< Rank > | pR_array_ |
| std::array< CompleteArray, 2 > | stencil_array_ |
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::MusclHancockPrimitive< Rank >::Complete = ::fub::Complete<Equation> |
| using fub::ideal_gas::MusclHancockPrimitive< Rank >::CompleteArray = ::fub::CompleteArray<Equation> |
| using fub::ideal_gas::MusclHancockPrimitive< Rank >::Conservative = ::fub::Conservative<Equation> |
| using fub::ideal_gas::MusclHancockPrimitive< Rank >::ConservativeArray = ::fub::ConservativeArray<Equation> |
| using fub::ideal_gas::MusclHancockPrimitive< Rank >::Equation = IdealGasMix<Rank> |
|
private |
|
explicit |
| void fub::ideal_gas::MusclHancockPrimitive< Rank >::ComputeNumericFlux | ( | Conservative & | flux, |
| span< const Complete, 4 > | stencil, | ||
| Duration | dt, | ||
| double | dx, | ||
| Direction | dir | ||
| ) |
| void fub::ideal_gas::MusclHancockPrimitive< 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::MusclHancockPrimitive< 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 |
|
private |