![]() |
DamBreak++ Wave Simulator 0.3
DamBreak++ Simulation Framework
|
Wave simulator (simulate dam-break wave propagation) implementation. More...
#include <Testvs19_Wave1DSimulator.h>
Public Types | |
enum class | eIC { EMcNeil =0 , Hudson = 1 } |
enum class | eSimulationState { running =0 , pause =1 , stop =2 } |
Public Member Functions | |
Wave1DSimulator (int aNbIterationsMax=50, double aCFL=0.6) | |
Wave1DSimulator (const Wave1DSimulator &aOther)=delete | |
not allowed to copy | |
Wave1DSimulator & | operator= (const Wave1DSimulator &aOther)=delete |
not allowed to assignment | |
void | run () override final |
Main loop of the simulation. | |
bool | init () override final |
Initialization of the simulator. | |
void | unInitialize () override final |
clean-upof the simulator | |
virtual void | timeLoop () |
Simulation time loop. | |
void | setActiveAlgortihm (std::string aAlgoName) noexcept |
name of numerical flux algorithm | |
std::string | getactiveAlgorithm () const noexcept |
name of numerical flux algorithm | |
void | setValidationDir (const std::filesystem::path &aValidationDir) noexcept |
directory to store data | |
std::filesystem::path | getValidationDir () const noexcept |
folder to save data | |
void | setSaveResult2File (bool saveResult) noexcept |
flag to set if data is to be saved to file | |
bool | isSaveResult2File () const noexcept |
Save result to file. | |
void | setIterationNumberMax (unsigned aNumMaxIter) noexcept |
number of iterations for this simulation | |
uint32 | getNumberIterationsMax () const noexcept |
number of iterations for this simulation | |
void | setCFL (float64 aCFl) noexcept |
Courant-Friedrich-Levy Number (stability criteria) | |
float64 | getCFL () const noexcept |
Courant-Friedrich-Levy Number (stability criteria) | |
void | setPhi1 (float64 aPhi1) noexcept |
dambreak parameters (wave profile values) | |
float64 | getPhi1 () const noexcept |
dambreak parameters (wave profile values) | |
void | setPhi0 (float64 aPhi0) noexcept |
dambreak parameters (wave profile values) | |
float64 | getPhi0 () const noexcept |
dambreak parameters (wave profile values) | |
float64 | getFinalTime () const |
void | update () override final |
void | solveProblem (const dbpp::DamBreakProblem &aDBprob) |
Solve Dam Break problem. | |
std::valarray< float64 > | getH () const noexcept |
water depth at global nodal point | |
std::shared_ptr< Wave1DSimulator > | sharedPtrTo () |
share the ownership of 'this' with all existing std::shared_ptr that refer to *this. |
Private Types | |
using | WaveFuncPtr = std::shared_ptr<Sfx::WaveFunc> |
using | ListSectPtr = std::shared_ptr<dbpp::ListSectionsFlow> |
Private Attributes | |
WaveFuncPtr | m_H {nullptr} |
WaveFuncPtr | m_I { nullptr } |
ListSectPtr | m_ListSectFlow {nullptr} |
std::vector< float64 > | m_waveDepthProfile |
float64 | m_CFL |
std::string | m_activeAlgo |
std::filesystem::path | m_validationDir |
bool | m_saveResult2File |
unsigned int | m_NumberIterationsMax |
float64 | m_Phi1 |
float64 | m_Phi0 |
float64 | m_finalTime |
eIC | m_IC |
Wave simulator (simulate dam-break wave propagation) implementation.
|
private |
aliases
|
private |
aliases
|
strong |
|
strong |
Testvs19::Wave1DSimulator::Wave1DSimulator | ( | int | aNbIterationsMax = 50, |
double | aCFL = 0.6 ) |
aNbIterationsMax | |
aCFL |
|
delete |
not allowed to copy
aOther | another simulator to copy from |
|
inlinenoexcept |
name of numerical flux algorithm
|
inlinenoexcept |
Courant-Friedrich-Levy Number (stability criteria)
|
inline |
|
inlinenoexcept |
water depth at global nodal point
|
inlinenoexcept |
number of iterations for this simulation
|
inlinenoexcept |
dambreak parameters (wave profile values)
|
inlinenoexcept |
dambreak parameters (wave profile values)
|
inlinenoexcept |
folder to save data
|
finaloverride |
Initialization of the simulator.
|
inlinenoexcept |
Save result to file.
|
delete |
not allowed to assignment
aOther | another simulator to assign from |
|
finaloverride |
Main loop of the simulation.
|
inlinenoexcept |
name of numerical flux algorithm
aAlgoName | name of pointer-to-function |
|
inlinenoexcept |
Courant-Friedrich-Levy Number (stability criteria)
aCFl | CFL number |
|
inlinenoexcept |
number of iterations for this simulation
aNumMaxIter | number iterations max |
|
inlinenoexcept |
dambreak parameters (wave profile values)
aPhi0 | downstream value |
|
inlinenoexcept |
dambreak parameters (wave profile values)
aPhi1 | upstream value |
|
inlinenoexcept |
flag to set if data is to be saved to file
saveResult | boolean |
|
inlinenoexcept |
directory to store data
aValidationDir |
|
inline |
share the ownership of 'this' with all existing std::shared_ptr that refer to *this.
void Testvs19::Wave1DSimulator::solveProblem | ( | const dbpp::DamBreakProblem & | aDBprob | ) |
Solve Dam Break problem.
aDBprob | DamBreak Problem |
|
virtual |
Simulation time loop.
|
inlinefinaloverride |
clean-upof the simulator
|
finaloverride |
|
private |
Current algorithm
|
private |
CFL number
|
private |
Simulation final time
|
private |
depth function(water height)
|
private |
initial surface function (bottom topography)
|
private |
Initial condition
|
private |
list of section flow (why a pointer?)
|
private |
Number max iterations
|
private |
Water Height value downstream
|
private |
Water Height value upstream
|
private |
boolean to save result
|
private |
Algorithm Validation folder
|
private |
Water depth values