6#include "include/Sfx_DefineTypes.h"
12namespace Sfx {
class StateVectorField; }
42 const std::shared_ptr<FiniteVolumeDiscretization>& aGblDiscr) = 0;
53 virtual std::string
name()
const {
return std::string{
"SweRhsAlgorithm" }; }
void(*)(DBSArrayType &aFF1, DBSArrayType &aFF2, const DBSArrayType &aU1, const DBSArrayType &aU2) CalculFF
PointerToFunction(numerical flux computation)
Definition SimulationConfig.h:32
global discretized domain is defined as a set of all nodes and all elements. PHYSICAL ENTITIES includ...
Definition dbpp_FiniteVolumeDiscretization.h:26
Abstract base class for numerical flux algorithm.
Definition dbpp_FluxAlgorithm.h:24
Physical boundary condition (computational domain) based on characteristic equation ....
Definition dbpp_PhysicalBoundaryCnd.h:22
Basic algorithm to evaluate source terms (bed slope and energy slope) The Manning formula can be read...
Definition dbpp_SrcNumericalTreatment.h:31
Abstract class. "Model" of the right-hand-side terms discretization. Hold discretization scheme or al...
Definition dbpp_SweRhsAlgorithm.h:28
virtual PhysicalBoundaryCnd getPhysicalBoundaryCnd() const =0
Getter.
virtual bool useIncompleteFlux() const noexcept
Used convective.
Definition dbpp_SweRhsAlgorithm.h:111
virtual void setPtr2FuncAlgo(CalculFF aPtr2Func)
Flux algorithm (Pointer to function)
Definition dbpp_SweRhsAlgorithm.h:75
virtual ~SweRhsAlgorithm()=default
Dtor (disable move semantic) If base class has no members, not supporting move semantic has no effect...
virtual bool useManningFormula() const noexcept
Used friction formula.
Definition dbpp_SweRhsAlgorithm.h:106
virtual SweRhsData calculate(const Sfx::StateVectorField &aU)=0
Calculate (applied) rhs discretization algorithm.
virtual void setPressureTermDiscr()
Set pressure term discretization.
Definition dbpp_SweRhsAlgorithm.h:86
virtual bool isFrictionLess() const noexcept
Used friction.
Definition dbpp_SweRhsAlgorithm.h:116
virtual std::string name() const
Class name.
Definition dbpp_SweRhsAlgorithm.h:53
virtual SweRhsData calculate(const Sfx::StateVectorField &aU, const std::shared_ptr< FiniteVolumeDiscretization > &aGblDiscr)=0
Calculate (applied) rhs discretization algorithm.
virtual void setPhysicalBoundaryCnd(const PhysicalBoundaryCnd &aPhyBnd)=0
Set boundary condition.
virtual bool useSourceTerms() const noexcept
Used source terms.
Definition dbpp_SweRhsAlgorithm.h:96
SweRhsAlgorithm & operator=(const SweRhsAlgorithm &)=delete
disable assign operator to avoid slicing problem
virtual bool usePressureTerm() const noexcept
Used pressure terms.
Definition dbpp_SweRhsAlgorithm.h:101
virtual bool useReconstruction() const noexcept
Used reconstruction of variables.
Definition dbpp_SweRhsAlgorithm.h:91
virtual bool usePtr2FuncLegacy() const noexcept
Used legacy algorithm.
Definition dbpp_SweRhsAlgorithm.h:121
virtual void setSourceTermDiscr(SrcNumericalTreatment *aSrcTreatmnt, bool useManningFormula=true)
Set source term discretization.
Definition dbpp_SweRhsAlgorithm.h:81
virtual void setFluxAlgorithm(FluxAlgorithm *aFluxAlgo, bool useIncompleteFlux=true)
Set flux algorithm.
Definition dbpp_SweRhsAlgorithm.h:69
Definition DamBreakProb.h:15
Aggregate (must support operator[])
Definition dbpp_SweRhsData.hpp:17