![]() |
DamBreak++ Wave Simulator 0.3
DamBreak++ Simulation Framework
|
Numerical flux algorithm based on Nujic (1995) paper. ENO type scheme (Roe simplified version). More...
#include <dbpp_NujicFluxAlgorithm.h>
Public Types | |
| using | valr64 = std::valarray<float64> |
| using | pairf12 = std::pair<std::valarray<float64>, std::valarray<float64>> |
Public Member Functions | |
| NujicFluxAlgorithm (const dbpp::ePhysicalFluxType aFluxType, float64 aAlgoNujicPrm) | |
| ctor from physical flux and constant | |
| FluxTensor | calculFF (const Sfx::cellFaceVariables &aFaceVariables) override final |
| numerical flux at cell face | |
| FluxTensorMap | calculFF (const Sfx::scalarField1D &U1, const Sfx::scalarField1D &U2, const Omega &aDomain, const PhysicalBoundaryCnd &aPhysbc) override final |
| Harten-Lax- Levy numerical flux algorithm. | |
| FluxTensor | calculFF (const Sfx::StateVector &aUL, const Sfx::StateVector &aUR, const cellFace &aCellFace) override final |
| Numerical flux algorithm. | |
| FluxTensorMap | calculFF (const Sfx::scalarField1D &aU1, const Sfx::scalarField1D &aU2, const PhysicalBoundaryCnd &aPhysbc) override final |
| compute numerical flux | |
| bool | useReconstr () const noexcept override final |
| use variable reconstruction | |
| bool | usePhysicalCompleteFlux () const noexcept override final |
| (hydrostatic term is considered) | |
| void | setReconstrType (eReconstrType aRecnstrType) noexcept override final |
| Set type of extrapolation. | |
| eReconstrType | getReconstrType () const noexcept override final |
| Getter. | |
| Public Member Functions inherited from dbpp::FluxAlgorithm | |
| virtual bool | usePhysicalInCompleteFlux () const noexcept |
| numerical flux based components (only hydrostatic term is considered) | |
| virtual void | setFluxAlgoPrms () |
| Flux algorithm parameters. | |
| virtual void | setReconstrVarOrder (int32 aOrder) noexcept |
| cell face variable reconstr order (second-order default) | |
| virtual int32 | getReconstrVarOrder () const noexcept |
| reconstruction variable | |
Protected Member Functions | |
| std::tuple< valr64, valr64, valr64, valr64 > | computePhysicalFlux (std::valarray< float64 > &&aU1, std::valarray< float64 > &&aU2, std::valarray< float64 > &&aH) |
| compute face numerical flux | |
| void | setNujicAlgoPrm (float64 aNujicAlgoPrm) |
| std::tuple< valr64, valr64, valr64, valr64 > | computePhysicalFlux (Sfx::StVenant1D *aSclEquation, const Uh &aUh) |
| Compute physical flux at nodal point. | |
| valr64 | computef12p (std::span< float64, Sfx::DIM::value > &&aRng, std::span< float64, Sfx::DIM::value > &&adRng) |
| positive component of physical flux | |
| valr64 | computef12m (std::span< float64, Sfx::DIM::value > &&aRng, std::span< float64, Sfx::DIM::value > &&adRng) |
| negative component of physical flux | |
Private Attributes | |
| ePhysicalFluxType | m_fluxType |
| eReconstrType | m_reconstype |
| float64 | m_Alpha {} |
| float64 | m_algoPrm { 0.4 } |
| std::vector< float64 > | m_Hvec |
Numerical flux algorithm based on Nujic (1995) paper. ENO type scheme (Roe simplified version).
| using dbpp::NujicFluxAlgorithm::pairf12 = std::pair<std::valarray<float64>, std::valarray<float64>> |
Aliases
| using dbpp::NujicFluxAlgorithm::valr64 = std::valarray<float64> |
An enum type Physical flux type Aliases
|
inline |
ctor from physical flux and constant
| aFluxType | physical flux type |
| aAlgoNujicPrm | Nujic constant |
|
finaloverridevirtual |
numerical flux at cell face
| aFaceVariables | cell face variables |
Implements dbpp::FluxAlgorithm.
|
inlinefinaloverridevirtual |
compute numerical flux
| aU1 | first state variable |
| aU2 | second state variable |
| aPhysbc | physical boundary condition |
Implements dbpp::FluxAlgorithm.
|
finaloverridevirtual |
Harten-Lax- Levy numerical flux algorithm.
| U1 | scalar field first state variable |
| U2 | scalar field second state variable |
| aDomain | computational domain (cells) |
| aPhysbc | physical boundary cond. |
Implements dbpp::FluxAlgorithm.
|
inlinefinaloverridevirtual |
Numerical flux algorithm.
| aUL | left state |
| aUR | right state |
| cellFace | cell face |
Implements dbpp::FluxAlgorithm.
|
protected |
negative component of physical flux
| aRng | flux values |
| adRng | derivative (gradient) values |
|
protected |
positive component of physical flux
| aRng | flux values |
| adRng | derivative (gradient) values |
|
protected |
Compute physical flux at nodal point.
| aSclEquation | math equations |
| aUh | global nodal values |
|
protected |
compute face numerical flux
| aU1 | array of nodal values |
| aU2 | array of nodal values |
| aH | water level at nodal point |
|
inlinefinaloverridevirtualnoexcept |
|
inlineprotected |
| aNujicAlgoPrm |
|
inlinefinaloverridevirtualnoexcept |
Set type of extrapolation.
| aRecnstrType | type extrapolation |
Implements dbpp::FluxAlgorithm.
|
inlinefinaloverridevirtualnoexcept |
|
inlinefinaloverridevirtualnoexcept |
|
private |
value to 0.4 as default
|
private |
algorithm parameter
|
private |
physical flux type
|
private |
water level
|
private |
extrapolation type