13#include "include/Sfx_TimePrm.h"
14#include "include/Sfx_Utility.h"
15#include "include/Sfx_Simulator.h"
38 public std::enable_shared_from_this<DamBreakSim>
76 void run() override final;
79 bool init() override final;
85 void dump(
const std::filesystem::path& aFilePath );
void(*)(DBSArrayType &aFF1, DBSArrayType &aFF2, const DBSArrayType &aU1, const DBSArrayType &aU2) CalculFF
PointerToFunction(numerical flux computation)
Definition SimulationConfig.h:32
std::valarray< float64 > DBSArrayType
Definition SimulationConfig.h:22
bool isFlatBedTopography() const
Cross-section flow topography.
Definition DamBreakSim.h:158
void dump(const std::filesystem::path &aFilePath)
Save data in a file for visualizing.
Definition DamBreakSim.cpp:354
bool mSimRunning
Definition DamBreakSim.h:198
float64 mDt
Definition DamBreakSim.h:214
void setCFL(float64 aOther)
Definition DamBreakSim.h:116
int32 mNbIterMax
Definition DamBreakSim.h:191
DBSArrayType mH
Definition DamBreakSim.h:180
DamBreakSim & operator=(const DamBreakSim &aOther)=delete
assigning not allowed
std::string getMethodName()
Numerical scheme for the current simulation.
Definition DamBreakSim.h:136
DBSArrayType mU2
Definition DamBreakSim.h:179
float64 B
Definition DamBreakSim.h:209
eInitialWaveProfile
Definition DamBreakSim.h:45
@ STEP
Definition DamBreakSim.h:47
@ SINE
Definition DamBreakSim.h:46
DBSArrayType mX
Definition DamBreakSim.h:181
DBSArrayType mN
Definition DamBreakSim.h:183
float64 mCFL
Definition DamBreakSim.h:203
bool mUseFriction
Definition DamBreakSim.h:199
const DBSArrayType getH() const noexcept
Set/get water level height.
Definition DamBreakSim.h:89
bool mUseCompare
Definition DamBreakSim.h:201
void ImposePhysCnd()
Definition DamBreakSim.cpp:515
float64 mL
Definition DamBreakSim.h:211
float64 mTime
Definition DamBreakSim.h:206
DBSArrayType mZ
Definition DamBreakSim.h:182
DBSArrayType mU1
Definition DamBreakSim.h:178
float64 mDx
Definition DamBreakSim.h:184
std::string mStVenantOut
Definition DamBreakSim.h:226
Sfx::DamBreakData m_dbData
Definition DamBreakSim.h:236
int32 mNbSections
Definition DamBreakSim.h:187
void saveResult()
Definition DamBreakSim.cpp:380
eInitialWaveProfile m_initialWaveProfile
Definition DamBreakSim.h:223
std::filesystem::path m_currWrkDir
Definition DamBreakSim.h:229
void setMethodName(const std::string &aMethodName)
set method name of numerical scheme
Definition DamBreakSim.h:141
CalculFF m_calculFF
Display the result as a graph (post-script format) for visualization.
Definition DamBreakSim.h:264
const float64 getPhi0() const
Constant value in the initial setting of the Dam-Break problem.
Definition DamBreakSim.h:104
std::ofstream mFileRes
Definition DamBreakSim.h:224
float64 getTimeStep()
return time stepping
Definition DamBreakSim.h:126
float64 mS0am
Definition DamBreakSim.h:216
void setInitialCnd(eInitialWaveProfile aType)
Set/Get Initial profile.
Definition DamBreakSim.h:165
void unInitialize() override final
clean-upof the simulator
Definition DamBreakSim.h:82
uint32 currentIteration()
Current iteration of the simulation.
Definition DamBreakSim.h:131
float64 mPhi1
Definition DamBreakSim.h:218
float64 getCurrentTime() const
Returns the current time of the simulation.
Definition DamBreakSim.h:121
DamBreakSim(const DamBreakSim &aOther)=delete
copying not allowed
void setWorkingDir(std::filesystem::path aProjectPath)
Working directory (store result of simulation and ...)
Definition DamBreakSim.h:153
void run() override final
Definition DamBreakSim.cpp:102
std::string mMethodName
Definition DamBreakSim.h:228
DamBreakSim()
Default ctor.
Definition DamBreakSim.cpp:46
void setPhi0(float64 aValue)
Definition DamBreakSim.h:93
Sfx::SfxTimePrm m_Tip
Definition DamBreakSim.h:195
const float64 getPhi1() const
Constant value in the initial setting of the Dam-Break problem.
Definition DamBreakSim.h:99
int32 mReadpar
Definition DamBreakSim.h:188
void profilecmp(float64 aTime)
Plot profile of the water depth (exact/computed) at a given time.
Definition DamBreakSim.cpp:598
dbpp::ListSectionsFlow m_listDamBreak
Definition DamBreakSim.h:238
float64 mPhi0
Definition DamBreakSim.h:219
~DamBreakSim()=default
Force destructor to be virtual.
bool init() override final
Some initialization of the simulator.
Definition DamBreakSim.cpp:420
float64 getCFL() const
Courant-Friedrich-Levy number of the simulation.
Definition DamBreakSim.h:115
void setPhi1(float64 aValue)
Initial values (water level) imposed on the left and right side of DAM.
Definition DamBreakSim.h:92
std::shared_ptr< DamBreakSim > getDamBreakSim()
share the ownership of 'this' with all existing std::shared_ptr that refer to *this.
Definition DamBreakSim.h:175
eInitialWaveProfile getInitialType() const
Initial wave profile.
Definition DamBreakSim.h:170
float64 mS0av
Definition DamBreakSim.h:217
Hold data for validation. Two type: EMcneil, Hudson (DamBreak config)
Definition Sfx_DamBreakData.h:17
List of cross-section flow (itereable)
Definition dbpp_ListSectionsFlow.h:15