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

Cross-sectional flow (2-dimensional). More...

#include <dbpp_SectionFlow.h>

Public Types

enum class  eSectionType { unitwidth = 0 , rectangular = 1 }
 Section flow geometry. More...

Public Member Functions

 SectionFlow ()=default
 default ctor
constexpr SectionFlow (uint32 aId, float64 aX, eSectionType aType=eSectionType::unitwidth)
 set most of the section hydraulic parameters to default value such N=0,B=1,Z=0
constexpr SectionFlow (uint32 aId, float64 aX, float64 aH, float64 d=0., float64 aZ=0.) noexcept
 Check older version for description (coming) VS15 project.
constexpr bool isUnitWidth () const noexcept
 Check unit width.
constexpr bool isFrictionLess () const noexcept
 Check friction.
constexpr bool isFlatBottom () const noexcept
 Check section bottom type.
constexpr float64 X () const noexcept
 Getter.
constexpr float64 Z () const noexcept
 Getter.
constexpr float64 H () const noexcept
 Getter.
constexpr float64 N () const noexcept
 Gdetter.
constexpr float64 B () const noexcept
 Getter.
constexpr float64 getS0am () const noexcept
 Getter.
constexpr float64 getS0av () const noexcept
 Getter.
constexpr unsigned getId () const noexcept
 Getter.
eSectionType getType () const noexcept
 Getter.
constexpr eSectionType getSectionType () const noexcept
 Getter.
constexpr void setH (float64 aH) noexcept
 Setter.
constexpr void setN (float64 aN) noexcept
 Setter.
constexpr void setZ (float64 aZ) noexcept
 Setter.
constexpr void setB (float64 aB) noexcept
 Setter.
constexpr void setSectionUnitWidth () noexcept
 Setter.
auto operator== (const SectionFlow &aOther) const
 comparison operator ==, !=(generated)
auto operator<=> (const SectionFlow &aOther) const
 comparison operator (all other operators such: <,>,<=,>=)
void printSectionInfo () const
 / want to use it with mem_fn

Private Attributes

unsigned m_id
float64 m_x
float64 m_d
float64 m_Z
float64 m_H
float64 m_N
float64 m_B
float64 m_S0am
float64 m_S0av
eSectionType m_type

Detailed Description

Cross-sectional flow (2-dimensional).

Member Enumeration Documentation

◆ eSectionType

Section flow geometry.

Enumerator
unitwidth 

section unit width

rectangular 

Constructor & Destructor Documentation

◆ SectionFlow() [1/3]

dbpp::SectionFlow::SectionFlow ( )
default

default ctor

◆ SectionFlow() [2/3]

dbpp::SectionFlow::SectionFlow ( uint32 aId,
float64 aX,
eSectionType aType = eSectionType::unitwidth )
inlineconstexpr

set most of the section hydraulic parameters to default value such N=0,B=1,Z=0

Parameters
aIdsection index
aXx coordinate along flow (longitudinal)
aTypesection geometry type

◆ SectionFlow() [3/3]

dbpp::SectionFlow::SectionFlow ( uint32 aId,
float64 aX,
float64 aH,
float64 d = 0.,
float64 aZ = 0. )
inlineconstexprnoexcept

Check older version for description (coming) VS15 project.

Parameters
aIdSection id
aXsection x-coordinate along flow (longitudinal)
dSection transversal coordinate
aZbathymetry coordinate about bottom reference

Member Function Documentation

◆ B()

float64 dbpp::SectionFlow::B ( ) const
inlineconstexprnoexcept

Getter.

Returns
Section width (top)

◆ getId()

unsigned dbpp::SectionFlow::getId ( ) const
inlineconstexprnoexcept

Getter.

Returns
section id

◆ getS0am()

float64 dbpp::SectionFlow::getS0am ( ) const
inlineconstexprnoexcept

Getter.

Returns
Bed slope upstream

◆ getS0av()

float64 dbpp::SectionFlow::getS0av ( ) const
inlineconstexprnoexcept

Getter.

Returns
Bed slope downtream

◆ getSectionType()

eSectionType dbpp::SectionFlow::getSectionType ( ) const
inlineconstexprnoexcept

Getter.

Returns
section type

◆ getType()

eSectionType dbpp::SectionFlow::getType ( ) const
inlinenoexcept

Getter.

Returns
section type
Deprecated
to be removed in the next re-factoring (not used)

◆ H()

float64 dbpp::SectionFlow::H ( ) const
inlineconstexprnoexcept

Getter.

Returns
Water depth

◆ isFlatBottom()

bool dbpp::SectionFlow::isFlatBottom ( ) const
inlineconstexprnoexcept

Check section bottom type.

Returns
true/false

◆ isFrictionLess()

bool dbpp::SectionFlow::isFrictionLess ( ) const
inlineconstexprnoexcept

Check friction.

Returns
true/false

◆ isUnitWidth()

bool dbpp::SectionFlow::isUnitWidth ( ) const
inlineconstexprnoexcept

Check unit width.

Returns
true/false

◆ N()

float64 dbpp::SectionFlow::N ( ) const
inlineconstexprnoexcept

Gdetter.

4 *

Returns
Manning coefficient

◆ operator<=>()

auto dbpp::SectionFlow::operator<=> ( const SectionFlow & aOther) const
inline

comparison operator (all other operators such: <,>,<=,>=)

Parameters
aOtherobject to compare with
Returns
ordering category

◆ operator==()

auto dbpp::SectionFlow::operator== ( const SectionFlow & aOther) const
inline

comparison operator ==, !=(generated)

Parameters
aOtherobject to compare with
Returns
ordering category

◆ printSectionInfo()

void dbpp::SectionFlow::printSectionInfo ( ) const
inline

/ want to use it with mem_fn

◆ setB()

void dbpp::SectionFlow::setB ( float64 aB)
inlineconstexprnoexcept

Setter.

Parameters
aBsection width

◆ setH()

void dbpp::SectionFlow::setH ( float64 aH)
inlineconstexprnoexcept

Setter.

Parameters
aHwater depth

◆ setN()

void dbpp::SectionFlow::setN ( float64 aN)
inlineconstexprnoexcept

Setter.

Parameters
aNManning coefficient

◆ setSectionUnitWidth()

void dbpp::SectionFlow::setSectionUnitWidth ( )
inlineconstexprnoexcept

Setter.

◆ setZ()

void dbpp::SectionFlow::setZ ( float64 aZ)
inlineconstexprnoexcept

Setter.

Parameters
aZbathymetry value

◆ X()

float64 dbpp::SectionFlow::X ( ) const
inlineconstexprnoexcept

Getter.

Returns
x coordinate

◆ Z()

float64 dbpp::SectionFlow::Z ( ) const
inlineconstexprnoexcept

Getter.

Returns
bathy value

Member Data Documentation

◆ m_B

float64 dbpp::SectionFlow::m_B
private

section width

◆ m_d

float64 dbpp::SectionFlow::m_d
private

section transversal coordinate

◆ m_H

float64 dbpp::SectionFlow::m_H
private

section water depth

◆ m_id

unsigned dbpp::SectionFlow::m_id
private

section number id

◆ m_N

float64 dbpp::SectionFlow::m_N
private

section Manning coefficient

◆ m_S0am

float64 dbpp::SectionFlow::m_S0am
private

section bottom slope upstream

◆ m_S0av

float64 dbpp::SectionFlow::m_S0av
private

section bottom slope downstream

◆ m_type

eSectionType dbpp::SectionFlow::m_type
private

section geometry type

◆ m_x

float64 dbpp::SectionFlow::m_x
private

section x-coordinate

◆ m_Z

float64 dbpp::SectionFlow::m_Z
private

section bottom thalweg or topography?? an array


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