DUNE PDELab (unstable)
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 | 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. More... | |
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. More... | |
Node | makeNode () const |
Create tree node with given root tree path. More... | |
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. | |
Detailed Description
class Dune::Functions::Experimental::RestrictedPreBasis< GV, SDPB, SD >
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.
- Template Parameters
-
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
Constructor & Destructor Documentation
◆ RestrictedPreBasis()
|
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.
Member Function Documentation
◆ makeNode()
|
inline |
Create tree node with given root tree path.
- Template Parameters
-
TP Type of root tree path
- Parameters
-
tp Root tree path
By passing a non-trivial root tree path this can be used to create a node suitable for being placed in a tree at the position specified by the root tree path.
◆ update()
|
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.
The documentation for this class was generated from the following file:
- dune/functions/functionspacebases/restrictedbasis.hh
