![]() |
DamBreak++ Wave Simulator 0.3
DamBreak++ Simulation Framework
|
"Model of" function object (called functor). Calculate the "S0" .... slope term More...
#include <Testvs19_NujicSourceTreatment.h>
Public Types | |
enum class | eSrcTermType { Hderivative = 0 , Zderivative = 1 } |
enum class | eSrcDxType { central_2ndorder = 0 , central_4thorder = 1 } |
Public Types inherited from dbpp::SrcNumericalTreatment | |
enum class | eDerivativeType { centered_2nd , noncentered } |
enum class | eDerivativeBCType { periodic , noncentered } |
Public Member Functions | |
NujicSrcTermAlgorithm () | |
default ctor | |
NujicSrcTermAlgorithm (const dbpp::ListSectionsFlow &aSectFlow) | |
Ctor from a list of sections. | |
NujicSrcTermAlgorithm (const Testvs19::ListSectionsFlow< dbpp::SectionFlow > *aSectFlow) | |
Ctor from a list of sections. | |
std::valarray< float64 > | TraitementTermeSourceS0 (const Sfx::scalarField1D &aAfield, const Sfx::scalarField1D &aQfield) const |
bed slope algorithm | |
std::valarray< float64 > | TraitementTermeSourceS2 (const Sfx::FieldLattice &aAfield, const Sfx::FieldLattice &aHfield) const |
friction energy slope and bed slop terms treatment | |
std::valarray< float64 > | TraitementTermeSourceS2 (const Sfx::PhysicalSystem *aPhysys, const Sfx::EMcNeilBndCnd &aBC) |
friction energy slope and bed slop terms treatment | |
void | setHderivativeOrder (int32 aDerivOrder) noexcept |
Set derivative order. | |
int32 | getderivativeOrder () const noexcept |
Getter. | |
std::valarray< float64 > | getManningValues () const noexcept |
Getter. | |
void | setSectionsManningValues (const std::vector< float64 > &aVecNvalues) noexcept |
Set Manning (section) | |
bool | isFictionLess () const noexcept |
System friction. | |
void | setVariableTraitementS2 (eSrcTermType aSrcTemrType) noexcept |
Source (bed slope) type: physics considerations. | |
void | setDxOrderSourceTerm (eSrcDxType aSrcDxType) noexcept |
Source (bed slope) derivative order: fd derivative (Taylor series) | |
eSrcTermType | getSrcTermType () const noexcept |
Getter. | |
eSrcDxType | getSrcDxType () const noexcept |
Getter. | |
void | setData (const dbpp::ListSectionsFlow &aData) noexcept |
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) | |
virtual std::valarray< double > | TraitementTermeSource2 (const Sfx::StateVectorField &aStateVec, const ListSectionsFlow &aListSectF, const PhysicalBoundaryCnd &aBC) |
Compute energy slope (part of the algorithm) | |
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 | 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 | |
int | m_derivativeOrder |
std::valarray< float64 > | m_frictionCoeff |
eSrcTermType | m_srcType { eSrcTermType::Hderivative } |
eSrcDxType | m_dxsrcType { eSrcDxType::central_2ndorder } |
dbpp::ListSectionsFlow | m_listSectFlow |
const Testvs19::ListSectionsFlow< dbpp::SectionFlow > * | m_listSectFlow19 |
Additional Inherited Members | |
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) |
"Model of" function object (called functor). Calculate the "S0" .... slope term
|
strong |
|
strong |
|
inline |
default ctor
|
inline |
Ctor from a list of sections.
aSectFlow | list of sections (dbpp namespace) |
|
inline |
Ctor from a list of sections.
aSectFlow | list of sections (prototype namespace) |
|
inlinenoexcept |
Getter.
|
inlinenoexcept |
Getter.
|
inlinenoexcept |
Getter.
|
inlinenoexcept |
Getter.
|
inlinenodiscardnoexcept |
System friction.
|
inlinenoexcept |
|
inlinenoexcept |
Source (bed slope) derivative order: fd derivative (Taylor series)
aSrcDxType |
|
inlinenoexcept |
Set derivative order.
aDerivOrder | order |
|
inlinenoexcept |
Set Manning (section)
aVecNvalues | values for each section |
|
inlinenoexcept |
Source (bed slope) type: physics considerations.
aSrcTemrType | source type |
std::valarray< float64 > Testvs19::NujicSrcTermAlgorithm::TraitementTermeSourceS0 | ( | const Sfx::scalarField1D & | aAfield, |
const Sfx::scalarField1D & | aQfield ) const |
bed slope algorithm
aAfield | first state variable |
aQfield | second state variable |
std::valarray< float64 > Testvs19::NujicSrcTermAlgorithm::TraitementTermeSourceS2 | ( | const Sfx::FieldLattice & | aAfield, |
const Sfx::FieldLattice & | aHfield ) const |
friction energy slope and bed slop terms treatment
aAfield | first state variable |
aHfield | water level (height) |
std::valarray< float64 > Testvs19::NujicSrcTermAlgorithm::TraitementTermeSourceS2 | ( | const Sfx::PhysicalSystem * | aPhysys, |
const Sfx::EMcNeilBndCnd & | aBC ) |
friction energy slope and bed slop terms treatment
aPhysys | physical system |
aBC | physical boundary condition return numerical array |
|
private |
derivative order
|
private |
source term derivative order
|
private |
Manning coefficient
|
private |
list of sections
|
private |
|
private |
source term treatment type