33 #ifndef __H__UG__LIB_DISC__SPATIAL_DISC__STD_GLOB_POS_DATA__
34 #define __H__UG__LIB_DISC__SPATIAL_DISC__STD_GLOB_POS_DATA__
52 template <
typename TImpl,
typename TData,
int dim,
typename TRet =
void>
54 :
public StdUserData<StdGlobPosData<TImpl,TData,dim,TRet>, TData, dim, TRet>
61 return this->
getImpl().evaluate(value, globIP,
time, si);
68 for(
size_t ip = 0;
ip < nip; ++
ip)
83 for(
size_t ip = 0;
ip < nip; ++
ip)
92 const int si = this->
subset();
103 const int si = this->
subset();
121 TImpl&
getImpl() {
return static_cast<TImpl&
>(*this);}
124 const TImpl&
getImpl()
const {
return static_cast<const TImpl&
>(*this);}
size_t num_ip(size_t s) const
returns the number of integration points
Definition: user_data.h:327
size_t num_series() const
explicitly forward some functions
Definition: user_data.h:324
const TData & value(size_t s, size_t ip) const
returns the value at ip
Definition: user_data.h:512
The base class for all geometric objects, such as vertices, edges, faces, volumes,...
Definition: grid_base_objects.h:157
const MathVector< dim > & ip(size_t s, size_t ip) const
returns global ip
Definition: user_data.h:401
int subset() const
returns the subset of evaluation
Definition: user_data.h:273
number time() const
get the current evaluation time
Definition: user_data.h:285
Definition: local_algebra.h:198
time series of local vectors
Definition: solution_time_series.h:167
A class for fixed size, dense matrices.
Definition: math_matrix.h:52
Definition: std_glob_pos_data.h:55
virtual void compute(LocalVector *u, GridObject *elem, const MathVector< dim > vCornerCoords[], bool bDeriv=false)
implement as a UserData
Definition: std_glob_pos_data.h:88
const TImpl & getImpl() const
const access to implementation
Definition: std_glob_pos_data.h:124
virtual bool requires_grid_fct() const
returns if grid function is needed for evaluation
Definition: std_glob_pos_data.h:114
virtual void operator()(TData vValue[], const MathVector< dim > vGlobIP[], number time, int si, const size_t nip) const
returns value for global positions
Definition: std_glob_pos_data.h:64
virtual bool constant() const
returns if data is constant
Definition: std_glob_pos_data.h:111
TImpl & getImpl()
access to implementation
Definition: std_glob_pos_data.h:121
virtual TRet operator()(TData &value, const MathVector< dim > &globIP, number time, int si) const
returns value for a global position
Definition: std_glob_pos_data.h:57
virtual void compute(LocalVectorTimeSeries *u, GridObject *elem, const MathVector< dim > vCornerCoords[], bool bDeriv=false)
implement as a UserData
Definition: std_glob_pos_data.h:100
virtual bool continuous() const
returns if provided data is continuous over geometric object boundaries
Definition: std_glob_pos_data.h:117
void evaluate(TData 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
Definition: std_glob_pos_data.h:73
Definition: std_user_data.h:63
double number
Definition: types.h:124