dune-fem 2.8.0
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
Dune::Fem::LagrangePointListImplementation< FieldImp, topologyId, dim, maxPolOrder > Class Template Reference

#include <dune/fem/space/lagrange/lagrangepoints.hh>

Inheritance diagram for Dune::Fem::LagrangePointListImplementation< FieldImp, topologyId, dim, maxPolOrder >:
Inheritance graph

Public Types

enum  { dimension = dim }
 dimension of points More...
 
typedef FieldImp FieldType
 field type of points
 
typedef FieldVector< FieldType, dimensionCoordinateType
 type of points
 
enum  { codimension = 0 }
 to be revised, look at caching quad More...
 

Public Member Functions

 LagrangePointListImplementation (const size_t id)
 
 LagrangePointListImplementation (const GeometryType &geo, const int order, const size_t id)
 
 LagrangePointListImplementation (const ThisType &)=delete
 
void setLagrangePointImpl (const LagrangePointInterfaceType *lpImpl)
 
const LocalKeydofInfo (unsigned int index) const
 
void dofSubEntity (unsigned int index, unsigned int &codim, unsigned int &subEntity, unsigned int &dofNumber) const
 
unsigned int entityDofNumber (unsigned int codim, unsigned int subEntity, unsigned int dofNumber) const
 
GeometryType geometryType () const
 obtain GeometryType for this integration point list
 
unsigned int maxDofs (unsigned int codim) const
 obtain the maximal number of DoFs in one entity of a codimension
 
unsigned int numDofs (unsigned int codim, unsigned int subEntity) const
 obtain the number of DoFs on one entity
 
unsigned int numDofs (unsigned int codim) const
 obtain the total number of DoFs in a codimension
 
int order () const
 obtain order of the integration point list
 
const CoordinateTypepoint (size_t i) const
 obtain coordinates of i-th integration point
 
size_t nop () const
 obtain the number of integration points
 
size_t id () const
 obtain the identifier of the integration point list
 
virtual std::vector< ElementCoordinateTypeinterpolationPoints (const int reqDim) const
 returns list of element interpolation points for a given face quadrature
 
virtual bool isFaceInterpolationQuadrature (const size_t numShapeFunctions) const
 return true if quadrature is also a set of interpolation points for a given number of shape functions
 

Static Public Member Functions

static int maxOrder ()
 

Static Public Attributes

static const int maxPolynomialOrder = maxPolOrder
 polynomial order of corresponding base functions
 

Protected Types

typedef FieldVector< FieldType, dim+1 > ElementCoordinateType
 

Protected Member Functions

void addDofInfo (const LocalKey &dofInfo)
 
void addIntegrationPoint (const CoordinateType &point)
 Adds an integration point to the list.
 
void setIntegrationPoints (std::vector< CoordinateType > &&points)
 Overwrites integration point list

 

Protected Attributes

std::vector< CoordinateTypepoints_
 
const size_t id_
 

Member Typedef Documentation

◆ CoordinateType

template<class FieldImp , unsigned int topologyId, unsigned int dim, unsigned int maxPolOrder>
typedef FieldVector< FieldType, dimension > Dune::Fem::LagrangePointListImplementation< FieldImp, topologyId, dim, maxPolOrder >::CoordinateType

type of points

◆ ElementCoordinateType

template<typename FieldImp , int dim>
typedef FieldVector< FieldType, dim+1 > Dune::Fem::IntegrationPointListImp< FieldImp, dim >::ElementCoordinateType
protectedinherited

◆ FieldType

template<class FieldImp , unsigned int topologyId, unsigned int dim, unsigned int maxPolOrder>
typedef FieldImp Dune::Fem::LagrangePointListImplementation< FieldImp, topologyId, dim, maxPolOrder >::FieldType

field type of points

Member Enumeration Documentation

◆ anonymous enum

template<typename FieldImp , int dim>
anonymous enum
inherited

to be revised, look at caching quad

Enumerator
codimension 

◆ anonymous enum

template<class FieldImp , unsigned int topologyId, unsigned int dim, unsigned int maxPolOrder>
anonymous enum

dimension of points

Enumerator
dimension 

Constructor & Destructor Documentation

◆ LagrangePointListImplementation() [1/3]

template<class FieldImp , unsigned int topologyId, unsigned int dim, unsigned int maxPolOrder>
Dune::Fem::LagrangePointListImplementation< FieldImp, topologyId, dim, maxPolOrder >::LagrangePointListImplementation ( const size_t  id)
inline

◆ LagrangePointListImplementation() [2/3]

template<class FieldImp , unsigned int topologyId, unsigned int dim, unsigned int maxPolOrder>
Dune::Fem::LagrangePointListImplementation< FieldImp, topologyId, dim, maxPolOrder >::LagrangePointListImplementation ( const GeometryType &  geo,
const int  order,
const size_t  id 
)
inline

◆ LagrangePointListImplementation() [3/3]

template<class FieldImp , unsigned int topologyId, unsigned int dim, unsigned int maxPolOrder>
Dune::Fem::LagrangePointListImplementation< FieldImp, topologyId, dim, maxPolOrder >::LagrangePointListImplementation ( const ThisType )
delete

Member Function Documentation

◆ addDofInfo()

template<class FieldImp , int dim, unsigned int maxPolOrder>
void Dune::Fem::LagrangePointListInterface< FieldImp, dim, maxPolOrder >::addDofInfo ( const LocalKey dofInfo)
inlineprotectedinherited

◆ addIntegrationPoint()

template<typename FieldImp , int dim>
void Dune::Fem::IntegrationPointListImp< FieldImp, dim >::addIntegrationPoint ( const CoordinateType point)
inlineprotectedinherited

Adds an integration point to the list.

This method allows derived classes to add integration points to the list. This mehtod should only be used within the constructor of the derived class.

◆ dofInfo()

template<class FieldImp , int dim, unsigned int maxPolOrder>
const LocalKey & Dune::Fem::LagrangePointListInterface< FieldImp, dim, maxPolOrder >::dofInfo ( unsigned int  index) const
inlineinherited

◆ dofSubEntity()

template<class FieldImp , int dim, unsigned int maxPolOrder>
void Dune::Fem::LagrangePointListInterface< FieldImp, dim, maxPolOrder >::dofSubEntity ( unsigned int  index,
unsigned int &  codim,
unsigned int &  subEntity,
unsigned int &  dofNumber 
) const
inlineinherited

◆ entityDofNumber()

template<class FieldImp , int dim, unsigned int maxPolOrder>
unsigned int Dune::Fem::LagrangePointListInterface< FieldImp, dim, maxPolOrder >::entityDofNumber ( unsigned int  codim,
unsigned int  subEntity,
unsigned int  dofNumber 
) const
inlineinherited

◆ geometryType()

template<class FieldImp , int dim, unsigned int maxPolOrder>
GeometryType Dune::Fem::LagrangePointListInterface< FieldImp, dim, maxPolOrder >::geometryType ( ) const
inlinevirtualinherited

obtain GeometryType for this integration point list

Integration point lists are specified in local coordinates, i.e., coordinates with respect to the reference element. Hence, each integration point list is only valid for one type of geometry, i.e., for one reference element. The type can be retrieved via this method.

Returns
GeometryType for this integration point list

Implements Dune::Fem::IntegrationPointListImp< FieldImp, dim >.

◆ id()

template<typename FieldImp , int dim>
size_t Dune::Fem::IntegrationPointListImp< FieldImp, dim >::id ( ) const
inlineinherited

obtain the identifier of the integration point list

The identifier of an integration point list must be globally unique. Even integration point lists for different dimensions must have different identifiers.

Note
Quadratures are considered distinct if they differ in one of the following points: geometry type, order, dimension or implementation.
Returns
globally unique identifier of the integration point list

◆ interpolationPoints()

template<typename FieldImp , int dim>
virtual std::vector< ElementCoordinateType > Dune::Fem::IntegrationPointListImp< FieldImp, dim >::interpolationPoints ( const int  reqDim) const
inlinevirtualinherited

returns list of element interpolation points for a given face quadrature

◆ isFaceInterpolationQuadrature()

template<typename FieldImp , int dim>
virtual bool Dune::Fem::IntegrationPointListImp< FieldImp, dim >::isFaceInterpolationQuadrature ( const size_t  numShapeFunctions) const
inlinevirtualinherited

return true if quadrature is also a set of interpolation points for a given number of shape functions

◆ maxDofs()

template<class FieldImp , int dim, unsigned int maxPolOrder>
unsigned int Dune::Fem::LagrangePointListInterface< FieldImp, dim, maxPolOrder >::maxDofs ( unsigned int  codim) const
inlineinherited

obtain the maximal number of DoFs in one entity of a codimension

Parameters
[in]codimcodimension, the information is desired for
Returns
maximal number of DoFs for one entity in the codimension

◆ maxOrder()

template<class FieldImp , int dim, unsigned int maxPolOrder>
static int Dune::Fem::LagrangePointListInterface< FieldImp, dim, maxPolOrder >::maxOrder ( )
inlinestaticinherited

◆ nop()

template<typename FieldImp , int dim>
size_t Dune::Fem::IntegrationPointListImp< FieldImp, dim >::nop ( ) const
inlineinherited

obtain the number of integration points

Returns
number of integration points within this list

◆ numDofs() [1/2]

template<class FieldImp , int dim, unsigned int maxPolOrder>
unsigned int Dune::Fem::LagrangePointListInterface< FieldImp, dim, maxPolOrder >::numDofs ( unsigned int  codim) const
inlineinherited

obtain the total number of DoFs in a codimension

Parameters
[in]codimcodimension the information is desired for
Returns
the number of DoFs associated with the codimension

◆ numDofs() [2/2]

template<class FieldImp , int dim, unsigned int maxPolOrder>
unsigned int Dune::Fem::LagrangePointListInterface< FieldImp, dim, maxPolOrder >::numDofs ( unsigned int  codim,
unsigned int  subEntity 
) const
inlineinherited

obtain the number of DoFs on one entity

Parameters
[in]codimcodimension of the entity
[in]subEntitynumber of the subentity (of the given codimension)
Returns
the number of DoFs associated with the specified entity

◆ order()

template<class FieldImp , int dim, unsigned int maxPolOrder>
int Dune::Fem::LagrangePointListInterface< FieldImp, dim, maxPolOrder >::order ( ) const
inlinevirtualinherited

obtain order of the integration point list

The order of a quadrature is the maximal polynomial degree that is guaranteed to be integrated exactly by the quadrature.

In case of an integration point list, the definition of this value is left to the implementor.

Returns
the order of the integration point list

Implements Dune::Fem::IntegrationPointListImp< FieldImp, dim >.

◆ point()

template<typename FieldImp , int dim>
const CoordinateType & Dune::Fem::IntegrationPointListImp< FieldImp, dim >::point ( size_t  i) const
inlineinherited

obtain coordinates of i-th integration point

This method returns a reference to the coordinates of the i-th integration point for 0 <= i < nop(). The integration point is given in local coordinates, i.e., coordinates with respect to the reference element.

Parameters
[in]inumber of the integration point, 0 <= i < nop()
Returns
reference to i-th integration point

◆ setIntegrationPoints()

template<typename FieldImp , int dim>
void Dune::Fem::IntegrationPointListImp< FieldImp, dim >::setIntegrationPoints ( std::vector< CoordinateType > &&  points)
inlineprotectedinherited

Overwrites integration point list

◆ setLagrangePointImpl()

template<class FieldImp , int dim, unsigned int maxPolOrder>
void Dune::Fem::LagrangePointListInterface< FieldImp, dim, maxPolOrder >::setLagrangePointImpl ( const LagrangePointInterfaceType lpImpl)
inlineinherited

Member Data Documentation

◆ id_

template<typename FieldImp , int dim>
const size_t Dune::Fem::IntegrationPointListImp< FieldImp, dim >::id_
protectedinherited

◆ maxPolynomialOrder

template<class FieldImp , unsigned int topologyId, unsigned int dim, unsigned int maxPolOrder>
const int Dune::Fem::LagrangePointListImplementation< FieldImp, topologyId, dim, maxPolOrder >::maxPolynomialOrder = maxPolOrder
static

polynomial order of corresponding base functions

◆ points_

template<typename FieldImp , int dim>
std::vector< CoordinateType > Dune::Fem::IntegrationPointListImp< FieldImp, dim >::points_
mutableprotectedinherited

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