KASKADE 7 development version
|
A local-to-global mapper for continuous finite elements on a subdomain. More...
#include <lagrangespace.hh>
A local-to-global mapper for continuous finite elements on a subdomain.
GV | the grid view on which the space is defined |
SupportOracle | a callable that for each cell specifies whether it is contained in the subdomain (maximal support of the functions) or not |
ScalarType |
Using this mapper is tricky, since the support oracle is usually defined as a lambda function, the type of which has to be provided as a template parameter. Here, class template deduction as of C++ 17 helps:
Definition at line 674 of file lagrangespace.hh.
Classes | |
struct | Element |
Public Types | |
typedef ScalarType | Scalar |
typedef GV | GridView |
typedef Base::ShapeFunctionSet | ShapeFunctionSet |
typedef int | ConstructorArgument |
template<int m> | |
using | Element_t = FunctionSpaceElement< FEFunctionSpace< ContinuousLagrangeMapperSubdomain >, m > |
Type of the FunctionSpaceElement, associated to the FEFunctionSpace. More... | |
typedef Implementation::Grid | Grid |
using | Cell = Kaskade::Cell< Grid > |
typedef Implementation::Converter | Converter |
typedef Implementation::Combiner | Combiner |
typedef GridView::IndexSet | IndexSet |
typedef std::pair< size_t, int > | IndexPair |
typedef RangeView< GlobalIndexIterator > | GlobalIndexRange |
typedef RangeView< SortedIndexIterator > | SortedIndexRange |
Public Member Functions | |
ContinuousLagrangeMapperSubdomain (GridView const &gridView, int order, SupportOracle &&supportOracle) | |
Constructor. More... | |
GridView const & | gridView () const |
Returns the grid view used. More... | |
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 an immutable sequence containing the global indices of the shape functions associated to this cell. More... | |
GlobalIndexRange | globalIndices (size_t n) const |
Returns an immutable 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... | |
ShapeFunctionSet const & | shapefunctions (Cell const &cell, bool contained=false) const |
Returns the set of shape functions defined on this cell. More... | |
ShapeFunctionSet const & | shapefunctions (size_t n) const |
Returns the set of shape functions defined on this cell. More... | |
ShapeFunctionSet & | shapefunctions_non_const (Cell const &cell) |
ShapeFunctionSet & | shapefunctions_non_const (size_t n) |
ShapeFunctionSet const & | lowerShapeFunctions (Cell const &cell) const |
Combiner | combiner (Cell const &cell, size_t index) const |
Returns a combiner for the given leaf cell. More... | |
std::pair< bool, size_t > | unrestrictedToRestrictedIndex (size_t unrestrictedIndex) |
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 | continuity = -1 |
Continuity of the functions in this space. If the support is restricted to a proper subdomain, the functions are discontinuous across the inner boundary - hence the low continuity even though inside the subdomain the functions are \( C^0 \). More... | |
static bool const | globalSupport |
Whether the ansatz functions have global support (i.e. lead to dense matrices). More... | |
Protected Attributes | |
ContinuousLagrangeMapperSubdomainImplementation< GV, SupportOracle, double > | implementation |
|
inherited |
Definition at line 208 of file scalarspace.hh.
|
inherited |
Definition at line 211 of file scalarspace.hh.
typedef int Kaskade::ContinuousLagrangeMapperSubdomain< GV, SupportOracle, ScalarType >::ConstructorArgument |
Definition at line 684 of file lagrangespace.hh.
|
inherited |
Definition at line 210 of file scalarspace.hh.
|
inherited |
Definition at line 228 of file scalarspace.hh.
|
inherited |
Definition at line 207 of file scalarspace.hh.
typedef GV Kaskade::ContinuousLagrangeMapperSubdomain< GV, SupportOracle, ScalarType >::GridView |
Definition at line 682 of file lagrangespace.hh.
|
inherited |
Definition at line 215 of file scalarspace.hh.
|
inherited |
Definition at line 214 of file scalarspace.hh.
typedef ScalarType Kaskade::ContinuousLagrangeMapperSubdomain< GV, SupportOracle, ScalarType >::Scalar |
Definition at line 681 of file lagrangespace.hh.
typedef Base::ShapeFunctionSet Kaskade::ContinuousLagrangeMapperSubdomain< GV, SupportOracle, ScalarType >::ShapeFunctionSet |
Definition at line 683 of file lagrangespace.hh.
|
inherited |
Definition at line 229 of file scalarspace.hh.
|
inline |
Constructor.
gridView | the grid view on which to define the space, usually a leaf grid view |
order | polynomial ansatz order of shape functions (> 0) |
supportOracle | a callable that for any cell |
Definition at line 715 of file lagrangespace.hh.
|
inlineinherited |
Returns a combiner for the given leaf cell.
cell | the grid cell for which the combiner is requested |
index | the index of the cell |
Definition at line 370 of file scalarspace.hh.
|
inlineinherited |
Returns an immutable sequence containing the global indices of the shape functions associated to this cell.
Global indices start at 0 and are consecutive - in the range returned here, an unordered subset is contained.
Definition at line 274 of file scalarspace.hh.
|
inlineinherited |
Returns an immutable sequence containing the global indices of the shape functions associated to this cell.
Global indices start at 0 and are consecutive - in the range returned here, an unordered subset is contained.
Definition at line 285 of file scalarspace.hh.
|
inlineinherited |
Returns the grid view used.
Definition at line 244 of file scalarspace.hh.
|
inlineinherited |
Returns an empty range just for initialization purposes, since RangeView is not default constructible.
Definition at line 261 of file scalarspace.hh.
|
inlinestaticinherited |
Returns an empty range just for initialization, since RangeView is not default constructible.
Definition at line 294 of file scalarspace.hh.
|
inlineinherited |
Definition at line 357 of file scalarspace.hh.
|
inlineinherited |
Returns the maximal polynomial order of shape functions encountered in any cell.
Definition at line 252 of file scalarspace.hh.
|
inlineinherited |
Returns the set of shape functions defined on this cell.
cell | the codim 0 entity of the grid for wich the shape functions are to be retrieved |
contained | if 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 331 of file scalarspace.hh.
|
inlineinherited |
Returns the set of shape functions defined on this cell.
Definition at line 347 of file scalarspace.hh.
|
inlineinherited |
Definition at line 339 of file scalarspace.hh.
|
inlineinherited |
Definition at line 352 of file scalarspace.hh.
|
inlineinherited |
Returns the number of global degrees of freedom managed.
Note that this does not correspond directly to the number of coefficients in a FE function (if the FE function has more than one component).
Definition at line 323 of file scalarspace.hh.
|
inlineinherited |
Returns an immutable sequence of (global index, local index) pairs sorted in ascending global index order.
Definition at line 303 of file scalarspace.hh.
|
inlineinherited |
Returns an immutable sequence of (global index, local index) pairs sorted in ascending global index order.
Definition at line 311 of file scalarspace.hh.
|
inlineinherited |
Definition at line 379 of file scalarspace.hh.
|
inlineinherited |
(Re)computes the internal data.
This has to be called after grid modifications and on construction.
Definition at line 389 of file scalarspace.hh.
|
static |
Continuity of the functions in this space. If the support is restricted to a proper subdomain, the functions are discontinuous across the inner boundary - hence the low continuity even though inside the subdomain the functions are \( C^0 \).
Definition at line 692 of file lagrangespace.hh.
|
staticinherited |
Whether the ansatz functions have global support (i.e. lead to dense matrices).
Definition at line 234 of file scalarspace.hh.
|
protectedinherited |
Definition at line 528 of file scalarspace.hh.