KASKADE 7 development version
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Kaskade::HdivConverter< GridView > Class Template Reference

A class mapping local vectorial shape function values and gradients to global shape function values and gradients in \( H(\text{div}) \) conforming FE spaces. More...

#include <nedelecspace.hh>

Detailed Description

template<class GridView>
class Kaskade::HdivConverter< GridView >

A class mapping local vectorial shape function values and gradients to global shape function values and gradients in \( H(\text{div}) \) conforming FE spaces.

For vectorial \( H(\text{div}) \) conforming finite elements, the values of the shape functions transform as

\[ \phi(x) = B^T J^{-1} \hat \phi(\xi), \]

where \( B \) is the Jacobian of the affine transformation from reference element to actual element and \( J \) its determinant. See, e.g., Solin, Segeth, Dolezel: Higher Order Finite Element Methods, Chapman & Hall 2004, p 176.

Template Parameters
GridViewthe FE grid class

Definition at line 206 of file nedelecspace.hh.

Inheritance diagram for Kaskade::HdivConverter< GridView >:
Kaskade::VectorialConverterBase< GridView >

Public Member Functions

 HdivConverter ()=default
 
 HdivConverter (typename GridView::template Codim< 0 >::Entity const &cell)
 
void moveTo (Cell const &cell)
 
void setLocalPosition (Dune::FieldVector< typename GridView::ctype, dim > const &x)
 
template<class Scalar >
Dune::FieldMatrix< Scalar, dim, 1 > global (Dune::FieldMatrix< Scalar, dim, 1 > const &sf) const
 Applies the transformation \( \psi(x) \) to shape function value. More...
 
template<class Scalar >
VariationalArg< Scalar, dim, dim > global (std::pair< Dune::FieldVector< Scalar, dim >, Dune::FieldMatrix< Scalar, dim, dim > > const &sf) const
 Applies the transformation \( \psi(x) \) to shape function value and derivative. More...
 
template<class Scalar >
VariationalArg< Scalar, dim, dim > global (VariationalArg< Scalar, dim, dim > const &sf, int deriv) const
 Applies the transformation \( \psi \) to shape function value, derivative, and Hessian, returning a filled VariationalArg. More...
 
template<class Scalar >
Dune::FieldMatrix< Scalar, dim, 1 > local (Dune::FieldMatrix< Scalar, dim, 1 > const &glob) const
 Applies the inverse transform \( \psi^{-1} \) to global shape function values, giving the local shape function value. More...
 

Protected Member Functions

void solve (Dune::FieldMatrix< typename GridView::ctype, dim, dim > A, Dune::FieldVector< typename GridView::ctype, dim > &x, Dune::FieldVector< typename GridView::ctype, dim > b) const
 

Protected Attributes

Cell const * cell_
 
Dune::FieldMatrix< typename GridView::ctype, dim, dim > Btinv
 
Dune::FieldMatrix< typename GridView::ctype, dim, dim > C
 

Constructor & Destructor Documentation

◆ HdivConverter() [1/2]

template<class GridView >
Kaskade::HdivConverter< GridView >::HdivConverter ( )
default

◆ HdivConverter() [2/2]

template<class GridView >
Kaskade::HdivConverter< GridView >::HdivConverter ( typename GridView::template Codim< 0 >::Entity const &  cell)
inline

Definition at line 211 of file nedelecspace.hh.

Member Function Documentation

◆ global() [1/3]

template<class GridView >
template<class Scalar >
Dune::FieldMatrix< Scalar, dim, 1 > Kaskade::VectorialConverterBase< GridView >::global ( Dune::FieldMatrix< Scalar, dim, 1 > const &  sf) const
inlineinherited

Applies the transformation \( \psi(x) \) to shape function value.

Definition at line 62 of file nedelecspace.hh.

◆ global() [2/3]

template<class GridView >
template<class Scalar >
VariationalArg< Scalar, dim, dim > Kaskade::VectorialConverterBase< GridView >::global ( std::pair< Dune::FieldVector< Scalar, dim >, Dune::FieldMatrix< Scalar, dim, dim > > const &  sf) const
inlineinherited

Applies the transformation \( \psi(x) \) to shape function value and derivative.

Definition at line 69 of file nedelecspace.hh.

◆ global() [3/3]

template<class GridView >
template<class Scalar >
VariationalArg< Scalar, dim, dim > Kaskade::VectorialConverterBase< GridView >::global ( VariationalArg< Scalar, dim, dim > const &  sf,
int  deriv 
) const
inlineinherited

Applies the transformation \( \psi \) to shape function value, derivative, and Hessian, returning a filled VariationalArg.

Definition at line 85 of file nedelecspace.hh.

◆ local()

template<class GridView >
template<class Scalar >
Dune::FieldMatrix< Scalar, dim, 1 > Kaskade::VectorialConverterBase< GridView >::local ( Dune::FieldMatrix< Scalar, dim, 1 > const &  glob) const
inlineinherited

Applies the inverse transform \( \psi^{-1} \) to global shape function values, giving the local shape function value.

Definition at line 104 of file nedelecspace.hh.

◆ moveTo()

template<class GridView >
void Kaskade::VectorialConverterBase< GridView >::moveTo ( Cell const &  cell)
inlineinherited

Definition at line 50 of file nedelecspace.hh.

◆ setLocalPosition()

template<class GridView >
void Kaskade::VectorialConverterBase< GridView >::setLocalPosition ( Dune::FieldVector< typename GridView::ctype, dim > const &  x)
inlineinherited

Definition at line 52 of file nedelecspace.hh.

◆ solve()

template<class GridView >
void Kaskade::VectorialConverterBase< GridView >::solve ( Dune::FieldMatrix< typename GridView::ctype, dim, dim >  A,
Dune::FieldVector< typename GridView::ctype, dim > &  x,
Dune::FieldVector< typename GridView::ctype, dim >  b 
) const
inlineprotectedinherited

Definition at line 120 of file nedelecspace.hh.

Referenced by Kaskade::VectorialConverterBase< GridView >::local().

Member Data Documentation

◆ Btinv

template<class GridView >
Dune::FieldMatrix<typename GridView::ctype,dim,dim> Kaskade::VectorialConverterBase< GridView >::Btinv
protectedinherited

◆ C

template<class GridView >
Dune::FieldMatrix<typename GridView::ctype,dim,dim> Kaskade::VectorialConverterBase< GridView >::C
protectedinherited

◆ cell_

template<class GridView >
Cell const* Kaskade::VectorialConverterBase< GridView >::cell_
protectedinherited

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