ug4
ug::OutNormCmp< TDomain > Class Template Reference

Projection to the outer normal for a given vector user data. More...

#include <dim_dim_user_data.h>

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

Public Member Functions

virtual bool continuous () const
 Indicator functions are discontinuous. More...
 
template<int refDim>
void evaluate (vec_type 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() (vec_type &vValue, const MathVector< dim > &globIP, number time, int si) const
 This function should not be used. More...
 
void operator() (vec_type vValue[], const MathVector< dim > vGlobIP[], number time, int si, const size_t nip) const
 This function should not be used. More...
 
 OutNormCmp (SmartPtr< domain_type > spDomain, SmartPtr< UserData< vec_type, dim, void > > spData)
 constructor More...
 
 OutNormCmp (SmartPtr< domain_type > spDomain, SmartPtr< UserData< vec_type, dim, void > > spData, const char *ss_names)
 constructor More...
 
virtual bool requires_grid_fct () const
 Returns true to get the grid element in the evaluation routine. More...
 
- Public Member Functions inherited from ug::StdUserData< OutNormCmp< TDomain >, MathVector< TDomain::dim >, TDomain::dim, void, UserData< MathVector< TDomain::dim >, TDomain::dim, void > >
virtual void operator() (MathVector< TDomain::dim > &value, const MathVector< dim > &globIP, number time, int si) const=0
 returns value for a global position More...
 
virtual void operator() (MathVector< TDomain::dim > vValue[], const MathVector< dim > vGlobIP[], number time, int si, const size_t nip) const=0
 returns value for global positions More...
 
virtual void operator() (MathVector< TDomain::dim > 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() (MathVector< TDomain::dim > 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() (MathVector< TDomain::dim > 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...
 
virtual void set_function_pattern (ConstSmartPtr< FunctionPattern > fctPatt)
 sets the function pattern for a possibly needed grid function 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...
 
typedef MathVector< dimvec_type
 the original data type More...
 

Private Attributes

SmartPtr< UserData< vec_type, dim, void > > m_spData
 the original data More...
 
SmartPtr< domain_typem_spDomain
 the domain More...
 
SubsetGroup m_ssGrp
 the subset group for the inner part 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< OutNormCmp< TDomain >, MathVector< TDomain::dim >, TDomain::dim, void, UserData< MathVector< TDomain::dim >, TDomain::dim, void > >
OutNormCmp< TDomain > & getImpl ()
 access to implementation More...
 
const OutNormCmp< 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...
 

Detailed Description

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

Projection to the outer normal for a given vector user data.

This class implements the UserData for evaluation of the normal component of vectors computed by the other user data object. The normal component is evaluation only for WDim-1-dimensional subsets - sides of WDim-dimensional elements.

Member Typedef Documentation

◆ domain_type

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

the domain type

◆ grid_type

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

the grid type

◆ vec_type

template<typename TDomain >
typedef MathVector<dim> ug::OutNormCmp< TDomain >::vec_type
private

the original data type

Constructor & Destructor Documentation

◆ OutNormCmp() [1/2]

template<typename TDomain >
ug::OutNormCmp< TDomain >::OutNormCmp ( SmartPtr< domain_type spDomain,
SmartPtr< UserData< vec_type, dim, void > >  spData,
const char *  ss_names 
)
inline

constructor

Parameters
spDomainthe domain
spDatathe original data
ss_namesthe subsets

References ug::SubsetGroup::add(), ug::SubsetGroup::clear(), ug::OutNormCmp< TDomain >::m_ssGrp, ug::RemoveWhitespaceFromString(), ug::TokenizeString(), and UG_CATCH_THROW.

◆ OutNormCmp() [2/2]

template<typename TDomain >
ug::OutNormCmp< TDomain >::OutNormCmp ( SmartPtr< domain_type spDomain,
SmartPtr< UserData< vec_type, dim, void > >  spData 
)
inline

constructor

Parameters
spDomainthe domain
spDatathe original data

Member Function Documentation

◆ continuous()

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

Indicator functions are discontinuous.

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

◆ evaluate()

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

This function should not be used.

References UG_THROW.

◆ operator()() [2/2]

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

This function should not be used.

References UG_THROW.

◆ requires_grid_fct()

template<typename TDomain >
virtual bool ug::OutNormCmp< 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::OutNormCmp< TDomain >::m_spData.

Member Data Documentation

◆ dim

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

the world dimension

Referenced by ug::OutNormCmp< TDomain >::evaluate().

◆ m_spData

template<typename TDomain >
SmartPtr<UserData<vec_type, dim, void> > ug::OutNormCmp< TDomain >::m_spData
private

the original data

Referenced by ug::OutNormCmp< TDomain >::requires_grid_fct().

◆ m_spDomain

template<typename TDomain >
SmartPtr<domain_type> ug::OutNormCmp< TDomain >::m_spDomain
private

the domain

Referenced by ug::OutNormCmp< TDomain >::evaluate().

◆ m_ssGrp

template<typename TDomain >
SubsetGroup ug::OutNormCmp< TDomain >::m_ssGrp
private

the subset group for the inner part

Referenced by ug::OutNormCmp< TDomain >::evaluate(), and ug::OutNormCmp< TDomain >::OutNormCmp().


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