33 #ifndef __H__UG__LIB_DISC__SPATIAL_DISC__SCALE_ADD_LINKER__
34 #define __H__UG__LIB_DISC__SPATIAL_DISC__SCALE_ADD_LINKER__
58 template <
typename TData,
int dim,
typename TDataScale,
typename TRet = TData>
60 :
public StdDataLinker<ScaleAddLinker<TData, dim, TDataScale, TRet>, TRet, dim>
100 template <
int refDim>
111 std::vector<std::vector<TRet> > vvvDeriv[],
124 const TData&
input_deriv(
size_t i,
size_t s,
size_t ip,
size_t fct,
size_t dof)
const
140 const TDataScale&
scale_deriv(
size_t i,
size_t s,
size_t ip,
size_t fct,
size_t dof)
const
Definition: smart_pointer.h:108
Type based UserData.
Definition: user_data.h:501
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
number time() const
get the current evaluation time
Definition: user_data.h:285
Definition: local_algebra.h:198
A class for fixed size, dense matrices.
Definition: math_matrix.h:52
Definition: scale_add_linker.h:61
std::vector< SmartPtr< CplUserData< TData, dim > > > m_vpUserData
data input
Definition: scale_add_linker.h:167
size_t scale_num_fct(size_t i) const
returns number of functions the scaling depends on
Definition: scale_add_linker.h:154
size_t input_common_fct(size_t i, size_t fct) const
returns the number in the common FctGrp for a fct of an input
Definition: scale_add_linker.h:151
void eval_and_deriv(TRet 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, bool bDeriv, int s, std::vector< std::vector< TRet > > vvvDeriv[], const MathMatrix< refDim, dim > *vJT=NULL) const
Definition: scale_add_linker_impl.h:172
std::vector< SmartPtr< CplUserData< TDataScale, dim > > > m_vpScaleData
data input
Definition: scale_add_linker.h:161
StdDataLinker< ScaleAddLinker< TData, dim, TDataScale, TRet >, TRet, dim > base_type
Definition: scale_add_linker.h:64
const TDataScale & scale_deriv(size_t i, size_t s, size_t ip, size_t fct, size_t dof) const
derivative of data at input at ip
Definition: scale_add_linker.h:140
const TData & input_deriv(size_t i, size_t s, size_t ip, size_t fct, size_t dof) const
derivative of data at input at ip
Definition: scale_add_linker.h:124
std::vector< SmartPtr< DependentUserData< TDataScale, dim > > > m_vpScaleDependData
data input casted to dependend data
Definition: scale_add_linker.h:164
void add(SmartPtr< CplUserData< TDataScale, dim > > scale, SmartPtr< CplUserData< TData, dim > > data)
Definition: scale_add_linker_impl.h:62
size_t input_num_fct(size_t i) const
returns number of functions the input depends on
Definition: scale_add_linker.h:148
const TData & input_value(size_t i, size_t s, size_t ip) const
data at ip of input
Definition: scale_add_linker.h:116
std::vector< SmartPtr< DependentUserData< TData, dim > > > m_vpDependData
data input casted to dependend data
Definition: scale_add_linker.h:170
void evaluate(TRet &value, const MathVector< dim > &globIP, number time, int si) const
Definition: scale_add_linker_impl.h:114
size_t scale_common_fct(size_t i, size_t fct) const
returns the number in the common FctGrp for a fct of a scaling
Definition: scale_add_linker.h:157
ScaleAddLinker()
constructor
Definition: scale_add_linker.h:68
const TDataScale & scale_value(size_t i, size_t s, size_t ip) const
scale at ip of input
Definition: scale_add_linker.h:132
combines several UserDatas to a new UserData of a specified type
Definition: linker.h:54
size_t series_id(size_t i, size_t s) const
returns the series id set for the i'th input
Definition: linker.h:161
size_t input_common_fct(size_t i, size_t fct) const
returns the number in the common FctGrp for a fct of an input
Definition: linker.h:153
size_t input_num_fct(size_t i) const
returns number of functions the input depends on
Definition: linker.h:145
#define UG_ASSERT(expr, msg)
Definition: assert.h:70
double number
Definition: types.h:124