ug4
ug::ValueIndicatorUserData< TDomain > Class Template Reference

"Heaviside step function" based on the value of values of a further userdata More...

#include <subset_indicator_user_data.h>

+ Inheritance diagram for ug::ValueIndicatorUserData< TDomain >:

Public Member Functions

virtual bool continuous () const
 Indicator functions are discontinuous. More...
 
template<int refDim>
void evaluate (number vValue[], const MathVector< dim > vGlobIP[], number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< refDim > vLocIP[], const size_t nip, LocalVector *u, const MathMatrix< refDim, dim > *vJT=NULL) const
 Evaluator. More...
 
void operator() (number &vValue, const MathVector< dim > &globIP, number time, int si) const
 This function should not be used. More...
 
void operator() (number vValue[], const MathVector< dim > vGlobIP[], number time, int si, const size_t nip) const
 This function should not be used. More...
 
virtual bool requires_grid_fct () const
 Returns true to get the grid element in the evaluation routine. More...
 
 ValueIndicatorUserData (SmartPtr< UserData< number, dim, void > > spData, number threshold, bool greater)
 constructor More...
 
- Public Member Functions inherited from ug::StdUserData< ValueIndicatorUserData< TDomain >, number, TDomain::dim, void, UserData< number, TDomain::dim, void > >
virtual void operator() (number 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
 
virtual void operator() (number 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
 
virtual void operator() (number 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
 
- Public Member Functions inherited from ug::UserData< TData, dim, TRet >
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...
 
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...
 
const char * obj_name ()
 gets the name of the object (s. the field m_objName) More...
 
virtual void set_function_pattern (ConstSmartPtr< FunctionPattern > fctPatt)
 sets the function pattern for a possibly needed grid function More...
 
void set_obj_name (const char *name)
 sets the name of the object (s. the field m_objName) More...
 
virtual ~UserDataInfo ()
 virtual destructor More...
 

Private Types

typedef TDomain domain_type
 the domain type More...
 
typedef TDomain::grid_type grid_type
 the grid type More...
 

Private Member Functions

void reset_values (number vValue[], const size_t nip) const
 

Private Attributes

bool m_greater
 if less or greater More...
 
SmartPtr< UserData< number, dim, void > > m_spData
 the original data More...
 
number m_threshold
 the threshold value More...
 

Static Private Attributes

static const int dim = TDomain::dim
 the world dimension More...
 

Additional Inherited Members

- Public Types inherited from ug::UserData< TData, dim, TRet >
typedef TData data_type
 
typedef TRet return_type
 
- Protected Member Functions inherited from ug::StdUserData< ValueIndicatorUserData< TDomain >, number, TDomain::dim, void, UserData< number, TDomain::dim, void > >
ValueIndicatorUserData< TDomain > & getImpl ()
 access to implementation More...
 
const ValueIndicatorUserData< TDomain > & getImpl () const
 const access to implementation More...
 
- Protected Attributes inherited from ug::UserDataInfo
FunctionGroup m_fctGrp
 functions the data depends on More...
 
FunctionIndexMapping m_map
 Mapping for import fct. More...
 
SmartPtr< char > m_objName
 This field is used mainly for debugging: One can assign a name to the object to identify it when running. More...
 

Detailed Description

template<typename TDomain>
class ug::ValueIndicatorUserData< TDomain >

"Heaviside step function" based on the value of values of a further userdata

This class implements the UserData that returns 1 if the given user data is greater/less or equal than a given value.

Member Typedef Documentation

◆ domain_type

template<typename TDomain >
typedef TDomain ug::ValueIndicatorUserData< TDomain >::domain_type
private

the domain type

◆ grid_type

template<typename TDomain >
typedef TDomain::grid_type ug::ValueIndicatorUserData< TDomain >::grid_type
private

the grid type

Constructor & Destructor Documentation

◆ ValueIndicatorUserData()

template<typename TDomain >
ug::ValueIndicatorUserData< TDomain >::ValueIndicatorUserData ( SmartPtr< UserData< number, dim, void > >  spData,
number  threshold,
bool  greater 
)
inline

constructor

Parameters
spDatathe original data
thresholdthe threshold value
greaterif greater or less

References ug::ValueIndicatorUserData< TDomain >::m_spData, and UG_THROW.

Member Function Documentation

◆ continuous()

template<typename TDomain >
virtual bool ug::ValueIndicatorUserData< TDomain >::continuous ( ) const
inlinevirtual

Indicator functions are discontinuous.

Implements ug::UserData< TData, dim, TRet >.

References ug::ValueIndicatorUserData< TDomain >::m_spData.

◆ evaluate()

template<typename TDomain >
template<int refDim>
void ug::ValueIndicatorUserData< TDomain >::evaluate ( number  vValue[],
const MathVector< dim vGlobIP[],
number  time,
int  si,
GridObject elem,
const MathVector< dim vCornerCoords[],
const MathVector< refDim >  vLocIP[],
const size_t  nip,
LocalVector u,
const MathMatrix< refDim, dim > *  vJT = NULL 
) const
inline

◆ operator()() [1/2]

template<typename TDomain >
void ug::ValueIndicatorUserData< TDomain >::operator() ( number vValue,
const MathVector< dim > &  globIP,
number  time,
int  si 
) const
inlinevirtual

◆ operator()() [2/2]

template<typename TDomain >
void ug::ValueIndicatorUserData< TDomain >::operator() ( number  vValue[],
const MathVector< dim vGlobIP[],
number  time,
int  si,
const size_t  nip 
) const
inlinevirtual

◆ requires_grid_fct()

template<typename TDomain >
virtual bool ug::ValueIndicatorUserData< TDomain >::requires_grid_fct ( ) const
inlinevirtual

Returns true to get the grid element in the evaluation routine.

Implements ug::UserData< TData, dim, TRet >.

References ug::ValueIndicatorUserData< TDomain >::m_spData.

◆ reset_values()

template<typename TDomain >
void ug::ValueIndicatorUserData< TDomain >::reset_values ( number  vValue[],
const size_t  nip 
) const
inlineprivate

Member Data Documentation

◆ dim

template<typename TDomain >
const int ug::ValueIndicatorUserData< TDomain >::dim = TDomain::dim
staticprivate

the world dimension

◆ m_greater

template<typename TDomain >
bool ug::ValueIndicatorUserData< TDomain >::m_greater
private

if less or greater

Referenced by ug::ValueIndicatorUserData< TDomain >::reset_values().

◆ m_spData

◆ m_threshold

template<typename TDomain >
number ug::ValueIndicatorUserData< TDomain >::m_threshold
private

the threshold value

Referenced by ug::ValueIndicatorUserData< TDomain >::reset_values().


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