|
dune-fem 2.12-git
|
#include <dune/fem/function/common/localcontribution.hh>

Public Types | |
| typedef DiscreteFunction | DiscreteFunctionType |
| typedef AssemblyOperation< typename DiscreteFunctionTraits< DiscreteFunctionType >::DiscreteFunctionType > | AssemblyOperationType |
| typedef DiscreteFunctionType::DiscreteFunctionSpaceType::BasisFunctionSetType | BasisFunctionSetType |
| typedef DiscreteFunctionType::DofType | DofType |
| typedef DiscreteFunctionType::RangeType | RangeType |
| typedef RangeType::field_type | RangeFieldType |
| typedef DiscreteFunctionType::JacobianRangeType | JacobianRangeType |
| typedef BaseType::LocalDofVectorType | LocalDofVectorType |
| typedef LocalDofVectorType::size_type | SizeType |
| typedef BasisFunctionSetType::EntityType | EntityType |
| 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::DomainType | DomainType |
| type of domain vectors, i.e., type of coordinates | |
| 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 | |
| template<class... Args> | |
| LocalContribution (DiscreteFunctionType &discreteFunction, const bool communicate, Args &&... args) | |
| template<class... Args> | |
| LocalContribution (DiscreteFunctionType &discreteFunction, Args &&... args) | |
| LocalContribution (const ThisType &)=delete | |
| LocalContribution (ThisType &&)=delete | |
| ~LocalContribution () | |
| ThisType & | operator= (const ThisType &)=delete |
| ThisType & | operator= (ThisType &&)=delete |
| const DiscreteFunctionType & | discreteFunction () const |
| DiscreteFunctionType & | discreteFunction () |
| void | bind (const EntityType &entity) |
| void | unbind () |
| void | init (const EntityType &entity) |
| initialize the local function for an entity | |
| void | bind (const EntityType &entity) |
| initialize the local function for 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 | init (const EntityType &entity) |
| initialize the local function for an entity | |
| void | init (const BasisFunctionSetType &basisFunctionSet) |
| initialize the local function for an basisFunctionSet | |
| 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 |
Protected Attributes | |
| DiscreteFunctionType & | discreteFunction_ |
| AssemblyOperationType | assemblyOperation_ |
| const bool | communicate_ |
| bool | bound_ |
| const DiscreteFunctionSpaceType & | dfSpace_ |
| BasisFunctionSetType | basisFunctionSet_ |
| LocalDofVectorType | localDofVector_ |
Member Typedef Documentation
◆ AssemblyOperationType
| typedef AssemblyOperation< typename DiscreteFunctionTraits< DiscreteFunctionType >::DiscreteFunctionType > Dune::Fem::LocalContribution< DiscreteFunction, AssemblyOperation, std::enable_if_t< std::is_base_of< Fem::IsDiscreteFunction, DiscreteFunction >::value > >::AssemblyOperationType |
◆ BasisFunctionSetType
| typedef DiscreteFunctionType::DiscreteFunctionSpaceType::BasisFunctionSetType Dune::Fem::LocalContribution< DiscreteFunction, AssemblyOperation, std::enable_if_t< std::is_base_of< Fem::IsDiscreteFunction, DiscreteFunction >::value > >::BasisFunctionSetType |
◆ DiscreteFunctionType
| typedef DiscreteFunction Dune::Fem::LocalContribution< DiscreteFunction, AssemblyOperation, std::enable_if_t< std::is_base_of< Fem::IsDiscreteFunction, DiscreteFunction >::value > >::DiscreteFunctionType |
◆ DofType
| typedef DiscreteFunctionType::DofType Dune::Fem::LocalContribution< DiscreteFunction, AssemblyOperation, std::enable_if_t< std::is_base_of< Fem::IsDiscreteFunction, DiscreteFunction >::value > >::DofType |
◆ DomainFieldType
|
inherited |
field type of the domain
◆ DomainType
|
inherited |
type of domain vectors, i.e., type of coordinates
◆ EntityType
| typedef BasisFunctionSetType::EntityType Dune::Fem::LocalContribution< DiscreteFunction, AssemblyOperation, std::enable_if_t< std::is_base_of< Fem::IsDiscreteFunction, DiscreteFunction >::value > >::EntityType |
◆ 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
| typedef DiscreteFunctionType::JacobianRangeType Dune::Fem::LocalContribution< DiscreteFunction, AssemblyOperation, std::enable_if_t< std::is_base_of< Fem::IsDiscreteFunction, DiscreteFunction >::value > >::JacobianRangeType |
◆ LocalCoordinateType
|
inherited |
type of local coordinates
◆ LocalDofVectorType
| typedef BaseType::LocalDofVectorType Dune::Fem::LocalContribution< DiscreteFunction, AssemblyOperation, std::enable_if_t< std::is_base_of< Fem::IsDiscreteFunction, DiscreteFunction >::value > >::LocalDofVectorType |
◆ RangeFieldType
| typedef RangeType::field_type Dune::Fem::LocalContribution< DiscreteFunction, AssemblyOperation, std::enable_if_t< std::is_base_of< Fem::IsDiscreteFunction, DiscreteFunction >::value > >::RangeFieldType |
◆ RangeType
| typedef DiscreteFunctionType::RangeType Dune::Fem::LocalContribution< DiscreteFunction, AssemblyOperation, std::enable_if_t< std::is_base_of< Fem::IsDiscreteFunction, DiscreteFunction >::value > >::RangeType |
◆ SizeType
| typedef LocalDofVectorType::size_type Dune::Fem::LocalContribution< DiscreteFunction, AssemblyOperation, std::enable_if_t< std::is_base_of< Fem::IsDiscreteFunction, DiscreteFunction >::value > >::SizeType |
Constructor & Destructor Documentation
◆ LocalContribution() [1/4]
|
inlineexplicit |
◆ LocalContribution() [2/4]
|
inlineexplicit |
◆ LocalContribution() [3/4]
|
delete |
◆ LocalContribution() [4/4]
|
delete |
◆ ~LocalContribution()
|
inline |
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]
|
inline |
◆ bind() [2/3]
|
inlineinherited |
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]
|
inlineinherited |
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
◆ discreteFunction() [1/2]
|
inline |
◆ discreteFunction() [2/2]
|
inline |
◆ 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]
|
inlineinherited |
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]
|
inlineinherited |
return mutable reference to local Dof Vector
◆ localDofVector() [2/2]
|
inlineinherited |
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]
|
delete |
◆ operator=() [2/2]
|
delete |
◆ 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()
|
inlineinherited |
return discrete function space this local function belongs to
◆ unbind()
|
inline |
◆ valid()
|
inlineinherited |
Returns true if local function if bind or init was previously called.
Member Data Documentation
◆ assemblyOperation_
|
protected |
◆ basisFunctionSet_
|
protectedinherited |
◆ bound_
|
protected |
◆ communicate_
|
protected |
◆ dfSpace_
|
protectedinherited |
◆ dimDomain
|
staticinherited |
dimension of the domain
◆ dimRange
|
staticinherited |
dimension of the range
◆ discreteFunction_
|
protected |
◆ 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