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 | Private Attributes | List of all members
fub::HllArrayBase< Equation, SignalSpeeds, false > Class Template Reference

#include <HllMethod.hpp>

Public Types

using Equation = Equation
 
using Complete = typename Equation::Complete
 
using Conservative = typename Equation::Conservative
 

Public Member Functions

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 EquationGetEquation () const noexcept
 Returns the underlying equations object. More...
 
EquationGetEquation () 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

Equation equation_
 
SignalSpeeds signal_speeds_
 
Conservative flux_left_
 
Conservative flux_right_
 

Member Typedef Documentation

◆ Complete

using fub::HllBase< Equation , SignalSpeeds >::Complete = typename Equation::Complete
inherited

◆ Conservative

using fub::HllBase< Equation , SignalSpeeds >::Conservative = typename Equation::Conservative
inherited

◆ Equation

using fub::HllBase< Equation , SignalSpeeds >::Equation = Equation
inherited

Member Function Documentation

◆ ComputeNumericFlux()

void fub::HllBase< Equation, SignalSpeeds >::ComputeNumericFlux ( Conservative numeric_flux,
span< const Complete, 2 >  states,
Duration  dt,
double  dx,
Direction  dir 
)
inherited

◆ ComputeStableDt()

double fub::HllBase< Equation, SignalSpeeds >::ComputeStableDt ( span< const Complete, 2 >  states,
double  dx,
Direction  dir 
)
inherited

◆ GetEquation() [1/2]

const Equation& fub::HllBase< Equation , SignalSpeeds >::GetEquation ( ) const
inlinenoexceptinherited

Returns the underlying equations object.

◆ GetEquation() [2/2]

Equation& fub::HllBase< Equation , SignalSpeeds >::GetEquation ( )
inlinenoexceptinherited

Returns the underlying equations object.

◆ GetSignalSpeeds() [1/2]

const SignalSpeeds& fub::HllBase< Equation , SignalSpeeds >::GetSignalSpeeds ( ) const
inlinenoexceptinherited

Returns the strategy object which computes the signal speeds for this method.

◆ GetSignalSpeeds() [2/2]

SignalSpeeds& fub::HllBase< Equation , SignalSpeeds >::GetSignalSpeeds ( )
inlinenoexceptinherited

Returns the strategy object which computes the signal speeds for this method.

◆ GetStencilWidth()

static constexpr int fub::HllBase< Equation , SignalSpeeds >::GetStencilWidth ( )
inlinestaticconstexprnoexceptinherited

Returns the stencil width of this method.

◆ SolveRiemannProblem()

void fub::HllBase< Equation, SignalSpeeds >::SolveRiemannProblem ( Complete solution,
const Complete left,
const Complete right,
Direction  dir 
)
inherited

Computes an approximate solution to the rieman problem defined by left and right states.

Parameters
[out]solutionThe solution to the riemann problem will be stored here.
[in]leftThe left state of the riemann problem
[in]rightThe right state of the riemann problem.
[in]dirThe direction in which the riemann problem will be solved.

Member Data Documentation

◆ equation_

Equation fub::HllBase< Equation , SignalSpeeds >::equation_
privateinherited

◆ flux_left_

Conservative fub::HllBase< Equation , SignalSpeeds >::flux_left_
privateinherited

◆ flux_right_

Conservative fub::HllBase< Equation , SignalSpeeds >::flux_right_
privateinherited

◆ signal_speeds_

SignalSpeeds fub::HllBase< Equation , SignalSpeeds >::signal_speeds_
privateinherited

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