4 #ifndef DUNE_PDELAB_GRIDFUNCTIONSPACE_TAGS_HH
5 #define DUNE_PDELAB_GRIDFUNCTIONSPACE_TAGS_HH
7 #include <dune/grid/common/gridenums.hh>
8 #include <dune/typetree/utility.hh>
34 template<
typename ProxiedGFSTag>
36 :
public ProxiedGFSTag
102 : _offsets(sizes.size() + 1,0)
104 std::partial_sum(sizes.begin(),sizes.end(),_offsets.begin() + 1);
109 : _offsets(sizes.size() + 1,0)
111 std::partial_sum(sizes.begin(),sizes.end(),_offsets.begin() + 1);
115 const std::vector<std::size_t>&
offsets()
const
122 std::vector<std::size_t> _offsets;
152 assert(perm.size() == _perm.size());
158 std::vector<std::size_t> _perm;
173 struct shift_if_nonnegative
175 static const unsigned int value = 1 << i;
179 struct shift_if_nonnegative<-1>
181 static const unsigned int value = 0;
191 template<
int p0 = -1,
int p1 = -1,
int p2 = -1,
int p3 = -1,
int p4 = -1>
215 template<
typename Params>
228 > AllPartitionSelector;
233 > NonOverlappingPartitionSelector;
240 ,
public AllPartitionSelector
246 ,
public NonOverlappingPartitionSelector
295 template<
typename GFS,
typename Tag>
301 template<
typename GFS>
308 template<
typename GFS>
333 template<
typename GFS>
348 #endif // DUNE_PDELAB_GRIDFUNCTIONSPACE_TAGS_HH
SimpleDOFIndex< typename GFS::Traits::SizeType > type
Definition: gridfunctionspace/tags.hh:304
Indicate lexicographic ordering of the unknowns of non-leaf grid function spaces. ...
Definition: gridfunctionspace/tags.hh:63
Definition: gridfunctionspace/tags.hh:28
static const bool no_const_ordering_size
Definition: gridfunctionspace/tags.hh:165
Tag denoting a CompositeLocalFunctionSpace.
Definition: gridfunctionspace/tags.hh:273
Definition: gridfunctionspace/tags.hh:35
_build_dof_index_type< GFS, typename GFS::OrderingTag >::type type
Definition: gridfunctionspace/tags.hh:311
static const unsigned int partition_mask
Definition: gridfunctionspace/tags.hh:195
Indicate interleaved ordering of the unknowns of non-leaf grid function spaces according to a given b...
Definition: gridfunctionspace/tags.hh:78
InterleavedOrderingTag(std::initializer_list< std::size_t > sizes)
Constructs an InterleavedOrderingTag with a block structure given by the initializer list sizes...
Definition: gridfunctionspace/tags.hh:101
const std::vector< std::size_t > & offsets() const
Returns a list of offsets for the child blocks.
Definition: gridfunctionspace/tags.hh:115
Definition: gridfunctionspace/tags.hh:284
Leaf ordering parameters for non-overlapping function spaces.
Definition: gridfunctionspace/tags.hh:244
static const unsigned int value
Definition: gridfunctionspace/tags.hh:175
Helper for building the bitmask describing the grid partitions contained in a GFS.
Definition: gridfunctionspace/tags.hh:192
DefaultLeafOrderingTag GridFunctionGeneralMapper
GridFunctionGeneralMapper is deprecated, use DefaultLeafOrderingTag instead.
Definition: gridfunctionspace/tags.hh:258
Definition: gridfunctionspace/tags.hh:22
void updatePermutation(const std::vector< std::size_t > &perm)
Replaces the existing permutation by a new one.
Definition: gridfunctionspace/tags.hh:150
Definition: gridfunctionspace/tags.hh:288
Indicate blocking of the unknowns by grid entity.
Definition: gridfunctionspace/tags.hh:53
A multi-index representing a degree of freedom in a GridFunctionSpace.
Definition: dofindex.hh:146
LeafOrderingTag< DefaultLeafOrderingParams > DefaultLeafOrderingTag
Default ordering tag for a MultiIndex-based ordering with standard behavior.
Definition: gridfunctionspace/tags.hh:252
Tag denoting a PowerLocalFunctionSpace.
Definition: gridfunctionspace/tags.hh:270
Definition: gridfunctionspace/tags.hh:32
Definition: gridfunctionspace/tags.hh:280
Definition: gridfunctionspace/tags.hh:267
Definition: simpledofindex.hh:14
PermutationOrderingTag(std::vector< std::size_t > perm)
Constructs n PermutationOrderingTag using the permutation given by std::vector perm.
Definition: gridfunctionspace/tags.hh:138
LeafOrderingTag< NonOverlappingLeafOrderingParams > NonOverlappingLeafOrderingTag
Ordering tag for a MultiIndex-based ordering on nonoverlapping grids with standard behavior...
Definition: gridfunctionspace/tags.hh:263
InterleavedOrderingTag(std::vector< std::size_t > sizes)
Constructs an InterleavedOrderingTag with a block structure given by the std::vector sizes...
Definition: gridfunctionspace/tags.hh:108
Tag denoting a LeafLocalFunctionSpace.
Definition: gridfunctionspace/tags.hh:276
Definition: adaptivity.hh:27
Tag indicating a standard ordering for a leaf GridfunctionSpace.
Definition: gridfunctionspace/tags.hh:216
Definition: gridfunctionspace/tags.hh:26
Definition: gridfunctionspace/tags.hh:30
Definition: gridfunctionspace/tags.hh:309
Definition: gridfunctionspace/tags.hh:296
Leaf ordering parameters for standard function spaces.
Definition: gridfunctionspace/tags.hh:238
Mixin indicating whether a leaf GridFunctionSpace should never assume a const ordering size...
Definition: gridfunctionspace/tags.hh:163
Tag for the intermediate base class of the CompositeGridFunctionSpace.
Definition: gridfunctionspace/tags.hh:40
const std::vector< std::size_t > & permutation() const
Returns the permutation.
Definition: gridfunctionspace/tags.hh:144
Indicate permuted ordering of the unknowns of non-leaf grid function spaces according to a given perm...
Definition: gridfunctionspace/tags.hh:134
Definition: gridfunctionspace/tags.hh:24
Dune::PDELab::DOFIndex< std::size_t, TypeTree::TreeInfo< GFS >::depth, 2 > type
Definition: gridfunctionspace/tags.hh:298
Definition: gridfunctionspace/tags.hh:292