DamBreak++ Wave Simulator 0.3
DamBreak++ Simulation Framework
Loading...
Searching...
No Matches
dbpp::SrcTreatmentS2 Class Reference

Implementation using a different formula for Manning coefficient. More...

#include <dbpp_SrcTreatmentS2.h>

Inheritance diagram for dbpp::SrcTreatmentS2:
dbpp::SrcNumericalTreatment

Public Types

enum class  eDerivativeStencil
Public Types inherited from dbpp::SrcNumericalTreatment
enum class  eDerivativeType { centered_2nd , noncentered }
enum class  eDerivativeBCType { periodic , noncentered }

Public Member Functions

virtual std::valarray< double > TraitementTermeSource2 (const Sfx::StateVectorField &aA, const ListSectionsFlow &aListSectF, const PhysicalBoundaryCnd &aBC) override final
 Compute source terms (bottom and energy slope)
void setDerivativeStencil ()
void getDerivativeStencil ()
bool useCentralDifferenceScheme () const noexcept
 central difference derivative order
void setDerivativeOrder (short aOrder) noexcept
 Set deivative order.
short getDerivativeOrder () const noexcept
 Taylor derivative order.
void setPhysicalBoudaryCnd ()
 Physical boundary condition applied at both ends.
bool usefriction () const noexcept
 Bottom Friction.
bool useFlatBedBottom () const noexcept
 Bottom profile.
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 useFriction () const noexcept
 Fiction coefficient in use.
virtual bool isUnitWidth () const noexcept
 Section flow geometry.
virtual bool useManningFormula () const noexcept
 Manning formala (friction)

Private Attributes

bool m_useCentralScheme { true }
short m_derivativeOrder {2}
bool m_useFriction {false}

Additional Inherited Members

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

Implementation using a different formula for Manning coefficient.

Member Enumeration Documentation

◆ eDerivativeStencil

Member Function Documentation

◆ getDerivativeOrder()

short dbpp::SrcTreatmentS2::getDerivativeOrder ( ) const
inlinenoexcept

Taylor derivative order.

Returns
Order derivative order

◆ getDerivativeStencil()

void dbpp::SrcTreatmentS2::getDerivativeStencil ( )
inline

◆ setDerivativeOrder()

void dbpp::SrcTreatmentS2::setDerivativeOrder ( short aOrder)
inlinenoexcept

Set deivative order.

Parameters
aOrderderivative order

◆ setDerivativeStencil()

void dbpp::SrcTreatmentS2::setDerivativeStencil ( )
inline

◆ setPhysicalBoudaryCnd()

void dbpp::SrcTreatmentS2::setPhysicalBoudaryCnd ( )
inline

Physical boundary condition applied at both ends.

◆ TraitementTermeSource2()

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

Compute source terms (bottom and energy slope)

Parameters
aAstate variable
aListSectFlist of sections flow
aBCphysiocal boundary conditioon
Returns
vector of values

Reimplemented from dbpp::SrcNumericalTreatment.

◆ useCentralDifferenceScheme()

bool dbpp::SrcTreatmentS2::useCentralDifferenceScheme ( ) const
inlinenoexcept

central difference derivative order

Returns
true/false

◆ useFlatBedBottom()

bool dbpp::SrcTreatmentS2::useFlatBedBottom ( ) const
inlinenoexcept

Bottom profile.

Returns
true/false

◆ usefriction()

bool dbpp::SrcTreatmentS2::usefriction ( ) const
inlinenoexcept

Bottom Friction.

Returns
true/false

Member Data Documentation

◆ m_derivativeOrder

short dbpp::SrcTreatmentS2::m_derivativeOrder {2}
private

derivative order

◆ m_useCentralScheme

bool dbpp::SrcTreatmentS2::m_useCentralScheme { true }
private

flag specify use of central scheme

◆ m_useFriction

bool dbpp::SrcTreatmentS2::m_useFriction {false}
private

flag consider using friction


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