6#include "include/Sfx_DefineTypes.h"
7#include "include/Sfx_WaveFunc.h"
8#include "include/Sfx_Simulator.h"
9#include "include/Sfx_Observer.h"
14namespace Sfx{
class SfxTimePrm; }
15namespace dbpp {
class Uh; }
23 virtual public Sfx::Observer,
24 public std::enable_shared_from_this<VS19WaveSimulator>
62 void run() override final;
67 bool init() override final;
97 void update() override final;
110 std::shared_ptr<VS19WaveSimulator>
sharedPtrTo() {
return shared_from_this(); }
122 void saveResult(
const Uh& aUh,
const Sfx::SfxTimePrm& aTimeSimEnd);
125 Sfx::SfxTimePrm m_tip;
134 unsigned int m_NumberIterationsMax;
std::shared_ptr< Sfx::WaveFunc > wavfuncptr
Definition SimulationConfig.h:45
std::shared_ptr< Sfx::scalarField1D > fieldptr
Definition SimulationConfig.h:26
Container of nodal variables.
Definition dbpp_Uh.h:21
VS19WaveSimulator(VS19WaveSimulator &&)=delete
Disable move construct.
VS19WaveSimulator(int32 aNbIterationsMax=50, float64 aCFL=0.600000000)
Ctor Wave Simulator.
Definition dbpp_VS19WaveSimulator.h:54
std::ofstream m_fileRes
Definition dbpp_VS19WaveSimulator.h:117
bool init() override final
Initialization of the simulator.
Definition dbpp_VS19WaveSimulator.cpp:166
void run() override final
Main loop of the simulation.
Definition dbpp_VS19WaveSimulator.cpp:33
std::valarray< float64 > getH() const noexcept
water depth at global nodal point
Definition dbpp_VS19WaveSimulator.h:102
int32 m_nbIterationsMax
Definition dbpp_VS19WaveSimulator.h:112
std::vector< float64 > m_waveDepthProfile
Definition dbpp_VS19WaveSimulator.h:118
void unInitialize() override final
clean-upof the simulator
Definition dbpp_VS19WaveSimulator.h:71
std::shared_ptr< dbpp::ListSectionsFlow > ListofSectionsFlow
Definition dbpp_VS19WaveSimulator.h:28
void update() override final
Observer method (H-profile at each time step)
Definition dbpp_VS19WaveSimulator.cpp:250
std::string m_validationDir
Definition dbpp_VS19WaveSimulator.h:115
eRiverBedType
Definition dbpp_VS19WaveSimulator.h:42
@ RANDOM
Definition dbpp_VS19WaveSimulator.h:46
@ JUMP
Definition dbpp_VS19WaveSimulator.h:45
@ FLAT
Definition dbpp_VS19WaveSimulator.h:43
eSurfaceWaveForm
Definition dbpp_VS19WaveSimulator.h:34
@ STEP
Definition dbpp_VS19WaveSimulator.h:36
@ SINE
Definition dbpp_VS19WaveSimulator.h:35
bool m_saveResult2File
Definition dbpp_VS19WaveSimulator.h:116
float64 m_cfl
Definition dbpp_VS19WaveSimulator.h:113
std::shared_ptr< VS19WaveSimulator > sharedPtrTo()
share the ownership of 'this' with all existing std::shared_ptr that refer to *this.
Definition dbpp_VS19WaveSimulator.h:110
VS19WaveSimulator & operator=(const VS19WaveSimulator &)=delete
Disable assign construct.
VS19WaveSimulator(const VS19WaveSimulator &)=delete
Disable copy construct.
std::string m_activeAlgo
Definition dbpp_VS19WaveSimulator.h:114
void saveResult(const Uh &aUh, const Sfx::SfxTimePrm &aTimeSimEnd)
Definition dbpp_VS19WaveSimulator.cpp:186
ListofSectionsFlow m_ListSectFlow
Definition dbpp_VS19WaveSimulator.h:119
Definition DamBreakProb.h:15
double float64
Definition dbpp_LDeltaOperator.h:12