DamBreak++ Wave Simulator 0.3
DamBreak++ Simulation Framework
Loading...
Searching...
No Matches
Testvs19::SbSfTermsEvaluation Class Reference

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>

Inheritance diagram for Testvs19::SbSfTermsEvaluation:
dbpp::SrcNumericalTreatment

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 eDerivativeTypegetHderivativeType () 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
SrcNumericalTreatmentoperator= (const SrcNumericalTreatment &)=delete
 disable copy assignment operator (due to the problem of slicing)
SrcNumericalTreatmentoperator= (SrcNumericalTreatment &&)=delete
 disable move assignment operator (due to the problem of slicing)

Detailed Description

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);.

Constructor & Destructor Documentation

◆ SbSfTermsEvaluation()

Testvs19::SbSfTermsEvaluation::SbSfTermsEvaluation ( bool usePressure = false,
bool useSf = true,
bool isUnitWidth = true )
inline

ctor (settings flags for pressure, friction an section width)

Parameters
usePressurepressure flag
useSffriction flag
isUnitWidthsection width flag

Member Function Documentation

◆ TraitementTermeSource2()

std::valarray< double > Testvs19::SbSfTermsEvaluation::TraitementTermeSource2 ( const Sfx::StateVectorField & aStateVec,
const dbpp::ListSectionsFlow & aListSectF,
const dbpp::PhysicalBoundaryCnd & aBC )
finaloverridevirtual

Compute source terms (friction and bed slope)

Parameters
aStateVecstate vector field
aListSectFlist of sections
aBCphysical boundary condition
Returns
numerical array

Reimplemented from dbpp::SrcNumericalTreatment.

◆ useFriction()

bool Testvs19::SbSfTermsEvaluation::useFriction ( ) const
inlinefinaloverridevirtualnoexcept

Manning formula is use.

Returns
boolean

Reimplemented from dbpp::SrcNumericalTreatment.

Member Data Documentation

◆ m_ManningCoeff

float64 Testvs19::SbSfTermsEvaluation::m_ManningCoeff
private

Manning coeffcient

◆ m_unitWidth

bool Testvs19::SbSfTermsEvaluation::m_unitWidth
private

cross-section unit width

◆ m_useFriction

bool Testvs19::SbSfTermsEvaluation::m_useFriction
private

friction flag to take account pressure term

◆ m_usePressure

bool Testvs19::SbSfTermsEvaluation::m_usePressure
private

pressure flag to take account pressure term


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