ug4
ug::SubsetIndicatorUserData< TDomain > Class Template Reference

User data of a subset indicator (1 in the subset, 0 everywhere else) More...

#include <subset_indicator_user_data.h>

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

Public Types

typedef TDomain domain_type
 Type of domain. More...
 
typedef domain_type::subset_handler_type subset_handler_type
 subset handler type More...
 
- Public Types inherited from ug::UserData< TData, dim, TRet >
typedef TData data_type
 
typedef TRet return_type
 

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...
 
 SubsetIndicatorUserData (ConstSmartPtr< domain_type > domain, const char *ss_names)
 Constructor. More...
 
- Public Member Functions inherited from ug::StdUserData< SubsetIndicatorUserData< 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...
 

Static Public Attributes

static const int dim = domain_type::dim
 World dimension. More...
 

Private Attributes

SubsetGroup m_ssGrp
 subset group representing the specified subdomain More...
 

Additional Inherited Members

- Protected Member Functions inherited from ug::StdUserData< SubsetIndicatorUserData< TDomain >, number, TDomain::dim, void, UserData< number, TDomain::dim, void > >
SubsetIndicatorUserData< TDomain > & getImpl ()
 access to implementation More...
 
const SubsetIndicatorUserData< 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::SubsetIndicatorUserData< TDomain >

User data of a subset indicator (1 in the subset, 0 everywhere else)

User data based class for the indicator function. The subset names specified in the constructor define a subdomain \( S \) of the whole domain \( \Omega \). This user data class computes the indicator function that is \( 1 \) in \( S \) and zero in \( \Omega \setminus S \).

Member Typedef Documentation

◆ domain_type

template<typename TDomain >
typedef TDomain ug::SubsetIndicatorUserData< TDomain >::domain_type

Type of domain.

◆ subset_handler_type

template<typename TDomain >
typedef domain_type::subset_handler_type ug::SubsetIndicatorUserData< TDomain >::subset_handler_type

subset handler type

Constructor & Destructor Documentation

◆ SubsetIndicatorUserData()

template<typename TDomain >
ug::SubsetIndicatorUserData< TDomain >::SubsetIndicatorUserData ( ConstSmartPtr< domain_type domain,
const char *  ss_names 
)
inline

Member Function Documentation

◆ continuous()

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

Indicator functions are discontinuous.

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

◆ evaluate()

template<typename TDomain >
template<int refDim>
void ug::SubsetIndicatorUserData< 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::SubsetIndicatorUserData< TDomain >::operator() ( number vValue,
const MathVector< dim > &  globIP,
number  time,
int  si 
) const
inlinevirtual

◆ operator()() [2/2]

template<typename TDomain >
void ug::SubsetIndicatorUserData< 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::SubsetIndicatorUserData< TDomain >::requires_grid_fct ( ) const
inlinevirtual

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

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

Member Data Documentation

◆ dim

template<typename TDomain >
const int ug::SubsetIndicatorUserData< TDomain >::dim = domain_type::dim
static

World dimension.

◆ m_ssGrp


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