![]() |
Dune-Functions 2.11
|
A pre-basis restricted to a sub-domain. More...
#include <dune/functions/functionspacebases/restrictedbasis.hh>
Classes | |
| class | Node |
| Template mapping root tree path to type of created tree node. More... | |
Public Types | |
| using | SubDomain = SD |
| using | SubDomainPreBasis = SDPB |
| using | SubDomainGridView = typename SubDomainPreBasis::GridView |
| using | GridView = GV |
| The grid view that the FE basis is defined on. | |
| using | size_type = std::size_t |
| Type used for indices and size information. | |
Public Member Functions | |
| RestrictedPreBasis (const GridView &gridView, SubDomainPreBasis &&subDomainPreBasis, const SubDomain &subDomain) | |
| Constructor for given sub-domain pre-basis. | |
| void | initializeIndices () |
| Initialize the global indices. | |
| const GridView & | gridView () const |
| Obtain the grid view that the basis is defined on. | |
| void | update (const GridView &gv) |
| Update the stored grid view, to be called. | |
| Node | makeNode () const |
| Create tree node. | |
| size_type | size () const |
| Same as size(prefix) with empty prefix. | |
| template<class SizePrefix> | |
| size_type | size (const SizePrefix &prefix) const |
| Return number of possible values for next position in multi index. | |
| auto | containerDescriptor () const |
| Return the container descriptor of the pre-basis. | |
| size_type | dimension () const |
| Get the total dimension of the space spanned by this basis. | |
| size_type | maxNodeSize () const |
| Get the maximal number of DOFs associated to node for any element. | |
| const SubDomainPreBasis & | subDomainPreBasis () const |
| SubDomainPreBasis & | subDomainPreBasis () |
| template<typename It> | |
| It | indices (const Node &node, It it) const |
Static Public Attributes | |
| static constexpr size_type | maxMultiIndexSize = SubDomainPreBasis::maxMultiIndexSize |
| static constexpr size_type | minMultiIndexSize = SubDomainPreBasis::minMultiIndexSize |
| static constexpr size_type | multiIndexBufferSize = SubDomainPreBasis::multiIndexBufferSize |
Protected Attributes | |
| GridView | gridView_ |
| SubDomainPreBasis | subDomainPreBasis_ |
| const SubDomain * | subDomainPtr_ |
A pre-basis restricted to a sub-domain.
This pre-basis wraps another pre-basis and restricts it to a sub-domain. The wrapped pre-basis is assumed to be defined on a sub-domain of the full grid view. Then the RestrictedPreBasis defines a pre-basis on the full grid view implemented in terms of the pre-basis on the sub-domain. Most of the methods are forwarded to the sub-domain pre-basis with two exceptions: When binding a RestrictedPreBasis::Node, this only calls subDomainNode.bind(element) if the element is contained in the sub-domain, otherwise the sizes of the node and all its descendents is set to zero. Furthermore it only calls subDomainPreBasis.indices(node,it) if node.size() is not zero.
| GV | Type of the (full) grid view this pre-basis is defined on. |
| SDPB | Type of a pre-basis defined on sub-set of the full grid view |
| SD | Type of the sub-domain |
| using Dune::Functions::Experimental::RestrictedPreBasis< GV, SDPB, SD >::GridView = GV |
The grid view that the FE basis is defined on.
| using Dune::Functions::Experimental::RestrictedPreBasis< GV, SDPB, SD >::size_type = std::size_t |
Type used for indices and size information.
| using Dune::Functions::Experimental::RestrictedPreBasis< GV, SDPB, SD >::SubDomain = SD |
| using Dune::Functions::Experimental::RestrictedPreBasis< GV, SDPB, SD >::SubDomainGridView = typename SubDomainPreBasis::GridView |
| using Dune::Functions::Experimental::RestrictedPreBasis< GV, SDPB, SD >::SubDomainPreBasis = SDPB |
|
inline |
Constructor for given sub-domain pre-basis.
The grid view and sub-domain pre-basis will be stored as copy while a pointer to the sub-domain object is stored.
|
inline |
Return the container descriptor of the pre-basis.
|
inline |
Get the total dimension of the space spanned by this basis.
|
inline |
Obtain the grid view that the basis is defined on.
|
inline |
|
inline |
Initialize the global indices.
|
inline |
Create tree node.
|
inline |
Get the maximal number of DOFs associated to node for any element.
|
inline |
Same as size(prefix) with empty prefix.
|
inline |
Return number of possible values for next position in multi index.
|
inline |
|
inline |
|
inline |
Update the stored grid view, to be called.
This will also call subDomainPreBasis.update(subDomainPtr->gridView()) with the stored sub-domain pointer to update the sub-domain pre-basis. Hence it requires the subDomain object passed to the present pre-basis has been correctly updated externally, before calling this method.
|
protected |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
protected |
|
protected |