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>
30 template<
typename ProxiedGFSTag>
32 :
public ProxiedGFSTag
77 #if HAVE_INITIALIZER_LIST || DOXYGEN
100 : _offsets(sizes.size() + 1,0)
102 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 blocking of the unknowns by grid entity.
Definition: gridfunctionspace/tags.hh:49
Definition: gridfunctionspace/tags.hh:280
Definition: dofindex.hh:14
Tag denoting a PowerLocalFunctionSpace.
Definition: gridfunctionspace/tags.hh:270
DefaultLeafOrderingTag GridFunctionGeneralMapper
GridFunctionGeneralMapper is deprecated, use DefaultLeafOrderingTag instead.
Definition: gridfunctionspace/tags.hh:258
Definition: gridfunctionspace/tags.hh:309
Leaf ordering parameters for non-overlapping function spaces.
Definition: gridfunctionspace/tags.hh:244
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:99
Indicate lexicographic ordering of the unknowns of non-leaf grid function spaces. ...
Definition: gridfunctionspace/tags.hh:59
Definition: gridfunctionspace/tags.hh:22
Tag indicating a standard ordering for a leaf GridfunctionSpace.
Definition: gridfunctionspace/tags.hh:216
Definition: gridfunctionspace/tags.hh:26
_build_dof_index_type< GFS, typename GFS::OrderingTag >::type type
Definition: gridfunctionspace/tags.hh:311
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
static const unsigned int partition_mask
Definition: gridfunctionspace/tags.hh:195
Definition: gridfunctionspace/tags.hh:267
static const bool no_const_ordering_size
Definition: gridfunctionspace/tags.hh:165
Mixin indicating whether a leaf GridFunctionSpace should never assume a const ordering size...
Definition: gridfunctionspace/tags.hh:163
Definition: gridfunctionspace/tags.hh:288
Indicate permuted ordering of the unknowns of non-leaf grid function spaces according to a given perm...
Definition: gridfunctionspace/tags.hh:134
Indicate interleaved ordering of the unknowns of non-leaf grid function spaces according to a given b...
Definition: gridfunctionspace/tags.hh:74
void updatePermutation(const std::vector< std::size_t > &perm)
Replaces the existing permutation by a new one.
Definition: gridfunctionspace/tags.hh:150
static const unsigned int value
Definition: gridfunctionspace/tags.hh:175
Definition: gridfunctionspace/tags.hh:24
Definition: gridfunctionspace/tags.hh:28
Tag for the intermediate base class of the CompositeGridFunctionSpace.
Definition: gridfunctionspace/tags.hh:36
LeafOrderingTag< DefaultLeafOrderingParams > DefaultLeafOrderingTag
Default ordering tag for a MultiIndex-based ordering with standard behavior.
Definition: gridfunctionspace/tags.hh:252
const std::vector< std::size_t > & permutation() const
Returns the permutation.
Definition: gridfunctionspace/tags.hh:144
PermutationOrderingTag(std::vector< std::size_t > perm)
Constructs n PermutationOrderingTag using the permutation given by std::vector perm.
Definition: gridfunctionspace/tags.hh:138
Definition: gridfunctionspace/tags.hh:296
Helper for building the bitmask describing the grid partitions contained in a GFS.
Definition: gridfunctionspace/tags.hh:192
Leaf ordering parameters for standard function spaces.
Definition: gridfunctionspace/tags.hh:238
Definition: gridfunctionspace/tags.hh:31
Definition: gridfunctionspace/tags.hh:292
LeafOrderingTag< NonOverlappingLeafOrderingParams > NonOverlappingLeafOrderingTag
Ordering tag for a MultiIndex-based ordering on nonoverlapping grids with standard behavior...
Definition: gridfunctionspace/tags.hh:263
Definition: gridfunctionspace/tags.hh:284
Tag denoting a LeafLocalFunctionSpace.
Definition: gridfunctionspace/tags.hh:276
Definition: simpledofindex.hh:14
Tag denoting a CompositeLocalFunctionSpace.
Definition: gridfunctionspace/tags.hh:273
Dune::PDELab::DOFIndex< std::size_t, TypeTree::TreeInfo< GFS >::depth, 2 > type
Definition: gridfunctionspace/tags.hh:298
const std::vector< std::size_t > & offsets() const
Returns a list of offsets for the child blocks.
Definition: gridfunctionspace/tags.hh:115