KASKADE 7 development version
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
Kaskade::HdivMapper< ScalarType, GV > Class Template Reference

Degrees of freedom manager for H(div) conforming elements. More...

#include <nedelecspace.hh>

Detailed Description

template<class ScalarType, class GV>
class Kaskade::HdivMapper< ScalarType, GV >

Degrees of freedom manager for H(div) conforming elements.

Template Parameters
ScalarTypescalar type
GVgrid view

Definition at line 234 of file nedelecspace.hh.

Classes

class  Combiner
 A class implementing a matrix \( K \) mapping a subset of global degrees of freedom (those given by globalIndices()) to local degrees of freedom (shape functions). More...
 

Public Types

typedef ScalarType Scalar
 
typedef GV GridView
 
typedef GridView::Grid Grid
 
typedef GridView::IndexSet IndexSet
 
typedef int ConstructorArgument
 
typedef RangeView< std::vector< size_t >::const_iterator > GlobalIndexRange
 
typedef std::pair< size_t, int > IndexPair
 
typedef std::vector< IndexPair >::const_iterator SortedIndexIterator
 
typedef RangeView< SortedIndexIteratorSortedIndexRange
 
typedef Grid::template Codim< 0 >::Entity Cell
 
typedef HdivShapeFunctionSetContainer< typenameGrid::ctype, dim, Scalar >::value_type ShapeFunctionSet
 
typedef HdivConverter< GridViewConverter
 A class mapping local shape function values and derivatives to global shape function values and derivatives. More...
 

Public Member Functions

 HdivMapper (GridView const &gridView_, int order_)
 Constructs an HdivMapper for a given grid view. More...
 
virtual ~HdivMapper ()
 
ShapeFunctionSet const & shapefunctions (Cell const &cell, bool) const
 Returns the set of shape functions defined on this cell. More...
 
ShapeFunctionSet const & shapefunctions (size_t) const
 
int maxOrder () const
 Returns the maximal polynomial order of shape functions encountered in any cell. More...
 
GlobalIndexRange initGlobalIndexRange () const
 Returns an empty range just for initialization purposes, since RangeView is not default constructible. More...
 
GlobalIndexRange globalIndices (Cell const &cell) const
 Returns a const sequence containing the global indices of the shape functions associated to this cell. Global indices start at 0 and are consecutive. More...
 
GlobalIndexRange globalIndices (size_t n) const
 Returns a const sequence containing the global indices of the shape functions associated to the cell with index n. Global indices start at 0 and are consecutive. More...
 
SortedIndexRange sortedIndices (Cell const &cell) const
 Returns an immutable sequence of (global index, local index) pairs sorted in ascending global index order. More...
 
SortedIndexRange sortedIndices (size_t n) const
 Returns an immutable sequence of (global index, local index) pairs sorted in ascending global index order. More...
 
size_t size () const
 Returns the number of global degrees of freedom managed. More...
 
Combiner combiner (Cell const &cell, size_t index) const
 Returns a combiner for the given cell. More...
 
void update ()
 (Re)computes the internal data. More...
 

Static Public Member Functions

static SortedIndexRange initSortedIndexRange ()
 Returns an empty range just for initialization, since RangeView is not default constructible. More...
 

Static Public Attributes

static int const dim = Grid::dimension
 
static bool const globalSupport = false
 Whether the ansatz functions have global support (i.e. lead to dense matrices). More...
 
static int const continuity = -1
 

Member Typedef Documentation

◆ Cell

template<class ScalarType , class GV >
typedef Grid::template Codim<0>::Entity Kaskade::HdivMapper< ScalarType, GV >::Cell

Definition at line 258 of file nedelecspace.hh.

◆ ConstructorArgument

template<class ScalarType , class GV >
typedef int Kaskade::HdivMapper< ScalarType, GV >::ConstructorArgument

Definition at line 250 of file nedelecspace.hh.

◆ Converter

template<class ScalarType , class GV >
typedef HdivConverter<GridView> Kaskade::HdivMapper< ScalarType, GV >::Converter

A class mapping local shape function values and derivatives to global shape function values and derivatives.

Definition at line 359 of file nedelecspace.hh.

◆ GlobalIndexRange

template<class ScalarType , class GV >
typedef RangeView<std::vector<size_t>::const_iterator> Kaskade::HdivMapper< ScalarType, GV >::GlobalIndexRange

Definition at line 252 of file nedelecspace.hh.

◆ Grid

template<class ScalarType , class GV >
typedef GridView::Grid Kaskade::HdivMapper< ScalarType, GV >::Grid

Definition at line 240 of file nedelecspace.hh.

◆ GridView

template<class ScalarType , class GV >
typedef GV Kaskade::HdivMapper< ScalarType, GV >::GridView

Definition at line 239 of file nedelecspace.hh.

◆ IndexPair

template<class ScalarType , class GV >
typedef std::pair<size_t,int> Kaskade::HdivMapper< ScalarType, GV >::IndexPair

Definition at line 254 of file nedelecspace.hh.

◆ IndexSet

template<class ScalarType , class GV >
typedef GridView::IndexSet Kaskade::HdivMapper< ScalarType, GV >::IndexSet

Definition at line 241 of file nedelecspace.hh.

◆ Scalar

template<class ScalarType , class GV >
typedef ScalarType Kaskade::HdivMapper< ScalarType, GV >::Scalar

Definition at line 237 of file nedelecspace.hh.

◆ ShapeFunctionSet

template<class ScalarType , class GV >
typedef HdivShapeFunctionSetContainer<typenameGrid::ctype,dim,Scalar>::value_type Kaskade::HdivMapper< ScalarType, GV >::ShapeFunctionSet

Definition at line 259 of file nedelecspace.hh.

◆ SortedIndexIterator

template<class ScalarType , class GV >
typedef std::vector<IndexPair>::const_iterator Kaskade::HdivMapper< ScalarType, GV >::SortedIndexIterator

Definition at line 255 of file nedelecspace.hh.

◆ SortedIndexRange

template<class ScalarType , class GV >
typedef RangeView<SortedIndexIterator> Kaskade::HdivMapper< ScalarType, GV >::SortedIndexRange

Definition at line 256 of file nedelecspace.hh.

Constructor & Destructor Documentation

◆ HdivMapper()

template<class ScalarType , class GV >
Kaskade::HdivMapper< ScalarType, GV >::HdivMapper ( GridView const &  gridView_,
int  order_ 
)
inline

Constructs an HdivMapper for a given grid view.

Parameters
orderansatz function order (at least 1).

Definition at line 265 of file nedelecspace.hh.

◆ ~HdivMapper()

template<class ScalarType , class GV >
virtual Kaskade::HdivMapper< ScalarType, GV >::~HdivMapper ( )
inlinevirtual

Definition at line 273 of file nedelecspace.hh.

Member Function Documentation

◆ combiner()

template<class ScalarType , class GV >
Combiner Kaskade::HdivMapper< ScalarType, GV >::combiner ( Cell const &  cell,
size_t  index 
) const
inline

Returns a combiner for the given cell.

Parameters
cellthe grid cell for which the combiner is requested
indexthe index of the cell

Definition at line 408 of file nedelecspace.hh.

◆ globalIndices() [1/2]

template<class ScalarType , class GV >
GlobalIndexRange Kaskade::HdivMapper< ScalarType, GV >::globalIndices ( Cell const &  cell) const
inline

Returns a const sequence containing the global indices of the shape functions associated to this cell. Global indices start at 0 and are consecutive.

Definition at line 312 of file nedelecspace.hh.

Referenced by Kaskade::HdivMapper< ScalarType, GV >::globalIndices().

◆ globalIndices() [2/2]

template<class ScalarType , class GV >
GlobalIndexRange Kaskade::HdivMapper< ScalarType, GV >::globalIndices ( size_t  n) const
inline

Returns a const sequence containing the global indices of the shape functions associated to the cell with index n. Global indices start at 0 and are consecutive.

Definition at line 321 of file nedelecspace.hh.

◆ initGlobalIndexRange()

template<class ScalarType , class GV >
GlobalIndexRange Kaskade::HdivMapper< ScalarType, GV >::initGlobalIndexRange ( ) const
inline

Returns an empty range just for initialization purposes, since RangeView is not default constructible.

Definition at line 303 of file nedelecspace.hh.

◆ initSortedIndexRange()

template<class ScalarType , class GV >
static SortedIndexRange Kaskade::HdivMapper< ScalarType, GV >::initSortedIndexRange ( )
inlinestatic

Returns an empty range just for initialization, since RangeView is not default constructible.

Definition at line 329 of file nedelecspace.hh.

◆ maxOrder()

template<class ScalarType , class GV >
int Kaskade::HdivMapper< ScalarType, GV >::maxOrder ( ) const
inline

Returns the maximal polynomial order of shape functions encountered in any cell.

Definition at line 295 of file nedelecspace.hh.

◆ shapefunctions() [1/2]

template<class ScalarType , class GV >
ShapeFunctionSet const & Kaskade::HdivMapper< ScalarType, GV >::shapefunctions ( Cell const &  cell,
bool   
) const
inline

Returns the set of shape functions defined on this cell.

Parameters
cellthe codim 0 entity of the grid for wich the shape functions are to be retrieved
containedif true, the method may assume that the cell is contained in the index set of the space. (The other case occurs during interpolation between different grids).

Definition at line 281 of file nedelecspace.hh.

Referenced by Kaskade::HdivMapper< ScalarType, GV >::combiner(), and Kaskade::HdivMapper< ScalarType, GV >::update().

◆ shapefunctions() [2/2]

template<class ScalarType , class GV >
ShapeFunctionSet const & Kaskade::HdivMapper< ScalarType, GV >::shapefunctions ( size_t  ) const
inline

Definition at line 287 of file nedelecspace.hh.

◆ size()

template<class ScalarType , class GV >
size_t Kaskade::HdivMapper< ScalarType, GV >::size ( ) const
inline

Returns the number of global degrees of freedom managed.

Definition at line 354 of file nedelecspace.hh.

◆ sortedIndices() [1/2]

template<class ScalarType , class GV >
SortedIndexRange Kaskade::HdivMapper< ScalarType, GV >::sortedIndices ( Cell const &  cell) const
inline

Returns an immutable sequence of (global index, local index) pairs sorted in ascending global index order.

Definition at line 338 of file nedelecspace.hh.

Referenced by Kaskade::HdivMapper< ScalarType, GV >::sortedIndices().

◆ sortedIndices() [2/2]

template<class ScalarType , class GV >
SortedIndexRange Kaskade::HdivMapper< ScalarType, GV >::sortedIndices ( size_t  n) const
inline

Returns an immutable sequence of (global index, local index) pairs sorted in ascending global index order.

Definition at line 346 of file nedelecspace.hh.

◆ update()

template<class ScalarType , class GV >
void Kaskade::HdivMapper< ScalarType, GV >::update ( )
inline

(Re)computes the internal data.

This has to be called after grid modifications.

In Hdiv conforming spaces, there are two types of ansatz functions: (i) cell-interior functions (with vanishing normal components on the boundary) and (ii) face functions (with Lagrangian property on normal component at the face/edge/vertex nodes). They are ordered

Definition at line 423 of file nedelecspace.hh.

Referenced by Kaskade::HdivMapper< ScalarType, GV >::HdivMapper().

Member Data Documentation

◆ continuity

template<class ScalarType , class GV >
int const Kaskade::HdivMapper< ScalarType, GV >::continuity = -1
static

Definition at line 251 of file nedelecspace.hh.

◆ dim

template<class ScalarType , class GV >
int const Kaskade::HdivMapper< ScalarType, GV >::dim = Grid::dimension
static

◆ globalSupport

template<class ScalarType , class GV >
bool const Kaskade::HdivMapper< ScalarType, GV >::globalSupport = false
static

Whether the ansatz functions have global support (i.e. lead to dense matrices).

Definition at line 248 of file nedelecspace.hh.


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