ug4
ug::ICplUserData< dim > Class Template Referenceabstract

Base class for UserData. More...

#include <user_data.h>

+ Inheritance diagram for ug::ICplUserData< dim >:

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< ICplUserDataneeded_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 FunctionGroupfunction_group () const
 Function Group of functions. More...
 
virtual int get_dim () const =0
 returns dimension More...
 
const FunctionIndexMappingmap () const
 get function mapping More...
 
size_t num_fct () const
 number of functions this export depends on 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...
 
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< numberm_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...
 

Detailed Description

template<int dim>
class ug::ICplUserData< dim >

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.

Template Parameters
dimworld dimension

Constructor & Destructor Documentation

◆ ICplUserData()

◆ ~ICplUserData()

template<int dim>
virtual ug::ICplUserData< dim >::~ICplUserData ( )
inlinevirtual

virtual desctructor

Member Function Documentation

◆ at_current_time()

template<int dim>
bool ug::ICplUserData< dim >::at_current_time ( size_t  s) const
inline

returns true iff the time point specification is equal to the current one, or not specified

References s, and UG_ASSERT.

Referenced by ug::StdDependentUserData< TImpl, TData, dim >::eval_deriv().

◆ check_s()

template<int dim>
void ug::ICplUserData< dim >::check_s ( size_t  s) const
inlineprotected

checks in debug mode the correct usage of indices

References s, and UG_ASSERT.

Referenced by ug::ICplUserData< dim >::ips().

◆ check_s_ip()

template<int dim>
void ug::ICplUserData< dim >::check_s_ip ( size_t  s,
size_t  ip 
) const
inlineprotected

checks in debug mode the correct usage of indices

References s, and UG_ASSERT.

Referenced by ug::ICplUserData< dim >::ip().

◆ check_setup()

◆ clear()

template<int dim>
void ug::ICplUserData< dim >::clear

clear all data

◆ compute() [1/2]

template<int dim>
virtual void ug::ICplUserData< dim >::compute ( LocalVector u,
GridObject elem,
const MathVector< dim vCornerCoords[],
bool  bDeriv = false 
)
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< GlobalGridFunctionGradientData< TGridFunction >, MathVector< TGridFunction::dim >, TGridFunction::dim >, ug::StdGlobPosData< LognormalRandomField< TData, dim, void >, TData, dim, void >, ug::StdGlobPosData< RotatingCone2d, number, 2 >, 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 >.

◆ compute() [2/2]

template<int dim>
virtual void ug::ICplUserData< dim >::compute ( LocalVectorTimeSeries u,
GridObject elem,
const MathVector< dim vCornerCoords[],
bool  bDeriv = false 
)
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< GlobalGridFunctionGradientData< TGridFunction >, MathVector< TGridFunction::dim >, TGridFunction::dim >, ug::StdGlobPosData< LognormalRandomField< TData, dim, void >, TData, dim, void >, ug::StdGlobPosData< RotatingCone2d, number, 2 >, 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 >.

◆ constant()

template<int dim>
virtual bool ug::ICplUserData< dim >::constant ( ) const
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< GlobalGridFunctionGradientData< TGridFunction >, MathVector< TGridFunction::dim >, TGridFunction::dim >, ug::StdGlobPosData< LognormalRandomField< TData, dim, void >, TData, dim, void >, ug::StdGlobPosData< RotatingCone2d, number, 2 >, 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 >.

◆ dim_local_ips()

template<int dim>
int ug::ICplUserData< dim >::dim_local_ips ( ) const
inline

◆ get_local_ips() [1/6]

template<int dim>
std::vector<const MathVector<1>*>& ug::ICplUserData< dim >::get_local_ips ( Int2Type< 1 >  )
inlineprotected

help function to get local ips

References ug::ICplUserData< dim >::m_pvLocIP1d.

◆ get_local_ips() [2/6]

template<int dim>
const std::vector<const MathVector<1>*>& ug::ICplUserData< dim >::get_local_ips ( Int2Type< 1 >  ) const
inlineprotected

◆ get_local_ips() [3/6]

template<int dim>
std::vector<const MathVector<2>*>& ug::ICplUserData< dim >::get_local_ips ( Int2Type< 2 >  )
inlineprotected

◆ get_local_ips() [4/6]

template<int dim>
const std::vector<const MathVector<2>*>& ug::ICplUserData< dim >::get_local_ips ( Int2Type< 2 >  ) const
inlineprotected

◆ get_local_ips() [5/6]

template<int dim>
std::vector<const MathVector<3>*>& ug::ICplUserData< dim >::get_local_ips ( Int2Type< 3 >  )
inlineprotected

◆ get_local_ips() [6/6]

template<int dim>
const std::vector<const MathVector<3>*>& ug::ICplUserData< dim >::get_local_ips ( Int2Type< 3 >  ) const
inlineprotected

◆ global_ips_changed()

◆ ip()

template<int dim>
const MathVector<dim>& ug::ICplUserData< dim >::ip ( size_t  s,
size_t  ip 
) const
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().

◆ ips()

◆ local_ip()

template<int dim>
template<int ldim>
const MathVector< ldim > & ug::ICplUserData< dim >::local_ip ( size_t  s,
size_t  ip 
) const

returns local ip

References s, UG_ASSERT, and UG_THROW.

◆ local_ip_series_added()

template<int dim>
virtual void ug::ICplUserData< dim >::local_ip_series_added ( const size_t  seriesID)
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.

◆ local_ip_series_to_be_cleared()

template<int dim>
virtual void ug::ICplUserData< dim >::local_ip_series_to_be_cleared ( )
inlineprotectedvirtual

◆ local_ips()

template<int dim>
template<int ldim>
const MathVector< ldim > * ug::ICplUserData< dim >::local_ips ( size_t  s) const

returns local ips

References s, UG_ASSERT, and UG_THROW.

◆ local_ips_changed()

◆ needed_data()

◆ num_ip()

template<int dim>
size_t ug::ICplUserData< dim >::num_ip ( size_t  s) const
inline

returns the number of integration points

References ug::ICplUserData< dim >::m_vNumIP, ug::ICplUserData< dim >::num_series(), s, and UG_ASSERT.

◆ num_needed_data()

◆ num_series()

template<int dim>
size_t ug::ICplUserData< dim >::num_series ( ) const
inline

returns the number of ip series

References ug::ICplUserData< dim >::m_vNumIP.

Referenced by ug::ICplUserData< dim >::num_ip().

◆ register_local_ip_series() [1/2]

template<int dim>
template<int ldim>
size_t ug::ICplUserData< dim >::register_local_ip_series ( const MathVector< ldim > *  vPos,
const size_t  numIP,
bool  bMayChange = true 
)
inline

set local positions without the specification of the time point, returns series id

◆ register_local_ip_series() [2/2]

template<int dim>
template<int ldim>
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.

Returns
size_t series id

References s, and UG_THROW.

◆ set_global_ips()

template<int dim>
void ug::ICplUserData< dim >::set_global_ips ( size_t  s,
const MathVector< dim > *  vPos,
size_t  numIP 
)

set global positions

References s, UG_ASSERT, and UG_THROW.

◆ set_local_ips()

template<int dim>
template<int ldim>
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.

◆ set_subset()

template<int dim>
void ug::ICplUserData< dim >::set_subset ( int  si)
inline

set the subset of evaluation

References ug::ICplUserData< dim >::m_si.

◆ set_time_point() [1/2]

template<int dim>
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.

◆ set_time_point() [2/2]

template<int dim>
void ug::ICplUserData< dim >::set_time_point ( size_t  timePoint)
inline

sets the current time point

References ug::ICplUserData< dim >::m_timePoint.

◆ set_times()

template<int dim>
void ug::ICplUserData< dim >::set_times ( const std::vector< number > &  vTime)
inline

set evaluation time

References ug::ICplUserData< dim >::m_vTime.

◆ subset()

◆ time() [1/2]

template<int dim>
number ug::ICplUserData< dim >::time ( ) const
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()().

◆ time() [2/2]

template<int dim>
number ug::ICplUserData< dim >::time ( size_t  s) const
inline

get the specified evaluation time

References ug::ICplUserData< dim >::m_vTime, s, and ug::ICplUserData< dim >::time_point().

◆ time_point() [1/2]

template<int dim>
size_t ug::ICplUserData< dim >::time_point ( )
inline

returns the current time point

References ug::ICplUserData< dim >::m_timePoint.

Referenced by ug::ICplUserData< dim >::time().

◆ time_point() [2/2]

template<int dim>
size_t ug::ICplUserData< dim >::time_point ( size_t  s) const
inline

returns the time point specification (in particular, the current one, if the own one not specified)

References s, and UG_ASSERT.

◆ time_point_specification()

template<int dim>
int ug::ICplUserData< dim >::time_point_specification ( size_t  s) const
inline

returns the time point specification (note: it may be -1, i.e. not specified)

References s, and UG_ASSERT.

◆ update_dof_sizes()

template<int dim>
virtual void ug::ICplUserData< dim >::update_dof_sizes ( const LocalIndices ind)
inlinevirtual

resize arrays

Reimplemented in ug::DependentUserData< TData, dim >.

◆ zero_derivative()

Member Data Documentation

◆ m_defaultTimePoint

template<int dim>
int ug::ICplUserData< dim >::m_defaultTimePoint
protected

default time point (or -1 if not specified)

◆ m_locPosDim

template<int dim>
int ug::ICplUserData< dim >::m_locPosDim
protected

dimension of local position (-1 indicates no dim set)

Referenced by ug::ICplUserData< dim >::dim_local_ips(), and ug::ICplUserData< dim >::ICplUserData().

◆ m_pvLocIP1d

template<int dim>
std::vector<const MathVector<1>*> ug::ICplUserData< dim >::m_pvLocIP1d
protected

◆ m_pvLocIP2d

template<int dim>
std::vector<const MathVector<2>*> ug::ICplUserData< dim >::m_pvLocIP2d
protected

◆ m_pvLocIP3d

template<int dim>
std::vector<const MathVector<3>*> ug::ICplUserData< dim >::m_pvLocIP3d
protected

◆ m_si

template<int dim>
int ug::ICplUserData< dim >::m_si
protected

◆ m_timePoint

template<int dim>
size_t ug::ICplUserData< dim >::m_timePoint
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().

◆ m_vMayChange

template<int dim>
std::vector<bool> ug::ICplUserData< dim >::m_vMayChange
protected

flags if local ips may change

Referenced by ug::ICplUserData< dim >::ICplUserData().

◆ m_vNumIP

template<int dim>
std::vector<size_t> ug::ICplUserData< dim >::m_vNumIP
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().

◆ m_vTime

template<int dim>
std::vector<number> ug::ICplUserData< dim >::m_vTime
protected

◆ m_vTimePoint

template<int dim>
std::vector<int> ug::ICplUserData< dim >::m_vTimePoint
protected

time points for the series

◆ m_vvGlobPos


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