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 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) |
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.
◆ CalculS0()
void BaseNumericalTreatmemt::CalculS0 |
( |
float64 * | S0, |
|
|
float64 * | Z, |
|
|
float64 | dx, |
|
|
int32 | NbSections ) |
|
static |
bed slope term discretization
- Parameters
-
S0 | bed slope |
Z | bathymetry |
dx | spatial step |
NbSections | number 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
-
PF2 | Forward finite difference derivative (first-order) |
P2 | hydrostatic pressure |
U1 | state variable |
NbSections | number of section flow |
B | section 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
-
S | source terms |
Q | discharge |
A | wetted area |
Z | bathymetry |
n | Manning coeff |
dx | spatial step |
NbSections | number of section flow |
B | section 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
-
S | source terms |
Q | discharge |
A | wetted area |
H | water height |
n | Manning coeff |
dx | spatial step |
NbSections | number of section flow |
B | section width |
The documentation for this class was generated from the following files: