dune-fem 2.8.0
|
interface for local functions More...
#include <dune/fem/function/localfunction/localfunction.hh>
Public Types | |
typedef BasisFunctionSet | BasisFunctionSetType |
type of basis function set | |
typedef LocalDofVector | LocalDofVectorType |
type of local Dof Vector | |
typedef LocalDofVectorType::value_type | DofType |
type of DoF use with the discrete function | |
typedef LocalDofVectorType::size_type | SizeType |
type of index | |
typedef BasisFunctionSetType::EntityType | EntityType |
type of the entity, the local function lives on is given by the space | |
typedef BasisFunctionSetType::FunctionSpaceType | FunctionSpaceType |
type of functionspace | |
typedef FunctionSpaceType::DomainFieldType | DomainFieldType |
field type of the domain | |
typedef FunctionSpaceType::RangeFieldType | RangeFieldType |
field type of the range | |
typedef FunctionSpaceType::DomainType | DomainType |
type of domain vectors, i.e., type of coordinates | |
typedef FunctionSpaceType::RangeType | RangeType |
type of range vectors, i.e., type of function values | |
typedef FunctionSpaceType::JacobianRangeType | JacobianRangeType |
type of the Jacobian, i.e., type of evaluated Jacobian matrix | |
typedef FunctionSpaceType::HessianRangeType | HessianRangeType |
type of the Hessian | |
typedef EntityType::Geometry::LocalCoordinate | LocalCoordinateType |
type of local coordinates | |
Public Member Functions | |
LocalFunction () | |
default constructor, calls default ctor of BasisFunctionSetType and LocalDofVectorType | |
LocalFunction (const BasisFunctionSetType &basisFunctionSet) | |
ctor taking a basisFunctionSet, calling default ctor for LocalDofVectorType, and resize | |
LocalFunction (const LocalDofVectorType &localDofVector) | |
ctor taking a localDofVector, calling default ctor for BasisFunctionSetType | |
LocalFunction (const BasisFunctionSetType &basisFunctionSet, const LocalDofVector &localDofVector) | |
copy given agruments | |
LocalFunction (LocalDofVectorType &&localDofVector) | |
half move ctor | |
LocalFunction (const BasisFunctionSetType &basisFunctionSet, LocalDofVector &&localDofVector) | |
half move ctor | |
LocalFunction (ThisType &&other) | |
move constructor | |
LocalFunction (const ThisType &other) | |
copy constructor | |
const DofType & | operator[] (SizeType num) const |
access to local dofs (read-only) | |
DofType & | operator[] (SizeType num) |
access to local dofs (read-write) | |
template<class T > | |
void | assign (const LocalFunction< BasisFunctionSet, T > &other) |
assign all DoFs of this local function | |
void | clear () |
set all DoFs to zero | |
template<class PointType > | |
void | axpy (const PointType &x, const RangeType &factor) |
axpy operation for local function | |
template<class PointType > | |
void | axpy (const PointType &x, const JacobianRangeType &factor) |
axpy operation for local function | |
template<class PointType > | |
void | axpy (const PointType &x, const HessianRangeType &factor) |
template<class PointType > | |
void | axpy (const PointType &x, const RangeType &factor1, const JacobianRangeType &factor2) |
axpy operation for 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 | |
const LocalDofVectorType & | localDofVector () const |
return const reference to local Dof Vector | |
LocalDofVectorType & | localDofVector () |
return mutable reference to local Dof 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 | init (const EntityType &entity) |
initialize the local function for an entity | |
void | bind (const EntityType &entity) |
initialize the local function for an entity | |
void | unbind () |
clears the local function by removing the basisFunctionSet | |
void | init (const BasisFunctionSetType &basisFunctionSet) |
initialize the local function for an basisFunctionSet | |
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 |
Protected Attributes | |
BasisFunctionSetType | basisFunctionSet_ |
LocalDofVectorType | localDofVector_ |
interface for local functions
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.
typedef BasisFunctionSet Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::BasisFunctionSetType |
type of basis function set
typedef LocalDofVectorType::value_type Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::DofType |
type of DoF use with the discrete function
typedef FunctionSpaceType::DomainFieldType Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::DomainFieldType |
field type of the domain
typedef FunctionSpaceType::DomainType Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::DomainType |
type of domain vectors, i.e., type of coordinates
typedef BasisFunctionSetType::EntityType Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::EntityType |
type of the entity, the local function lives on is given by the space
typedef BasisFunctionSetType::FunctionSpaceType Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::FunctionSpaceType |
type of functionspace
typedef FunctionSpaceType::HessianRangeType Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::HessianRangeType |
type of the Hessian
typedef FunctionSpaceType::JacobianRangeType Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::JacobianRangeType |
type of the Jacobian, i.e., type of evaluated Jacobian matrix
typedef EntityType::Geometry::LocalCoordinate Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::LocalCoordinateType |
type of local coordinates
typedef LocalDofVector Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::LocalDofVectorType |
type of local Dof Vector
typedef FunctionSpaceType::RangeFieldType Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::RangeFieldType |
field type of the range
typedef FunctionSpaceType::RangeType Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::RangeType |
type of range vectors, i.e., type of function values
typedef LocalDofVectorType::size_type Dune::Fem::LocalFunction< BasisFunctionSet, LocalDofVector >::SizeType |
type of index
|
inline |
default constructor, calls default ctor of BasisFunctionSetType and LocalDofVectorType
|
inlineexplicit |
ctor taking a basisFunctionSet, calling default ctor for LocalDofVectorType, and resize
|
inlineexplicit |
ctor taking a localDofVector, calling default ctor for BasisFunctionSetType
|
inline |
copy given agruments
|
inlineexplicit |
half move ctor
|
inline |
half move ctor
|
inline |
move constructor
|
inline |
copy constructor
|
inline |
assign all DoFs of this local function
[in] | lf | local function to assign DoFs from |
|
inline |
|
inline |
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 |
|
inline |
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 |
|
inline |
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 ![]() |
|
inline |
evaluate all basisfunctions for all quadrature points, multiply with the given factor and add the result to the local coefficients
|
inline |
evaluate all basisfunctions for all quadrature points, multiply with the given factor and add the result to the local coefficients
|
inline |
obtain the basis function set for this local function
|
inlineprotected |
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 |
set all DoFs to zero
|
inline |
obtain the entity, this local function lives on
|
inline |
evaluate the local function
[in] | x | evaluation point in local coordinates |
[out] | ret | value of the function in the given point |
|
inline |
evaluate all basisfunctions for all quadrature points and store the results in the result vector
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inline |
evaluate Hessian of the local function
[in] | x | evaluation point in local coordinates |
[out] | ret | Hessian of the function in the evaluation point |
|
inline |
evaluate all hessians of all basis functions for all quadrature points and store the results in the result vector
|
inlineprotected |
initialize the local function for an basisFunctionSet
Binds the local function to an basisFunctionSet and entity.
[in] | basisFunctionSet | to bind the local function to |
|
inlineprotected |
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 |
[out] | ret | Jacobian of the function in the evaluation point |
|
inline |
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
|
inline |
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 |
access to local dofs (read-write)
[in] | num | local DoF number |
|
inline |
access to local dofs (read-only)
[in] | num | local dof number |
|
inline |
obtain the order of this local function
The order of a local function refers to the polynomial order required to integrate it exactly.
|
inline |
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.
|
inlineprotected |
clears the local function by removing the basisFunctionSet
|
inline |
Returns true if local function if bind or init was previously called.
|
protected |
|
static |
dimension of the domain
|
static |
dimension of the range
|
protected |