|
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 = PerfectGas< 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 PerfectGas< Rank > &equation) | |
| template<typename Limiter > | |
| MusclHancockCharacteristic (const PerfectGas< 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 Attributes | |
| PerfectGas< 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_ |
| HllemMethod< PerfectGas< Rank > > | hllem_ |
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::perfect_gas::MusclHancockCharacteristic< Rank >::Complete = ::fub::Complete<Equation> |
| using fub::perfect_gas::MusclHancockCharacteristic< Rank >::CompleteArray = ::fub::CompleteArray<Equation> |
| using fub::perfect_gas::MusclHancockCharacteristic< Rank >::Conservative = ::fub::Conservative<Equation> |
| using fub::perfect_gas::MusclHancockCharacteristic< Rank >::ConservativeArray = ::fub::ConservativeArray<Equation> |
| using fub::perfect_gas::MusclHancockCharacteristic< Rank >::Equation = PerfectGas<Rank> |
|
inlineexplicit |
|
inline |
| void fub::perfect_gas::MusclHancockCharacteristic< Rank >::ComputeNumericFlux | ( | Conservative & | flux, |
| span< const Complete, 4 > | stencil, | ||
| Duration | dt, | ||
| double | dx, | ||
| Direction | dir | ||
| ) |
| void fub::perfect_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::perfect_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 |