dune-fem 2.8.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction > Class Template Reference

A constant local function carrying values for one entity. More...

#include <dune/fem/function/localfunction/const.hh>

Inheritance diagram for Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >:
Inheritance graph

Public Types

typedef std::remove_const_t< DiscreteFunction > DiscreteFunctionType
 
typedef DiscreteFunctionType::DiscreteFunctionSpaceType DiscreteFunctionSpaceType
 
typedef DiscreteFunctionSpaceType::GridPartType GridPartType
 
typedef DiscreteFunctionSpaceType::FunctionSpaceType FunctionSpaceType
 
typedef DiscreteFunctionType GridFunctionType
 
typedef BaseType::DofType DofType
 
typedef BaseType::EntityType EntityType
 
typedef GridPartType::IntersectionType IntersectionType
 
typedef BaseType::BasisFunctionSetType BasisFunctionSetType
 
typedef BaseType::LocalDofVectorType LocalDofVectorType
 
typedef BaseType::DomainType DomainType
 
typedef BaseType::RangeType RangeType
 
typedef BaseType::JacobianRangeType JacobianRangeType
 
typedef BaseType::HessianRangeType HessianRangeType
 
typedef BaseType::SizeType SizeType
 type of SizeType
 
typedef FunctionSpaceType::DomainFieldType DomainFieldType
 field type of the domain
 
typedef FunctionSpaceType::RangeFieldType RangeFieldType
 field type of the range
 
typedef EntityType::Geometry::LocalCoordinate LocalCoordinateType
 type of local coordinates
 

Public Member Functions

 ConstLocalDiscreteFunction (const DiscreteFunctionType &df)
 constructor creating a local function without binding it to an entity
 
 ConstLocalDiscreteFunction (const typename DiscreteFunctionType::LocalFunctionType &localFunction)
 cast a MutableLocalFunction into this one !!! expensive !!!
 
 ConstLocalDiscreteFunction (const DiscreteFunctionType &df, const EntityType &entity)
 constructor creating a local function and binding it to an entity
 
 ConstLocalDiscreteFunction (const EntityType &entity, const DiscreteFunctionType &df)
 
 ConstLocalDiscreteFunction (const ThisType &other)
 copy constructor
 
 ConstLocalDiscreteFunction (ThisType &&other)
 move constructor
 
template<class Point >
RangeType evaluate (const Point &p) const
 evaluate the local function
 
template<class Point >
JacobianRangeType jacobian (const Point &p) const
 evaluate Jacobian of the local function
 
template<class Point >
HessianRangeType hessian (const Point &p) const
 evaluate Hessian of the local function
 
void init (const EntityType &entity)
 interface for local functions :: init
 
void bind (const EntityType &entity)
 
void unbind ()
 
void bind (const IntersectionType &intersection, IntersectionSide side)
 
const DiscreteFunctionTypediscreteFunction () const
 
const GridFunctionTypegridFunction () const
 
const LocalDofVectorTypelocalDofVector () const
 return const reference to local Dof Vector

 
LocalDofVectorTypelocalDofVector ()
 return mutable reference to local Dof Vector

 
const DofTypeoperator[] (SizeType i) const
 
const DofTypeoperator[] (SizeType i)
 
template<class T >
void assign (const LocalFunction< BasisFunctionSet, T > &other)
 assign all DoFs of this local function
 
int order () const
 obtain the order of this local function
 
const BasisFunctionSetTypebasisFunctionSet () const
 obtain the basis function set for this local function
 
const EntityTypeentity () const
 obtain the entity, this local function lives on
 
template<class PointType >
void evaluate (const PointType &x, RangeType &ret) const
 evaluate the local function
 
template<class PointType >
void jacobian (const PointType &x, JacobianRangeType &ret) const
 evaluate Jacobian of the local function
 
template<class PointType >
void hessian (const PointType &x, HessianRangeType &ret) const
 evaluate Hessian of the local function
 
int numDofs () const
 obtain the number of local DoFs
 
SizeType size () const
 obtain the number of local DoFs
 
template<class QuadratureType , class ... Vectors>
void axpyQuadrature (const QuadratureType &quad, const Vectors &... values)
 evaluate all basisfunctions for all quadrature points, multiply with the given factor and add the result to the local coefficients

 
template<class QuadratureType , class RangeVectorType , class JacobianRangeVectorType >
void axpyQuadrature (const QuadratureType &quad, const RangeVectorType &rangeVector, const JacobianRangeVectorType &jacobianVector)
 evaluate all basisfunctions for all quadrature points, multiply with the given factor and add the result to the local coefficients
 
template<class QuadratureType , class ... Vectors>
void evaluateQuadrature (const QuadratureType &quad, Vectors &... vec) const
 evaluate all basisfunctions for all quadrature points and store the results in the result vector
 
template<class QuadratureType , class ... Vectors>
void jacobianQuadrature (const QuadratureType &quad, Vectors &... vec) const
 evaluate all Jacobians for all basis functions for all quadrature points and store the results in the result vector
 
template<class QuadratureType , class ... Vectors>
void hessianQuadrature (const QuadratureType &quad, Vectors &... vec) const
 evaluate all hessians of all basis functions for all quadrature points and store the results in the result vector
 
bool valid () const
 Returns true if local function if bind or init was previously called.
 

Static Public Attributes

static const int dimDomain = FunctionSpaceType::dimDomain
 dimension of the domain
 
static const int dimRange = FunctionSpaceType::dimRange
 dimension of the range
 

Protected Member Functions

void clear ()
 set all DoFs to zero
 
void assign (const LocalFunction< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::DiscreteFunctionSpaceType::BasisFunctionSetType, T > &other)
 assign all DoFs of this local function
 
void axpy (const PointType &x, const RangeType &factor)
 axpy operation for local function
 
void axpy (const PointType &x, const JacobianRangeType &factor)
 axpy operation for local function
 
void axpy (const PointType &x, const HessianRangeType &factor)
 
void axpy (const PointType &x, const RangeType &factor1, const JacobianRangeType &factor2)
 axpy operation for local function
 
template<class QuadratureType , class VectorType >
void evaluateQuadrature (const QuadratureType &quad, VectorType &result, const RangeType &) const
 
template<class QuadratureType , class VectorType >
void evaluateQuadrature (const QuadratureType &quad, VectorType &result, const JacobianRangeType &) const
 
template<class QuadratureType , class VectorType >
void evaluateQuadrature (const QuadratureType &quad, VectorType &result, const HessianRangeType &) const
 
void init (const EntityType &entity)
 initialize the local function for an entity
 
void init (const BasisFunctionSetType &basisFunctionSet)
 initialize the local function for an basisFunctionSet
 
void bind (const EntityType &entity)
 initialize the local function for an entity
 

Protected Attributes

const DiscreteFunctionTypediscreteFunction_
 
BasisFunctionSetType basisFunctionSet_
 
LocalDofVectorType localDofVector_
 

Detailed Description

template<class DiscreteFunction>
class Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >

A constant local function carrying values for one entity.

A ConstLocalDiscreteFunction is a LocalFunction which is basically doing the same as the LocalFunction of a discrete function. The difference is that the local dofs are not kept as references but are copied to a local storage. Therefore, this is a const local function and any modification of dofs is not allowed.

Note
Local DoF numbers correspond directly to array indices. Hence it may be more cache efficient to generate a ConstLocalFunction when only a const access to the local function is needed.
Parameters
DiscreteFunctiontype of the discrete function, the local function shall belong to

Member Typedef Documentation

◆ BasisFunctionSetType

template<class DiscreteFunction >
typedef BaseType::BasisFunctionSetType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::BasisFunctionSetType

◆ DiscreteFunctionSpaceType

template<class DiscreteFunction >
typedef DiscreteFunctionType::DiscreteFunctionSpaceType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::DiscreteFunctionSpaceType

◆ DiscreteFunctionType

template<class DiscreteFunction >
typedef std::remove_const_t< DiscreteFunction > Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::DiscreteFunctionType

◆ DofType

template<class DiscreteFunction >
typedef BaseType::DofType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::DofType

◆ DomainFieldType

template<class BasisFunctionSet , class LocalDofVector >
typedef FunctionSpaceType::DomainFieldType Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::DomainFieldType
inherited

field type of the domain

◆ DomainType

template<class DiscreteFunction >
typedef BaseType::DomainType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::DomainType

◆ EntityType

template<class DiscreteFunction >
typedef BaseType::EntityType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::EntityType

◆ FunctionSpaceType

template<class DiscreteFunction >
typedef DiscreteFunctionSpaceType::FunctionSpaceType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::FunctionSpaceType

◆ GridFunctionType

template<class DiscreteFunction >
typedef DiscreteFunctionType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::GridFunctionType

◆ GridPartType

template<class DiscreteFunction >
typedef DiscreteFunctionSpaceType::GridPartType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::GridPartType

◆ HessianRangeType

template<class DiscreteFunction >
typedef BaseType::HessianRangeType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::HessianRangeType

◆ IntersectionType

template<class DiscreteFunction >
typedef GridPartType::IntersectionType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::IntersectionType

◆ JacobianRangeType

template<class DiscreteFunction >
typedef BaseType::JacobianRangeType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::JacobianRangeType

◆ LocalCoordinateType

template<class BasisFunctionSet , class LocalDofVector >
typedef EntityType::Geometry::LocalCoordinate Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::LocalCoordinateType
inherited

type of local coordinates

◆ LocalDofVectorType

template<class DiscreteFunction >
typedef BaseType::LocalDofVectorType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::LocalDofVectorType

◆ RangeFieldType

template<class BasisFunctionSet , class LocalDofVector >
typedef FunctionSpaceType::RangeFieldType Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::RangeFieldType
inherited

field type of the range

◆ RangeType

template<class DiscreteFunction >
typedef BaseType::RangeType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::RangeType

◆ SizeType

typedef BaseType::SizeType Dune::Fem::BasicConstLocalFunction< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::DofType, DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::LocalDofVectorAllocatorType ::template rebind< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > > ::DofType > ::other > >::SizeType
inherited

type of SizeType

Constructor & Destructor Documentation

◆ ConstLocalDiscreteFunction() [1/6]

template<class DiscreteFunction >
Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::ConstLocalDiscreteFunction ( const DiscreteFunctionType df)
inlineexplicit

constructor creating a local function without binding it to an entity

Creates the local function without initializing the fields depending on the current entity.

Note
Before using the local function it must be initilized by
static GridFunctionView< GF > localFunction(const GF &gf)
Definition: gridfunctionview.hh:118
const EntityType & entity() const
obtain the entity, this local function lives on
Definition: localfunction.hh:302
Parameters
[in]dfdiscrete function the local function shall belong to

◆ ConstLocalDiscreteFunction() [2/6]

template<class DiscreteFunction >
Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::ConstLocalDiscreteFunction ( const typename DiscreteFunctionType::LocalFunctionType &  localFunction)
inline

cast a MutableLocalFunction into this one !!! expensive !!!

◆ ConstLocalDiscreteFunction() [3/6]

template<class DiscreteFunction >
Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::ConstLocalDiscreteFunction ( const DiscreteFunctionType df,
const EntityType entity 
)
inline

constructor creating a local function and binding it to an entity

Creates the local function and initilizes the fields depending on the current entity. It is not necessary, though allowed, to call init before using the discrete function.

Note
The degrees of freedom are not initialized by this function.
Parameters
[in]dfdiscrete function the local function shall belong to
[in]entityentity for initialize the local function to

◆ ConstLocalDiscreteFunction() [4/6]

template<class DiscreteFunction >
Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::ConstLocalDiscreteFunction ( const EntityType entity,
const DiscreteFunctionType df 
)
inline

◆ ConstLocalDiscreteFunction() [5/6]

template<class DiscreteFunction >
Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::ConstLocalDiscreteFunction ( const ThisType other)
inline

copy constructor

◆ ConstLocalDiscreteFunction() [6/6]

template<class DiscreteFunction >
Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::ConstLocalDiscreteFunction ( ThisType &&  other)
inline

move constructor

Member Function Documentation

◆ assign() [1/2]

template<class BasisFunctionSet , class LocalDofVector >
template<class T >
void Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::assign ( const LocalFunction< BasisFunctionSet, T > &  other)
inlineinherited

assign all DoFs of this local function

Parameters
[in]lflocal function to assign DoFs from

◆ assign() [2/2]

void Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::DofType, DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::LocalDofVectorAllocatorType ::template rebind< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > > ::DofType > ::other > >::assign ( const LocalFunction< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::DiscreteFunctionSpaceType::BasisFunctionSetType , T > &  other)
inlineprotectedinherited

assign all DoFs of this local function

Parameters
[in]lflocal function to assign DoFs from

◆ axpy() [1/4]

void Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::DofType, DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::LocalDofVectorAllocatorType ::template rebind< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > > ::DofType > ::other > >::axpy ( const PointType &  x,
const HessianRangeType factor 
)
inlineprotectedinherited

◆ axpy() [2/4]

void Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::DofType, DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::LocalDofVectorAllocatorType ::template rebind< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > > ::DofType > ::other > >::axpy ( const PointType &  x,
const JacobianRangeType factor 
)
inlineprotectedinherited

axpy operation for local function

Denoting the DoFs of the local function by $u_i$ and the basis functions by $\varphi_i$, this function performs the following operation:

\[
u_i = u_i + factor \cdot \nabla\varphi_i( x )
\]

Parameters
[in]xpoint to evaluate jacobian of basis functions in
[in]factoraxpy factor

◆ axpy() [3/4]

void Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::DofType, DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::LocalDofVectorAllocatorType ::template rebind< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > > ::DofType > ::other > >::axpy ( const PointType &  x,
const RangeType factor 
)
inlineprotectedinherited

axpy operation for local function

Denoting the DoFs of the local function by $u_i$ and the basis functions by $\varphi_i$, this function performs the following operation:

\[
u_i = u_i + factor \cdot \varphi_i( x )
\]

Parameters
[in]xpoint to evaluate basis functions in
[in]factoraxpy factor

◆ axpy() [4/4]

void Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::DofType, DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::LocalDofVectorAllocatorType ::template rebind< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > > ::DofType > ::other > >::axpy ( const PointType &  x,
const RangeType factor1,
const JacobianRangeType factor2 
)
inlineprotectedinherited

axpy operation for local function

Denoting the DoFs of the local function by $u_i$ and the basis functions by $\varphi_i$, this function performs the following operation:

\[
u_i = u_i + factor1 \cdot \varphi_i( x ) + factor2 \cdot \nabla\varphi_i( x )
\]

Parameters
[in]xpoint to evaluate basis functions in
[in]factor1axpy factor for $\varphi( x )$
[in]factor2axpy factor for $\nabla\varphi( x )$

◆ axpyQuadrature() [1/2]

template<class BasisFunctionSet , class LocalDofVector >
template<class QuadratureType , class RangeVectorType , class JacobianRangeVectorType >
void Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::axpyQuadrature ( const QuadratureType &  quad,
const RangeVectorType &  rangeVector,
const JacobianRangeVectorType &  jacobianVector 
)
inlineinherited

evaluate all basisfunctions for all quadrature points, multiply with the given factor and add the result to the local coefficients

◆ axpyQuadrature() [2/2]

template<class BasisFunctionSet , class LocalDofVector >
template<class QuadratureType , class ... Vectors>
void Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::axpyQuadrature ( const QuadratureType &  quad,
const Vectors &...  values 
)
inlineinherited

evaluate all basisfunctions for all quadrature points, multiply with the given factor and add the result to the local coefficients

◆ basisFunctionSet()

template<class BasisFunctionSet , class LocalDofVector >
const BasisFunctionSetType & Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::basisFunctionSet ( ) const
inlineinherited

obtain the basis function set for this local function

Returns
reference to the basis function set

◆ bind() [1/3]

template<class DiscreteFunction >
void Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::bind ( const EntityType entity)
inline

◆ bind() [2/3]

template<class BasisFunctionSet , class LocalDofVector >
void Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::bind ( const EntityType entity)
inlineprotectedinherited

initialize the local function for an entity

Binds the local function to an basisFunctionSet and entity.

Note
Must be overloaded on the derived implementation class.
Parameters
[in]entityto bind the local function to

◆ bind() [3/3]

template<class DiscreteFunction >
void Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::bind ( const IntersectionType intersection,
IntersectionSide  side 
)
inline

◆ clear()

void Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::DofType, DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::LocalDofVectorAllocatorType ::template rebind< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > > ::DofType > ::other > >::clear ( )
inlineprotectedinherited

set all DoFs to zero

◆ discreteFunction()

template<class DiscreteFunction >
const DiscreteFunctionType & Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::discreteFunction ( ) const
inline

◆ entity()

template<class BasisFunctionSet , class LocalDofVector >
const EntityType & Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::entity ( ) const
inlineinherited

obtain the entity, this local function lives on

Returns
reference to the entity

◆ evaluate() [1/2]

template<class DiscreteFunction >
template<class Point >
RangeType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::evaluate ( const Point &  p) const
inline

evaluate the local function

Parameters
[in]xevaluation point in local coordinates
Returns
value of the function in the given point

◆ evaluate() [2/2]

template<class BasisFunctionSet , class LocalDofVector >
template<class PointType >
void Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::evaluate ( const PointType &  x,
RangeType ret 
) const
inlineinherited

evaluate the local function

Parameters
[in]xevaluation point in local coordinates
[out]retvalue of the function in the given point

◆ evaluateQuadrature() [1/4]

template<class BasisFunctionSet , class LocalDofVector >
template<class QuadratureType , class ... Vectors>
void Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::evaluateQuadrature ( const QuadratureType &  quad,
Vectors &...  vec 
) const
inlineinherited

evaluate all basisfunctions for all quadrature points and store the results in the result vector

◆ evaluateQuadrature() [2/4]

template<class BasisFunctionSet , class LocalDofVector >
template<class QuadratureType , class VectorType >
void Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::evaluateQuadrature ( const QuadratureType &  quad,
VectorType &  result,
const HessianRangeType  
) const
inlineprotectedinherited

◆ evaluateQuadrature() [3/4]

template<class BasisFunctionSet , class LocalDofVector >
template<class QuadratureType , class VectorType >
void Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::evaluateQuadrature ( const QuadratureType &  quad,
VectorType &  result,
const JacobianRangeType  
) const
inlineprotectedinherited

◆ evaluateQuadrature() [4/4]

template<class BasisFunctionSet , class LocalDofVector >
template<class QuadratureType , class VectorType >
void Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::evaluateQuadrature ( const QuadratureType &  quad,
VectorType &  result,
const RangeType  
) const
inlineprotectedinherited

◆ gridFunction()

template<class DiscreteFunction >
const GridFunctionType & Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::gridFunction ( ) const
inline

◆ hessian() [1/2]

template<class DiscreteFunction >
template<class Point >
HessianRangeType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::hessian ( const Point &  p) const
inline

evaluate Hessian of the local function

Note
Though the Hessian is evaluated on the reference element, the return value is the Hessian with respect to the actual entity.
Parameters
[in]xevaluation point in local coordinates
Returns
Hessian of the function in the evaluation point

◆ hessian() [2/2]

template<class BasisFunctionSet , class LocalDofVector >
template<class PointType >
void Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::hessian ( const PointType &  x,
HessianRangeType ret 
) const
inlineinherited

evaluate Hessian of the local function

Note
Though the Hessian is evaluated on the reference element, the return value is the Hessian with respect to the actual entity.
Parameters
[in]xevaluation point in local coordinates
[out]retHessian of the function in the evaluation point

◆ hessianQuadrature()

template<class BasisFunctionSet , class LocalDofVector >
template<class QuadratureType , class ... Vectors>
void Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::hessianQuadrature ( const QuadratureType &  quad,
Vectors &...  vec 
) const
inlineinherited

evaluate all hessians of all basis functions for all quadrature points and store the results in the result vector

◆ init() [1/3]

template<class BasisFunctionSet , class LocalDofVector >
void Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::init ( const BasisFunctionSetType basisFunctionSet)
inlineprotectedinherited

initialize the local function for an basisFunctionSet

Binds the local function to an basisFunctionSet and entity.

Note
A local function must be initialized to an entity before it can be used.
This function can be called multiple times to use the local function for more than one entity.
Parameters
[in]basisFunctionSetto bind the local function to

◆ init() [2/3]

template<class DiscreteFunction >
void Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::init ( const EntityType entity)
inline

interface for local functions :: init

Local functions are used to represend a discrete function on one entity. The LocalFunctionInterface defines the functionality that can be expected from such a local function. :: init

◆ init() [3/3]

template<class BasisFunctionSet , class LocalDofVector >
void Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::init ( const EntityType entity)
inlineprotectedinherited

initialize the local function for an entity

Binds the local function to an basisFunctionSet and entity.

Note
Must be overloaded on the derived implementation class.
Parameters
[in]entityto bind the local function to

◆ jacobian() [1/2]

template<class DiscreteFunction >
template<class Point >
JacobianRangeType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::jacobian ( const Point &  p) const
inline

evaluate Jacobian of the local function

Note
Though the Jacobian is evaluated on the reference element, the return value is the Jacobian with respect to the actual entity.
Parameters
[in]xevaluation point in local coordinates
Returns
Jacobian of the function in the evaluation point

◆ jacobian() [2/2]

template<class BasisFunctionSet , class LocalDofVector >
template<class PointType >
void Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::jacobian ( const PointType &  x,
JacobianRangeType ret 
) const
inlineinherited

evaluate Jacobian of the local function

Note
Though the Jacobian is evaluated on the reference element, the return value is the Jacobian with respect to the actual entity.
Parameters
[in]xevaluation point in local coordinates
[out]retJacobian of the function in the evaluation point

◆ jacobianQuadrature()

template<class BasisFunctionSet , class LocalDofVector >
template<class QuadratureType , class ... Vectors>
void Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::jacobianQuadrature ( const QuadratureType &  quad,
Vectors &...  vec 
) const
inlineinherited

evaluate all Jacobians for all basis functions for all quadrature points and store the results in the result vector

◆ localDofVector() [1/2]

template<class DiscreteFunction >
LocalDofVectorType & Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::localDofVector ( )
inline

return mutable reference to local Dof Vector

◆ localDofVector() [2/2]

template<class DiscreteFunction >
const LocalDofVectorType & Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::localDofVector ( ) const
inline

return const reference to local Dof Vector

◆ numDofs()

template<class BasisFunctionSet , class LocalDofVector >
int Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::numDofs ( ) const
inlineinherited

obtain the number of local DoFs

Obtain the number of local DoFs of this local function. The value is identical to the number of basis functons on the entity.

Returns
number of local DoFs

◆ operator[]() [1/2]

const DofType & Dune::Fem::BasicConstLocalFunction< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::DofType, DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::LocalDofVectorAllocatorType ::template rebind< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > > ::DofType > ::other > >::operator[] ( SizeType  i)
inlineinherited

◆ operator[]() [2/2]

const DofType & Dune::Fem::BasicConstLocalFunction< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::DofType, DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > >::LocalDofVectorAllocatorType ::template rebind< DiscreteFunctionTraits< std::remove_const_t< DiscreteFunction > > ::DofType > ::other > >::operator[] ( SizeType  i) const
inlineinherited

◆ order()

template<class BasisFunctionSet , class LocalDofVector >
int Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::order ( ) const
inlineinherited

obtain the order of this local function

The order of a local function refers to the polynomial order required to integrate it exactly.

Note
It is not completely clear what this value should be, e.g., for bilinear basis functions.
Returns
order of the local function

◆ size()

template<class BasisFunctionSet , class LocalDofVector >
SizeType Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::size ( ) const
inlineinherited

obtain the number of local DoFs

Obtain the number of local DoFs of this local function. The value is identical to the number of basis functons on the entity.

Returns
number of local DoFs

◆ unbind()

template<class DiscreteFunction >
void Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::unbind ( )
inline

◆ valid()

template<class BasisFunctionSet , class LocalDofVector >
bool Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::valid ( ) const
inlineinherited

Returns true if local function if bind or init was previously called.

Member Data Documentation

◆ basisFunctionSet_

template<class BasisFunctionSet , class LocalDofVector >
BasisFunctionSetType Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::basisFunctionSet_
protectedinherited

◆ dimDomain

template<class BasisFunctionSet , class LocalDofVector >
const int Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::dimDomain = FunctionSpaceType::dimDomain
staticinherited

dimension of the domain

◆ dimRange

template<class BasisFunctionSet , class LocalDofVector >
const int Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::dimRange = FunctionSpaceType::dimRange
staticinherited

dimension of the range

◆ discreteFunction_

template<class DiscreteFunction >
const DiscreteFunctionType* Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::discreteFunction_
protected

◆ localDofVector_

template<class BasisFunctionSet , class LocalDofVector >
LocalDofVectorType Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::localDofVector_
protectedinherited

The documentation for this class was generated from the following file: