1#ifndef DUNE_FEM_SPACE_LAGRANGE_INTERPOLATION_HH 
    2#define DUNE_FEM_SPACE_LAGRANGE_INTERPOLATION_HH 
    8#include "lagrangepoints.hh" 
   19    template< 
class Gr
idPart, 
int maxOrder, 
class BasisFunctionSet >
 
   20    class LagrangeLocalInterpolation
 
   22      typedef LagrangeLocalInterpolation< GridPart, maxOrder, BasisFunctionSet > ThisType;
 
   26      typedef BasisFunctionSet BasisFunctionSetType;
 
   28      typedef LagrangePointSet< GridPart, maxOrder > LagrangePointSetType;
 
   38      LagrangeLocalInterpolation ()
 
   39        : pointSet_( nullptr )
 
   44      LagrangeLocalInterpolation ( 
const LagrangePointSetType &pointSet,
 
   45                                   const BasisFunctionSetType &basisFunctionSet )
 
   46        : pointSet_( &pointSet ),
 
   47          basisFunctionSet_( basisFunctionSet )
 
   50      LagrangeLocalInterpolation ( 
const LagrangePointSetType &pointSet,
 
   51                                   BasisFunctionSetType &&basisFunctionSet )
 
   52        : pointSet_( &pointSet ),
 
   53          basisFunctionSet_( 
std::forward< BasisFunctionSetType >( basisFunctionSet ) )
 
   63      LagrangeLocalInterpolation ( 
const ThisType & ) = 
default;
 
   66      LagrangeLocalInterpolation ( ThisType &&other )
 
   67        : pointSet_( 
std::move( other.pointSet_ ) ),
 
   68          basisFunctionSet_( 
std::move( other.basisFunctionSet_ ) )
 
   72      LagrangeLocalInterpolation &operator= ( 
const ThisType & ) = 
default;
 
   75      LagrangeLocalInterpolation &operator= ( ThisType &&other )
 
   77        pointSet_ = other.pointSet_ ;
 
   78        basisFunctionSet_ = std::move( other.basisFunctionSet_ );
 
   89      BasisFunctionSetType basisFunctionSet ()
 const 
   91        return basisFunctionSet_;
 
   95      template< 
class LocalFunction, 
class LocalDofVector >
 
   96      void operator() ( 
const LocalFunction &localFunction, LocalDofVector &localDofVector )
 const 
   98        apply( localFunction, localDofVector );
 
  102      template< 
class LocalFunction, 
class LocalDofVector >
 
  103      void apply ( 
const LocalFunction &localFunction, LocalDofVector &localDofVector )
 const 
  105        const LagrangePointSetType &pointSet = this->pointSet();
 
  108        const std::size_t nop = pointSet.nop();
 
  109        for( std::size_t pt = 0; pt < nop; ++pt )
 
  112          localFunction.evaluate( pointSet[ pt ], phi );
 
  114            localDofVector[ k++ ] = phi[ i ];
 
  127      const LagrangePointSetType &pointSet ()
 const 
  133      const LagrangePointSetType* pointSet_ = 
nullptr;
 
  134      BasisFunctionSetType basisFunctionSet_;
 
FunctionSpace< typename Entity::Geometry::ctype, typename Range::value_type, Entity::Geometry::coorddimension, Range::dimension > FunctionSpaceType
function space type
Definition: basisfunctionset.hh:40
 
FunctionSpaceTraits::RangeType RangeType
Type of range vector (using type of range field) has a Dune::FieldVector type interface.
Definition: functionspaceinterface.hh:71
 
@ dimRange
dimension of range vector space
Definition: functionspaceinterface.hh:48
 
A vector valued function space.
Definition: functionspace.hh:60
 
Dune namespace.
Definition: alignedallocator.hh:13