8#include "include/Sfx_DefineTypes.h"
18 class cellFaceVariables;
36 using mapcellfaceVar = std::map<
short, std::pair<Sfx::StateVector, Sfx::StateVector>>;
61 bool useReconstr() const noexcept override final {
return true; }
117 calculFF(
const Sfx::scalarField1D& U1,
const Sfx::scalarField1D& U2,
127 const cellFace& aCellFace)
override final
137 calculFF(
const Sfx::scalarField1D& aU1,
const Sfx::scalarField1D& aU2,
140 return calculFF(aU1.asStdVector(),aU2.asStdVector(), aPhysbc);
151 calculFF( std::vector<float64>&& U1, std::vector<float64>&& U2,
162 calculFF(
const std::valarray<float64>& aU1, std::valarray<float64>& aU2,
188 std::vector<float64>&& aA, std::vector<float64>&& aQ);
Abstract base class for numerical flux algorithm.
Definition dbpp_FluxAlgorithm.h:24
std::map< short, std::pair< Sfx::StateVector, Sfx::StateVector > > mapcellfaceVar
Definition dbpp_HLLFluxAlgorithm.h:36
void setReconstrMethod() noexcept
MUSCL as default.
Definition dbpp_HLLFluxAlgorithm.h:96
int32 getReconstrVarOrder() const noexcept override
reconstruction variable
Definition dbpp_HLLFluxAlgorithm.h:91
virtual void computeCellFacePhysicalFlux(const Sfx::cellFaceVariables &aFaceVar)
physical flux (FL/FR) for both state variables (A,Q)
Definition dbpp_HLLFluxAlgorithm.cpp:312
int32 m_varOrder
Definition dbpp_HLLFluxAlgorithm.h:176
void setApprRiemanSolver(const HLLSolver1D *aRsolver)
Definition dbpp_HLLFluxAlgorithm.h:101
void setReconstrType(eReconstrType aRecnstrType) noexcept
Reconstruction of variables.
Definition dbpp_HLLFluxAlgorithm.h:71
eReconstrType getReconstrType() const noexcept
MUSCL as default.
Definition dbpp_HLLFluxAlgorithm.h:76
eReconstrType m_reconstrType
Definition dbpp_HLLFluxAlgorithm.h:178
FluxTensorMap calculFF(const Sfx::scalarField1D &aU1, const Sfx::scalarField1D &aU2, const PhysicalBoundaryCnd &aPhysbc) override final
Numerical flux algorithm.
Definition dbpp_HLLFluxAlgorithm.h:137
FluxTensor calculFF(const Sfx::cellFaceVariables &aFaceVariables) override final
numerical flux at cell face
Definition dbpp_HLLFluxAlgorithm.cpp:289
ePhysicalFluxType getFluxType() const noexcept
physical flux
Definition dbpp_HLLFluxAlgorithm.h:56
void setPhysicalBndCnd(const PhysicalBoundaryCnd &aPhysbc) noexcept
physical boundary condition
Definition dbpp_HLLFluxAlgorithm.h:81
void setReconstrVarOrder(int32 aOrder) noexcept override
cell face variable reconstr order (second-order default)
Definition dbpp_HLLFluxAlgorithm.h:86
HLLFluxAlgorithm(const ePhysicalFluxType aPhyFluxType=ePhysicalFluxType::incomplete)
ctor based on physical flux type (default incomplete)
Definition dbpp_HLLFluxAlgorithm.h:41
void setFluxType(ePhysicalFluxType aFluxType) noexcept
Complete flux or incomplete.
Definition dbpp_HLLFluxAlgorithm.h:51
FluxTensor calculFF(const Sfx::StateVector &aUL, const Sfx::StateVector &aUR, const cellFace &aCellFace) override final
Numerical flux algorithm.
Definition dbpp_HLLFluxAlgorithm.h:126
bool usePhysicalCompleteFlux() const noexcept override final
default (only hydrostatic term is considered)
Definition dbpp_HLLFluxAlgorithm.h:66
bool useReconstr() const noexcept override final
use variable reconstruction
Definition dbpp_HLLFluxAlgorithm.h:61
void setFluxAlgoPrms() override
Flux algorithm parameters.
Definition dbpp_HLLFluxAlgorithm.h:99
virtual mapcellfaceVar reconstr(const std::list< cellFace > &aListCellFace, std::vector< float64 > &&aA, std::vector< float64 > &&aQ)
Resonstrution of state varaibles at cell face.
Definition dbpp_HLLFluxAlgorithm.cpp:18
MUSCLReconstr m_musclReconstr
Definition dbpp_HLLFluxAlgorithm.h:179
ePhysicalFluxType m_fluxType
Definition dbpp_HLLFluxAlgorithm.h:177
Riemann solver that belongs to Approximate Riemann solver. Solve the Riemann problem at cell Face....
Definition dbpp_HLLSolver1D.h:21
Definition dbpp_MUSCLReconstr.hpp:61
Global Domain (part of global discretization) list of elements and geomeric nodes used by numerical m...
Definition dbpp_Omega.h:19
Physical boundary condition (computational domain) based on characteristic equation ....
Definition dbpp_PhysicalBoundaryCnd.h:22
Cell face in the finite volume discretization Usage: caculFF(const cellFace& aFace) compute the numer...
Definition dbpp_CellFace.h:29
Definition DamBreakProb.h:15
ePhysicalFluxType
Definition dbpp_Enumerations.h:9
@ incomplete
Definition dbpp_Enumerations.h:9
eReconstrType
Definition dbpp_Enumerations.h:33
@ None
Definition dbpp_Enumerations.h:34
Flux tensor field (aggregate initialization).
Definition dbpp_FluxTensor.h:21
Map cell face and flux values.
Definition dbpp_FluxTensor.h:52