|
dune-fem 2.8.0
|
#include <dune/fem/space/basisfunctionset/default.hh>
Public Types | |
| typedef Entity | EntityType |
| entity type | |
| typedef ShapeFunctionSet | ShapeFunctionSetType |
| shape function set type | |
| typedef ToNewDimDomainFunctionSpace< LocalFunctionSpaceType, Geometry::coorddimension >::Type | FunctionSpaceType |
| type of function space | |
| typedef FunctionSpaceType::RangeType | RangeType |
| range type | |
| typedef FunctionSpaceType::DomainType | DomainType |
| domain type | |
| typedef FunctionSpaceType::JacobianRangeType | JacobianRangeType |
| jacobian range type | |
| typedef FunctionSpaceType::HessianRangeType | HessianRangeType |
| hessian range type | |
| typedef FunctionSpaceType::ScalarFunctionSpaceType | ScalarFunctionSpaceType |
| typedef ScalarFunctionSpaceType::RangeType | ScalarRangeType |
| typedef ScalarFunctionSpaceType::JacobianRangeType | ScalarJacobianRangeType |
| typedef std::decay_t< decltype(Dune::ReferenceElements< ctype, Geometry::coorddimension >::general(std::declval< const Dune::GeometryType & >())) > | ReferenceElementType |
| type of reference element | |
Public Member Functions | |
| DefaultBasisFunctionSet () | |
| constructor | |
| DefaultBasisFunctionSet (const EntityType &entity, const ShapeFunctionSet &shapeFunctionSet=ShapeFunctionSet()) | |
| constructor | |
| DefaultBasisFunctionSet (const DefaultBasisFunctionSet &other) | |
| DefaultBasisFunctionSet & | operator= (const DefaultBasisFunctionSet &other) |
| int | order () const |
| return order of basis function set | |
| std::size_t | size () const |
| return size of basis function set | |
| auto | referenceElement () const -> decltype(Dune::ReferenceElements< ctype, Geometry::coorddimension >::general(std::declval< const Dune::GeometryType & >())) |
| return reference element | |
| template<class QuadratureType , class Vector , class DofVector > | |
| void | axpy (const QuadratureType &quad, const Vector &values, DofVector &dofs) const |
| evaluate all basis function and multiply with given values and add to dofs | |
| template<class QuadratureType , class VectorA , class VectorB , class DofVector > | |
| void | axpy (const QuadratureType &quad, const VectorA &valuesA, const VectorB &valuesB, DofVector &dofs) const |
| evaluate all basis function and multiply with given values and add to dofs | |
| template<class Point , class DofVector > | |
| void | axpy (const Point &x, const RangeType &valueFactor, DofVector &dofs) const |
| evaluate all basis function and multiply with given values and add to dofs | |
| template<class Point , class DofVector > | |
| void | axpy (const Point &x, const JacobianRangeType &jacobianFactor, DofVector &dofs) const |
| evaluate all derivatives of all basis function and multiply with given values and add to dofs | |
| template<class Point , class DofVector > | |
| void | axpy (const Point &x, const RangeType &valueFactor, const JacobianRangeType &jacobianFactor, DofVector &dofs) const |
| evaluate all basis function and derivatives and multiply with given values and add to dofs | |
| template<class Point , class DofVector > | |
| void | axpy (const Point &x, const HessianRangeType &hessianFactor, DofVector &dofs) const |
| Add H:D^2phi to each dof. | |
| template<class QuadratureType , class DofVector , class RangeArray > | |
| void | evaluateAll (const QuadratureType &quad, const DofVector &dofs, RangeArray &ranges) const |
| template<class Point , class DofVector > | |
| void | evaluateAll (const Point &x, const DofVector &dofs, RangeType &value) const |
| template<class Point , class RangeArray > | |
| void | evaluateAll (const Point &x, RangeArray &values) const |
| template<class QuadratureType , class DofVector , class JacobianArray > | |
| void | jacobianAll (const QuadratureType &quad, const DofVector &dofs, JacobianArray &jacobians) const |
| template<class Point , class DofVector > | |
| void | jacobianAll (const Point &x, const DofVector &dofs, JacobianRangeType &jacobian) const |
| template<class Point , class JacobianRangeArray > | |
| void | jacobianAll (const Point &x, JacobianRangeArray &jacobians) const |
| template<class QuadratureType , class DofVector , class HessianArray > | |
| void | hessianAll (const QuadratureType &quad, const DofVector &dofs, HessianArray &hessians) const |
| template<class Point , class DofVector > | |
| void | hessianAll (const Point &x, const DofVector &dofs, HessianRangeType &hessian) const |
| template<class Point , class HessianRangeArray > | |
| void | hessianAll (const Point &x, HessianRangeArray &hessians) const |
| const Entity & | entity () const |
| return entity | |
| bool | valid () const |
| return true if entity pointer is set | |
| Dune::GeometryType | type () const |
| return geometry type | |
| const ShapeFunctionSetType & | shapeFunctionSet () const |
| return shape function set | |
Static Public Attributes | |
| static constexpr bool | codegenShapeFunctionSet = detail::IsCodegenShapeFunctionSet< ShapeFunctionSetType >::value |
| static const int | pointSetId = detail::SelectPointSetId< ShapeFunctionSetType >::value |
Protected Types | |
| typedef ShapeFunctionSetType::FunctionSpaceType | LocalFunctionSpaceType |
| typedef LocalFunctionSpaceType::JacobianRangeType | LocalJacobianRangeType |
| typedef LocalFunctionSpaceType::HessianRangeType | LocalHessianRangeType |
| typedef LocalFunctionSpaceType::RangeFieldType | RangeFieldType |
| typedef EntityType::Geometry | Geometry |
| typedef Geometry::ctype | ctype |
Protected Member Functions | |
| template<class QuadratureType , class RangeArray , class DofVector > | |
| void | axpyImpl (const QuadratureType &quad, const RangeArray &rangeFactors, DofVector &dofs, const RangeType &) const |
| evaluate all basis function and multiply with given values and add to dofs | |
| template<class QuadratureType , class JacobianArray , class DofVector > | |
| void | axpyImpl (const QuadratureType &quad, const JacobianArray &jacobianFactors, DofVector &dofs, const JacobianRangeType &) const |
| evaluate all basis function and multiply with given values and add to dofs | |
| template<class QuadratureType > | |
| const auto & | rangeCache (const QuadratureType &quad) const |
| template<class QuadratureType > | |
| const auto & | jacobianCache (const QuadratureType &quad) const |
| Geometry | geometry () const |
Protected Attributes | |
| const EntityType * | entity_ = nullptr |
| ShapeFunctionSetType | shapeFunctionSet_ |
| std::optional< Geometry > | geometry_ |
\brief implementation of a basis function set for given entity
\tparam Entity entity type
\tparam ShapeFunctionSet shape function set
\note ShapeFunctionSet must be a copyable object. For most
non-trivial implementations, you may want to use a
proxy, see file
|
protected |
| typedef FunctionSpaceType::DomainType Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::DomainType |
domain type
| typedef Entity Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::EntityType |
entity type
| typedef ToNewDimDomainFunctionSpace<LocalFunctionSpaceType,Geometry::coorddimension>::Type Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::FunctionSpaceType |
type of function space
|
protected |
| typedef FunctionSpaceType::HessianRangeType Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::HessianRangeType |
hessian range type
| typedef FunctionSpaceType::JacobianRangeType Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::JacobianRangeType |
jacobian range type
|
protected |
|
protected |
|
protected |
|
protected |
| typedef FunctionSpaceType::RangeType Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::RangeType |
range type
| typedef std::decay_t< decltype( Dune::ReferenceElements< ctype, Geometry::coorddimension >::general( std::declval< const Dune::GeometryType & >() ) ) > Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::ReferenceElementType |
type of reference element
| typedef FunctionSpaceType::ScalarFunctionSpaceType Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::ScalarFunctionSpaceType |
| typedef ScalarFunctionSpaceType::JacobianRangeType Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::ScalarJacobianRangeType |
| typedef ScalarFunctionSpaceType::RangeType Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::ScalarRangeType |
| typedef ShapeFunctionSet Dune::Fem::DefaultBasisFunctionSet< Entity, ShapeFunctionSet >::ShapeFunctionSetType |
shape function set type
|
inline |
constructor
|
inlineexplicit |
constructor
|
inline |
|
inline |
Add H:D^2phi to each dof.
|
inline |
evaluate all derivatives of all basis function and multiply with given values and add to dofs
|
inline |
evaluate all basis function and derivatives and multiply with given values and add to dofs
|
inline |
evaluate all basis function and multiply with given values and add to dofs
|
inline |
evaluate all basis function and multiply with given values and add to dofs
|
inline |
evaluate all basis function and multiply with given values and add to dofs
|
inlineprotected |
evaluate all basis function and multiply with given values and add to dofs
|
inlineprotected |
evaluate all basis function and multiply with given values and add to dofs
|
inline |
return entity
|
inline |
|
inline |
|
inline |
|
inlineprotected |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprotected |
|
inline |
|
inline |
return order of basis function set
|
inlineprotected |
|
inline |
return reference element
|
inline |
return shape function set
|
inline |
return size of basis function set
|
inline |
return geometry type
|
inline |
return true if entity pointer is set
|
staticconstexpr |
|
protected |
|
protected |
|
static |
|
protected |