|
ug4
|
Scaled flux for a given vector user data. More...
#include <dim_dim_user_data.h>
Inheritance diagram for ug::ScaledFluxData< TDomain >:Public Member Functions | |
| virtual bool | continuous () const |
| Indicator functions are discontinuous. | |
| 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. | |
| void | operator() (number &vValue, const MathVector< dim > &globIP, number time, int si) const |
| This function should not be used. | |
| void | operator() (number vValue[], const MathVector< dim > vGlobIP[], number time, int si, const size_t nip) const |
| This function should not be used. | |
| virtual bool | requires_grid_fct () const |
| Returns true to get the grid element in the evaluation routine. | |
| ScaledFluxData (SmartPtr< domain_type > spDomain, SmartPtr< UserData< number, dim, void > > spScalData, SmartPtr< UserData< vec_type, dim, void > > spVecData) | |
| constructor | |
| ScaledFluxData (SmartPtr< domain_type > spDomain, SmartPtr< UserData< number, dim, void > > spScalData, SmartPtr< UserData< vec_type, dim, void > > spVecData, const char *ss_names) | |
| constructor | |
Public Member Functions inherited from ug::StdUserData< ScaledFluxData< 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< number, TDomain::dim, void > | |
| int | get_dim () const |
| returns dimension | |
| virtual void | operator() (number &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() (number &value, const MathVector< dim > &globIP, number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 1 > &locIP, LocalVector *u) const |
| void | operator() (number &value, const MathVector< dim > &globIP, number time, int si, GridObject *elem, const MathVector< dim > vCornerCoords[], const MathVector< 2 > &locIP, LocalVector *u) const |
| void | operator() (number &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 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 | |
Private Types | |
| typedef TDomain | domain_type |
| the domain type | |
| typedef TDomain::grid_type | grid_type |
| the grid type | |
| typedef MathVector< dim > | vec_type |
| the original data type | |
Private Attributes | |
| SmartPtr< domain_type > | m_spDomain |
| the domain | |
| SmartPtr< UserData< number, dim, void > > | m_spScalData |
| the scaling data | |
| SmartPtr< UserData< vec_type, dim, void > > | m_spVecData |
| the original vector field data | |
| 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< number, TDomain::dim, void > | |
| typedef number | data_type |
| typedef void | return_type |
Protected Member Functions inherited from ug::StdUserData< ScaledFluxData< TDomain >, number, TDomain::dim, void, UserData< number, TDomain::dim, void > > | |
| ScaledFluxData< TDomain > & | getImpl () |
| access to implementation | |
| const ScaledFluxData< 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. | |
Scaled flux for a given vector user data.
This class implements the UserData for evaluation of the flux of a vector field computed by the other user data object. The flux is evaluation only for WDim-1-dimensional subsets - sides of WDim-dimensional elements. It is scaled by a furthe (scalar) UserData.
ToDo: Note that the LocalVector provided for the evaluate function is not properly used. Thus, the passed UserData objects should not use it.
|
private |
the domain type
|
private |
the grid type
|
private |
the original data type
|
inline |
constructor
| spDomain | the domain |
| spScalData | the scaling data |
| spVecData | the original vector field data |
| ss_names | the subsets |
References ug::SubsetGroup::add(), ug::SubsetGroup::clear(), ug::ScaledFluxData< TDomain >::m_ssGrp, ug::RemoveWhitespaceFromString(), ug::TokenizeString(), and UG_CATCH_THROW.
|
inline |
constructor
| spDomain | the domain |
| spScalData | the scaling data |
| spVecData | the original vector field data |
|
inlinevirtual |
Indicator functions are discontinuous.
Implements ug::UserData< number, TDomain::dim, void >.
|
inline |
Evaluator.
References ug::CollectCornerCoordinates(), ug::SubsetGroup::contains(), ug::ScaledFluxData< TDomain >::dim, ug::SubsetGroup::empty(), SmartPtr< T, FreePolicy >::get(), ug::DimReferenceMapping< TDim, TWorldDim >::global_to_local(), ug::ScaledFluxData< TDomain >::m_spDomain, ug::ScaledFluxData< TDomain >::m_ssGrp, ug::GridObject::reference_object_id(), ug::SubsetGroup::subset_handler(), UG_THROW, ug::VecDot(), ug::VecLength(), ug::VecScale(), and ug::VecSubtract().
|
inlinevirtual |
This function should not be used.
References UG_THROW.
|
inlinevirtual |
This function should not be used.
References UG_THROW.
|
inlinevirtual |
Returns true to get the grid element in the evaluation routine.
Implements ug::UserData< number, TDomain::dim, void >.
References ug::ScaledFluxData< TDomain >::m_spScalData, and ug::ScaledFluxData< TDomain >::m_spVecData.
|
staticprivate |
the world dimension
Referenced by ug::ScaledFluxData< TDomain >::evaluate().
|
private |
the domain
Referenced by ug::ScaledFluxData< TDomain >::evaluate().
|
private |
the scaling data
Referenced by ug::ScaledFluxData< TDomain >::requires_grid_fct().
|
private |
the original vector field data
Referenced by ug::ScaledFluxData< TDomain >::requires_grid_fct().
|
private |
the subset group for the inner part
Referenced by ug::ScaledFluxData< TDomain >::evaluate(), and ug::ScaledFluxData< TDomain >::ScaledFluxData().