dune-fem 2.8.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Types | Protected Member Functions | List of all members
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 Entity EntityType
 entity type
 
typedef ShapeFunctionSet 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 FunctionSpaceType::RangeFieldType RangeFieldType
 
typedef std::decay_t< decltype(Dune::ReferenceElements< ctype, GeometryType::coorddimension >::general(std::declval< const Dune::GeometryType & >())) > ReferenceElementType
 type of reference element
 

Public Member Functions

 TransformedBasisFunctionSet ()
 constructor
 
 TransformedBasisFunctionSet (const EntityType &entity, const ShapeFunctionSet &shapeFunctionSet=ShapeFunctionSet())
 constructor
 
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, GeometryType::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 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 >
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 ShapeFunctionSetTypeshapeFunctionSet () const
 return shape function set
 
Transformation transformation (const DomainType &x) const
 

Protected Types

typedef EntityType::Geometry GeometryType
 
typedef GeometryType::ctype ctype
 
typedef GeometryType::JacobianTransposed JacobianTransposed
 

Protected Member Functions

GeometryType geometry () const
 

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 Typedef Documentation

◆ ctype

template<class Entity , class ShapeFunctionSet , class Transformation >
typedef GeometryType::ctype Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::ctype
protected

◆ DomainType

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

domain type

◆ EntityType

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

entity type

◆ FunctionSpaceType

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

type of function space

◆ GeometryType

template<class Entity , class ShapeFunctionSet , class Transformation >
typedef EntityType::Geometry Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::GeometryType
protected

◆ HessianRangeType

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

hessian range type

◆ JacobianRangeType

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

jacobian range type

◆ JacobianTransposed

template<class Entity , class ShapeFunctionSet , class Transformation >
typedef GeometryType::JacobianTransposed Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::JacobianTransposed
protected

◆ RangeFieldType

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

◆ RangeType

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

range type

◆ ReferenceElementType

template<class Entity , class ShapeFunctionSet , class Transformation >
typedef std::decay_t< decltype( Dune::ReferenceElements< ctype, GeometryType::coorddimension >::general( std::declval< const Dune::GeometryType & >() ) ) > Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::ReferenceElementType

type of reference element

◆ ShapeFunctionSetType

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

shape function set type

Constructor & Destructor Documentation

◆ TransformedBasisFunctionSet() [1/2]

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

constructor

◆ TransformedBasisFunctionSet() [2/2]

template<class Entity , class ShapeFunctionSet , class Transformation >
Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::TransformedBasisFunctionSet ( const EntityType entity,
const ShapeFunctionSet shapeFunctionSet = ShapeFunctionSet() 
)
inlineexplicit

constructor

Member Function Documentation

◆ axpy() [1/6]

template<class Entity , class ShapeFunctionSet , class Transformation >
template<class Point , class DofVector >
void Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::axpy ( const Point &  x,
const HessianRangeType hessianFactor,
DofVector &  dofs 
) const
inline

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

◆ axpy() [2/6]

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

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

◆ axpy() [3/6]

template<class Entity , class ShapeFunctionSet , class Transformation >
template<class Point , class DofVector >
void Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::axpy ( const Point &  x,
const RangeType valueFactor,
const JacobianRangeType jacobianFactor,
DofVector &  dofs 
) const
inline

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

◆ axpy() [4/6]

template<class Entity , class ShapeFunctionSet , class Transformation >
template<class Point , class DofVector >
void Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::axpy ( const Point &  x,
const RangeType valueFactor,
DofVector &  dofs 
) const
inline

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

◆ axpy() [5/6]

template<class Entity , class ShapeFunctionSet , class Transformation >
template<class QuadratureType , class Vector , class DofVector >
void Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::axpy ( const QuadratureType &  quad,
const Vector &  values,
DofVector &  dofs 
) const
inline

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

◆ axpy() [6/6]

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

◆ entity()

template<class Entity , class ShapeFunctionSet , class Transformation >
const Entity & Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::entity ( ) const
inline

return entity

◆ 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

◆ geometry()

template<class Entity , class ShapeFunctionSet , class Transformation >
GeometryType Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::geometry ( ) const
inlineprotected

◆ hessianAll() [1/2]

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

◆ 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

◆ 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
Todo:
please doc me

◆ 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
Todo:
please doc me

◆ 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

◆ order()

template<class Entity , class ShapeFunctionSet , class Transformation >
int Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::order ( ) const
inline

return order of basis function set

◆ referenceElement()

template<class Entity , class ShapeFunctionSet , class Transformation >
auto Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::referenceElement ( ) const -> decltype( Dune::ReferenceElements< ctype, GeometryType::coorddimension >::general( std::declval< const Dune::GeometryType & >() ) )
inline

return reference element

◆ shapeFunctionSet()

template<class Entity , class ShapeFunctionSet , class Transformation >
const ShapeFunctionSetType & Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::shapeFunctionSet ( ) const
inline

return shape function set

◆ size()

template<class Entity , class ShapeFunctionSet , class Transformation >
std::size_t Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::size ( ) const
inline

return size of basis function set

◆ transformation()

template<class Entity , class ShapeFunctionSet , class Transformation >
Transformation Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::transformation ( const DomainType x) const
inline

◆ type()

template<class Entity , class ShapeFunctionSet , class Transformation >
Dune::GeometryType Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::type ( ) const
inline

return geometry type

◆ valid()

template<class Entity , class ShapeFunctionSet , class Transformation >
bool Dune::Fem::TransformedBasisFunctionSet< Entity, ShapeFunctionSet, Transformation >::valid ( ) const
inline

return true if entity pointer is set


The documentation for this class was generated from the following file: