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

Measure taken on the physical system (defines the required method for the Measurement bean). Still under development, physical state variables are the only measured quantities relevant for this simulation. we may be interested by energy slope, ... any other physics qty. More...

#include <dbpp_PhysicalMeasurement.h>

Public Member Functions

 PhysicalMeasurement ()=default
 default ctor
virtual void take (const PhysicalSystem *aPhysys)
 Physical quantity measured, could be energy, Froude number, ... whatever that ca be measure.
void setTimeStamp (float64 aTimeStamp)
 time stamp of physical measure (correspond simulation time in our case)
float64 getTimeStamp () const noexcept
 time stamp of physical measure(correspond simulation time in our case)
std::optional< float64getA (unsigned int aSectId) const
 Discharge of the cross - section.
std::optional< float64getQ (unsigned int aSectId) const
 Discharge of the cross - section.
sectionMeasure getMeasuredValues (unsigned int aSectId) const
 Measur for a given section.
std::size_t getNumberOfMeasuresTaken () const
 Physical measure on the sytem.

Private Types

using sectionMeasure = std::tuple< unsigned, float64, float64, float64>
 alias
using ListMeasure = std::list<sectionMeasure>
 alias
using mapMeasureValue = std::map<unsigned, sectionMeasure>
 map of physical measure (each section flow)
using umapMeasureValues = std::unordered_map<unsigned, sectionMeasure>
 unordered map since main use is in random access

Private Attributes

float64 m_timeStamp {}
ListMeasure m_listMeasure
mapMeasureValue m_mapMeasure
umapMeasureValues m_umapValues
std::size_t m_numberOfSections {}

Detailed Description

Measure taken on the physical system (defines the required method for the Measurement bean). Still under development, physical state variables are the only measured quantities relevant for this simulation. we may be interested by energy slope, ... any other physics qty.

Member Typedef Documentation

◆ ListMeasure

alias

◆ mapMeasureValue

using dbpp::PhysicalMeasurement::mapMeasureValue = std::map<unsigned, sectionMeasure>
private

map of physical measure (each section flow)

◆ sectionMeasure

using dbpp::PhysicalMeasurement::sectionMeasure = std::tuple< unsigned, float64, float64, float64>
private

alias

◆ umapMeasureValues

using dbpp::PhysicalMeasurement::umapMeasureValues = std::unordered_map<unsigned, sectionMeasure>
private

unordered map since main use is in random access

Constructor & Destructor Documentation

◆ PhysicalMeasurement()

dbpp::PhysicalMeasurement::PhysicalMeasurement ( )
default

default ctor

Member Function Documentation

◆ getA()

std::optional< float64 > dbpp::PhysicalMeasurement::getA ( unsigned int aSectId) const

Discharge of the cross - section.

Returns
measured quantity

◆ getMeasuredValues()

PhysicalMeasurement::sectionMeasure dbpp::PhysicalMeasurement::getMeasuredValues ( unsigned int aSectId) const

Measur for a given section.

Parameters
aSectIdsection index
Returns
return physical measures

◆ getNumberOfMeasuresTaken()

std::size_t dbpp::PhysicalMeasurement::getNumberOfMeasuresTaken ( ) const
inline

Physical measure on the sytem.

Returns
number of measure

◆ getQ()

std::optional< float64 > dbpp::PhysicalMeasurement::getQ ( unsigned int aSectId) const

Discharge of the cross - section.

Returns
measured quantity

◆ getTimeStamp()

float64 dbpp::PhysicalMeasurement::getTimeStamp ( ) const
inlinenoexcept

time stamp of physical measure(correspond simulation time in our case)

Returns
time value

◆ setTimeStamp()

void dbpp::PhysicalMeasurement::setTimeStamp ( float64 aTimeStamp)
inline

time stamp of physical measure (correspond simulation time in our case)

Parameters
aTimeStamp

◆ take()

void dbpp::PhysicalMeasurement::take ( const PhysicalSystem * aPhysys)
virtual

Physical quantity measured, could be energy, Froude number, ... whatever that ca be measure.

Member Data Documentation

◆ m_listMeasure

ListMeasure dbpp::PhysicalMeasurement::m_listMeasure
private

Measure taken on cross-section

◆ m_mapMeasure

mapMeasureValue dbpp::PhysicalMeasurement::m_mapMeasure
private

All measures taken on the system

◆ m_numberOfSections

std::size_t dbpp::PhysicalMeasurement::m_numberOfSections {}
private

Number of physical object for this simulation

◆ m_timeStamp

float64 dbpp::PhysicalMeasurement::m_timeStamp {}
private

simulation time stamp of the measure

◆ m_umapValues

umapMeasureValues dbpp::PhysicalMeasurement::m_umapValues
private

Physical quantities measured on system


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