Loading [MathJax]/extensions/tex2jax.js
ug4
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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.
 
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.
 
void operator() (vec_type &vValue, const MathVector< dim > &globIP, number time, int si) const
 This function should not be used.
 
void operator() (vec_type vValue[], const MathVector< dim > vGlobIP[], number time, int si, const size_t nip) const
 This function should not be used.
 
 OutNormCmp (SmartPtr< domain_type > spDomain, SmartPtr< UserData< vec_type, dim, void > > spData)
 constructor
 
 OutNormCmp (SmartPtr< domain_type > spDomain, SmartPtr< UserData< vec_type, dim, void > > spData, const char *ss_names)
 constructor
 
virtual bool requires_grid_fct () const
 Returns true to get the grid element in the evaluation routine.
 
- 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
 
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
 
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< MathVector< TDomain::dim >, TDomain::dim, void >
int get_dim () const
 returns dimension
 
virtual void operator() (MathVector< TDomain::dim > &value, const MathVector< dim > &globIP, number time, int si, Vertex *vrt) const
 returns a value at a vertex
 
std::string type () const
 returns type of data as string (e.g. "Number", "Vector", "Matrix")
 
void operator() (MathVector< TDomain::dim > &value, const MathVector< dim > &globIP, number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 1 > &locIP, LocalVector *u) const
 
void operator() (MathVector< TDomain::dim > &value, const MathVector< dim > &globIP, number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 2 > &locIP, LocalVector *u) const
 
void operator() (MathVector< TDomain::dim > &value, const MathVector< dim > &globIP, number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 3 > &locIP, LocalVector *u) const
 
- Public Member Functions inherited from ug::UserDataInfo
const FunctionGroupfunction_group () const
 Function Group of functions.
 
const FunctionIndexMappingmap () const
 get function mapping
 
size_t num_fct () const
 number of functions this export depends on
 
const char * obj_name ()
 gets the name of the object (s. the field m_objName)
 
virtual void set_function_pattern (ConstSmartPtr< FunctionPattern > fctPatt)
 sets the function pattern for a possibly needed grid function
 
void set_obj_name (const char *name)
 sets the name of the object (s. the field m_objName)
 
virtual ~UserDataInfo ()
 virtual destructor
 

Private Types

typedef TDomain domain_type
 the domain type
 
typedef TDomain::grid_type grid_type
 the grid type
 
typedef MathVector< dimvec_type
 the original data type
 

Private Attributes

SmartPtr< UserData< vec_type, dim, void > > m_spData
 the original data
 
SmartPtr< domain_typem_spDomain
 the domain
 
SubsetGroup m_ssGrp
 the subset group for the inner part
 

Static Private Attributes

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

Additional Inherited Members

- Public Types inherited from ug::UserData< MathVector< TDomain::dim >, TDomain::dim, void >
typedef MathVector< TDomain::dim > data_type
 
typedef void 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
 
const OutNormCmp< TDomain > & getImpl () const
 const access to implementation
 
- Protected Attributes inherited from ug::UserDataInfo
FunctionGroup m_fctGrp
 functions the data depends on
 
FunctionIndexMapping m_map
 Mapping for import fct.
 
SmartPtr< char > m_objName
 This field is used mainly for debugging: One can assign a name to the object to identify it when running.
 

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< MathVector< TDomain::dim >, TDomain::dim, void >.

◆ evaluate()

◆ 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< MathVector< TDomain::dim >, TDomain::dim, void >.

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: