ug4
ug::UserData< TData, dim, TRet > Class Template Referenceabstract

Type based UserData. More...

#include <user_data.h>

+ Inheritance diagram for ug::UserData< TData, dim, TRet >:

Public Types

typedef TData data_type
 
typedef TRet return_type
 

Public Member Functions

virtual bool continuous () const =0
 returns if provided data is continuous over geometric object boundaries More...
 
int get_dim () const
 returns dimension More...
 
virtual TRet operator() (TData &value, const MathVector< dim > &globIP, number time, int si) const =0
 returns value for a global position More...
 
virtual void operator() (TData &value, const MathVector< dim > &globIP, number time, int si, Vertex *vrt) const
 returns a value at a vertex More...
 
virtual void operator() (TData vValue[], const MathVector< dim > vGlobIP[], number time, int si, const size_t nip) const =0
 returns values for global positions More...
 
virtual bool requires_grid_fct () const =0
 returns if grid function is needed for evaluation More...
 
std::string type () const
 returns type of data as string (e.g. "Number", "Vector", "Matrix") More...
 
TRet operator() (TData &value, const MathVector< dim > &globIP, number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 1 > &locIP, LocalVector *u) const
 
TRet operator() (TData &value, const MathVector< dim > &globIP, number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 2 > &locIP, LocalVector *u) const
 
TRet operator() (TData &value, const MathVector< dim > &globIP, number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 3 > &locIP, LocalVector *u) const
 
virtual void operator() (TData vValue[], const MathVector< dim > vGlobIP[], number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 1 > vLocIP[], const size_t nip, LocalVector *u, const MathMatrix< 1, dim > *vJT=NULL) const =0
 
virtual void operator() (TData vValue[], const MathVector< dim > vGlobIP[], number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 2 > vLocIP[], const size_t nip, LocalVector *u, const MathMatrix< 2, dim > *vJT=NULL) const =0
 
virtual void operator() (TData vValue[], const MathVector< dim > vGlobIP[], number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 3 > vLocIP[], const size_t nip, LocalVector *u, const MathMatrix< 3, dim > *vJT=NULL) const =0
 
- Public Member Functions inherited from ug::UserDataInfo
const FunctionGroupfunction_group () const
 Function Group of functions. More...
 
const FunctionIndexMappingmap () const
 get function mapping More...
 
size_t num_fct () const
 number of functions this export depends on More...
 
virtual void set_function_pattern (ConstSmartPtr< FunctionPattern > fctPatt)
 sets the function pattern for a possibly needed grid function More...
 
virtual ~UserDataInfo ()
 virtual destructor More...
 

Additional Inherited Members

- Protected Attributes inherited from ug::UserDataInfo
FunctionGroup m_fctGrp
 functions the data depends on More...
 
FunctionIndexMapping m_map
 Mapping for import fct. More...
 

Detailed Description

template<typename TData, int dim, typename TRet = void>
class ug::UserData< TData, dim, TRet >

Type based UserData.

This class is the base class for all integration point data for a templated type. It provides the access to the data and handles the global integration points.

Template Parameters
TDataData
dimworld dimension
TRetType of return flag (bool or void)

Member Typedef Documentation

◆ data_type

template<typename TData , int dim, typename TRet = void>
typedef TData ug::UserData< TData, dim, TRet >::data_type

◆ return_type

template<typename TData , int dim, typename TRet = void>
typedef TRet ug::UserData< TData, dim, TRet >::return_type

Member Function Documentation

◆ continuous()

template<typename TData , int dim, typename TRet = void>
virtual bool ug::UserData< TData, dim, TRet >::continuous ( ) const
pure virtual

returns if provided data is continuous over geometric object boundaries

Implements ug::UserDataInfo.

Implemented in ug::StdGlobPosData< TImpl, TData, dim, TRet >, ug::StdGlobPosData< VRLCondUserNumber< dim >, number, dim, bool >, ug::StdGlobPosData< VRLUserData< TData, dim >, TData, dim >, ug::StdGlobPosData< RotatingVelocity2d, MathVector< 2 >, 2 >, ug::StdGlobPosData< RasterUserData< dim >, number, dim, void >, ug::StdGlobPosData< IDWUserData< WDim, number >, number, WDim >, ug::StdGlobPosData< GlobalGridFunctionGradientData< TGridFunction >, MathVector< TGridFunction::dim >, TGridFunction::dim >, ug::StdGlobPosData< LognormalRandomField< TData, dim, void >, TData, dim, void >, ug::StdGlobPosData< RotatingCone2d, number, 2 >, ug::StdGlobPosData< GlobalGridFunctionNumberData< TGridFunction, TGridFunction::dim >, number, TGridFunction::dim >, ug::StdGlobPosData< LuaUserData< TData, dim, void >, TData, dim, void >, ug::StdDataLinker< TImpl, TData, dim >, ug::StdDataLinker< BinghamViscosityLinker< dim >, number, dim >, ug::StdDataLinker< LuaUserFunction< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< UserVectorEntryAdapter< dim >, number, dim >, ug::StdDataLinker< ProjectionLinker< dim >, MathVector< dim >, dim >, ug::StdDataLinker< ScaleAddLinker< TData, dim, TDataScale, TData >, TData, dim >, ug::StdDataLinker< InverseLinker< dim >, number, dim >, ug::StdDataLinker< IntervalNumberLinker< dim >, number, dim >, ug::StdDataLinker< VRLUserLinker< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< DarcyVelocityLinker< dim >, MathVector< dim >, dim >, ug::StdDataLinker< RichardsLinker< dim, TFunctor >, number, dim >, ug::DataExport< TData, dim >, ug::VectorDataExport< dim >, ug::GradientDataExport< dim >, ug::ValueDataExport< dim >, ug::StdConstData< TImpl, TData, dim >, ug::StdConstData< ConstUserNumber< dim >, number, dim >, ug::StdConstData< ConstUserMatrix< N, N, N >, MathMatrix< N, N >, N >, ug::StdConstData< ConstUserVector< dim, dim >, MathVector< dim >, dim >, ug::StdConstData< ConstUserTensor< TRank, dim >, MathTensor< TRank, dim >, dim >, ug::ValueIndicatorUserData< TDomain >, ug::SubsetIndicatorUserData< TDomain >, ug::RasterUserData< dim >, ug::GlobAttachmentElementUserData< WDim, TData >, ug::EdgeOrientation< TDomain >, ug::OutNormCmp< TDomain >, ug::CompositeUserData< TData, dim, TRet >, ug::ExplicitGridFunctionGradient< TGridFunction >, ug::ExplicitGridFunctionVector< TGridFunction >, ug::ExplicitGridFunctionValue< TGridFunction >, ug::StdExplicitGridFunctionData< TImpl, TData, TGridFunction >, ug::StdExplicitGridFunctionData< ExplicitGridFunctionVector< TGridFunction >, MathVector< TGridFunction::dim >, TGridFunction >, ug::StdExplicitGridFunctionData< ExplicitGridFunctionValue< TGridFunction >, number, TGridFunction >, ug::StdExplicitGridFunctionData< ExplicitGridFunctionGradient< TGridFunction >, MathVector< TGridFunction::dim >, TGridFunction >, ug::GridFunctionGradientComponentData< TGridFunction >, ug::GridFunctionGradientData< TGridFunction >, ug::GridFunctionVectorData< TGridFunction >, ug::GridFunctionNumberData< TGridFunction >, ug::GlobalGridFunctionGradientData< TGridFunction >, ug::GlobalGridFunctionNumberData< TGridFunction, elemDim >, ug::vrl::VRLCondUserNumber< dim >, ug::Electromagnetism::EddyCurrentCurlEDependentCmpUserData< class, ReIm, class >, EddyCurrentCurlEDependentCmpUserData< EddyCurrentImBofEUserData< TGridFunc >, EddyCurrentTraits::_Re_, TGridFunc >, EddyCurrentCurlEDependentCmpUserData< EddyCurrentReBofEUserData< TGridFunc >, EddyCurrentTraits::_Im_, TGridFunc >, ug::Electromagnetism::EddyCurrentHeat< class >, ug::Electromagnetism::NedelecCurlData< class >, ug::Electromagnetism::NedelecGridFunctionData< class >, ug::Electromagnetism::NedelecSigmaEData< class >, ug::Richards::OnSurfaceCondition< dim >, ug::NavierStokes::SeparatedPressureSource< class >, ug::NavierStokes::SeparatedPressureSourceInter< class >, ug::NavierStokes::StdTurbulentViscosityData< class, dim, class, class >, StdTurbulentViscosityData< number, TGridFunction::dim, CRDynamicTurbViscData< TGridFunction >, TGridFunction >, StdTurbulentViscosityData< number, TGridFunction::dim, CRSmagorinskyTurbViscData< TGridFunction >, TGridFunction >, ug::NavierStokes::StdTurbulentViscosityDataFV1< class, dim, class, class >, StdTurbulentViscosityDataFV1< number, TGridFunction::dim, FV1DynamicTurbViscData< TGridFunction >, TGridFunction >, and StdTurbulentViscosityDataFV1< number, TGridFunction::dim, FV1SmagorinskyTurbViscData< TGridFunction >, TGridFunction >.

◆ get_dim()

template<typename TData , int dim, typename TRet = void>
int ug::UserData< TData, dim, TRet >::get_dim ( ) const
inlinevirtual

returns dimension

Implements ug::UserDataInfo.

References dim.

◆ operator()() [1/9]

template<typename TData , int dim, typename TRet = void>
virtual TRet ug::UserData< TData, dim, TRet >::operator() ( TData &  value,
const MathVector< dim > &  globIP,
number  time,
int  si 
) const
pure virtual

returns value for a global position

Implemented in ug::StdUserData< StdExplicitGridFunctionData< TImpl, TData, TGridFunction >, TData, TGridFunction::dim >, ug::StdUserData< StdDataLinker< TImpl, TData, dim >, TData, dim, void, DependentUserData< TData, dim > >, ug::StdUserData< StdDependentUserData< TImpl, TData, dim >, TData, dim, void, DependentUserData< TData, dim > >, ug::StdUserData< StdGlobPosData< TImpl, TData, dim, void >, TData, dim, void >, ug::StdUserData< StdConstData< TImpl, TData, dim >, TData, dim >, ug::StdUserData< StdTurbulentViscosityDataFV1< TData, dim, TImpl, TGridFunction >, TData, dim >, ug::StdUserData< StdTurbulentViscosityData< TData, dim, TImpl, TGridFunction >, TData, dim >, ug::StdUserData< TImpl, TData, dim, TRet, TBase >, ug::StdDependentUserData< TImpl, TData, dim >, ug::StdDependentUserData< DataExport< TData, dim >, TData, dim >, ug::StdGlobPosData< TImpl, TData, dim, TRet >, ug::StdGlobPosData< VRLUserData< TData, dim >, TData, dim >, ug::StdGlobPosData< LognormalRandomField< TData, dim, void >, TData, dim, void >, ug::StdGlobPosData< LuaUserData< TData, dim, void >, TData, dim, void >, ug::StdDataLinker< TImpl, TData, dim >, ug::StdDataLinker< LuaUserFunction< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< ScaleAddLinker< TData, dim, TDataScale, TData >, TData, dim >, ug::StdDataLinker< VRLUserLinker< TData, dim, TDataIn >, TData, dim >, ug::StdConstData< TImpl, TData, dim >, ug::CompositeUserData< TData, dim, TRet >, ug::StdExplicitGridFunctionData< TImpl, TData, TGridFunction >, ug::NavierStokes::StdTurbulentViscosityData< class, dim, class, class >, ug::NavierStokes::StdTurbulentViscosityDataFV1< class, dim, class, class >, ug::StdDataLinker< BinghamViscosityLinker< dim >, number, dim >, ug::StdDataLinker< UserVectorEntryAdapter< dim >, number, dim >, ug::StdDataLinker< InverseLinker< dim >, number, dim >, ug::StdDataLinker< IntervalNumberLinker< dim >, number, dim >, ug::StdDataLinker< RichardsLinker< dim, TFunctor >, number, dim >, ug::StdDataLinker< ProjectionLinker< dim >, MathVector< dim >, dim >, and ug::StdDataLinker< DarcyVelocityLinker< dim >, MathVector< dim >, dim >.

Referenced by ug::UserData< TData, dim, TRet >::operator()().

◆ operator()() [2/9]

template<typename TData , int dim, typename TRet = void>
TRet ug::UserData< TData, dim, TRet >::operator() ( TData &  value,
const MathVector< dim > &  globIP,
number  time,
int  si,
GridObject elem,
const MathVector< dim vCornerCoords[],
const MathVector< 1 > &  locIP,
LocalVector u 
) const
inline

returns value for local and global position

References ug::UserData< TData, dim, TRet >::operator()().

◆ operator()() [3/9]

template<typename TData , int dim, typename TRet = void>
TRet ug::UserData< TData, dim, TRet >::operator() ( TData &  value,
const MathVector< dim > &  globIP,
number  time,
int  si,
GridObject elem,
const MathVector< dim vCornerCoords[],
const MathVector< 2 > &  locIP,
LocalVector u 
) const
inline

returns value for local and global position

References ug::UserData< TData, dim, TRet >::operator()().

◆ operator()() [4/9]

template<typename TData , int dim, typename TRet = void>
TRet ug::UserData< TData, dim, TRet >::operator() ( TData &  value,
const MathVector< dim > &  globIP,
number  time,
int  si,
GridObject elem,
const MathVector< dim vCornerCoords[],
const MathVector< 3 > &  locIP,
LocalVector u 
) const
inline

returns value for local and global position

References ug::UserData< TData, dim, TRet >::operator()().

◆ operator()() [5/9]

template<typename TData , int dim, typename TRet = void>
virtual void ug::UserData< TData, dim, TRet >::operator() ( TData &  value,
const MathVector< dim > &  globIP,
number  time,
int  si,
Vertex vrt 
) const
inlinevirtual

returns a value at a vertex

References ug::UserData< TData, dim, TRet >::operator()().

◆ operator()() [6/9]

template<typename TData , int dim, typename TRet = void>
virtual void ug::UserData< TData, dim, TRet >::operator() ( TData  vValue[],
const MathVector< dim vGlobIP[],
number  time,
int  si,
const size_t  nip 
) const
pure virtual

returns values for global positions

Implemented in ug::StdUserData< StdExplicitGridFunctionData< TImpl, TData, TGridFunction >, TData, TGridFunction::dim >, ug::StdUserData< StdDataLinker< TImpl, TData, dim >, TData, dim, void, DependentUserData< TData, dim > >, ug::StdUserData< StdDependentUserData< TImpl, TData, dim >, TData, dim, void, DependentUserData< TData, dim > >, ug::StdUserData< StdGlobPosData< TImpl, TData, dim, void >, TData, dim, void >, ug::StdUserData< StdConstData< TImpl, TData, dim >, TData, dim >, ug::StdUserData< StdTurbulentViscosityDataFV1< TData, dim, TImpl, TGridFunction >, TData, dim >, ug::StdUserData< StdTurbulentViscosityData< TData, dim, TImpl, TGridFunction >, TData, dim >, ug::StdUserData< TImpl, TData, dim, TRet, TBase >, ug::StdDependentUserData< TImpl, TData, dim >, ug::StdDependentUserData< DataExport< TData, dim >, TData, dim >, ug::StdGlobPosData< TImpl, TData, dim, TRet >, ug::StdGlobPosData< VRLUserData< TData, dim >, TData, dim >, ug::StdGlobPosData< LognormalRandomField< TData, dim, void >, TData, dim, void >, ug::StdGlobPosData< LuaUserData< TData, dim, void >, TData, dim, void >, ug::StdDataLinker< TImpl, TData, dim >, ug::StdDataLinker< LuaUserFunction< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< ScaleAddLinker< TData, dim, TDataScale, TData >, TData, dim >, ug::StdDataLinker< VRLUserLinker< TData, dim, TDataIn >, TData, dim >, ug::StdConstData< TImpl, TData, dim >, ug::CompositeUserData< TData, dim, TRet >, ug::StdExplicitGridFunctionData< TImpl, TData, TGridFunction >, ug::NavierStokes::StdTurbulentViscosityData< class, dim, class, class >, ug::NavierStokes::StdTurbulentViscosityDataFV1< class, dim, class, class >, ug::StdDataLinker< BinghamViscosityLinker< dim >, number, dim >, ug::StdDataLinker< UserVectorEntryAdapter< dim >, number, dim >, ug::StdDataLinker< InverseLinker< dim >, number, dim >, ug::StdDataLinker< IntervalNumberLinker< dim >, number, dim >, ug::StdDataLinker< RichardsLinker< dim, TFunctor >, number, dim >, ug::StdDataLinker< ProjectionLinker< dim >, MathVector< dim >, dim >, and ug::StdDataLinker< DarcyVelocityLinker< dim >, MathVector< dim >, dim >.

◆ operator()() [7/9]

◆ operator()() [8/9]

◆ operator()() [9/9]

◆ requires_grid_fct()

template<typename TData , int dim, typename TRet = void>
virtual bool ug::UserData< TData, dim, TRet >::requires_grid_fct ( ) const
pure virtual

returns if grid function is needed for evaluation

Implements ug::UserDataInfo.

Implemented in ug::DependentUserData< TData, dim >, ug::StdGlobPosData< TImpl, TData, dim, TRet >, ug::StdGlobPosData< VRLCondUserNumber< dim >, number, dim, bool >, ug::StdGlobPosData< VRLUserData< TData, dim >, TData, dim >, ug::StdGlobPosData< RotatingVelocity2d, MathVector< 2 >, 2 >, ug::StdGlobPosData< RasterUserData< dim >, number, dim, void >, ug::StdGlobPosData< IDWUserData< WDim, number >, number, WDim >, ug::StdGlobPosData< GlobalGridFunctionGradientData< TGridFunction >, MathVector< TGridFunction::dim >, TGridFunction::dim >, ug::StdGlobPosData< LognormalRandomField< TData, dim, void >, TData, dim, void >, ug::StdGlobPosData< RotatingCone2d, number, 2 >, ug::StdGlobPosData< GlobalGridFunctionNumberData< TGridFunction, TGridFunction::dim >, number, TGridFunction::dim >, ug::StdGlobPosData< LuaUserData< TData, dim, void >, TData, dim, void >, ug::ProjectionLinker< dim >, ug::StdDataLinker< TImpl, TData, dim >, ug::StdDataLinker< BinghamViscosityLinker< dim >, number, dim >, ug::StdDataLinker< LuaUserFunction< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< UserVectorEntryAdapter< dim >, number, dim >, ug::StdDataLinker< ProjectionLinker< dim >, MathVector< dim >, dim >, ug::StdDataLinker< ScaleAddLinker< TData, dim, TDataScale, TData >, TData, dim >, ug::StdDataLinker< InverseLinker< dim >, number, dim >, ug::StdDataLinker< IntervalNumberLinker< dim >, number, dim >, ug::StdDataLinker< VRLUserLinker< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< DarcyVelocityLinker< dim >, MathVector< dim >, dim >, ug::StdDataLinker< RichardsLinker< dim, TFunctor >, number, dim >, ug::IntervalNumberLinker< dim >, ug::DataExport< TData, dim >, ug::StdConstData< TImpl, TData, dim >, ug::StdConstData< ConstUserNumber< dim >, number, dim >, ug::StdConstData< ConstUserMatrix< N, N, N >, MathMatrix< N, N >, N >, ug::StdConstData< ConstUserVector< dim, dim >, MathVector< dim >, dim >, ug::StdConstData< ConstUserTensor< TRank, dim >, MathTensor< TRank, dim >, dim >, ug::ValueIndicatorUserData< TDomain >, ug::SubsetIndicatorUserData< TDomain >, ug::RasterUserData< dim >, ug::GlobAttachmentElementUserData< WDim, TData >, ug::EdgeOrientation< TDomain >, ug::OutNormCmp< TDomain >, ug::CompositeUserData< TData, dim, TRet >, ug::StdExplicitGridFunctionData< TImpl, TData, TGridFunction >, ug::StdExplicitGridFunctionData< ExplicitGridFunctionVector< TGridFunction >, MathVector< TGridFunction::dim >, TGridFunction >, ug::StdExplicitGridFunctionData< ExplicitGridFunctionValue< TGridFunction >, number, TGridFunction >, ug::StdExplicitGridFunctionData< ExplicitGridFunctionGradient< TGridFunction >, MathVector< TGridFunction::dim >, TGridFunction >, ug::vrl::VRLCondUserNumber< dim >, ug::Electromagnetism::EddyCurrentCurlEDependentCmpUserData< class, ReIm, class >, EddyCurrentCurlEDependentCmpUserData< EddyCurrentImBofEUserData< TGridFunc >, EddyCurrentTraits::_Re_, TGridFunc >, EddyCurrentCurlEDependentCmpUserData< EddyCurrentReBofEUserData< TGridFunc >, EddyCurrentTraits::_Im_, TGridFunc >, ug::Electromagnetism::EddyCurrentHeat< class >, ug::Electromagnetism::NedelecCurlData< class >, ug::Electromagnetism::NedelecGridFunctionData< class >, ug::Electromagnetism::NedelecSigmaEData< class >, ug::Richards::OnSurfaceCondition< dim >, ug::NavierStokes::SeparatedPressureSource< class >, ug::NavierStokes::SeparatedPressureSourceInter< class >, ug::NavierStokes::StdTurbulentViscosityData< class, dim, class, class >, StdTurbulentViscosityData< number, TGridFunction::dim, CRDynamicTurbViscData< TGridFunction >, TGridFunction >, StdTurbulentViscosityData< number, TGridFunction::dim, CRSmagorinskyTurbViscData< TGridFunction >, TGridFunction >, ug::NavierStokes::StdTurbulentViscosityDataFV1< class, dim, class, class >, StdTurbulentViscosityDataFV1< number, TGridFunction::dim, FV1DynamicTurbViscData< TGridFunction >, TGridFunction >, and StdTurbulentViscosityDataFV1< number, TGridFunction::dim, FV1SmagorinskyTurbViscData< TGridFunction >, TGridFunction >.

Referenced by ug::H1SemiDistIntegrand< TGridFunction >::evaluate(), ug::H1EnergyDistIntegrand< TGridFunction >::evaluate(), ug::H1SemiIntegrand< TGridFunction >::evaluate(), and ug::H1EnergyIntegrand< TGridFunction >::evaluate().

◆ type()

template<typename TData , int dim, typename TRet = void>
std::string ug::UserData< TData, dim, TRet >::type ( ) const
inlinevirtual

returns type of data as string (e.g. "Number", "Vector", "Matrix")

Implements ug::UserDataInfo.

References ug::user_data_traits< TData >::name().


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