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

Degrees of freedom manager for Morley nonconforming elements. More...

#include <morleyspace.hh>

Detailed Description

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

Degrees of freedom manager for Morley nonconforming elements.

The Morley elements are piecewise quadratic, continuous at the mesh vertices, and have continuous edge-normal derivatives at the edge midpoints.

Template Parameters
ScalarTypescalar type
GVgrid view

Definition at line 38 of file morleyspace.hh.

Classes

class  Combiner
 A combiner 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 LagrangeShapeFunctionSetContainer< typenameGrid::ctype, dim, Scalar >::value_type ShapeFunctionSet
 
typedef LagrangeSimplexShapeFunctionSet< typename Grid::ctype, dim, ScalarTypeShapeFunctionSetImplementation
 
typedef ScalarConverter< Cell, ScalarConverter
 The converter type. More...
 

Public Member Functions

 MorleyMapper (GridView const &gridView_)
 Constructs a MorleyMapper for a given grid view. More...
 
virtual ~MorleyMapper ()
 
int maxOrder () const
 Returns the maximal polynomial order of shape functions encountered in any cell. More...
 
ShapeFunctionSet const & shapefunctions (Cell const &cell) const
 
ShapeFunctionSet const & shapefunctions (size_t) const
 
GlobalIndexRange initGlobalIndexRange () const
 Returns an empty range just for initialization purposes, since RangeView is not default constructible. More...
 
GlobalIndexRange globalIndices (Cell const &cell) const
 
GlobalIndexRange globalIndices (size_t n) const
 Returns a const sequence containing the global indices of the shape functions associated to this cell. 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
 
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 int const dimw = Grid::template Codim<0>::Entity::Geometry::coorddimension
 
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::MorleyMapper< ScalarType, GV >::Cell

Definition at line 67 of file morleyspace.hh.

◆ ConstructorArgument

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

Definition at line 59 of file morleyspace.hh.

◆ Converter

template<class ScalarType , class GV >
typedef ScalarConverter<Cell,Scalar> Kaskade::MorleyMapper< ScalarType, GV >::Converter

The converter type.

Morley basis functions do not change their value due to the mapping from reference to actual element, hence we can use the standard converter for scalar functions here.

Definition at line 172 of file morleyspace.hh.

◆ GlobalIndexRange

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

Definition at line 61 of file morleyspace.hh.

◆ Grid

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

Definition at line 45 of file morleyspace.hh.

◆ GridView

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

Definition at line 44 of file morleyspace.hh.

◆ IndexPair

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

Definition at line 63 of file morleyspace.hh.

◆ IndexSet

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

Definition at line 46 of file morleyspace.hh.

◆ Scalar

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

Definition at line 41 of file morleyspace.hh.

◆ ShapeFunctionSet

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

Definition at line 68 of file morleyspace.hh.

◆ ShapeFunctionSetImplementation

template<class ScalarType , class GV >
typedef LagrangeSimplexShapeFunctionSet<typename Grid::ctype,dim,ScalarType> Kaskade::MorleyMapper< ScalarType, GV >::ShapeFunctionSetImplementation

Definition at line 70 of file morleyspace.hh.

◆ SortedIndexIterator

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

Definition at line 64 of file morleyspace.hh.

◆ SortedIndexRange

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

Definition at line 65 of file morleyspace.hh.

Constructor & Destructor Documentation

◆ MorleyMapper()

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

Constructs a MorleyMapper for a given grid view.

Definition at line 75 of file morleyspace.hh.

◆ ~MorleyMapper()

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

Definition at line 82 of file morleyspace.hh.

Member Function Documentation

◆ combiner()

template<class ScalarType , class GV >
Combiner Kaskade::MorleyMapper< 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 312 of file morleyspace.hh.

◆ globalIndices() [1/2]

template<class ScalarType , class GV >
GlobalIndexRange Kaskade::MorleyMapper< 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 116 of file morleyspace.hh.

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

◆ globalIndices() [2/2]

template<class ScalarType , class GV >
GlobalIndexRange Kaskade::MorleyMapper< ScalarType, GV >::globalIndices ( size_t  n) 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 126 of file morleyspace.hh.

◆ initGlobalIndexRange()

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

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

Definition at line 106 of file morleyspace.hh.

◆ initSortedIndexRange()

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

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

Definition at line 134 of file morleyspace.hh.

◆ maxOrder()

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

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

Definition at line 87 of file morleyspace.hh.

◆ shapefunctions() [1/2]

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

Definition at line 92 of file morleyspace.hh.

◆ shapefunctions() [2/2]

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

Definition at line 98 of file morleyspace.hh.

◆ size()

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

Returns the number of global degrees of freedom managed.

This is just the number of vertices plus the number of edges.

Definition at line 161 of file morleyspace.hh.

◆ sortedIndices() [1/2]

template<class ScalarType , class GV >
SortedIndexRange Kaskade::MorleyMapper< 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 143 of file morleyspace.hh.

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

◆ sortedIndices() [2/2]

template<class ScalarType , class GV >
SortedIndexRange Kaskade::MorleyMapper< 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 151 of file morleyspace.hh.

◆ update()

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

(Re)computes the internal data.

This has to be called after grid modifications.

Definition at line 323 of file morleyspace.hh.

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

Member Data Documentation

◆ continuity

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

Definition at line 60 of file morleyspace.hh.

◆ dim

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

◆ dimw

template<class ScalarType , class GV >
int const Kaskade::MorleyMapper< ScalarType, GV >::dimw = Grid::template Codim<0>::Entity::Geometry::coorddimension
static

Definition at line 50 of file morleyspace.hh.

◆ globalSupport

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

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

Definition at line 56 of file morleyspace.hh.


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