DamBreak++ Wave Simulator 0.3
DamBreak++ Simulation Framework
Loading...
Searching...
No Matches
BaseNumericalTreatmemt Class Reference

Base implementation according to Eric McNeil Eric McNeil original code use an approach based on Nujic but implement the numerical flux with a HLL algorithm. Re-use Nujic implementation of the source term and pressure terms, but provide also. More...

#include <NumericalTreatment.h>

Static Public Member Functions

static void TraitementTermeP (std::valarray< float64 > &PF2, std::valarray< float64 > &P2, const std::valarray< float64 > &U1, const int NbSections, const float64 B=1.)
 Pressure discretization.
static void CalculS0 (float64 *S0, float64 *Z, float64 dx, int32 NbSections)
 bed slope term discretization
static void TraitementTermeSource (float64 *S, float64 *Q, float64 *A, float64 *Z, float64 *n, float64 dx, int32 NbSections, float64 B=1)
 source terms discretization
static void TraitementTermeSource2 (std::valarray< float64 > &S, const std::valarray< float64 > &Q, const std::valarray< float64 > &A, const std::valarray< float64 > &H, const std::valarray< float64 > &n, const float64 dx, const int32 NbSections=101, const float64 B=1.)
 source terms discretization
static std::valarray< float64 > TraitementTermeSource2 (const std::valarray< float64 > &Q, const std::valarray< float64 > &A, const dbpp::ListSectionsFlow &aListSect)

Detailed Description

Base implementation according to Eric McNeil Eric McNeil original code use an approach based on Nujic but implement the numerical flux with a HLL algorithm. Re-use Nujic implementation of the source term and pressure terms, but provide also.

Member Function Documentation

◆ CalculS0()

void BaseNumericalTreatmemt::CalculS0 ( float64 * S0,
float64 * Z,
float64 dx,
int32 NbSections )
static

bed slope term discretization

Parameters
S0bed slope
Zbathymetry
dxspatial step
NbSectionsnumber of section flow

◆ TraitementTermeP()

void BaseNumericalTreatmemt::TraitementTermeP ( std::valarray< float64 > & PF2,
std::valarray< float64 > & P2,
const std::valarray< float64 > & U1,
const int NbSections,
const float64 B = 1. )
static

Pressure discretization.

Parameters
PF2Forward finite difference derivative (first-order)
P2hydrostatic pressure
U1state variable
NbSectionsnumber of section flow
Bsection width

◆ TraitementTermeSource()

void BaseNumericalTreatmemt::TraitementTermeSource ( float64 * S,
float64 * Q,
float64 * A,
float64 * Z,
float64 * n,
float64 dx,
int32 NbSections,
float64 B = 1 )
static

source terms discretization

Parameters
Ssource terms
Qdischarge
Awetted area
Zbathymetry
nManning coeff
dxspatial step
NbSectionsnumber of section flow
Bsection width

◆ TraitementTermeSource2() [1/2]

std::valarray< float64 > BaseNumericalTreatmemt::TraitementTermeSource2 ( const std::valarray< float64 > & Q,
const std::valarray< float64 > & A,
const dbpp::ListSectionsFlow & aListSect )
static
@brief 
@param S 
@param Q 
@param A 
@param aListSect 
Returns

◆ TraitementTermeSource2() [2/2]

void BaseNumericalTreatmemt::TraitementTermeSource2 ( std::valarray< float64 > & S,
const std::valarray< float64 > & Q,
const std::valarray< float64 > & A,
const std::valarray< float64 > & H,
const std::valarray< float64 > & n,
const float64 dx,
const int32 NbSections = 101,
const float64 B = 1. )
static

source terms discretization

Parameters
Ssource terms
Qdischarge
Awetted area
Hwater height
nManning coeff
dxspatial step
NbSectionsnumber of section flow
Bsection width

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