Go to the documentation of this file.
4 #ifndef DUNE_PDELAB_GRIDFUNCTIONSPACE_POWERGRIDFUNCTIONSPACE_HH
5 #define DUNE_PDELAB_GRIDFUNCTIONSPACE_POWERGRIDFUNCTIONSPACE_HH
10 #include <dune/typetree/powernode.hh>
37 template<
typename T, std::size_t k,
39 typename OrderingTag = LexicographicOrderingTag>
41 :
public TypeTree::PowerNode<T,k>
43 PowerGridFunctionSpace<T, k, Backend, OrderingTag>,
44 typename T::Traits::EntitySet,
55 typedef TypeTree::PowerNode<T,k>
BaseT;
61 typename T::Traits::EntitySet,
74 template<typename,typename>
77 typedef TypeTree::TransformTree<PowerGridFunctionSpace,
78 gfs_to_ordering<PowerGridFunctionSpace>
79 > ordering_transformation;
83 typedef typename ordering_transformation::Type
Ordering;
96 const Backend&
backend = Backend(),
105 const Backend&
backend = Backend(),
115 const Backend&
backend = Backend(),
126 const Backend&
backend = Backend(),
128 :
BaseT(c0,c1,c2,c3,c4)
138 const Backend&
backend = Backend(),
140 :
BaseT(c0,c1,c2,c3,c4,c5)
151 const Backend&
backend = Backend(),
153 :
BaseT(c0,c1,c2,c3,c4,c5,c6)
165 const Backend&
backend = Backend(),
167 :
BaseT(c0,c1,c2,c3,c4,c5,c6,c7)
180 const Backend&
backend = Backend(),
182 :
BaseT(c0,c1,c2,c3,c4,c5,c6,c7,c8)
196 const Backend&
backend = Backend(),
198 :
BaseT(c0,c1,c2,c3,c4,c5,c6,c7,c8,c9)
202 template<
typename Child0,
typename... Children>
204 :
BaseT(child0, children...)
214 "Ordering can only be obtained for root space in GridFunctionSpace tree.");
230 "Ordering can only be obtained for root space in GridFunctionSpace tree.");
246 "Ordering can only be obtained for root space in GridFunctionSpace tree.");
262 "Ordering can only be obtained for root space in GridFunctionSpace tree.");
276 void create_ordering()
const
278 _ordering = std::make_shared<Ordering>(ordering_transformation::transform(*
this));
281 mutable std::shared_ptr<Ordering> _ordering;
288 #endif // DUNE_PDELAB_GRIDFUNCTIONSPACE_POWERGRIDFUNCTIONSPACE_HH
Indicate lexicographic ordering of the unknowns of non-leaf grid function spaces.
Definition: gridfunctionspace/tags.hh:63
PowerGridFunctionSpace(T &c0, T &c1, const Backend &backend=Backend(), const OrderingTag ordering_tag=OrderingTag())
Definition: powergridfunctionspace.hh:94
TypeTree::PowerNode< T, k > BaseT
Definition: powergridfunctionspace.hh:55
bool isRootSpace() const
Definition: gridfunctionspacebase.hh:246
For backward compatibility – Do not use this!
Definition: adaptivity.hh:28
ordering_transformation::Type Ordering
Definition: powergridfunctionspace.hh:83
PowerGridFunctionSpace(T &c0, T &c1, T &c2, T &c3, T &c4, T &c5, T &c6, T &c7, const Backend &backend=Backend(), const OrderingTag ordering_tag=OrderingTag())
Definition: powergridfunctionspace.hh:157
Mixin class providing common functionality of PowerGridFunctionSpace and CompositeGridFunctionSpace.
Definition: powercompositegridfunctionspacebase.hh:68
Definition: gridfunctionspacebase.hh:134
void update(bool force=false)
Update the indexing information of the GridFunctionSpace.
Definition: gridfunctionspacebase.hh:205
PowerGridFunctionSpace(T &c0, T &c1, T &c2, T &c3, T &c4, T &c5, const Backend &backend=Backend(), const OrderingTag ordering_tag=OrderingTag())
Definition: powergridfunctionspace.hh:132
PowerGridFunctionSpaceTag ImplementationTag
Definition: powergridfunctionspace.hh:53
base class for tuples of grid function spaces product of identical grid function spaces base class th...
Definition: powergridfunctionspace.hh:40
G EntitySet
Definition: powercompositegridfunctionspacebase.hh:45
PowerGridFunctionSpace(T &c0, T &c1, T &c2, T &c3, const Backend &backend=Backend(), const OrderingTag ordering_tag=OrderingTag())
Definition: powergridfunctionspace.hh:111
PowerGridFunctionSpace(T &c0, T &c1, T &c2, const Backend &backend=Backend(), const OrderingTag ordering_tag=OrderingTag())
Definition: powergridfunctionspace.hh:102
PowerGridFunctionSpace(T &c0, T &c1, T &c2, T &c3, T &c4, const Backend &backend=Backend(), const OrderingTag ordering_tag=OrderingTag())
Definition: powergridfunctionspace.hh:121
std::shared_ptr< const Ordering > orderingStorage() const
Direct access to the storage of the DOF ordering.
Definition: powergridfunctionspace.hh:241
PowerGridFunctionSpace(std::shared_ptr< Child0 > child0, std::shared_ptr< Children >... children)
Definition: powergridfunctionspace.hh:203
Traits::Backend & backend()
Definition: gridfunctionspacebase.hh:226
Definition: datahandleprovider.hh:187
std::shared_ptr< Ordering > orderingStorage()
Direct access to the storage of the DOF ordering.
Definition: powergridfunctionspace.hh:257
Definition: exceptions.hh:34
LexicographicOrderingTag OrderingTag
Definition: powercompositegridfunctionspacebase.hh:100
PowerGridFunctionSpace(T &c0, T &c1, T &c2, T &c3, T &c4, T &c5, T &c6, T &c7, T &c8, T &c9, const Backend &backend=Backend(), const OrderingTag ordering_tag=OrderingTag())
Definition: powergridfunctionspace.hh:186
Ordering & ordering()
Direct access to the DOF ordering.
Definition: powergridfunctionspace.hh:225
const Ordering & ordering() const
Direct access to the DOF ordering.
Definition: powergridfunctionspace.hh:209
Definition: gridfunctionspace/tags.hh:26
PowerGridFunctionSpace(T &c0, T &c1, T &c2, T &c3, T &c4, T &c5, T &c6, const Backend &backend=Backend(), const OrderingTag ordering_tag=OrderingTag())
Definition: powergridfunctionspace.hh:144
PowerGridFunctionSpace(T &c0, T &c1, T &c2, T &c3, T &c4, T &c5, T &c6, T &c7, T &c8, const Backend &backend=Backend(), const OrderingTag ordering_tag=OrderingTag())
Definition: powergridfunctionspace.hh:171
PowerGridFunctionSpace(T &c, const Backend &backend=Backend(), const OrderingTag ordering_tag=OrderingTag())
Definition: powergridfunctionspace.hh:89
Trait class for the multi component grid function spaces.
Definition: powercompositegridfunctionspacebase.hh:34