dune-functions 2.9.0
Public Types | Public Member Functions | Public Attributes | Friends | List of all members
Dune::Functions::BSplineLocalFiniteElement< GV, R > Class Template Reference

LocalFiniteElement in the sense of dune-localfunctions, for the B-spline basis on tensor-product grids. More...

#include <dune/functions/functionspacebases/bsplinebasis.hh>

Inheritance diagram for Dune::Functions::BSplineLocalFiniteElement< GV, R >:
Inheritance graph

Public Types

typedef LocalFiniteElementTraits< BSplineLocalBasis< GV, R >, BSplineLocalCoefficients< dim >, BSplineLocalInterpolation< dim, BSplineLocalBasis< GV, R > > > Traits
 Export various types related to this LocalFiniteElement. More...
 

Public Member Functions

 BSplineLocalFiniteElement (const BSplinePreBasis< GV > &preBasis)
 Constructor with a given B-spline basis. More...
 
 BSplineLocalFiniteElement (const BSplineLocalFiniteElement &other)
 Copy constructor. More...
 
void bind (const std::array< unsigned, dim > &elementIdx)
 Bind LocalFiniteElement to a specific knot span of the spline patch. More...
 
const BSplineLocalBasis< GV, R > & localBasis () const
 Hand out a LocalBasis object. More...
 
const BSplineLocalCoefficients< dim > & localCoefficients () const
 Hand out a LocalCoefficients object. More...
 
const BSplineLocalInterpolation< dim, BSplineLocalBasis< GV, R > > & localInterpolation () const
 Hand out a LocalInterpolation object. More...
 
unsigned size () const
 Number of shape functions in this finite element. More...
 
GeometryType type () const
 Return the reference element that the local finite element is defined on (here, a hypercube) More...
 
unsigned int size (int i) const
 Number of degrees of freedom for one coordinate direction. More...
 

Public Attributes

const BSplinePreBasis< GV > & preBasis_
 
BSplineLocalBasis< GV, R > localBasis_
 
BSplineLocalCoefficients< dim > localCoefficients_
 
BSplineLocalInterpolation< dim, BSplineLocalBasis< GV, R > > localInterpolation_
 
std::array< unsigned, dim > currentKnotSpan_
 

Friends

class BSplineLocalBasis< GV, R >
 

Detailed Description

template<class GV, class R>
class Dune::Functions::BSplineLocalFiniteElement< GV, R >

LocalFiniteElement in the sense of dune-localfunctions, for the B-spline basis on tensor-product grids.

This class ties together the implementation classes BSplineLocalBasis, BSplineLocalCoefficients, and BSplineLocalInterpolation

Template Parameters
DNumber type used for domain coordinates
RNumber type used for spline function values

Member Typedef Documentation

◆ Traits

template<class GV , class R >
typedef LocalFiniteElementTraits<BSplineLocalBasis<GV,R>, BSplineLocalCoefficients<dim>, BSplineLocalInterpolation<dim,BSplineLocalBasis<GV,R> > > Dune::Functions::BSplineLocalFiniteElement< GV, R >::Traits

Export various types related to this LocalFiniteElement.

Constructor & Destructor Documentation

◆ BSplineLocalFiniteElement() [1/2]

template<class GV , class R >
Dune::Functions::BSplineLocalFiniteElement< GV, R >::BSplineLocalFiniteElement ( const BSplinePreBasis< GV > &  preBasis)
inline

Constructor with a given B-spline basis.

◆ BSplineLocalFiniteElement() [2/2]

template<class GV , class R >
Dune::Functions::BSplineLocalFiniteElement< GV, R >::BSplineLocalFiniteElement ( const BSplineLocalFiniteElement< GV, R > &  other)
inline

Copy constructor.

Member Function Documentation

◆ bind()

template<class GV , class R >
void Dune::Functions::BSplineLocalFiniteElement< GV, R >::bind ( const std::array< unsigned, dim > &  elementIdx)
inline

Bind LocalFiniteElement to a specific knot span of the spline patch.

Elements are the non-empty knot spans, here we do the renumbering

Parameters
ijkInteger coordinates in the tensor product patch

◆ localBasis()

template<class GV , class R >
const BSplineLocalBasis< GV, R > & Dune::Functions::BSplineLocalFiniteElement< GV, R >::localBasis ( ) const
inline

Hand out a LocalBasis object.

◆ localCoefficients()

template<class GV , class R >
const BSplineLocalCoefficients< dim > & Dune::Functions::BSplineLocalFiniteElement< GV, R >::localCoefficients ( ) const
inline

Hand out a LocalCoefficients object.

◆ localInterpolation()

template<class GV , class R >
const BSplineLocalInterpolation< dim, BSplineLocalBasis< GV, R > > & Dune::Functions::BSplineLocalFiniteElement< GV, R >::localInterpolation ( ) const
inline

Hand out a LocalInterpolation object.

◆ size() [1/2]

template<class GV , class R >
unsigned Dune::Functions::BSplineLocalFiniteElement< GV, R >::size ( ) const
inline

Number of shape functions in this finite element.

◆ size() [2/2]

template<class GV , class R >
unsigned int Dune::Functions::BSplineLocalFiniteElement< GV, R >::size ( int  i) const
inline

Number of degrees of freedom for one coordinate direction.

◆ type()

template<class GV , class R >
GeometryType Dune::Functions::BSplineLocalFiniteElement< GV, R >::type ( ) const
inline

Return the reference element that the local finite element is defined on (here, a hypercube)

Friends And Related Function Documentation

◆ BSplineLocalBasis< GV, R >

template<class GV , class R >
friend class BSplineLocalBasis< GV, R >
friend

Member Data Documentation

◆ currentKnotSpan_

template<class GV , class R >
std::array<unsigned,dim> Dune::Functions::BSplineLocalFiniteElement< GV, R >::currentKnotSpan_

◆ localBasis_

template<class GV , class R >
BSplineLocalBasis<GV,R> Dune::Functions::BSplineLocalFiniteElement< GV, R >::localBasis_

◆ localCoefficients_

template<class GV , class R >
BSplineLocalCoefficients<dim> Dune::Functions::BSplineLocalFiniteElement< GV, R >::localCoefficients_

◆ localInterpolation_

template<class GV , class R >
BSplineLocalInterpolation<dim,BSplineLocalBasis<GV,R> > Dune::Functions::BSplineLocalFiniteElement< GV, R >::localInterpolation_

◆ preBasis_

template<class GV , class R >
const BSplinePreBasis<GV>& Dune::Functions::BSplineLocalFiniteElement< GV, R >::preBasis_

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