DUNE-FEM (unstable)

Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation > Class Template Reference

implementation of a basis function set for given entity More...

#include <dune/fem/space/basisfunctionset/transformed.hh>

Public Types

typedef BaseType::EntityType EntityType
 entity type
 
typedef BaseType::Geometry Geometry
 geometry
 
typedef BaseType::ShapeFunctionSetType ShapeFunctionSetType
 shape function set type
 
typedef ShapeFunctionSetType::FunctionSpaceType FunctionSpaceType
 type of function space
 
typedef FunctionSpaceType::DomainType DomainType
 domain type
 
typedef FunctionSpaceType::RangeType RangeType
 range type
 
typedef FunctionSpaceType::JacobianRangeType JacobianRangeType
 jacobian range type
 
typedef FunctionSpaceType::HessianRangeType HessianRangeType
 hessian range type
 
typedef BaseType::ReferenceElementType ReferenceElementType
 type of reference element
 

Public Member Functions

 TransformedBasisFunctionSet ()
 constructor
 
 TransformedBasisFunctionSet (const EntityType &entity, const ShapeFunctionSet &shapeFunctionSet=ShapeFunctionSet())
 constructor
 
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 More...
 
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 basis function 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
 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, const JacobianRangeType &jacobianFactor, DofVector &dofs) const
 evaluate all basis function and multiply with given values and add to dofs
 
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 Point , class DofVector , class HessianRange >
void hessianAll (const Point &x, const DofVector &dofs, HessianRange &hessian) const
 
template<class Point , class HessianRangeArray >
void hessianAll (const Point &x, HessianRangeArray &hessians) const
 
const ShapeFunctionSetTypeshapeFunctionSet () const
 return shape function set
 
int order () const
 return order of basis function set
 
std::size_t size () const
 return size of basis function set
 
const Entityentity () const
 return entity
 
bool valid () const
 return true if entity pointer is set
 
const Geometrygeometry () const
 return geometry
 
Dune::GeometryType type () const
 return geometry type
 
const ReferenceElementTypereferenceElement () const
 return reference element
 
void bind (const EntityType &entity)
 set new entity object and geometry if enabled
 
void unbind ()
 release entity and geometry object
 

Detailed Description

template<class Entity, class ShapeFunctionSet, class Transformation>
class Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >

implementation of a basis function set for given entity

Template Parameters
Entityentity type
ShapeFunctionSetshape function set
Transformationtransformation
Note
ShapeFunctionSet must be a copyable object. For most non-trivial implementations, you may want to use a proxy, see file
<dune/fem/space/shapefunctionset/proxy.hh>

Member Function Documentation

◆ axpy()

template<class Entity , class ShapeFunctionSet , class Transformation >
template<class QuadratureType , class VectorA , class VectorB , class DofVector >
void Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::axpy ( const QuadratureType &  quad,
const VectorA &  valuesA,
const VectorB &  valuesB,
DofVector &  dofs 
) const
inline

evaluate all basis function and multiply with given values and add to dofs

Note
valuesA and valuesB can be vectors of RangeType or JacobianRangeType

References Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::axpy().

◆ evaluateAll() [1/3]

template<class Entity , class ShapeFunctionSet , class Transformation >
template<class Point , class DofVector >
void Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::evaluateAll ( const Point &  x,
const DofVector &  dofs,
RangeType value 
) const
inline
Todo:
please doc me

◆ evaluateAll() [2/3]

template<class Entity , class ShapeFunctionSet , class Transformation >
template<class Point , class RangeArray >
void Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::evaluateAll ( const Point &  x,
RangeArray &  values 
) const
inline
Todo:
please doc me

◆ evaluateAll() [3/3]

template<class Entity , class ShapeFunctionSet , class Transformation >
template<class QuadratureType , class DofVector , class RangeArray >
void Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::evaluateAll ( const QuadratureType &  quad,
const DofVector &  dofs,
RangeArray &  ranges 
) const
inline

◆ hessianAll() [1/2]

template<class Entity , class ShapeFunctionSet , class Transformation >
template<class Point , class DofVector , class HessianRange >
void Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::hessianAll ( const Point &  x,
const DofVector &  dofs,
HessianRange &  hessian 
) const
inline
Todo:
please doc me

References DUNE_THROW.

◆ hessianAll() [2/2]

template<class Entity , class ShapeFunctionSet , class Transformation >
template<class Point , class HessianRangeArray >
void Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::hessianAll ( const Point &  x,
HessianRangeArray &  hessians 
) const
inline
Todo:
please doc me

References DUNE_THROW.

◆ jacobianAll() [1/3]

template<class Entity , class ShapeFunctionSet , class Transformation >
template<class Point , class DofVector >
void Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::jacobianAll ( const Point &  x,
const DofVector &  dofs,
JacobianRangeType jacobian 
) const
inline

◆ jacobianAll() [2/3]

template<class Entity , class ShapeFunctionSet , class Transformation >
template<class Point , class JacobianRangeArray >
void Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::jacobianAll ( const Point &  x,
JacobianRangeArray &  jacobians 
) const
inline

◆ jacobianAll() [3/3]

template<class Entity , class ShapeFunctionSet , class Transformation >
template<class QuadratureType , class DofVector , class JacobianArray >
void Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::jacobianAll ( const QuadratureType &  quad,
const DofVector &  dofs,
JacobianArray &  jacobians 
) const
inline

The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 21, 23:30, 2024)