ug4
|
Base class for UserData. More...
#include <user_data.h>
Public Member Functions | |
bool | at_current_time (size_t s) const |
returns true iff the time point specification is equal to the current one, or not specified More... | |
virtual void | check_setup () const |
returns if the dependent data is ready for evaluation More... | |
void | clear () |
clear all data More... | |
virtual void | compute (LocalVector *u, GridObject *elem, const MathVector< dim > vCornerCoords[], bool bDeriv=false)=0 |
compute values (and derivatives iff compDeriv == true) More... | |
virtual void | compute (LocalVectorTimeSeries *u, GridObject *elem, const MathVector< dim > vCornerCoords[], bool bDeriv=false)=0 |
compute values (and derivatives iff compDeriv == true, but only for the 'current' time point) More... | |
virtual bool | constant () const |
returns if data is constant More... | |
int | dim_local_ips () const |
returns current local ip dimension More... | |
ICplUserData () | |
default constructor More... | |
const MathVector< dim > & | ip (size_t s, size_t ip) const |
returns global ip More... | |
const MathVector< dim > * | ips (size_t s) const |
returns global ips More... | |
template<int ldim> | |
const MathVector< ldim > & | local_ip (size_t s, size_t ip) const |
returns local ip More... | |
template<int ldim> | |
const MathVector< ldim > * | local_ips (size_t s) const |
returns local ips More... | |
virtual SmartPtr< ICplUserData > | needed_data (size_t i) |
return needed data More... | |
size_t | num_ip (size_t s) const |
returns the number of integration points More... | |
virtual size_t | num_needed_data () const |
number of other Data this data depends on More... | |
size_t | num_series () const |
returns the number of ip series More... | |
template<int ldim> | |
size_t | register_local_ip_series (const MathVector< ldim > *vPos, const size_t numIP, bool bMayChange=true) |
set local positions without the specification of the time point, returns series id More... | |
template<int ldim> | |
size_t | register_local_ip_series (const MathVector< ldim > *vPos, const size_t numIP, const int timePointSpec, bool bMayChange=true) |
set local positions, returns series id More... | |
void | set_global_ips (size_t s, const MathVector< dim > *vPos, size_t numIP) |
set global positions More... | |
template<int ldim> | |
void | set_local_ips (const size_t seriesId, const MathVector< ldim > *vPos, const size_t numIP) |
sets new local ip positions for a local ip series More... | |
void | set_subset (int si) |
set the subset of evaluation More... | |
void | set_time_point (const size_t seriesId, const int timePointSpec) |
sets a new time point for a local ip series More... | |
void | set_time_point (size_t timePoint) |
sets the current time point More... | |
void | set_times (const std::vector< number > &vTime) |
set evaluation time More... | |
int | subset () const |
returns the subset of evaluation More... | |
number | time () const |
get the current evaluation time More... | |
number | time (size_t s) const |
get the specified evaluation time More... | |
size_t | time_point () |
returns the current time point More... | |
size_t | time_point (size_t s) const |
returns the time point specification (in particular, the current one, if the own one not specified) More... | |
int | time_point_specification (size_t s) const |
returns the time point specification (note: it may be -1, i.e. not specified) More... | |
virtual void | update_dof_sizes (const LocalIndices &ind) |
resize arrays More... | |
virtual bool | zero_derivative () const |
returns if data depends on solution More... | |
virtual | ~ICplUserData () |
virtual desctructor More... | |
Public Member Functions inherited from ug::UserDataInfo | |
virtual bool | continuous () const =0 |
returns if provided data is continuous over geometric object boundaries More... | |
const FunctionGroup & | function_group () const |
Function Group of functions. More... | |
virtual int | get_dim () const =0 |
returns dimension More... | |
const FunctionIndexMapping & | map () 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 bool | requires_grid_fct () const =0 |
returns if grid function is needed for evaluation 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 std::string | type () const =0 |
returns type of data as string (e.g. "Number", "Vector", "Matrix") More... | |
virtual | ~UserDataInfo () |
virtual destructor More... | |
Protected Member Functions | |
void | check_s (size_t s) const |
checks in debug mode the correct usage of indices More... | |
void | check_s_ip (size_t s, size_t ip) const |
checks in debug mode the correct usage of indices More... | |
std::vector< const MathVector< 1 > * > & | get_local_ips (Int2Type< 1 >) |
help function to get local ips More... | |
const std::vector< const MathVector< 1 > * > & | get_local_ips (Int2Type< 1 >) const |
std::vector< const MathVector< 2 > * > & | get_local_ips (Int2Type< 2 >) |
const std::vector< const MathVector< 2 > * > & | get_local_ips (Int2Type< 2 >) const |
std::vector< const MathVector< 3 > * > & | get_local_ips (Int2Type< 3 >) |
const std::vector< const MathVector< 3 > * > & | get_local_ips (Int2Type< 3 >) const |
virtual void | global_ips_changed (const size_t seriesID, const MathVector< dim > *vPos, const size_t numIP) |
callback invoked after global ips have been changed More... | |
virtual void | local_ip_series_added (const size_t seriesID) |
callback invoked after local ips have been added to the series More... | |
virtual void | local_ip_series_to_be_cleared () |
callback invoked, when local ips are cleared More... | |
virtual void | local_ips_changed (const size_t seriesID, const size_t newNumIP)=0 |
callback invoked, if a local ip series has been changed More... | |
Protected Attributes | |
int | m_defaultTimePoint |
default time point (or -1 if not specified) More... | |
int | m_locPosDim |
dimension of local position (-1 indicates no dim set) More... | |
std::vector< const MathVector< 1 > * > | m_pvLocIP1d |
local ips of dimension 1d-3d More... | |
std::vector< const MathVector< 2 > * > | m_pvLocIP2d |
std::vector< const MathVector< 3 > * > | m_pvLocIP3d |
int | m_si |
subset for evaluation More... | |
size_t | m_timePoint |
current time point (used if no explicit specification for series) More... | |
std::vector< bool > | m_vMayChange |
flags if local ips may change More... | |
std::vector< size_t > | m_vNumIP |
number of evaluation points (-1 indicates no ips set) More... | |
std::vector< number > | m_vTime |
time for evaluation More... | |
std::vector< int > | m_vTimePoint |
time points for the series More... | |
std::vector< const MathVector< dim > * > | m_vvGlobPos |
global ips 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... | |
Base class for UserData.
This is the base class for all coupled data at integration point. It handles the set of local integration points and stores the current time.
dim | world dimension |
ug::ICplUserData< dim >::ICplUserData |
|
inlinevirtual |
virtual desctructor
|
inline |
returns true iff the time point specification is equal to the current one, or not specified
Referenced by ug::StdDependentUserData< TImpl, TData, dim >::eval_deriv().
|
inlineprotected |
checks in debug mode the correct usage of indices
Referenced by ug::ICplUserData< dim >::ips().
|
inlineprotected |
checks in debug mode the correct usage of indices
Referenced by ug::ICplUserData< dim >::ip().
|
inlinevirtual |
returns if the dependent data is ready for evaluation
Reimplemented in ug::StdDataLinker< TImpl, TData, dim >, ug::StdDataLinker< BinghamViscosityLinker< dim >, number, dim >, ug::StdDataLinker< LuaUserFunction< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< UserVectorEntryAdapter< dim >, number, dim >, ug::StdDataLinker< ProjectionLinker< dim >, MathVector< dim >, dim >, ug::StdDataLinker< ScaleAddLinker< TData, dim, TDataScale, TData >, TData, dim >, ug::StdDataLinker< InverseLinker< dim >, number, dim >, ug::StdDataLinker< IntervalNumberLinker< dim >, number, dim >, ug::StdDataLinker< VRLUserLinker< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< DarcyVelocityLinker< dim >, MathVector< dim >, dim >, ug::StdDataLinker< RichardsLinker< dim, TFunctor >, number, dim >, ug::VectorDataExport< dim >, ug::GradientDataExport< dim >, and ug::ValueDataExport< dim >.
void ug::ICplUserData< dim >::clear |
clear all data
|
pure virtual |
compute values (and derivatives iff compDeriv == true)
Implemented in ug::vrl::VRLCondUserNumber< dim >, ug::StdDependentUserData< TImpl, TData, dim >, ug::StdDependentUserData< NedelecGridFunctionData< TGridFunc >, MathVector< TGridFunc::dim >, TGridFunc::dim >, ug::StdDependentUserData< NedelecCurlData< TGridFunc >, MathVector< TGridFunc::dim >, TGridFunc::dim >, ug::StdDependentUserData< GradientDataExport< dim >, MathVector< dim >, dim >, ug::StdDependentUserData< GridFunctionGradientComponentData< TGridFunction >, number, TGridFunction::dim >, ug::StdDependentUserData< EddyCurrentHeat< TGridFunc >, number, TGridFunc::dim >, ug::StdDependentUserData< TImpl, MathVector< TGFunc::dim >, TGFunc::dim >, ug::StdDependentUserData< GridFunctionVectorData< TGridFunction >, MathVector< TGridFunction::dim >, TGridFunction::dim >, ug::StdDependentUserData< VectorDataExport< dim >, MathVector< dim >, dim >, ug::StdDependentUserData< NedelecSigmaEData< TGridFunc >, MathVector< TGridFunc::dim >, TGridFunc::dim >, ug::StdDependentUserData< DataExport< TData, dim >, TData, dim >, ug::StdDependentUserData< GridFunctionGradientData< TGridFunction >, MathVector< TGridFunction::dim >, TGridFunction::dim >, ug::StdDependentUserData< ValueDataExport< dim >, number, dim >, ug::StdDependentUserData< GridFunctionNumberData< TGridFunction >, number, TGridFunction::dim >, ug::StdGlobPosData< TImpl, TData, dim, TRet >, ug::StdGlobPosData< VRLCondUserNumber< dim >, number, dim, bool >, ug::StdGlobPosData< VRLUserData< TData, dim >, TData, dim >, ug::StdGlobPosData< RotatingVelocity2d, MathVector< 2 >, 2 >, ug::StdGlobPosData< RasterUserData< dim >, number, dim, void >, ug::StdGlobPosData< IDWUserData< WDim, number >, number, WDim >, ug::StdGlobPosData< BarryMercerRefPressure, number, 2, void >, ug::StdGlobPosData< GlobalGridFunctionGradientData< TGridFunction >, MathVector< TGridFunction::dim >, TGridFunction::dim >, ug::StdGlobPosData< BarryMercerRefDispY, number, 2, void >, ug::StdGlobPosData< BarryMercerPointSource, number, 2, void >, ug::StdGlobPosData< LognormalRandomField< TData, dim, void >, TData, dim, void >, ug::StdGlobPosData< RotatingCone2d, number, 2 >, ug::StdGlobPosData< BarryMercerRefDispX, number, 2, void >, ug::StdGlobPosData< GlobalGridFunctionNumberData< TGridFunction, TGridFunction::dim >, number, TGridFunction::dim >, ug::StdGlobPosData< LuaUserData< TData, dim, void >, TData, dim, void >, ug::StdDataLinker< TImpl, TData, dim >, ug::StdDataLinker< BinghamViscosityLinker< dim >, number, dim >, ug::StdDataLinker< LuaUserFunction< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< UserVectorEntryAdapter< dim >, number, dim >, ug::StdDataLinker< ProjectionLinker< dim >, MathVector< dim >, dim >, ug::StdDataLinker< ScaleAddLinker< TData, dim, TDataScale, TData >, TData, dim >, ug::StdDataLinker< InverseLinker< dim >, number, dim >, ug::StdDataLinker< IntervalNumberLinker< dim >, number, dim >, ug::StdDataLinker< VRLUserLinker< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< DarcyVelocityLinker< dim >, MathVector< dim >, dim >, ug::StdDataLinker< RichardsLinker< dim, TFunctor >, number, dim >, ug::StdConstData< TImpl, TData, dim >, ug::StdConstData< ConstUserNumber< dim >, number, dim >, ug::StdConstData< ConstUserMatrix< N, N, N >, MathMatrix< N, N >, N >, ug::StdConstData< ConstUserVector< dim, dim >, MathVector< dim >, dim >, ug::StdConstData< ConstUserTensor< TRank, dim >, MathTensor< TRank, dim >, dim >, ug::GlobAttachmentElementUserData< WDim, TData >, ug::EdgeOrientation< TDomain >, ug::StdExplicitGridFunctionData< TImpl, TData, TGridFunction >, ug::StdExplicitGridFunctionData< ExplicitGridFunctionVector< TGridFunction >, MathVector< TGridFunction::dim >, TGridFunction >, ug::StdExplicitGridFunctionData< ExplicitGridFunctionValue< TGridFunction >, number, TGridFunction >, ug::StdExplicitGridFunctionData< ExplicitGridFunctionGradient< TGridFunction >, MathVector< TGridFunction::dim >, TGridFunction >, ug::NavierStokes::SeparatedPressureSource< class >, ug::NavierStokes::SeparatedPressureSourceInter< class >, ug::NavierStokes::StdTurbulentViscosityData< class, dim, class, class >, and ug::NavierStokes::StdTurbulentViscosityDataFV1< class, dim, class, class >.
|
pure virtual |
compute values (and derivatives iff compDeriv == true, but only for the 'current' time point)
Implemented in ug::StdDependentUserData< TImpl, TData, dim >, ug::StdDependentUserData< NedelecGridFunctionData< TGridFunc >, MathVector< TGridFunc::dim >, TGridFunc::dim >, ug::StdDependentUserData< NedelecCurlData< TGridFunc >, MathVector< TGridFunc::dim >, TGridFunc::dim >, ug::StdDependentUserData< GradientDataExport< dim >, MathVector< dim >, dim >, ug::StdDependentUserData< GridFunctionGradientComponentData< TGridFunction >, number, TGridFunction::dim >, ug::StdDependentUserData< EddyCurrentHeat< TGridFunc >, number, TGridFunc::dim >, ug::StdDependentUserData< TImpl, MathVector< TGFunc::dim >, TGFunc::dim >, ug::StdDependentUserData< GridFunctionVectorData< TGridFunction >, MathVector< TGridFunction::dim >, TGridFunction::dim >, ug::StdDependentUserData< VectorDataExport< dim >, MathVector< dim >, dim >, ug::StdDependentUserData< NedelecSigmaEData< TGridFunc >, MathVector< TGridFunc::dim >, TGridFunc::dim >, ug::StdDependentUserData< DataExport< TData, dim >, TData, dim >, ug::StdDependentUserData< GridFunctionGradientData< TGridFunction >, MathVector< TGridFunction::dim >, TGridFunction::dim >, ug::StdDependentUserData< ValueDataExport< dim >, number, dim >, ug::StdDependentUserData< GridFunctionNumberData< TGridFunction >, number, TGridFunction::dim >, ug::StdGlobPosData< TImpl, TData, dim, TRet >, ug::StdGlobPosData< VRLCondUserNumber< dim >, number, dim, bool >, ug::StdGlobPosData< VRLUserData< TData, dim >, TData, dim >, ug::StdGlobPosData< RotatingVelocity2d, MathVector< 2 >, 2 >, ug::StdGlobPosData< RasterUserData< dim >, number, dim, void >, ug::StdGlobPosData< IDWUserData< WDim, number >, number, WDim >, ug::StdGlobPosData< BarryMercerRefPressure, number, 2, void >, ug::StdGlobPosData< GlobalGridFunctionGradientData< TGridFunction >, MathVector< TGridFunction::dim >, TGridFunction::dim >, ug::StdGlobPosData< BarryMercerRefDispY, number, 2, void >, ug::StdGlobPosData< BarryMercerPointSource, number, 2, void >, ug::StdGlobPosData< LognormalRandomField< TData, dim, void >, TData, dim, void >, ug::StdGlobPosData< RotatingCone2d, number, 2 >, ug::StdGlobPosData< BarryMercerRefDispX, number, 2, void >, ug::StdGlobPosData< GlobalGridFunctionNumberData< TGridFunction, TGridFunction::dim >, number, TGridFunction::dim >, ug::StdGlobPosData< LuaUserData< TData, dim, void >, TData, dim, void >, ug::StdDataLinker< TImpl, TData, dim >, ug::StdDataLinker< BinghamViscosityLinker< dim >, number, dim >, ug::StdDataLinker< LuaUserFunction< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< UserVectorEntryAdapter< dim >, number, dim >, ug::StdDataLinker< ProjectionLinker< dim >, MathVector< dim >, dim >, ug::StdDataLinker< ScaleAddLinker< TData, dim, TDataScale, TData >, TData, dim >, ug::StdDataLinker< InverseLinker< dim >, number, dim >, ug::StdDataLinker< IntervalNumberLinker< dim >, number, dim >, ug::StdDataLinker< VRLUserLinker< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< DarcyVelocityLinker< dim >, MathVector< dim >, dim >, ug::StdDataLinker< RichardsLinker< dim, TFunctor >, number, dim >, ug::StdConstData< TImpl, TData, dim >, ug::StdConstData< ConstUserNumber< dim >, number, dim >, ug::StdConstData< ConstUserMatrix< N, N, N >, MathMatrix< N, N >, N >, ug::StdConstData< ConstUserVector< dim, dim >, MathVector< dim >, dim >, ug::StdConstData< ConstUserTensor< TRank, dim >, MathTensor< TRank, dim >, dim >, ug::GlobAttachmentElementUserData< WDim, TData >, ug::EdgeOrientation< TDomain >, ug::StdExplicitGridFunctionData< TImpl, TData, TGridFunction >, ug::StdExplicitGridFunctionData< ExplicitGridFunctionVector< TGridFunction >, MathVector< TGridFunction::dim >, TGridFunction >, ug::StdExplicitGridFunctionData< ExplicitGridFunctionValue< TGridFunction >, number, TGridFunction >, ug::StdExplicitGridFunctionData< ExplicitGridFunctionGradient< TGridFunction >, MathVector< TGridFunction::dim >, TGridFunction >, ug::NavierStokes::SeparatedPressureSource< class >, ug::NavierStokes::StdTurbulentViscosityData< class, dim, class, class >, and ug::NavierStokes::StdTurbulentViscosityDataFV1< class, dim, class, class >.
|
inlinevirtual |
returns if data is constant
Reimplemented in ug::StdGlobPosData< TImpl, TData, dim, TRet >, ug::StdGlobPosData< VRLCondUserNumber< dim >, number, dim, bool >, ug::StdGlobPosData< VRLUserData< TData, dim >, TData, dim >, ug::StdGlobPosData< RotatingVelocity2d, MathVector< 2 >, 2 >, ug::StdGlobPosData< RasterUserData< dim >, number, dim, void >, ug::StdGlobPosData< IDWUserData< WDim, number >, number, WDim >, ug::StdGlobPosData< BarryMercerRefPressure, number, 2, void >, ug::StdGlobPosData< GlobalGridFunctionGradientData< TGridFunction >, MathVector< TGridFunction::dim >, TGridFunction::dim >, ug::StdGlobPosData< BarryMercerRefDispY, number, 2, void >, ug::StdGlobPosData< BarryMercerPointSource, number, 2, void >, ug::StdGlobPosData< LognormalRandomField< TData, dim, void >, TData, dim, void >, ug::StdGlobPosData< RotatingCone2d, number, 2 >, ug::StdGlobPosData< BarryMercerRefDispX, number, 2, void >, ug::StdGlobPosData< GlobalGridFunctionNumberData< TGridFunction, TGridFunction::dim >, number, TGridFunction::dim >, ug::StdGlobPosData< LuaUserData< TData, dim, void >, TData, dim, void >, ug::StdConstData< TImpl, TData, dim >, ug::StdConstData< ConstUserNumber< dim >, number, dim >, ug::StdConstData< ConstUserMatrix< N, N, N >, MathMatrix< N, N >, N >, ug::StdConstData< ConstUserVector< dim, dim >, MathVector< dim >, dim >, ug::StdConstData< ConstUserTensor< TRank, dim >, MathTensor< TRank, dim >, dim >, ug::RasterUserData< dim >, ug::StdExplicitGridFunctionData< TImpl, TData, TGridFunction >, ug::StdExplicitGridFunctionData< ExplicitGridFunctionVector< TGridFunction >, MathVector< TGridFunction::dim >, TGridFunction >, ug::StdExplicitGridFunctionData< ExplicitGridFunctionValue< TGridFunction >, number, TGridFunction >, and ug::StdExplicitGridFunctionData< ExplicitGridFunctionGradient< TGridFunction >, MathVector< TGridFunction::dim >, TGridFunction >.
|
inline |
returns current local ip dimension
References ug::ICplUserData< dim >::m_locPosDim.
Referenced by ug::StdExplicitGridFunctionData< TImpl, TData, TGridFunction >::compute(), and ug::StdDependentUserData< TImpl, TData, dim >::compute().
|
inlineprotected |
help function to get local ips
References ug::ICplUserData< dim >::m_pvLocIP1d.
|
inlineprotected |
References ug::ICplUserData< dim >::m_pvLocIP1d.
|
inlineprotected |
References ug::ICplUserData< dim >::m_pvLocIP2d.
|
inlineprotected |
References ug::ICplUserData< dim >::m_pvLocIP2d.
|
inlineprotected |
References ug::ICplUserData< dim >::m_pvLocIP3d.
|
inlineprotected |
References ug::ICplUserData< dim >::m_pvLocIP3d.
|
inlineprotectedvirtual |
callback invoked after global ips have been changed
This callback is invoked when the global ips have been changed. It can be used by derived classes to react on this fact, e.g. to forward the global_ips.
Reimplemented in ug::StdDataLinker< TImpl, TData, dim >, ug::StdDataLinker< BinghamViscosityLinker< dim >, number, dim >, ug::StdDataLinker< LuaUserFunction< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< UserVectorEntryAdapter< dim >, number, dim >, ug::StdDataLinker< ProjectionLinker< dim >, MathVector< dim >, dim >, ug::StdDataLinker< ScaleAddLinker< TData, dim, TDataScale, TData >, TData, dim >, ug::StdDataLinker< InverseLinker< dim >, number, dim >, ug::StdDataLinker< IntervalNumberLinker< dim >, number, dim >, ug::StdDataLinker< VRLUserLinker< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< DarcyVelocityLinker< dim >, MathVector< dim >, dim >, and ug::StdDataLinker< RichardsLinker< dim, TFunctor >, number, dim >.
|
inline |
returns global ip
References ug::ICplUserData< dim >::check_s_ip(), ug::ICplUserData< dim >::ip(), ug::ICplUserData< dim >::m_vvGlobPos, and s.
Referenced by ug::EdgeOrientation< TDomain >::compute(), ug::StdConstData< TImpl, TData, dim >::compute(), ug::StdGlobPosData< TImpl, TData, dim, TRet >::compute(), ug::vrl::VRLCondUserNumber< dim >::compute(), ug::CplUserData< TData, dim, TRet >::defined(), ug::DependentUserData< TData, dim >::deriv(), ug::InverseLinker< dim >::dividend_deriv(), ug::InverseLinker< dim >::dividend_value(), ug::InverseLinker< dim >::divisor_deriv(), ug::InverseLinker< dim >::divisor_value(), ug::UserVectorEntryAdapter< dim >::eval_and_deriv(), ug::DarcyVelocityLinker< dim >::eval_and_deriv(), ug::GridFunctionVectorData< TGridFunction >::eval_and_deriv(), ug::GridFunctionGradientData< TGridFunction >::eval_and_deriv(), ug::GridFunctionNumberData< TGridFunction >::eval_and_deriv(), ug::GridFunctionGradientComponentData< TGridFunction >::eval_and_deriv(), ug::BinghamViscosityLinker< dim >::eval_and_deriv(), ug::IntervalNumberLinker< dim >::eval_and_deriv(), ug::vrl::VRLUserLinker< TData, dim, TDataIn >::eval_and_deriv(), ug::GlobAttachmentElementUserData< WDim, TData >::eval_on_elem(), ug::UserVectorEntryAdapter< dim >::evaluate(), ug::ExplicitGridFunctionVector< TGridFunction >::evaluate(), ug::ExplicitGridFunctionGradient< TGridFunction >::evaluate(), ug::DarcyVelocityLinker< dim >::evaluate(), ug::ExplicitGridFunctionValue< TGridFunction >::evaluate(), ug::BinghamViscosityLinker< dim >::evaluate(), ug::IntervalNumberLinker< dim >::evaluate(), ug::vrl::VRLUserLinker< TData, dim, TDataIn >::evaluate(), ug::StdConstData< TImpl, TData, dim >::evaluate(), ug::StdGlobPosData< TImpl, TData, dim, TRet >::evaluate(), ug::ScaleAddLinker< TData, dim, TDataScale, TRet >::input_deriv(), ug::ScaleAddLinker< TData, dim, TDataScale, TRet >::input_value(), ug::ICplUserData< dim >::ip(), ug::StdConstData< TImpl, TData, dim >::operator()(), ug::StdGlobPosData< TImpl, TData, dim, TRet >::operator()(), ug::ScaleAddLinker< TData, dim, TDataScale, TRet >::scale_deriv(), ug::ScaleAddLinker< TData, dim, TDataScale, TRet >::scale_value(), ug::CplUserData< TData, dim, TRet >::value(), and ug::StdConstData< TImpl, TData, dim >::value_storage_changed().
|
inline |
returns global ips
References ug::ICplUserData< dim >::check_s(), ug::ICplUserData< dim >::m_vvGlobPos, and s.
Referenced by ug::StdExplicitGridFunctionData< TImpl, TData, TGridFunction >::eval(), and ug::StdDependentUserData< TImpl, TData, dim >::eval_deriv().
const MathVector< ldim > & ug::ICplUserData< dim >::local_ip | ( | size_t | s, |
size_t | ip | ||
) | const |
|
inlineprotectedvirtual |
callback invoked after local ips have been added to the series
This callback is invoked when local ips have been added. It can be used by derived classes to react on this fact, e.g. to forward the local_ips or to adapt data field sizes. Note: The number of series can only be increased and the number of ips for a series can not be changed once set. This is important to allow derived classes to only increase their data fields as well, leaving accessing pointers invariant. If the local ip series must be changed, this can only be done through a clear(), that will invoke the local_ip_series_to_be_cleared() callback, and adding all local series again.
Reimplemented in ug::DependentUserData< TData, dim >, ug::CplUserData< TData, dim, TRet >, ug::CplUserData< TData, dim, void >, ug::StdDataLinker< TImpl, TData, dim >, ug::StdDataLinker< BinghamViscosityLinker< dim >, number, dim >, ug::StdDataLinker< LuaUserFunction< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< UserVectorEntryAdapter< dim >, number, dim >, ug::StdDataLinker< ProjectionLinker< dim >, MathVector< dim >, dim >, ug::StdDataLinker< ScaleAddLinker< TData, dim, TDataScale, TData >, TData, dim >, ug::StdDataLinker< InverseLinker< dim >, number, dim >, ug::StdDataLinker< IntervalNumberLinker< dim >, number, dim >, ug::StdDataLinker< VRLUserLinker< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< DarcyVelocityLinker< dim >, MathVector< dim >, dim >, and ug::StdDataLinker< RichardsLinker< dim, TFunctor >, number, dim >.
References ug::ICplUserData< dim >::m_vvGlobPos.
|
inlineprotectedvirtual |
callback invoked, when local ips are cleared
Reimplemented in ug::DependentUserData< TData, dim >, ug::CplUserData< TData, dim, TRet >, ug::CplUserData< TData, dim, void >, ug::StdDataLinker< TImpl, TData, dim >, ug::StdDataLinker< BinghamViscosityLinker< dim >, number, dim >, ug::StdDataLinker< LuaUserFunction< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< UserVectorEntryAdapter< dim >, number, dim >, ug::StdDataLinker< ProjectionLinker< dim >, MathVector< dim >, dim >, ug::StdDataLinker< ScaleAddLinker< TData, dim, TDataScale, TData >, TData, dim >, ug::StdDataLinker< InverseLinker< dim >, number, dim >, ug::StdDataLinker< IntervalNumberLinker< dim >, number, dim >, ug::StdDataLinker< VRLUserLinker< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< DarcyVelocityLinker< dim >, MathVector< dim >, dim >, and ug::StdDataLinker< RichardsLinker< dim, TFunctor >, number, dim >.
References ug::ICplUserData< dim >::m_vvGlobPos.
const MathVector< ldim > * ug::ICplUserData< dim >::local_ips | ( | size_t | s | ) | const |
|
protectedpure virtual |
callback invoked, if a local ip series has been changed
Implemented in ug::DependentUserData< TData, dim >, ug::CplUserData< TData, dim, TRet >, ug::CplUserData< TData, dim, void >, ug::StdDataLinker< TImpl, TData, dim >, ug::StdDataLinker< BinghamViscosityLinker< dim >, number, dim >, ug::StdDataLinker< LuaUserFunction< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< UserVectorEntryAdapter< dim >, number, dim >, ug::StdDataLinker< ProjectionLinker< dim >, MathVector< dim >, dim >, ug::StdDataLinker< ScaleAddLinker< TData, dim, TDataScale, TData >, TData, dim >, ug::StdDataLinker< InverseLinker< dim >, number, dim >, ug::StdDataLinker< IntervalNumberLinker< dim >, number, dim >, ug::StdDataLinker< VRLUserLinker< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< DarcyVelocityLinker< dim >, MathVector< dim >, dim >, and ug::StdDataLinker< RichardsLinker< dim, TFunctor >, number, dim >.
|
inlinevirtual |
return needed data
Reimplemented in ug::StdDataLinker< TImpl, TData, dim >, ug::StdDataLinker< BinghamViscosityLinker< dim >, number, dim >, ug::StdDataLinker< LuaUserFunction< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< UserVectorEntryAdapter< dim >, number, dim >, ug::StdDataLinker< ProjectionLinker< dim >, MathVector< dim >, dim >, ug::StdDataLinker< ScaleAddLinker< TData, dim, TDataScale, TData >, TData, dim >, ug::StdDataLinker< InverseLinker< dim >, number, dim >, ug::StdDataLinker< IntervalNumberLinker< dim >, number, dim >, ug::StdDataLinker< VRLUserLinker< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< DarcyVelocityLinker< dim >, MathVector< dim >, dim >, ug::StdDataLinker< RichardsLinker< dim, TFunctor >, number, dim >, and ug::DataExport< TData, dim >.
References SPNULL.
|
inline |
returns the number of integration points
References ug::ICplUserData< dim >::m_vNumIP, ug::ICplUserData< dim >::num_series(), s, and UG_ASSERT.
|
inlinevirtual |
number of other Data this data depends on
Reimplemented in ug::StdDataLinker< TImpl, TData, dim >, ug::StdDataLinker< BinghamViscosityLinker< dim >, number, dim >, ug::StdDataLinker< LuaUserFunction< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< UserVectorEntryAdapter< dim >, number, dim >, ug::StdDataLinker< ProjectionLinker< dim >, MathVector< dim >, dim >, ug::StdDataLinker< ScaleAddLinker< TData, dim, TDataScale, TData >, TData, dim >, ug::StdDataLinker< InverseLinker< dim >, number, dim >, ug::StdDataLinker< IntervalNumberLinker< dim >, number, dim >, ug::StdDataLinker< VRLUserLinker< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< DarcyVelocityLinker< dim >, MathVector< dim >, dim >, ug::StdDataLinker< RichardsLinker< dim, TFunctor >, number, dim >, and ug::DataExport< TData, dim >.
|
inline |
returns the number of ip series
References ug::ICplUserData< dim >::m_vNumIP.
Referenced by ug::ICplUserData< dim >::num_ip().
|
inline |
set local positions without the specification of the time point, returns series id
size_t ug::ICplUserData< dim >::register_local_ip_series | ( | const MathVector< ldim > * | vPos, |
const size_t | numIP, | ||
const int | timePointSpec, | ||
bool | bMayChange = true |
||
) |
set local positions, returns series id
This method registers a local ip series. If the position of points may change during computations, this can be specified. IMPORTANT: the memory of the local ip values must remain valid until the UserData is deleted.
void ug::ICplUserData< dim >::set_global_ips | ( | size_t | s, |
const MathVector< dim > * | vPos, | ||
size_t | numIP | ||
) |
void ug::ICplUserData< dim >::set_local_ips | ( | const size_t | seriesId, |
const MathVector< ldim > * | vPos, | ||
const size_t | numIP | ||
) |
sets new local ip positions for a local ip series
This method set new local positions for an already registered ip series. Of course this is only possible for a ip series with the bMayChange flag set to true.
References UG_THROW.
|
inline |
set the subset of evaluation
References ug::ICplUserData< dim >::m_si.
void ug::ICplUserData< dim >::set_time_point | ( | const size_t | seriesId, |
const int | timePointSpec | ||
) |
sets a new time point for a local ip series
This method set a new time point for an already registered ip series. Of course this is only possible for a ip series with the bMayChange flag set to true.
References UG_THROW.
|
inline |
sets the current time point
References ug::ICplUserData< dim >::m_timePoint.
|
inline |
set evaluation time
References ug::ICplUserData< dim >::m_vTime.
|
inline |
returns the subset of evaluation
References ug::ICplUserData< dim >::m_si.
Referenced by ug::StdGlobPosData< TImpl, TData, dim, TRet >::compute(), ug::vrl::VRLCondUserNumber< dim >::compute(), ug::StdExplicitGridFunctionData< TImpl, TData, TGridFunction >::eval(), and ug::StdDependentUserData< TImpl, TData, dim >::eval_deriv().
|
inline |
get the current evaluation time
References ug::ICplUserData< dim >::m_timePoint, and ug::ICplUserData< dim >::m_vTime.
Referenced by ug::StdGlobPosData< TImpl, TData, dim, TRet >::compute(), ug::vrl::VRLCondUserNumber< dim >::compute(), ug::StdExplicitGridFunctionData< TImpl, TData, TGridFunction >::eval(), ug::vrl::VRLUserLinker< TData, dim, TDataIn >::eval_and_deriv(), ug::StdDependentUserData< TImpl, TData, dim >::eval_deriv(), ug::vrl::VRLUserLinker< TData, dim, TDataIn >::eval_deriv(), ug::vrl::VRLUserLinker< TData, dim, TDataIn >::eval_value(), ug::UserVectorEntryAdapter< dim >::evaluate(), ug::DarcyVelocityLinker< dim >::evaluate(), ug::ProjectionLinker< dim >::evaluate(), ug::vrl::VRLCondUserNumber< dim >::evaluate(), ug::RotatingCone2d::evaluate(), ug::IntervalNumberLinker< dim >::evaluate(), ug::BinghamViscosityLinker< dim >::evaluate(), ug::vrl::VRLUserLinker< TData, dim, TDataIn >::evaluate(), ug::vrl::VRLUserData< TData, dim >::evaluate(), ug::StdExplicitGridFunctionData< TImpl, TData, TGridFunction >::evaluate(), ug::StdGlobPosData< TImpl, TData, dim, TRet >::evaluate(), ug::StdDependentUserData< TImpl, TData, dim >::evaluate(), ug::StdGlobPosData< TImpl, TData, dim, TRet >::operator()(), ug::DataExport< TData, dim >::FreeFunctionFunctor< refDim >::operator()(), ug::DataExport< TData, dim >::MemberFunctionFunctor< TClass, refDim >::operator()(), ug::DataExport< TData, dim >::Functor< refDim >::operator()(), and ug::StdUserData< TImpl, TData, dim, TRet, TBase >::operator()().
|
inline |
get the specified evaluation time
References ug::ICplUserData< dim >::m_vTime, s, and ug::ICplUserData< dim >::time_point().
|
inline |
returns the current time point
References ug::ICplUserData< dim >::m_timePoint.
Referenced by ug::ICplUserData< dim >::time().
|
inline |
|
inline |
|
inlinevirtual |
resize arrays
Reimplemented in ug::DependentUserData< TData, dim >.
|
inlinevirtual |
returns if data depends on solution
Reimplemented in ug::DependentUserData< TData, dim >, ug::StdDataLinker< TImpl, TData, dim >, ug::StdDataLinker< BinghamViscosityLinker< dim >, number, dim >, ug::StdDataLinker< LuaUserFunction< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< UserVectorEntryAdapter< dim >, number, dim >, ug::StdDataLinker< ProjectionLinker< dim >, MathVector< dim >, dim >, ug::StdDataLinker< ScaleAddLinker< TData, dim, TDataScale, TData >, TData, dim >, ug::StdDataLinker< InverseLinker< dim >, number, dim >, ug::StdDataLinker< IntervalNumberLinker< dim >, number, dim >, ug::StdDataLinker< VRLUserLinker< TData, dim, TDataIn >, TData, dim >, ug::StdDataLinker< DarcyVelocityLinker< dim >, MathVector< dim >, dim >, and ug::StdDataLinker< RichardsLinker< dim, TFunctor >, number, dim >.
|
protected |
default time point (or -1 if not specified)
|
protected |
dimension of local position (-1 indicates no dim set)
Referenced by ug::ICplUserData< dim >::dim_local_ips(), and ug::ICplUserData< dim >::ICplUserData().
|
protected |
local ips of dimension 1d-3d
Referenced by ug::ICplUserData< dim >::get_local_ips(), and ug::ICplUserData< dim >::ICplUserData().
|
protected |
Referenced by ug::ICplUserData< dim >::get_local_ips(), and ug::ICplUserData< dim >::ICplUserData().
|
protected |
Referenced by ug::ICplUserData< dim >::get_local_ips(), and ug::ICplUserData< dim >::ICplUserData().
|
protected |
subset for evaluation
Referenced by ug::ICplUserData< dim >::set_subset(), and ug::ICplUserData< dim >::subset().
|
protected |
current time point (used if no explicit specification for series)
Referenced by ug::ICplUserData< dim >::set_time_point(), ug::ICplUserData< dim >::time(), and ug::ICplUserData< dim >::time_point().
|
protected |
flags if local ips may change
Referenced by ug::ICplUserData< dim >::ICplUserData().
|
protected |
number of evaluation points (-1 indicates no ips set)
Referenced by ug::ICplUserData< dim >::ICplUserData(), ug::ICplUserData< dim >::num_ip(), and ug::ICplUserData< dim >::num_series().
|
protected |
time for evaluation
Referenced by ug::ICplUserData< dim >::ICplUserData(), ug::ICplUserData< dim >::set_times(), and ug::ICplUserData< dim >::time().
|
protected |
time points for the series
|
protected |