Plugins
Loading...
Searching...
No Matches
ug::d3f::OutflowIntegrationObserver< TDomain, TAlgebra > Class Template Reference

Observer that integrates the river outflow over time. More...

#include <river_data_observer.h>

+ Inheritance diagram for ug::d3f::OutflowIntegrationObserver< TDomain, TAlgebra >:

Public Types

typedef ITimeIntegratorObserver< TDomain, TAlgebra > base_type
 
typedef GridFunction< TDomain, TAlgebra > grid_function_type
 
typedef CplUserData< number, dimTNumberData
 
typedef CplUserData< MathVector< dim >, dimTVectorData
 
- Public Types inherited from ug::ITimeIntegratorObserver< TDomain, TAlgebra >
typedef GridFunction< TDomain, TAlgebra > grid_function_type
 

Public Member Functions

 OutflowIntegrationObserver (SmartPtr< TVectorData > velocity, SmartPtr< TNumberData > area, const char *subset="Sink", const char *inner_subset="River")
 Constructor.
 
void reset_value ()
 Resets the cumulative counter.
 
bool step_process (SmartPtr< grid_function_type > uNew, int step, number time, number dt) override
 Integrates the outflow for the current time step and adds it to the total.
 
number value () const
 Returns the cumulative integrated value.
 
virtual ~OutflowIntegrationObserver ()=default
 
- Public Member Functions inherited from ug::ITimeIntegratorObserver< TDomain, TAlgebra >
virtual ~ITimeIntegratorObserver ()
 

Static Public Attributes

static const int dim = TDomain::dim
 

Protected Attributes

const char * inner_subset_name
 
SmartPtr< TNumberDatam_A
 
number m_value
 
SmartPtr< TVectorDatam_vel
 
const char * subset_name
 

Detailed Description

template<class TDomain, class TAlgebra>
class ug::d3f::OutflowIntegrationObserver< TDomain, TAlgebra >

Observer that integrates the river outflow over time.

This observer calculates the cumulative mass/volume of water leaving the river network through "Sink" nodes at each successful time step.

Template Parameters
TDomainThe domain type.
TAlgebraThe algebra type.

Member Typedef Documentation

◆ base_type

template<class TDomain , class TAlgebra >
typedef ITimeIntegratorObserver<TDomain, TAlgebra> ug::d3f::OutflowIntegrationObserver< TDomain, TAlgebra >::base_type

◆ grid_function_type

template<class TDomain , class TAlgebra >
typedef GridFunction<TDomain, TAlgebra> ug::d3f::OutflowIntegrationObserver< TDomain, TAlgebra >::grid_function_type

◆ TNumberData

template<class TDomain , class TAlgebra >
typedef CplUserData<number, dim> ug::d3f::OutflowIntegrationObserver< TDomain, TAlgebra >::TNumberData

◆ TVectorData

template<class TDomain , class TAlgebra >
typedef CplUserData<MathVector<dim>, dim> ug::d3f::OutflowIntegrationObserver< TDomain, TAlgebra >::TVectorData

Constructor & Destructor Documentation

◆ OutflowIntegrationObserver()

template<class TDomain , class TAlgebra >
ug::d3f::OutflowIntegrationObserver< TDomain, TAlgebra >::OutflowIntegrationObserver ( SmartPtr< TVectorData velocity,
SmartPtr< TNumberData area,
const char *  subset = "Sink",
const char *  inner_subset = "River" 
)
inline

Constructor.

Parameters
velocityUser data for river velocity (v).
areaUser data for wetted cross-section (A).
subsetBoundary subset name (default: "Sink").
inner_subsetInner subset name (default: "River").

◆ ~OutflowIntegrationObserver()

template<class TDomain , class TAlgebra >
virtual ug::d3f::OutflowIntegrationObserver< TDomain, TAlgebra >::~OutflowIntegrationObserver ( )
virtualdefault

Member Function Documentation

◆ reset_value()

template<class TDomain , class TAlgebra >
void ug::d3f::OutflowIntegrationObserver< TDomain, TAlgebra >::reset_value ( )
inline

Resets the cumulative counter.

References ug::d3f::OutflowIntegrationObserver< TDomain, TAlgebra >::m_value.

◆ step_process()

◆ value()

template<class TDomain , class TAlgebra >
number ug::d3f::OutflowIntegrationObserver< TDomain, TAlgebra >::value ( ) const
inline

Returns the cumulative integrated value.

References ug::d3f::OutflowIntegrationObserver< TDomain, TAlgebra >::m_value.

Member Data Documentation

◆ dim

template<class TDomain , class TAlgebra >
const int ug::d3f::OutflowIntegrationObserver< TDomain, TAlgebra >::dim = TDomain::dim
static

◆ inner_subset_name

template<class TDomain , class TAlgebra >
const char* ug::d3f::OutflowIntegrationObserver< TDomain, TAlgebra >::inner_subset_name
protected

◆ m_A

template<class TDomain , class TAlgebra >
SmartPtr<TNumberData> ug::d3f::OutflowIntegrationObserver< TDomain, TAlgebra >::m_A
protected

◆ m_value

◆ m_vel

template<class TDomain , class TAlgebra >
SmartPtr<TVectorData> ug::d3f::OutflowIntegrationObserver< TDomain, TAlgebra >::m_vel
protected

◆ subset_name

template<class TDomain , class TAlgebra >
const char* ug::d3f::OutflowIntegrationObserver< TDomain, TAlgebra >::subset_name
protected

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