DamBreak++ Wave Simulator 0.3
DamBreak++ Simulation Framework
Loading...
Searching...
No Matches
Testvs19::DamBreakSystem Class Referencefinal

Physical system under study (physical object) More...

#include <Testvs19_DamBreakSystem.h>

Inheritance diagram for Testvs19::DamBreakSystem:

Public Types

using ListSectionFlowPtr = std::shared_ptr<ListSectionsFlow<dbpp::SectionFlow>>
 Aliases.
using vecidx = std::vector<float64>::size_type
using pair_vecarr = std::pair<std::vector<float64>, std::vector<float64>>
using phystate = pair_vecarr
using value_type = boost::ptr_vector<Sfx::Nodal_Value>::value_type
using size_type = boost::ptr_vector<Sfx::Nodal_Value>::size_type
using iterator = boost::ptr_vector<Sfx::Nodal_Value>::iterator
using const_iterator = boost::ptr_vector<Sfx::Nodal_Value>::const_iterator

Public Member Functions

iterator begin ()
 STL-like interface.
iterator end ()
const_iterator cbegin () const
const_iterator cend () const
auto rbegin ()
auto rend ()
auto crbegin () const
auto crend () const
 DamBreakSystem (std::string aName="DamBreakSystem")
 ctor
void add (Sfx::Object *aNval) override final
 Add object to the system.
bool contains (const Sfx::Object *aN2find) override final
 Check if object already added.
bool remove (const Sfx::Object *aN2find) override final
 Remove an object from system.
bool empty () const noexcept override final
 check if system contains any object
size_t size () const override final
 Number of elements.
void setH ()
std::vector< float64 > getH () const
 Water depth.
phystate getPhysicalState () const
 Getter.
void setPhysicalState (phystate aState)
 Setter.
Sfx::StateVector getSectionStateVector (vecidx aSectionIdx) const
 Retrieve state variables of a section flow.
void update ()
 Update Nodal Values (flat bed Z=0, unit width)
ListSectionFlowPtr getListSectionFlow () const
 Getter.
void attach (Sfx::Observer *aObs2Attach) override final
 Add an observer.
void detach (Sfx::Observer *aObs2Detach) override final
 Remove an observer.
void notify () override final
 Notify all observers.

Private Attributes

std::string m_name
phystate m_phyState
ListSectionFlowPtr m_listOfSections { nullptr }
boost::ptr_vector< Sfx::Nodal_Value > m_Objs
std::list< Sfx::Observer * > m_listObs

Detailed Description

Physical system under study (physical object)

Member Typedef Documentation

◆ const_iterator

using Testvs19::DamBreakSystem::const_iterator = boost::ptr_vector<Sfx::Nodal_Value>::const_iterator

◆ iterator

using Testvs19::DamBreakSystem::iterator = boost::ptr_vector<Sfx::Nodal_Value>::iterator

◆ ListSectionFlowPtr

◆ pair_vecarr

using Testvs19::DamBreakSystem::pair_vecarr = std::pair<std::vector<float64>, std::vector<float64>>

◆ phystate

◆ size_type

using Testvs19::DamBreakSystem::size_type = boost::ptr_vector<Sfx::Nodal_Value>::size_type

◆ value_type

using Testvs19::DamBreakSystem::value_type = boost::ptr_vector<Sfx::Nodal_Value>::value_type

◆ vecidx

using Testvs19::DamBreakSystem::vecidx = std::vector<float64>::size_type

Constructor & Destructor Documentation

◆ DamBreakSystem()

Testvs19::DamBreakSystem::DamBreakSystem ( std::string aName = "DamBreakSystem")
explicit

ctor

Parameters
aNamestring description

Member Function Documentation

◆ add()

void Testvs19::DamBreakSystem::add ( Sfx::Object * aNval)
finaloverride

Add object to the system.

Parameters
aNvalObject to add

◆ attach()

void Testvs19::DamBreakSystem::attach ( Sfx::Observer * aObs2Attach)
inlinefinaloverride

Add an observer.

Parameters
aObs2Attachobserver to add

◆ begin()

iterator Testvs19::DamBreakSystem::begin ( )
inline

STL-like interface.

◆ cbegin()

const_iterator Testvs19::DamBreakSystem::cbegin ( ) const
inline

◆ cend()

const_iterator Testvs19::DamBreakSystem::cend ( ) const
inline

◆ contains()

bool Testvs19::DamBreakSystem::contains ( const Sfx::Object * aN2find)
finaloverride

Check if object already added.

Parameters
aN2findObject to look for
Returns
true/false

◆ crbegin()

auto Testvs19::DamBreakSystem::crbegin ( ) const
inline

◆ crend()

auto Testvs19::DamBreakSystem::crend ( ) const
inline

◆ detach()

void Testvs19::DamBreakSystem::detach ( Sfx::Observer * aObs2Detach)
finaloverride

Remove an observer.

Parameters
aObs2Detachobserver to remove

◆ empty()

bool Testvs19::DamBreakSystem::empty ( ) const
inlinenodiscardfinaloverridenoexcept

check if system contains any object

Returns
true/false

◆ end()

iterator Testvs19::DamBreakSystem::end ( )
inline

◆ getH()

std::vector< float64 > Testvs19::DamBreakSystem::getH ( ) const
inline

Water depth.

Returns
vector of water depth values (nodal point)

◆ getListSectionFlow()

ListSectionFlowPtr Testvs19::DamBreakSystem::getListSectionFlow ( ) const
inline

Getter.

Returns
List of physical object

◆ getPhysicalState()

phystate Testvs19::DamBreakSystem::getPhysicalState ( ) const
inline

Getter.

Returns
system state variables

◆ getSectionStateVector()

Sfx::StateVector Testvs19::DamBreakSystem::getSectionStateVector ( vecidx aSectionIdx) const
inline

Retrieve state variables of a section flow.

Parameters
aSectionIdxsection id
Returns
StateVector of state variable of a given section

◆ notify()

void Testvs19::DamBreakSystem::notify ( )
finaloverride

Notify all observers.

◆ rbegin()

auto Testvs19::DamBreakSystem::rbegin ( )
inline

◆ remove()

bool Testvs19::DamBreakSystem::remove ( const Sfx::Object * aN2find)
finaloverride

Remove an object from system.

Parameters
aN2findobject to remove
Returns
true/false

◆ rend()

auto Testvs19::DamBreakSystem::rend ( )
inline

◆ setH()

void Testvs19::DamBreakSystem::setH ( )
inline

◆ setPhysicalState()

void Testvs19::DamBreakSystem::setPhysicalState ( phystate aState)
inline

Setter.

Parameters
aStatesystem state variables

◆ size()

size_t Testvs19::DamBreakSystem::size ( ) const
inlinefinaloverride

Number of elements.

Returns
size

◆ update()

void Testvs19::DamBreakSystem::update ( )
inline

Update Nodal Values (flat bed Z=0, unit width)

Member Data Documentation

◆ m_listObs

std::list<Sfx::Observer*> Testvs19::DamBreakSystem::m_listObs
private

list observer

◆ m_listOfSections

ListSectionFlowPtr Testvs19::DamBreakSystem::m_listOfSections { nullptr }
private

list sections flow

◆ m_name

std::string Testvs19::DamBreakSystem::m_name
private

physical system description

◆ m_Objs

boost::ptr_vector<Sfx::Nodal_Value> Testvs19::DamBreakSystem::m_Objs
private

◆ m_phyState

phystate Testvs19::DamBreakSystem::m_phyState
private

physical state variables


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