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 |