dune-fem 2.8.0
|
A constant local function carrying values for one entity. More...
#include <dune/fem/function/localfunction/const.hh>
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 DiscreteFunctionType & | discreteFunction () const |
const GridFunctionType & | gridFunction () const |
const LocalDofVectorType & | localDofVector () const |
return const reference to local Dof Vector | |
LocalDofVectorType & | localDofVector () |
return mutable reference to local Dof Vector | |
const DofType & | operator[] (SizeType i) const |
const DofType & | operator[] (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 BasisFunctionSetType & | basisFunctionSet () const |
obtain the basis function set for this local function | |
const EntityType & | entity () 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 DiscreteFunctionType * | discreteFunction_ |
BasisFunctionSetType | basisFunctionSet_ |
LocalDofVectorType | localDofVector_ |
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.
DiscreteFunction | type of the discrete function, the local function shall belong to |
typedef BaseType::BasisFunctionSetType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::BasisFunctionSetType |
typedef DiscreteFunctionType::DiscreteFunctionSpaceType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::DiscreteFunctionSpaceType |
typedef std::remove_const_t< DiscreteFunction > Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::DiscreteFunctionType |
typedef BaseType::DofType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::DofType |
|
inherited |
field type of the domain
typedef BaseType::DomainType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::DomainType |
typedef BaseType::EntityType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::EntityType |
typedef DiscreteFunctionSpaceType::FunctionSpaceType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::FunctionSpaceType |
typedef DiscreteFunctionType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::GridFunctionType |
typedef DiscreteFunctionSpaceType::GridPartType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::GridPartType |
typedef BaseType::HessianRangeType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::HessianRangeType |
typedef GridPartType::IntersectionType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::IntersectionType |
typedef BaseType::JacobianRangeType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::JacobianRangeType |
|
inherited |
type of local coordinates
typedef BaseType::LocalDofVectorType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::LocalDofVectorType |
|
inherited |
field type of the range
typedef BaseType::RangeType Dune::Fem::ConstLocalDiscreteFunction< DiscreteFunction >::RangeType |
|
inherited |
type of SizeType
|
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.
[in] | df | discrete function the local function shall belong to |
|
inline |
cast a MutableLocalFunction into this one !!! expensive !!!
|
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.
[in] | df | discrete function the local function shall belong to |
[in] | entity | entity for initialize the local function to |
|
inline |
|
inline |
copy constructor
|
inline |
move constructor
|
inlineinherited |
assign all DoFs of this local function
[in] | lf | local function to assign DoFs from |
|
inlineprotectedinherited |
assign all DoFs of this local function
[in] | lf | local function to assign DoFs from |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
axpy operation for local function
Denoting the DoFs of the local function by
[in] | x | point to evaluate jacobian of basis functions in |
[in] | factor | axpy factor |
|
inlineprotectedinherited |
axpy operation for local function
Denoting the DoFs of the local function by
[in] | x | point to evaluate basis functions in |
[in] | factor | axpy factor |
|
inlineprotectedinherited |
axpy operation for local function
Denoting the DoFs of the local function by
[in] | x | point to evaluate basis functions in |
[in] | factor1 | axpy factor for ![]() |
[in] | factor2 | axpy factor for ![]() |
|
inlineinherited |
evaluate all basisfunctions for all quadrature points, multiply with the given factor and add the result to the local coefficients
|
inlineinherited |
evaluate all basisfunctions for all quadrature points, multiply with the given factor and add the result to the local coefficients
|
inlineinherited |
obtain the basis function set for this local function
|
inline |
|
inlineprotectedinherited |
initialize the local function for an entity
Binds the local function to an basisFunctionSet and entity.
[in] | entity | to bind the local function to |
|
inline |
|
inlineprotectedinherited |
set all DoFs to zero
|
inline |
|
inlineinherited |
obtain the entity, this local function lives on
|
inline |
evaluate the local function
[in] | x | evaluation point in local coordinates |
|
inlineinherited |
evaluate the local function
[in] | x | evaluation point in local coordinates |
[out] | ret | value of the function in the given point |
|
inlineinherited |
evaluate all basisfunctions for all quadrature points and store the results in the result vector
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inline |
|
inline |
evaluate Hessian of the local function
[in] | x | evaluation point in local coordinates |
|
inlineinherited |
evaluate Hessian of the local function
[in] | x | evaluation point in local coordinates |
[out] | ret | Hessian of the function in the evaluation point |
|
inlineinherited |
evaluate all hessians of all basis functions for all quadrature points and store the results in the result vector
|
inlineprotectedinherited |
initialize the local function for an basisFunctionSet
Binds the local function to an basisFunctionSet and entity.
[in] | basisFunctionSet | to bind the local function to |
|
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
|
inlineprotectedinherited |
initialize the local function for an entity
Binds the local function to an basisFunctionSet and entity.
[in] | entity | to bind the local function to |
|
inline |
evaluate Jacobian of the local function
[in] | x | evaluation point in local coordinates |
|
inlineinherited |
evaluate Jacobian of the local function
[in] | x | evaluation point in local coordinates |
[out] | ret | Jacobian of the function in the evaluation point |
|
inlineinherited |
evaluate all Jacobians for all basis functions for all quadrature points and store the results in the result vector
|
inline |
return mutable reference to local Dof Vector
|
inline |
return const reference to local Dof Vector
|
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.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
obtain the order of this local function
The order of a local function refers to the polynomial order required to integrate it exactly.
|
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.
|
inline |
|
inlineinherited |
Returns true if local function if bind or init was previously called.
|
protectedinherited |
|
staticinherited |
dimension of the domain
|
staticinherited |
dimension of the range
|
protected |
|
protectedinherited |