1#ifndef DUNE_FEM_GRIDPART_COMMON_LOCALFUNCTIONGEOMETRY_HH
2#define DUNE_FEM_GRIDPART_COMMON_LOCALFUNCTIONGEOMETRY_HH
7#include <dune/common/fmatrix.hh>
8#include <dune/common/fvector.hh>
10#include <dune/geometry/quadraturerules.hh>
11#include <dune/geometry/referenceelements.hh>
13#include <dune/grid/common/geometry.hh>
28 template<
class LocalFunction >
42 template<
class... Args, std::enable_if_t< std::is_constructible<
LocalFunction, Args &&... >::value,
int > = 0 >
44 : localFunction_(
std::forward< Args >( args )... )
58 FieldMatrix< ctype, coorddimension, coorddimension > gradPhi;
65 gradFT.mv( gradPhi[ i ], col );
70 const QuadratureRule< ctype, mydimension > &
quadrature (
int order )
const
72 return QuadratureRules< ctype, mydimension >::rule(
type(), order + (2*
localFunction().order() + 1) );
91 template<
class LocalFunction >
Definition: bindguard.hh:11
Definition: fmatrixcol.hh:16
interface for local functions
Definition: localfunction.hh:77
void evaluate(const PointType &x, RangeType &ret) const
evaluate the local function
Definition: localfunction.hh:311
void bind(const EntityType &entity)
initialize the local function for an entity
Definition: localfunction.hh:450
const EntityType & entity() const
obtain the entity, this local function lives on
Definition: localfunction.hh:302
void jacobian(const PointType &x, JacobianRangeType &ret) const
evaluate Jacobian of the local function
Definition: localfunction.hh:325
BasisFunctionSetType::EntityType EntityType
type of the entity, the local function lives on is given by the space
Definition: localfunction.hh:95
Definition: localfunctiongeometry.hh:30
static const int coorddimension
Definition: localfunctiongeometry.hh:35
LocalFunction::FunctionSpaceType::RangeFieldType ctype
Definition: localfunctiongeometry.hh:32
FieldMatrix< ctype, mydimension, coorddimension > JacobianTransposed
Definition: localfunctiongeometry.hh:40
LocalFunction::EntityType Entity
Definition: localfunctiongeometry.hh:31
GlobalCoordinate global(const LocalCoordinate &local) const
Definition: localfunctiongeometry.hh:47
GeometryType type() const
Definition: localfunctiongeometry.hh:75
static const int mydimension
Definition: localfunctiongeometry.hh:34
const QuadratureRule< ctype, mydimension > & quadrature(int order) const
Definition: localfunctiongeometry.hh:70
FieldVector< ctype, mydimension > LocalCoordinate
Definition: localfunctiongeometry.hh:37
void bind(const Entity &entity)
Definition: localfunctiongeometry.hh:77
FieldVector< ctype, coorddimension > GlobalCoordinate
Definition: localfunctiongeometry.hh:38
JacobianTransposed jacobianTransposed(const LocalCoordinate &local) const
Definition: localfunctiongeometry.hh:54
void init(const Entity &entity)
Definition: localfunctiongeometry.hh:78
const LocalFunction & localFunction() const
Definition: localfunctiongeometry.hh:80
LocalFunctionBasicGeometry(Args &&... args)
Definition: localfunctiongeometry.hh:43
Definition: simplegeometry.hh:26
@ dimRange
dimension of range vector space
Definition: functionspaceinterface.hh:48
FunctionSpaceTraits::RangeFieldType RangeFieldType
Intrinsic type used for values in the range field (usually a double)
Definition: functionspaceinterface.hh:63