ug4
|
This is a compositum for user data defined on different subsets. More...
#include <composite_user_data.h>
Public Types | |
typedef UserData< TData, dim, TRet > | base_type |
typedef SmartPtr< base_type > | ref_type |
the attached UserData objects should have the same type as this class (i.e. they are "remapped") | |
![]() | |
typedef TData | data_type |
typedef TRet | return_type |
Public Member Functions | |
void | add (const SubsetGroup &ssg, SmartPtr< base_type > ref) |
Add 'UserData' object for all subsets in a given group. | |
void | add (ConstSmartPtr< ISubsetHandler > ssh, const char *ss_names, SmartPtr< base_type > ref) |
Add 'UserData' object for all subsets by their names. | |
void | add (int si, SmartPtr< base_type > ref) |
Add 'UserData' object for given subset index. | |
CompositeUserData () | |
CompositeUserData (bool continuous) | |
virtual bool | continuous () const |
returns if provided data is continuous over geometric object boundaries | |
SmartPtr< base_type > | get (int si) const |
SmartPtr< TCplUserData > | get_coupled (int si) |
bool | has (int si) const |
Checks if anything is assigned to a given subset index. | |
bool | is_coupled (int si) |
virtual TRet | operator() (TData &value, const MathVector< dim > &globIP, number time, int si) const |
returns value for a global position | |
virtual void | operator() (TData vValue[], const MathVector< dim > vGlobIP[], number time, int si, const size_t nip) const |
returns values for global positions | |
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 |
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 |
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 |
virtual bool | requires_grid_fct () const |
returns true, if at least one of the underlying UserData requires grid functions. | |
virtual | ~CompositeUserData () |
![]() | |
int | get_dim () const |
returns dimension | |
virtual void | operator() (TData &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") | |
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 |
![]() | |
const FunctionGroup & | function_group () const |
Function Group of functions. | |
const FunctionIndexMapping & | map () 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 | |
Protected Types | |
typedef CplUserData< TData, dim, TRet > | TCplUserData |
Private Member Functions | |
void | check (int si) const |
Private Attributes | |
bool | m_bContinuous |
bool | m_bRequiresGridFunction |
std::vector< SmartPtr< base_type > > | m_vData |
Additional Inherited Members | |
![]() | |
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. | |
This is a compositum for user data defined on different subsets.
This combines user data objects defined on several subsets which is handy, but may be slow.
typedef UserData<TData, dim, TRet> ug::CompositeUserData< TData, dim, TRet >::base_type |
typedef SmartPtr<base_type> ug::CompositeUserData< TData, dim, TRet >::ref_type |
the attached UserData objects should have the same type as this class (i.e. they are "remapped")
|
protected |
|
inline |
|
inline |
|
inlinevirtual |
|
inline |
Add 'UserData' object for all subsets in a given group.
ssg | the subset group |
ref | pointer to the user-data object |
References ug::CompositeUserData< TData, dim, TRet >::add(), and ug::SubsetGroup::size().
|
inline |
Add 'UserData' object for all subsets by their names.
ssh | subset handler of the domain |
ss_names | names of the subdomains |
ref | pointer to the user-data object |
References ug::SubsetGroup::add(), ug::CompositeUserData< TData, dim, TRet >::add(), and ug::TokenizeTrimString().
|
inline |
Add 'UserData' object for given subset index.
si | the subset index |
ref | pointer to the user-data object |
References ug::CompositeUserData< TData, dim, TRet >::m_bContinuous, ug::CompositeUserData< TData, dim, TRet >::m_bRequiresGridFunction, ug::CompositeUserData< TData, dim, TRet >::m_vData, and UG_ASSERT.
Referenced by ug::CompositeUserData< TData, dim, TRet >::add(), and ug::CompositeUserData< TData, dim, TRet >::add().
|
inlineprivate |
References ug::CompositeUserData< TData, dim, TRet >::has(), and UG_THROW.
Referenced by ug::CompositeUserData< TData, dim, TRet >::get(), ug::CompositeUserData< TData, dim, TRet >::operator()(), ug::CompositeUserData< TData, dim, TRet >::operator()(), ug::CompositeUserData< TData, dim, TRet >::operator()(), ug::CompositeUserData< TData, dim, TRet >::operator()(), and ug::CompositeUserData< TData, dim, TRet >::operator()().
|
inlinevirtual |
returns if provided data is continuous over geometric object boundaries
Implements ug::UserData< TData, dim, TRet >.
References ug::CompositeUserData< TData, dim, TRet >::m_bContinuous.
|
inline |
|
inline |
|
inline |
Checks if anything is assigned to a given subset index.
References ug::CompositeUserData< TData, dim, TRet >::m_vData.
Referenced by ug::CompositeUserData< TData, dim, TRet >::check(), and ug::CompositeUserData< TData, dim, TRet >::is_coupled().
|
inline |
|
inlinevirtual |
returns value for a global position
Implements ug::UserData< TData, dim, TRet >.
References ug::CompositeUserData< TData, dim, TRet >::check(), and ug::CompositeUserData< TData, dim, TRet >::m_vData.
|
inlinevirtual |
returns values for global positions
Implements ug::UserData< TData, dim, TRet >.
References ug::CompositeUserData< TData, dim, TRet >::check(), and ug::CompositeUserData< TData, dim, TRet >::m_vData.
|
inlinevirtual |
returns values for local and global positions
Implements ug::UserData< TData, dim, TRet >.
References ug::CompositeUserData< TData, dim, TRet >::check(), and ug::CompositeUserData< TData, dim, TRet >::m_vData.
|
inlinevirtual |
returns values for local and global positions
Implements ug::UserData< TData, dim, TRet >.
References ug::CompositeUserData< TData, dim, TRet >::check(), and ug::CompositeUserData< TData, dim, TRet >::m_vData.
|
inlinevirtual |
returns values for local and global positions
Implements ug::UserData< TData, dim, TRet >.
References ug::CompositeUserData< TData, dim, TRet >::check(), and ug::CompositeUserData< TData, dim, TRet >::m_vData.
|
inlinevirtual |
returns true, if at least one of the underlying UserData requires grid functions.
Implements ug::UserData< TData, dim, TRet >.
References ug::CompositeUserData< TData, dim, TRet >::m_bRequiresGridFunction.
|
private |
|
private |
|
private |
Referenced by ug::CompositeUserData< TData, dim, TRet >::add(), ug::CompositeUserData< TData, dim, TRet >::get(), ug::CompositeUserData< TData, dim, TRet >::get_coupled(), ug::CompositeUserData< TData, dim, TRet >::has(), ug::CompositeUserData< TData, dim, TRet >::is_coupled(), ug::CompositeUserData< TData, dim, TRet >::operator()(), ug::CompositeUserData< TData, dim, TRet >::operator()(), ug::CompositeUserData< TData, dim, TRet >::operator()(), ug::CompositeUserData< TData, dim, TRet >::operator()(), and ug::CompositeUserData< TData, dim, TRet >::operator()().