DamBreak++ Wave Simulator 0.3
DamBreak++ Simulation Framework
Loading...
Searching...
No Matches
dbpp::VS19WaveSimulator Class Reference

DamBreak simulator base class (Wave Simulator) More...

#include <dbpp_VS19WaveSimulator.h>

Inheritance diagram for dbpp::VS19WaveSimulator:

Public Types

enum class  eSurfaceWaveForm { SINE = 0 , STEP = 1 }
enum class  eRiverBedType { FLAT = 0 , STEP = 1 , JUMP = 2 , RANDOM = 3 }
using ListofSectionsFlow = std::shared_ptr<dbpp::ListSectionsFlow>

Public Member Functions

 VS19WaveSimulator (int32 aNbIterationsMax=50, float64 aCFL=0.600000000)
 Ctor Wave Simulator.
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
 VS19WaveSimulator (const VS19WaveSimulator &)=delete
 Disable copy construct.
VS19WaveSimulatoroperator= (const VS19WaveSimulator &)=delete
 Disable assign construct.
 VS19WaveSimulator (VS19WaveSimulator &&)=delete
 Disable move construct.
VS19WaveSimulatoroperator= (const VS19WaveSimulator &&)=delete
 Disable move assign construct.
void update () override final
 Observer method (H-profile at each time step)
std::valarray< float64getH () const noexcept
 water depth at global nodal point
std::shared_ptr< VS19WaveSimulatorsharedPtrTo ()
 share the ownership of 'this' with all existing std::shared_ptr that refer to *this.

Private Member Functions

void setH ()
void saveResult (const Uh &aUh, const Sfx::SfxTimePrm &aTimeSimEnd)

Private Attributes

int32 m_nbIterationsMax
float64 m_cfl
std::string m_activeAlgo
std::string m_validationDir
bool m_saveResult2File
std::ofstream m_fileRes
std::vector< float64m_waveDepthProfile
ListofSectionsFlow m_ListSectFlow

Detailed Description

DamBreak simulator base class (Wave Simulator)

Member Typedef Documentation

◆ ListofSectionsFlow

Member Enumeration Documentation

◆ eRiverBedType

An enum type River bed type

Enumerator
FLAT 

flat bed

STEP 

step bed

JUMP 

hydraulic jump

RANDOM 

variable bed

◆ eSurfaceWaveForm

An enum type Wave profile type

Enumerator
SINE 

sinuosidal profile

STEP 

step profile

Constructor & Destructor Documentation

◆ VS19WaveSimulator() [1/3]

dbpp::VS19WaveSimulator::VS19WaveSimulator ( int32 aNbIterationsMax = 50,
float64 aCFL = 0.600000000 )
inline

Ctor Wave Simulator.

Parameters
aNbIterationsMaxnumber of iterations
aCFLCourant-Friedrich-Levy number

◆ VS19WaveSimulator() [2/3]

dbpp::VS19WaveSimulator::VS19WaveSimulator ( const VS19WaveSimulator & )
delete

Disable copy construct.

Parameters
Objectto copy from

◆ VS19WaveSimulator() [3/3]

dbpp::VS19WaveSimulator::VS19WaveSimulator ( VS19WaveSimulator && )
delete

Disable move construct.

Parameters
Objectto move from

Member Function Documentation

◆ getH()

std::valarray< float64 > dbpp::VS19WaveSimulator::getH ( ) const
inlinenoexcept

water depth at global nodal point

Returns
water depth valarray

◆ init()

bool dbpp::VS19WaveSimulator::init ( )
finaloverride

Initialization of the simulator.

Returns
true/false on success

◆ operator=() [1/2]

VS19WaveSimulator & dbpp::VS19WaveSimulator::operator= ( const VS19WaveSimulator && )
delete

Disable move assign construct.

Parameters
Objectto move assign from
Returns
this

◆ operator=() [2/2]

VS19WaveSimulator & dbpp::VS19WaveSimulator::operator= ( const VS19WaveSimulator & )
delete

Disable assign construct.

Parameters
Objectto assign from
Returns
this

◆ run()

void dbpp::VS19WaveSimulator::run ( )
finaloverride

Main loop of the simulation.

◆ saveResult()

void dbpp::VS19WaveSimulator::saveResult ( const Uh & aUh,
const Sfx::SfxTimePrm & aTimeSimEnd )
private

◆ setH()

void dbpp::VS19WaveSimulator::setH ( )
private

◆ sharedPtrTo()

std::shared_ptr< VS19WaveSimulator > dbpp::VS19WaveSimulator::sharedPtrTo ( )
inline

share the ownership of 'this' with all existing std::shared_ptr that refer to *this.

Returns
shared pointer

◆ unInitialize()

void dbpp::VS19WaveSimulator::unInitialize ( )
inlinefinaloverride

clean-upof the simulator

◆ update()

void dbpp::VS19WaveSimulator::update ( )
finaloverride

Observer method (H-profile at each time step)

Member Data Documentation

◆ m_activeAlgo

std::string dbpp::VS19WaveSimulator::m_activeAlgo
private

current active algorithm

◆ m_cfl

float64 dbpp::VS19WaveSimulator::m_cfl
private

CFL number

◆ m_fileRes

std::ofstream dbpp::VS19WaveSimulator::m_fileRes
private

file stream

◆ m_ListSectFlow

ListofSectionsFlow dbpp::VS19WaveSimulator::m_ListSectFlow
private

list of section flow (why a pointer?)

◆ m_nbIterationsMax

int32 dbpp::VS19WaveSimulator::m_nbIterationsMax
private

maximum numer of iterations

◆ m_saveResult2File

bool dbpp::VS19WaveSimulator::m_saveResult2File
private

flag to save simulation result

◆ m_validationDir

std::string dbpp::VS19WaveSimulator::m_validationDir
private

AlgoValidation directory

◆ m_waveDepthProfile

std::vector<float64> dbpp::VS19WaveSimulator::m_waveDepthProfile
private

vector depth profile


The documentation for this class was generated from the following files: