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

A class mapping local vectorial shape function values and gradients to global shape function values and gradients. More...

#include <nedelecspace.hh>

Detailed Description

template<class GridView>
class Kaskade::VectorialConverterBase< GridView >

A class mapping local vectorial shape function values and gradients to global shape function values and gradients.

This converter realizes the transform \( \psi(x) \) and gives the values and derivatives of global shape functions from local shape functions: \( \phi(x) = C \hat \phi(\xi) \). Derived classes shall redefine the method update() in order to provide \( C \).

Template Parameters
Gridthe FE grid class

Definition at line 40 of file nedelecspace.hh.

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

Public Member Functions

 VectorialConverterBase ()=default
 
 VectorialConverterBase (Cell 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

virtual void update ()=0
 Redefine this to set \( C \). More...
 
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

◆ VectorialConverterBase() [1/2]

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

◆ VectorialConverterBase() [2/2]

template<class GridView >
Kaskade::VectorialConverterBase< GridView >::VectorialConverterBase ( Cell const &  cell)
inline

Definition at line 48 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
inline

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
inline

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
inline

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
inline

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)
inline

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)
inline

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
inlineprotected

Definition at line 120 of file nedelecspace.hh.

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

◆ update()

template<class GridView >
virtual void Kaskade::VectorialConverterBase< GridView >::update ( )
protectedpure virtual

Redefine this to set \( C \).

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

Member Data Documentation

◆ Btinv

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

◆ C

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

◆ cell_

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

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