DamBreak++ Wave Simulator 0.3
DamBreak++ Simulation Framework
Loading...
Searching...
No Matches
dbpp_DamBreakWaveSimulator.h
Go to the documentation of this file.
1#pragma once
2
3#include <valarray>
4// SfxBase19 includes
5#include "include/Sfx_DefineTypes.h"
6#include "include/Sfx_Simulator.h"
7#include "include/Sfx_WaveFunc.h"
8// Nov19 includes
9//#include "dbpp_SectionFlow.h"
10//#include "Testvs19_ListSectionsFlow.hpp"
11
12namespace dbpp
13{
18 class DamBreakWaveSimulator : public Sfx::Simulator
19 {
20 public:
22 // using ListSectionPtr = std::shared_ptr<ListSectionsFlow<SectionFlow>>;
23 public:
28 {
29 SINE = 0,
31 };
32
35 enum class eRiverBedForm
36 {
37 FLAT = 0,
38 STEP = 1,
39 JUMP = 2
40 };
41
45 bool init() override;
49 void run() override {}
53 void unInitialize() override {}
58 virtual std::valarray<float64> getH() const noexcept = 0;
59 protected:
70
71 std::shared_ptr<Sfx::WaveFunc> m_Z;
72 std::shared_ptr<Sfx::WaveFunc> m_H;
75 std::vector<float64> m_waveProfile;
76 // ListSectionPtr m_setofSectFlow; /**< list of sections flow*/
77 };
78} // End of namepsace
virtual std::valarray< float64 > getH() const noexcept=0
water level of each section
eSurfaceWaveForm m_InitWaveForm
Definition dbpp_DamBreakWaveSimulator.h:73
void run() override
main loop of the simulator
Definition dbpp_DamBreakWaveSimulator.h:49
eSurfaceWaveForm
Definition dbpp_DamBreakWaveSimulator.h:28
@ DAMSTEP
Definition dbpp_DamBreakWaveSimulator.h:30
@ SINE
Definition dbpp_DamBreakWaveSimulator.h:29
std::shared_ptr< Sfx::WaveFunc > m_H
Definition dbpp_DamBreakWaveSimulator.h:72
eRiverBedForm
Definition dbpp_DamBreakWaveSimulator.h:36
@ JUMP
Definition dbpp_DamBreakWaveSimulator.h:39
@ STEP
Definition dbpp_DamBreakWaveSimulator.h:38
@ FLAT
Definition dbpp_DamBreakWaveSimulator.h:37
DamBreakWaveSimulator(const DamBreakWaveSimulator &)=default
implicit conversion disabled
void unInitialize() override
clean-up
Definition dbpp_DamBreakWaveSimulator.h:53
bool init() override
initialize simulator
Definition dbpp_DamBreakWaveSimulator.cpp:9
std::shared_ptr< Sfx::WaveFunc > m_Z
Definition dbpp_DamBreakWaveSimulator.h:71
eRiverBedForm m_RiverBed
Definition dbpp_DamBreakWaveSimulator.h:74
std::vector< float64 > m_waveProfile
Definition dbpp_DamBreakWaveSimulator.h:75
Definition HydUtils.h:15
Definition DamBreakProb.h:15
double float64
Definition dbpp_LDeltaOperator.h:12