![]() |
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