![]() |
DamBreak++ Wave Simulator 0.3
DamBreak++ Simulation Framework
|
Wrapper of legacy code. Usage: SbSfTermsEvaluation w_S0Sf{listSections,bc1,bc2}; auto w_SfS0 = w_S0Sf.TraitementTermeS2(aField1,aField2); auto& w_rhs = m_rhsAlgo.getRHS(); w_rhs.m_swerhs.S = std::move(w_SfS0);. More...
#include <Testvs19_SbSfTermsEvaluation.h>
Public Member Functions | |
SbSfTermsEvaluation (bool usePressure=false, bool useSf=true, bool isUnitWidth=true) | |
ctor (settings flags for pressure, friction an section width) | |
std::valarray< double > | TraitementTermeSource2 (const Sfx::StateVectorField &aStateVec, const dbpp::ListSectionsFlow &aListSectF, const dbpp::PhysicalBoundaryCnd &aBC) override final |
Compute source terms (friction and bed slope) | |
bool | useFriction () const noexcept override final |
Manning formula is use. | |
Public Member Functions inherited from dbpp::SrcNumericalTreatment | |
virtual std::valarray< double > | TraitementTermeSource0 (const Sfx::scalarField1D &aA, const ListSectionsFlow *aListSectF, const PhysicalBoundaryCnd &aBC) |
Bed Source term evaluation according to Nujic paper (1995) | |
void | setManningRoughnessCoeff (float64 aN) noexcept |
Set roughness coefficient @paramaN roughness coefficient. | |
float64 | getManningRoughnessCoeff () const noexcept |
Get roughness coefficient. | |
void | setHAverage (bool useHavrg) noexcept |
Validate H average algo. | |
void | setSfSbNumericalTreatment (std::string aSfSbTreamnent="Nujic(1995)") noexcept |
Bed slope numericla discretization. | |
void | setHderivativeType (const eDerivativeType &aDxType) noexcept |
H derivative type (finite difference) | |
void | setSpatialDerivativeOrder (uint32 aDxOrdr) noexcept |
finite difference order | |
virtual std::string | getSfSbNumericalTreatment () const noexcept |
const eDerivativeType & | getHderivativeType () const noexcept |
uint32 | getSpatialDerivativeOrder () const noexcept |
Getter. | |
virtual bool | isUnitWidth () const noexcept |
Section flow geometry. | |
virtual bool | useManningFormula () const noexcept |
Manning formala (friction) |
Private Attributes | |
bool | m_usePressure |
bool | m_useFriction |
bool | m_unitWidth |
float64 | m_ManningCoeff |
Additional Inherited Members | |
Public Types inherited from dbpp::SrcNumericalTreatment | |
enum class | eDerivativeType { centered_2nd , noncentered } |
enum class | eDerivativeBCType { periodic , noncentered } |
Protected Member Functions inherited from dbpp::SrcNumericalTreatment | |
SrcNumericalTreatment & | operator= (const SrcNumericalTreatment &)=delete |
disable copy assignment operator (due to the problem of slicing) | |
SrcNumericalTreatment & | operator= (SrcNumericalTreatment &&)=delete |
disable move assignment operator (due to the problem of slicing) |
Wrapper of legacy code. Usage: SbSfTermsEvaluation w_S0Sf{listSections,bc1,bc2}; auto w_SfS0 = w_S0Sf.TraitementTermeS2(aField1,aField2); auto& w_rhs = m_rhsAlgo.getRHS(); w_rhs.m_swerhs.S = std::move(w_SfS0);.
|
inline |
ctor (settings flags for pressure, friction an section width)
usePressure | pressure flag |
useSf | friction flag |
isUnitWidth | section width flag |
|
finaloverridevirtual |
Compute source terms (friction and bed slope)
aStateVec | state vector field |
aListSectF | list of sections |
aBC | physical boundary condition |
Reimplemented from dbpp::SrcNumericalTreatment.
|
inlinefinaloverridevirtualnoexcept |
|
private |
Manning coeffcient
|
private |
cross-section unit width
|
private |
friction flag to take account pressure term
|
private |
pressure flag to take account pressure term