1 #ifndef DUNE_FEM_FUNCTION_COMMON_FUNCTOR_HH 2 #define DUNE_FEM_FUNCTION_COMMON_FUNCTOR_HH 18 template<
class Vector >
25 template<
class Value >
26 void operator() (
const std::size_t index, Value &&value )
const 28 value += vector_[ index ];
31 const Vector &vector_;
38 template<
class Vector,
class Scalar >
46 template<
class Value >
47 void operator() (
const std::size_t index, Value &&value )
const 49 axpy( s_, vector_[ index ], std::forward< Value >( value ) );
52 const Vector &vector_;
60 template<
class Vector >
67 template<
class Value >
68 void operator() (
const std::size_t index, Value &&value )
const 70 value = vector_[ index ];
73 const Vector &vector_;
80 template<
class Vector >
87 template<
class Value >
88 void operator() (
const std::size_t index, Value &&value )
const 90 vector_.bind( index, std::forward< Value > ( value ) );
100 template<
class DiscreteFunction >
107 template<
class DiscreteFunction >
118 template<
class DiscreteFunction,
class Functor >
124 static const int blockSize = DiscreteFunction::DiscreteFunctionSpaceType::localBlockSize;
127 : df_( df ), functor_( functor )
130 template <
class GlobalKey >
131 void operator () (
const std::size_t local,
const GlobalKey& globalKey )
133 DofBlockPtrType blockPtr = df_.block( globalKey );
134 DofBlockType &block = *( blockPtr );
135 for(
int i = 0; i < blockSize; ++i )
136 functor_( local*blockSize + i, block[ i ] );
139 DiscreteFunction &df_;
147 #endif // #ifndef DUNE_FEM_FUNCTION_COMMON_FUNCTOR_HH
Vector & vector_
Definition: function/common/functor.hh:94
Definition: function/common/functor.hh:39
DiscreteFunction::DofBlockType DofBlockType
Definition: function/common/functor.hh:104
LeftAssign(const Vector &vector)
Definition: function/common/functor.hh:63
DofBlockTraits< DiscreteFunction >::DofBlockType DofBlockType
Definition: function/common/functor.hh:122
LeftAddScaled(const Vector &vector, const Scalar &s)
Definition: function/common/functor.hh:41
DiscreteFunction::DofBlockPtrType DofBlockPtrType
Definition: function/common/functor.hh:103
Definition: function/common/functor.hh:119
void axpy(const T &a, const T &x, T &y)
Definition: space/basisfunctionset/functor.hh:37
Definition: function/common/functor.hh:19
DofBlockFunctor(DiscreteFunction &df, Functor &functor)
Definition: function/common/functor.hh:126
Definition: coordinate.hh:4
void operator()(const std::size_t index, Value &&value) const
Definition: function/common/functor.hh:26
Definition: function/common/functor.hh:81
DiscreteFunction::ConstDofBlockPtrType DofBlockPtrType
Definition: function/common/functor.hh:110
AssignVectorReference(Vector &vector)
Definition: function/common/functor.hh:83
DiscreteFunction::ConstDofBlockType DofBlockType
Definition: function/common/functor.hh:111
Definition: function/common/functor.hh:101
DofBlockTraits< DiscreteFunction >::DofBlockPtrType DofBlockPtrType
Definition: function/common/functor.hh:121
Definition: function/common/functor.hh:61
LeftAdd(const Vector &vector)
Definition: function/common/functor.hh:21