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,
68 PowerGridFunctionSpace,
74 template<typename,typename>
77 typedef TypeTree::TransformTree<PowerGridFunctionSpace,
78 gfs_to_ordering<PowerGridFunctionSpace>
79 > ordering_transformation;
83 typedef typename ordering_transformation::Type
Ordering;
89 PowerGridFunctionSpace(T& c, const Backend& backend = Backend(), const OrderingTag ordering_tag = OrderingTag())
91 , ImplementationBase(backend,ordering_tag)
96 const Backend&
backend = Backend(),
99 , ImplementationBase(
backend,ordering_tag)
105 const Backend&
backend = Backend(),
108 , ImplementationBase(
backend,ordering_tag)
115 const Backend&
backend = Backend(),
118 , ImplementationBase(
backend,ordering_tag)
126 const Backend&
backend = Backend(),
128 : BaseT(c0,c1,c2,c3,c4)
129 , ImplementationBase(
backend,ordering_tag)
138 const Backend&
backend = Backend(),
140 : BaseT(c0,c1,c2,c3,c4,c5)
141 , ImplementationBase(
backend,ordering_tag)
151 const Backend&
backend = Backend(),
153 : BaseT(c0,c1,c2,c3,c4,c5,c6)
154 , ImplementationBase(
backend,ordering_tag)
165 const Backend&
backend = Backend(),
167 : BaseT(c0,c1,c2,c3,c4,c5,c6,c7)
168 , ImplementationBase(
backend,ordering_tag)
180 const Backend&
backend = Backend(),
182 : BaseT(c0,c1,c2,c3,c4,c5,c6,c7,c8)
183 , ImplementationBase(
backend,ordering_tag)
196 const Backend&
backend = Backend(),
198 : BaseT(c0,c1,c2,c3,c4,c5,c6,c7,c8,c9)
199 , ImplementationBase(
backend,ordering_tag)
202 template<
typename Child0,
typename... Children>
204 : BaseT(child0, children...)
205 , ImplementationBase(Backend(),OrderingTag())
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 ordering_transformation::Type Ordering
Definition: powergridfunctionspace.hh:83
Ordering & ordering()
Direct access to the DOF ordering.
Definition: powergridfunctionspace.hh:225
base class for tuples of grid function spaces product of identical grid function spaces base class th...
Definition: powergridfunctionspace.hh:40
PowerGridFunctionSpace(T &c0, T &c1, const Backend &backend=Backend(), const OrderingTag ordering_tag=OrderingTag())
Definition: powergridfunctionspace.hh:94
Trait class for the multi component grid function spaces.
Definition: powercompositegridfunctionspacebase.hh:34
const Ordering & ordering() const
Direct access to the DOF ordering.
Definition: powergridfunctionspace.hh:209
OrderingTag OrderingTag
Definition: powercompositegridfunctionspacebase.hh:100
std::shared_ptr< Ordering > orderingStorage()
Direct access to the storage of the DOF ordering.
Definition: powergridfunctionspace.hh:257
Definition: gridfunctionspace/tags.hh:26
PowerGridFunctionSpaceTag ImplementationTag
Definition: powergridfunctionspace.hh:53
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
For backward compatibility – Do not use this!
Definition: adaptivity.hh:27
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
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, 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: datahandleprovider.hh:187
G EntitySet
Definition: powercompositegridfunctionspacebase.hh:45
void update(bool force=false)
Update the indexing information of the GridFunctionSpace.
Definition: gridfunctionspacebase.hh:205
PowerGridFunctionSpace(T &c, const Backend &backend=Backend(), const OrderingTag ordering_tag=OrderingTag())
Definition: powergridfunctionspace.hh:89
std::shared_ptr< const Ordering > orderingStorage() const
Direct access to the storage of the DOF ordering.
Definition: powergridfunctionspace.hh:241
Definition: gridfunctionspacebase.hh:134
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
Traits::Backend & backend()
Definition: gridfunctionspacebase.hh:226
PowerGridFunctionSpace(T &c0, T &c1, T &c2, T &c3, const Backend &backend=Backend(), const OrderingTag ordering_tag=OrderingTag())
Definition: powergridfunctionspace.hh:111
bool isRootSpace() const
Definition: gridfunctionspacebase.hh:246
TypeTree::PowerNode< T, k > BaseT
Definition: powergridfunctionspace.hh:55
PowerGridFunctionSpace(std::shared_ptr< Child0 > child0, std::shared_ptr< Children >... children)
Definition: powergridfunctionspace.hh:203
Definition: exceptions.hh:34
PowerGridFunctionSpace(T &c0, T &c1, T &c2, T &c3, T &c4, const Backend &backend=Backend(), const OrderingTag ordering_tag=OrderingTag())
Definition: powergridfunctionspace.hh:121
PowerGridFunctionSpace(T &c0, T &c1, T &c2, const Backend &backend=Backend(), const OrderingTag ordering_tag=OrderingTag())
Definition: powergridfunctionspace.hh:102