DamBreak++ Wave Simulator 0.3
DamBreak++ Simulation Framework
Loading...
Searching...
No Matches
dbpp_LegacyNumericalAlgo.h
Go to the documentation of this file.
1#pragma once
2
3//C++ include
4#include <vector>
5// SfxBase19 include
6#include "include/Sfx_DefineTypes.h"
7
8namespace dbpp
9{
18 void TraitementTermeP(std::vector<float64>& PF2, std::vector<float64>& P2,
19 const std::vector<float64>& U1, const int NbSections, const float64 B = 1);
27 void CalculS0(std::vector<float64>& S0, const std::vector<float64>& Z, const float64 dx, const int NbSections);
39 void TraitementTermeSource(std::vector<float64>& S, const std::vector<float64>& Q,
40 const std::vector<float64>& A, const std::vector<float64>& Z,
41 const std::vector<float64>& n, const float64 dx, const int NbSections, const float64 B = 1);
53 void TraitementTermeSource2(std::vector<float64>& S, const std::vector<float64>& Q,
54 const std::vector<float64>& A, const std::vector<float64>& H,
55 const std::vector<float64>& n, const float64 dx, const int NbSections = 101, const float64 B = 1.);
56
57 // use Rvalue reference to modify some variable by adding b.c. in the computation phase
58 // in our programming we impose b.c. by adding a ghost node, but we don't want to modify
59 // the original which is a scalar field (bind temporary to rvalue reference)
60 // Usage: TreatmentSource2(w_s, aQ.values().asStdVector(), aA.values().asStdVector(), ...)
61 //
73 void TraitementTermeSource2(std::vector<double>& aS, // return value
74 std::vector<double>&& aQ, std::vector<double>&& aA, std::vector<double>&& aH, //rvalue reference
75 const std::vector<double>& n, double aDx /*= 10.*/, unsigned aDim = 100, const float64 B = 1.);
76
77 // deprecated
78 //void CalculFFHLL(std::vector<float64>& FF1, std::vector<float64>& FF2, const std::vector<float64>& U1,
79 // const std::vector<float64>& U2, std::vector<float64>& dU1, std::vector<float64>& dU2,
80 // const int NbSections, const float64 B = 1.);
81
82 void CalculFFHLL(std::vector<float64>& FF1, std::vector<float64>& FF2, const std::vector<float64>& U1,
83 const std::vector<float64>& U2, const float64 B = 1.);
84} // End of namespace
Definition DamBreakProb.h:15
@ A
Definition dbpp_Enumerations.h:16
@ Q
Definition dbpp_Enumerations.h:17
@ H
Definition dbpp_Enumerations.h:18
void TraitementTermeP(std::vector< float64 > &PF2, std::vector< float64 > &P2, const std::vector< float64 > &U1, const int NbSections, const float64 B)
Compute pressure term (finite difference derivative)
Definition dbpp_LegacyNumericalAlgo.cpp:30
void CalculS0(std::vector< float64 > &S0, const std::vector< float64 > &Z, const float64 dx, const int NbSections)
Compute bed slope term (finite difference derivative)
Definition dbpp_LegacyNumericalAlgo.cpp:48
double float64
Definition dbpp_LDeltaOperator.h:12
void TraitementTermeSource2(std::vector< float64 > &S, const std::vector< float64 > &Q, const std::vector< float64 > &A, const std::vector< float64 > &H, const std::vector< float64 > &n, const float64 dx, const int NbSections, float64 B)
Compute source term (friction and bed slope)
Definition dbpp_LegacyNumericalAlgo.cpp:88
void TraitementTermeSource(std::vector< float64 > &S, const std::vector< float64 > &Q, const std::vector< float64 > &A, const std::vector< float64 > &Z, const std::vector< float64 > &n, const float64 dx, const int NbSections, const float64 B)
Compute source term (friction and bed slope)
Definition dbpp_LegacyNumericalAlgo.cpp:60
void CalculFFHLL(std::vector< float64 > &FF1, std::vector< float64 > &FF2, const std::vector< float64 > &U1, const std::vector< float64 > &U2, std::vector< float64 > &dU1, std::vector< float64 > &dU2, const int NbSections, float64 B)
Definition dbpp_LegacyNumericalAlgo.cpp:135