1 #ifndef DUNE_FEM_SPACE_LAGRANGE_INTERPOLATION_HH 2 #define DUNE_FEM_SPACE_LAGRANGE_INTERPOLATION_HH 19 template<
class Gr
idPart,
int order,
class BasisFunctionSet >
40 : pointSet_( pointSet ),
41 basisFunctionSet_( basisFunctionSet )
46 : pointSet_( pointSet ),
61 : pointSet_(
std::
move( other.pointSet_ ) ),
62 basisFunctionSet_(
std::
move( other.basisFunctionSet_ ) )
72 basisFunctionSet_ =
std::move( other.basisFunctionSet_ );
85 return basisFunctionSet_;
89 template<
class LocalFunction,
class LocalDofVector >
92 apply( localFunction, localDofVector );
96 template<
class LocalFunction,
class LocalDofVector >
99 const LagrangePointSetType &pointSet = this->pointSet();
102 const std::size_t nop = pointSet.nop();
103 for( std::size_t pt = 0; pt < nop; ++pt )
106 localFunction.
evaluate( pointSet[ pt ], phi );
108 localDofVector[ k++ ] = phi[ i ];
115 const LagrangePointSetType &pointSet ()
const {
return pointSet_.get(); }
117 std::reference_wrapper< const LagrangePointSetType > pointSet_;
118 BasisFunctionSetType basisFunctionSet_;
125 #endif // #ifndef DUNE_FEM_SPACE_LAGRANGE_INTERPOLATION_HH
LagrangeLocalInterpolation & operator=(const ThisType &)=default
assignment operator
A vector valued function space.
Definition: functionspace.hh:16
LagrangeLocalInterpolation(ThisType &&other)
move constructor
Definition: lagrange/interpolation.hh:60
LagrangePointSet< GridPart, order > LagrangePointSetType
point set type
Definition: lagrange/interpolation.hh:28
dimension of range vector space
Definition: functionspaceinterface.hh:47
BasisFunctionSetType basisFunctionSet() const
return basis function set
Definition: lagrange/interpolation.hh:83
interface for local functions
Definition: localfunction.hh:41
Definition: lagrange/interpolation.hh:20
void operator()(const LocalFunction &localFunction, LocalDofVector &localDofVector) const
apply interpolation
Definition: lagrange/interpolation.hh:90
Definition: coordinate.hh:4
void apply(const LocalFunction &localFunction, LocalDofVector &localDofVector) const
apply interpolation
Definition: lagrange/interpolation.hh:97
void move(ArrayInterface< T > &array, const unsigned int oldOffset, const unsigned int newOffset, const unsigned int length)
Definition: array_inline.hh:38
void evaluate(const PointType &x, RangeType &ret) const
evaluate the local function
Definition: localfunction.hh:300
BasisFunctionSet BasisFunctionSetType
basis function set type
Definition: lagrange/interpolation.hh:26
VectorSpaceTraits< DomainField, RangeField, dimD, dimR >::RangeType RangeType
Type of range vector (using type of range field) has a Dune::FieldVector type interface.
Definition: functionspaceinterface.hh:70
LagrangeLocalInterpolation(const LagrangePointSetType &pointSet, const BasisFunctionSetType &basisFunctionSet)
Definition: lagrange/interpolation.hh:38
Definition: lagrangepoints.hh:461
Definition: basisfunctionset/basisfunctionset.hh:31
LagrangeLocalInterpolation(const LagrangePointSetType &pointSet, BasisFunctionSetType &&basisFunctionSet)
Definition: lagrange/interpolation.hh:44