|
dune-fem 2.12-git
|
A temporary function carrying values for one entity. More...
#include <dune/fem/function/localfunction/temporary.hh>

Public Types | |
| typedef DiscreteFunctionSpace | DiscreteFunctionSpaceType |
| type of the discrete function space | |
| typedef BaseType::EntityType | EntityType |
| type of Entity | |
| typedef BaseType::BasisFunctionSetType | BasisFunctionSetType |
| type of BasisFunctionSet | |
| typedef BaseType::LocalDofVectorType | LocalDofVectorType |
| type of LocalDofVector | |
| typedef LocalDofVectorType::value_type | DofType |
| type of DoF use with the discrete function | |
| typedef LocalDofVectorType::size_type | SizeType |
| type of index | |
| typedef EntityType::Geometry | Geometry |
| type of the geometry, 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 Geometry::LocalCoordinate | LocalCoordinateType |
| type of local coordinates | |
| typedef Traits::derived_type | derived_type |
| typedef Traits::value_type | value_type |
| typedef FieldTraits< value_type >::field_type | field_type |
| typedef Traits::value_type | block_type |
| typedef Traits::size_type | size_type |
| typedef DenseIterator< DenseVector, value_type > | Iterator |
| typedef Iterator | iterator |
| typedef DenseIterator< const DenseVector, const value_type > | ConstIterator |
| typedef ConstIterator | const_iterator |
Public Member Functions | |
| BasicTemporaryLocalFunction (const DiscreteFunctionSpaceType &dfSpace, const LocalDofVectorType &dofVector=LocalDofVectorType()) | |
| constructor creating a local function without binding it to an entity | |
| BasicTemporaryLocalFunction (const DiscreteFunctionSpaceType &dfSpace, const EntityType &entity, const LocalDofVectorType &dofVector=LocalDofVectorType()) | |
| constructor creating a local function and binding it to an entity | |
| 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 () |
| Unbinds a local function from an entity. | |
| template<class IntersectionType > | |
| void | bind (const IntersectionType &intersection, IntersectionSide side) |
| initialize the local function for an entity adjacent to the intersection | |
| const DiscreteFunctionSpaceType & | space () const |
| return discrete function space this local function belongs to | |
| const LocalDofVectorType & | localDofVector () const |
| return const reference to local Dof Vector | |
| LocalDofVectorType & | localDofVector () |
| return mutable reference to local Dof Vector | |
| const DofType & | operator[] (SizeType num) const |
| access to local dofs (read-only) | |
| DofType & | operator[] (SizeType num) |
| access to local dofs (read-write) | |
| constexpr value_type & | operator[] (size_type i) |
| constexpr const value_type & | operator[] (size_type i) const |
| void | assign (const LocalFunction< DiscreteFunctionSpace ::BasisFunctionSetType, T > &other) |
| assign all DoFs of this local function | |
| void | clear () |
| set all DoFs to zero | |
| 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 | |
| constexpr derived_type & | axpy (const field_type &a, const DenseVector< Other > &x) |
| 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 | |
| const Geometry & | geometry () const |
| obtain the geometry, this local function lives on | |
| void | evaluate (const PointType &x, RangeType &ret) const |
| evaluate the local function | |
| void | jacobian (const PointType &x, JacobianRangeType &ret) const |
| evaluate Jacobian of the local function | |
| 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 | |
| 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 | |
| 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 | |
| void | evaluateQuadrature (const QuadratureType &quad, Vectors &... vec) const |
| evaluate all basisfunctions for all quadrature points and store the results in the result vector | |
| 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 | |
| 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. | |
| constexpr value_type & | front () |
| constexpr const value_type & | front () const |
| constexpr value_type & | back () |
| constexpr const value_type & | back () const |
| constexpr bool | empty () const |
| constexpr Iterator | begin () |
| constexpr ConstIterator | begin () const |
| constexpr Iterator | end () |
| constexpr ConstIterator | end () const |
| constexpr Iterator | beforeEnd () |
| constexpr ConstIterator | beforeEnd () const |
| constexpr Iterator | beforeBegin () |
| constexpr ConstIterator | beforeBegin () const |
| constexpr Iterator | find (size_type i) |
| constexpr ConstIterator | find (size_type i) const |
| constexpr derived_type & | operator+= (const DenseVector< Other > &x) |
| constexpr std::enable_if< std::is_convertible< ValueType, value_type >::value, derived_type >::type & | operator+= (const ValueType &kk) |
| constexpr derived_type & | operator-= (const DenseVector< Other > &x) |
| constexpr std::enable_if< std::is_convertible< ValueType, value_type >::value, derived_type >::type & | operator-= (const ValueType &kk) |
| constexpr derived_type | operator+ (const DenseVector< Other > &b) const |
| constexpr derived_type | operator- (const DenseVector< Other > &b) const |
| constexpr derived_type | operator- () const |
| constexpr std::enable_if< std::is_convertible< FieldType, field_type >::value, derived_type >::type & | operator*= (const FieldType &kk) |
| constexpr std::enable_if< std::is_convertible< FieldType, field_type >::value, derived_type >::type & | operator/= (const FieldType &kk) |
| constexpr bool | operator== (const DenseVector< Other > &x) const |
| constexpr bool | operator!= (const DenseVector< Other > &x) const |
| constexpr PromotionTraits< field_type, typenameDenseVector< Other >::field_type >::PromotedType | operator* (const DenseVector< Other > &x) const |
| constexpr PromotionTraits< field_type, typenameDenseVector< Other >::field_type >::PromotedType | dot (const DenseVector< Other > &x) const |
| constexpr FieldTraits< value_type >::real_type | one_norm () const |
| constexpr FieldTraits< value_type >::real_type | one_norm_real () const |
| constexpr FieldTraits< value_type >::real_type | two_norm () const |
| constexpr FieldTraits< value_type >::real_type | two_norm2 () const |
| constexpr FieldTraits< vt >::real_type | infinity_norm () const |
| constexpr FieldTraits< vt >::real_type | infinity_norm () const |
| constexpr FieldTraits< vt >::real_type | infinity_norm_real () const |
| constexpr FieldTraits< vt >::real_type | infinity_norm_real () const |
| constexpr size_type | N () const |
| constexpr size_type | dim () const |
| std::ostream & | operator<< (std::ostream &s, const DenseVector< V > &v) |
Static Public Attributes | |
| static const int | dimDomain |
| dimension of the domain | |
| static const int | dimRange |
| dimension of the range | |
| static constexpr int | blocklevel |
Protected Member Functions | |
| void | evaluateQuadrature (const QuadratureType &quad, VectorType &result, const RangeType &) const |
| void | evaluateQuadrature (const QuadratureType &quad, VectorType &result, const JacobianRangeType &) const |
| 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 DiscreteFunctionSpaceType & | dfSpace_ |
| BasisFunctionSetType | basisFunctionSet_ |
| LocalDofVectorType | localDofVector_ |
Detailed Description
class Dune::Fem::BasicTemporaryLocalFunction< DiscreteFunctionSpace, DofVector >
A temporary function carrying values for one entity.
A BasicTemporaryLocalFunction is a LocalFunction which is not associated with any DiscreteFunction. It can be used when generating discrete functions to temporarily store values for one entity.
- Parameters
-
DiscreteFunctionSpace type of the discrete function space, the local function shall belong to DofVector type of vector the degrees of freedom for an entity are stored in
Member Typedef Documentation
◆ BasisFunctionSetType
| typedef BaseType::BasisFunctionSetType Dune::Fem::BasicTemporaryLocalFunction< DiscreteFunctionSpace, DofVector >::BasisFunctionSetType |
type of BasisFunctionSet
◆ DiscreteFunctionSpaceType
| typedef DiscreteFunctionSpace Dune::Fem::BasicTemporaryLocalFunction< DiscreteFunctionSpace, DofVector >::DiscreteFunctionSpaceType |
type of the discrete function space
◆ DofType
|
inherited |
type of DoF use with the discrete function
◆ DomainFieldType
|
inherited |
field type of the domain
◆ DomainType
|
inherited |
type of domain vectors, i.e., type of coordinates
◆ EntityType
| typedef BaseType::EntityType Dune::Fem::BasicTemporaryLocalFunction< DiscreteFunctionSpace, DofVector >::EntityType |
type of Entity
◆ FunctionSpaceType
|
inherited |
type of functionspace
◆ Geometry
|
inherited |
type of the geometry, the local function lives on is given by the space
◆ HessianRangeType
|
inherited |
type of the Hessian
◆ JacobianRangeType
|
inherited |
type of the Jacobian, i.e., type of evaluated Jacobian matrix
◆ LocalCoordinateType
|
inherited |
type of local coordinates
◆ LocalDofVectorType
| typedef BaseType::LocalDofVectorType Dune::Fem::BasicTemporaryLocalFunction< DiscreteFunctionSpace, DofVector >::LocalDofVectorType |
type of LocalDofVector
◆ RangeFieldType
|
inherited |
field type of the range
◆ RangeType
|
inherited |
type of range vectors, i.e., type of function values
◆ SizeType
|
inherited |
type of index
Constructor & Destructor Documentation
◆ BasicTemporaryLocalFunction() [1/2]
|
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 );static GridFunctionView< GF > localFunction(const GF &gf)Definition gridfunctionview.hh:118const EntityType & entity() constobtain the entity, this local function lives onDefinition localfunction.hh:305
- Parameters
-
[in] dfSpace discrete function space the local function shall belong to
◆ BasicTemporaryLocalFunction() [2/2]
|
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] dfSpace discrete function space the local function shall belong to [in] entity entity for initialize the local function to
Member Function Documentation
◆ assign()
|
inlineinherited |
assign all DoFs of this local function
- Parameters
-
[in] lf local function to assign DoFs from
◆ axpy() [1/4]
|
inlineinherited |
◆ axpy() [2/4]
|
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] x point to evaluate jacobian of basis functions in [in] factor axpy factor
◆ axpy() [3/4]
|
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] x point to evaluate basis functions in [in] factor axpy factor
◆ axpy() [4/4]
|
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] x point to evaluate basis functions in [in] factor1 axpy factor for \(\varphi( x )\) [in] factor2 axpy factor for \(\nabla\varphi( x )\)
◆ axpyQuadrature() [1/2]
|
inlineinherited |
evaluate all basisfunctions for all quadrature points, multiply with the given factor and add the result to the local coefficients
◆ axpyQuadrature() [2/2]
|
inlineinherited |
evaluate all basisfunctions for all quadrature points, multiply with the given factor and add the result to the local coefficients
◆ basisFunctionSet()
|
inlineinherited |
obtain the basis function set for this local function
- Returns
- reference to the basis function set
◆ bind() [1/3]
|
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] entity to bind the local function to
◆ bind() [2/3]
|
inline |
initialize the local function for an entity
Binds the local function to an 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] entity entity to bind the local function to
◆ bind() [3/3]
|
inline |
initialize the local function for an entity adjacent to the intersection
Binds the local function to an 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] intersection to bind the local function to either inside or outside entity [in] side side of intersection, i.e. in or out
◆ clear()
|
inlineinherited |
set all DoFs to zero
◆ entity()
|
inlineinherited |
obtain the entity, this local function lives on
- Returns
- reference to the entity
◆ evaluate()
|
inlineinherited |
evaluate the local function
- Parameters
-
[in] x evaluation point in local coordinates [out] ret value of the function in the given point
◆ evaluateQuadrature() [1/4]
|
inlineinherited |
evaluate all basisfunctions for all quadrature points and store the results in the result vector
◆ evaluateQuadrature() [2/4]
|
inlineprotectedinherited |
◆ evaluateQuadrature() [3/4]
|
inlineprotectedinherited |
◆ evaluateQuadrature() [4/4]
|
inlineprotectedinherited |
◆ geometry()
|
inlineinherited |
obtain the geometry, this local function lives on
- Returns
- reference to the geometry
◆ hessian()
|
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] x evaluation point in local coordinates [out] ret Hessian of the function in the evaluation point
◆ hessianQuadrature()
|
inlineinherited |
evaluate all hessians of all basis functions for all quadrature points and store the results in the result vector
◆ init() [1/3]
|
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] basisFunctionSet to bind the local function to
◆ init() [2/3]
|
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] entity to bind the local function to
◆ init() [3/3]
|
inline |
initialize the local function for an entity
Binds the local function to an 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] entity entity to bind the local function to
◆ jacobian()
|
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] x evaluation point in local coordinates [out] ret Jacobian of the function in the evaluation point
◆ jacobianQuadrature()
|
inlineinherited |
evaluate all Jacobians for all basis functions for all quadrature points and store the results in the result vector
◆ localDofVector() [1/2]
|
inline |
return mutable reference to local Dof Vector
◆ localDofVector() [2/2]
|
inline |
return const reference to local Dof Vector
◆ numDofs()
|
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]
|
inlineinherited |
access to local dofs (read-write)
- Parameters
-
[in] num local DoF number
- Returns
- reference to DoF
◆ operator[]() [2/2]
|
inlineinherited |
access to local dofs (read-only)
- Parameters
-
[in] num local dof number
- Returns
- reference to dof
◆ order()
|
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()
|
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
◆ space()
|
inline |
return discrete function space this local function belongs to
◆ unbind()
|
inline |
Unbinds a local function from an entity.
◆ valid()
|
inlineinherited |
Returns true if local function if bind or init was previously called.
Member Data Documentation
◆ basisFunctionSet_
|
protectedinherited |
◆ dfSpace_
|
protected |
◆ dimDomain
|
staticinherited |
dimension of the domain
◆ dimRange
|
staticinherited |
dimension of the range
◆ localDofVector_
|
protectedinherited |
The documentation for this class was generated from the following file:
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8