Finite Volume Solver
prototype
A framework to build finite volume solvers for the AG Klein at the Freie Universität Berlin.
|
#include <HllMethod.hpp>
Public Types | |
using | ConservativeArray = ::fub::ConservativeArray< Equation > |
using | CompleteArray = ::fub::CompleteArray< Equation > |
using | Base = HllBase< Equation, SignalSpeeds > |
using | Equation = Equation |
using | Complete = typename Equation::Complete |
using | Conservative = typename Equation::Conservative |
Public Member Functions | |
void | SolveRiemannProblem (CompleteArray &solution, const CompleteArray &left, const CompleteArray &right, Direction dir) |
void | ComputeNumericFlux (ConservativeArray &numeric_flux, span< const CompleteArray, 2 > states, Duration dt, double dx, Direction dir) |
void | ComputeNumericFlux (ConservativeArray &numeric_flux, Array1d face_fraction, span< const CompleteArray, 2 > states, span< const Array1d, 2 > volume_fraction, Duration dt, double dx, Direction dir) |
Array1d | ComputeStableDt (span< const CompleteArray, 2 > states, double dx, Direction dir) |
Array1d | ComputeStableDt (span< const CompleteArray, 2 > states, Array1d face_fraction, span< const Array1d, 2 > volume_fraction, double dx, Direction dir) |
void | SolveRiemannProblem (Complete &solution, const Complete &left, const Complete &right, Direction dir) |
Computes an approximate solution to the rieman problem defined by left and right states. More... | |
void | ComputeNumericFlux (Conservative &numeric_flux, span< const Complete, 2 > states, Duration dt, double dx, Direction dir) |
double | ComputeStableDt (span< const Complete, 2 > states, double dx, Direction dir) |
const SignalSpeeds & | GetSignalSpeeds () const noexcept |
Returns the strategy object which computes the signal speeds for this method. More... | |
SignalSpeeds & | GetSignalSpeeds () noexcept |
Returns the strategy object which computes the signal speeds for this method. More... | |
const Equation & | GetEquation () const noexcept |
Returns the underlying equations object. More... | |
Equation & | GetEquation () noexcept |
Returns the underlying equations object. More... | |
Static Public Member Functions | |
static constexpr int | GetStencilWidth () noexcept |
Returns the stencil width of this method. More... | |
Private Attributes | |
ConservativeArray | flux_left_array_ |
ConservativeArray | flux_right_array_ |
Equation | equation_ |
SignalSpeeds | signal_speeds_ |
Conservative | flux_left_ |
Conservative | flux_right_ |
using fub::HllArrayBase< Equation, SignalSpeeds, true >::Base = HllBase<Equation, SignalSpeeds> |
|
inherited |
using fub::HllArrayBase< Equation, SignalSpeeds, true >::CompleteArray = ::fub::CompleteArray<Equation> |
|
inherited |
using fub::HllArrayBase< Equation, SignalSpeeds, true >::ConservativeArray = ::fub::ConservativeArray<Equation> |
|
inherited |
|
inherited |
void fub::HllArrayBase< Equation, SignalSpeeds, true >::ComputeNumericFlux | ( | ConservativeArray & | numeric_flux, |
Array1d | face_fraction, | ||
span< const CompleteArray, 2 > | states, | ||
span< const Array1d, 2 > | volume_fraction, | ||
Duration | dt, | ||
double | dx, | ||
Direction | dir | ||
) |
void fub::HllArrayBase< Equation, SignalSpeeds, true >::ComputeNumericFlux | ( | ConservativeArray & | numeric_flux, |
span< const CompleteArray, 2 > | states, | ||
Duration | dt, | ||
double | dx, | ||
Direction | dir | ||
) |
|
inherited |
Array1d fub::HllArrayBase< Equation, SignalSpeeds, true >::ComputeStableDt | ( | span< const CompleteArray, 2 > | states, |
Array1d | face_fraction, | ||
span< const Array1d, 2 > | volume_fraction, | ||
double | dx, | ||
Direction | dir | ||
) |
Array1d fub::HllArrayBase< Equation, SignalSpeeds, true >::ComputeStableDt | ( | span< const CompleteArray, 2 > | states, |
double | dx, | ||
Direction | dir | ||
) |
|
inlinenoexceptinherited |
Returns the underlying equations object.
|
inlinenoexceptinherited |
Returns the underlying equations object.
|
inlinenoexceptinherited |
Returns the strategy object which computes the signal speeds for this method.
|
inlinenoexceptinherited |
Returns the strategy object which computes the signal speeds for this method.
|
inlinestaticconstexprnoexceptinherited |
Returns the stencil width of this method.
|
inherited |
Computes an approximate solution to the rieman problem defined by left and right states.
[out] | solution | The solution to the riemann problem will be stored here. |
[in] | left | The left state of the riemann problem |
[in] | right | The right state of the riemann problem. |
[in] | dir | The direction in which the riemann problem will be solved. |
void fub::HllArrayBase< Equation, SignalSpeeds, true >::SolveRiemannProblem | ( | CompleteArray & | solution, |
const CompleteArray & | left, | ||
const CompleteArray & | right, | ||
Direction | dir | ||
) |
|
privateinherited |
|
privateinherited |
|
private |
|
privateinherited |
|
private |
|
privateinherited |