dune-fem  2.4.1-rc
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
Dune::Fem::ConstLocalFunction< DiscreteFunction > Class Template Reference

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

#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/function/localfunction/const.hh>

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

Public Types

typedef std::remove_const< DiscreteFunction >::type DiscreteFunctionType
 
typedef DiscreteFunctionType::DiscreteFunctionSpaceType DiscreteFunctionSpaceType
 
typedef BaseType::DofType DofType
 
typedef BaseType::EntityType EntityType
 
typedef BaseType::BasisFunctionSetType BasisFunctionSetType
 
typedef BaseType::LocalDofVectorType LocalDofVectorType
 
typedef BaseType::SizeType SizeType
 type of SizeType More...
 
typedef BasisFunctionSetType::FunctionSpaceType FunctionSpaceType
 type of functionspace More...
 
typedef FunctionSpaceType::DomainFieldType DomainFieldType
 field type of the domain More...
 
typedef FunctionSpaceType::RangeFieldType RangeFieldType
 field type of the range More...
 
typedef FunctionSpaceType::DomainType DomainType
 type of domain vectors, i.e., type of coordinates More...
 
typedef FunctionSpaceType::RangeType RangeType
 type of range vectors, i.e., type of function values More...
 
typedef FunctionSpaceType::JacobianRangeType JacobianRangeType
 type of the Jacobian, i.e., type of evaluated Jacobian matrix More...
 
typedef FunctionSpaceType::HessianRangeType HessianRangeType
 type of the Hessian More...
 
typedef EntityType::Geometry::LocalCoordinate LocalCoordinateType
 type of local coordinates More...
 

Public Member Functions

 ConstLocalFunction (const DiscreteFunctionType &df)
 constructor creating a local function without binding it to an entity More...
 
 ConstLocalFunction (const typename DiscreteFunctionType::LocalFunctionType &localFunction)
 cast a MutableLocalFunction into this one !!! expensive !!! More...
 
 ConstLocalFunction (const DiscreteFunctionType &df, const EntityType &entity)
 constructor creating a local function and binding it to an entity More...
 
 ConstLocalFunction (const ThisType &other)
 copy constructor More...
 
 ConstLocalFunction (ThisType &&other)
 move constructor More...
 
void init (const EntityType &entity)
 interface for local functions :: init More...
 
const DiscreteFunctionTypediscreteFunction () const
 
const DofTypeoperator[] (SizeType num) const
 access to local dofs (read-only) More...
 
ThisTypeoperator+= (const LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType, T > &other)
 add another local function to this one More...
 
void assign (const LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType, T > &other)
 assign all DoFs of this local function More...
 
void clear ()
 set all DoFs to zero More...
 
ThisTypeoperator-= (const LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType, T > &other)
 subtract another local function to this one More...
 
ThisTypeaxpy (const RangeFieldType s, const LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType, T > &other)
 add a multiple of another local function to this one More...
 
void axpy (const PointType &x, const RangeType &factor)
 axpy operation for local function More...
 
void axpy (const PointType &x, const JacobianRangeType &factor)
 axpy operation for local function More...
 
void axpy (const PointType &x, const RangeType &factor1, const JacobianRangeType &factor2)
 axpy operation for local function More...
 
int order () const
 obtain the order of this local function More...
 
const BasisFunctionSetTypebasisFunctionSet () const
 obtain the basis function set for this local function More...
 
const EntityTypeentity () const
 obtain the entity, this local function lives on More...
 
void init (const BasisFunctionSetType &basisFunctionSet)
 
void evaluate (const PointType &x, RangeType &ret) const
 evaluate the local function More...
 
void jacobian (const PointType &x, JacobianRangeType &ret) const
 evaluate Jacobian of the local function More...
 
void hessian (const PointType &x, HessianRangeType &ret) const
 evaluate Hessian of the local function More...
 
int numDofs () const
 obtain the number of local DoFs More...
 
SizeType size () const
 
int numScalarDofs () const
 obtain the number of local DoFs in the scalar case More...
 
void axpyQuadrature (const QuadratureType &quad, const VectorType &values)
 evaluate all basisfunctions for all quadrature points, multiply with the given factor and add the result to the local coefficients More...
 
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 More...
 
void evaluateQuadrature (const QuadratureType &quad, VectorType &result) const
 evaluate all basisfunctions for all quadrature points and store the results in the result vector More...
 
const LocalDofVectorTypelocalDofVector () const
 return const reference to local Dof Vector More...
 
LocalDofVectorTypelocalDofVector ()
 return mutable reference to local Dof Vector More...
 

Static Public Attributes

static const int dimDomain
 dimension of the domain More...
 
static const int dimRange
 dimension of the range More...
 

Protected Member Functions

DofTypeoperator[] (SizeType num)
 
void evaluateQuadrature (const QuadratureType &quad, VectorType &result, const RangeType &) const
 
void evaluateQuadrature (const QuadratureType &quad, VectorType &result, const JacobianRangeType &) const
 

Protected Attributes

const DiscreteFunctionTypediscreteFunction_
 
BasisFunctionSetType basisFunctionSet_
 
LocalDofVectorType localDofVector_
 

Detailed Description

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

A constant local function carrying values for one entity.

A ConstLocalFunction 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

template<class DiscreteFunction>
typedef BaseType::BasisFunctionSetType Dune::Fem::ConstLocalFunction< DiscreteFunction >::BasisFunctionSetType
template<class DiscreteFunction>
typedef DiscreteFunctionType::DiscreteFunctionSpaceType Dune::Fem::ConstLocalFunction< DiscreteFunction >::DiscreteFunctionSpaceType
template<class DiscreteFunction>
typedef std::remove_const< DiscreteFunction >::type Dune::Fem::ConstLocalFunction< DiscreteFunction >::DiscreteFunctionType
template<class DiscreteFunction>
typedef BaseType::DofType Dune::Fem::ConstLocalFunction< DiscreteFunction >::DofType
typedef FunctionSpaceType::DomainFieldType Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::DomainFieldType
inherited

field type of the domain

typedef FunctionSpaceType::DomainType Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::DomainType
inherited

type of domain vectors, i.e., type of coordinates

template<class DiscreteFunction>
typedef BaseType::EntityType Dune::Fem::ConstLocalFunction< DiscreteFunction >::EntityType
typedef BasisFunctionSetType::FunctionSpaceType Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::FunctionSpaceType
inherited

type of functionspace

typedef FunctionSpaceType::HessianRangeType Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::HessianRangeType
inherited

type of the Hessian

typedef FunctionSpaceType::JacobianRangeType Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::JacobianRangeType
inherited

type of the Jacobian, i.e., type of evaluated Jacobian matrix

typedef EntityType::Geometry::LocalCoordinate Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::LocalCoordinateType
inherited

type of local coordinates

template<class DiscreteFunction>
typedef BaseType::LocalDofVectorType Dune::Fem::ConstLocalFunction< DiscreteFunction >::LocalDofVectorType
typedef FunctionSpaceType::RangeFieldType Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::RangeFieldType
inherited

field type of the range

typedef FunctionSpaceType::RangeType Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::RangeType
inherited

type of range vectors, i.e., type of function values

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

type of SizeType

Constructor & Destructor Documentation

template<class DiscreteFunction>
Dune::Fem::ConstLocalFunction< DiscreteFunction >::ConstLocalFunction ( 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
localFunction.init( entity );
Parameters
[in]dfdiscrete function the local function shall belong to
template<class DiscreteFunction>
Dune::Fem::ConstLocalFunction< DiscreteFunction >::ConstLocalFunction ( const typename DiscreteFunctionType::LocalFunctionType &  localFunction)
inline
template<class DiscreteFunction>
Dune::Fem::ConstLocalFunction< DiscreteFunction >::ConstLocalFunction ( 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

References Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::localDofVector().

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

copy constructor

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

Member Function Documentation

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

assign all DoFs of this local function

Parameters
[in]lflocal function to assign DoFs from
ThisType& Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::axpy ( const RangeFieldType  s,
const LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , T > &  other 
)
inlineinherited

add a multiple of another local function to this one

Note
The local function to add may be any implementation of a LocalFunction.
Parameters
[in]sscalar factor to scale lf with
[in]lflocal function to add
Returns
a reference to this local function (i.e., *this)
void Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::axpy ( const PointType &  x,
const RangeType factor 
)
inlineinherited

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
void Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::axpy ( const PointType &  x,
const JacobianRangeType factor 
)
inlineinherited

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
void Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::axpy ( const PointType &  x,
const RangeType factor1,
const JacobianRangeType factor2 
)
inlineinherited

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 )$
void Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::axpyQuadrature ( const QuadratureType &  quad,
const VectorType &  values 
)
inlineinherited

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

void Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::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

const BasisFunctionSetType& Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::basisFunctionSet ( ) const
inlineinherited

obtain the basis function set for this local function

Returns
reference to the basis function set
void Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::clear ( )
inlineinherited

set all DoFs to zero

template<class DiscreteFunction>
const DiscreteFunctionType& Dune::Fem::ConstLocalFunction< DiscreteFunction >::discreteFunction ( ) const
inline
const EntityType& Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::entity ( ) const
inlineinherited

obtain the entity, this local function lives on

Returns
reference to the entity
void Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::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
void Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::evaluateQuadrature ( const QuadratureType &  quad,
VectorType &  result 
) const
inlineinherited

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

void Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::evaluateQuadrature ( const QuadratureType &  quad,
VectorType &  result,
const RangeType  
) const
inlineprotectedinherited
void Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::evaluateQuadrature ( const QuadratureType &  quad,
VectorType &  result,
const JacobianRangeType  
) const
inlineprotectedinherited
void Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::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
template<class DiscreteFunction>
void Dune::Fem::ConstLocalFunction< 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

References Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::basisFunctionSet(), Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::init(), and Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::localDofVector().

void Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::init ( const BasisFunctionSetType basisFunctionSet)
inlineinherited
Todo:
please doc me
void Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::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
const LocalDofVectorType& Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::localDofVector ( ) const
inlineinherited

return const reference to local Dof Vector

LocalDofVectorType& Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::localDofVector ( )
inlineinherited

return mutable reference to local Dof Vector

int Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::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
int Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::numScalarDofs ( ) const
inlineinherited

obtain the number of local DoFs in the scalar case

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

Returns
number of local DoFs, scalar case
ThisType& Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::operator+= ( const LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , T > &  other)
inlineinherited

add another local function to this one

Note
The local function to add may be any implementation of a LocalFunction.
Parameters
[in]lflocal function to add
Returns
a reference to this local function (i.e., *this)
ThisType& Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::operator-= ( const LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , T > &  other)
inlineinherited

subtract another local function to this one

Note
The local function to suctract may be any implementation of a LocalFunction.
Parameters
[in]lflocal function to subtract
Returns
a reference to this local function (i.e., *this)
DofType& Dune::Fem::BasicConstLocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::operator[] ( SizeType  num)
inlineprotectedinherited
const DofType& Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::operator[] ( SizeType  num) const
inlineinherited

access to local dofs (read-only)

Parameters
[in]numlocal dof number
Returns
reference to dof
int Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::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
SizeType Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::size ( ) const
inlineinherited

Member Data Documentation

BasisFunctionSetType Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::basisFunctionSet_
protectedinherited
const int Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::dimDomain
staticinherited

dimension of the domain

const int Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::dimRange
staticinherited

dimension of the range

template<class DiscreteFunction>
const DiscreteFunctionType* Dune::Fem::ConstLocalFunction< DiscreteFunction >::discreteFunction_
protected
LocalDofVectorType Dune::Fem::LocalFunction< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DiscreteFunctionSpaceType::BasisFunctionSetType , Dune::DynamicVector< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType, DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::LocalDofVectorAllocatorType::template rebind< DiscreteFunctionTraits< std::remove_const< DiscreteFunction >::type >::DofType >::other > >::localDofVector_
protectedinherited

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