|
dune-pdelab 2.10-git
|
Loading...
Searching...
No Matches
gridviewordering.hh
Go to the documentation of this file.
115 node._gt_dof_offsets.assign(Dune::GlobalGeometryTypeIndex::size(dim) * TypeTree::degree(node),0);
141 node._gt_dof_offsets[gt * TypeTree::degree(node) + childIndex] = child._gt_dof_offsets[gt * per_gt_size + size_offset];
183 node._gt_dof_offsets.assign(Dune::GlobalGeometryTypeIndex::size(dim) * std::max(node._child_count,static_cast<std::size_t>(1)),Node::GT_UNUSED);
246 std::partial_sum(node._gt_entity_offsets.begin(),node._gt_entity_offsets.end(),node._gt_entity_offsets.begin());
247 node._entity_dof_offsets.assign(node._gt_entity_offsets.back() * std::max(node._child_count,static_cast<size_type>(1)),0);
384 const size_type per_gt_size = node.childOrdering(child_index)._child_count > 0 ? node.childOrdering(child_index)._child_count : 1;
385 const size_type size_offset = node.childOrdering(child_index)._child_count > 0 ? node.childOrdering(child_index)._child_count - 1 : 0;
387 node._gt_dof_offsets[gt * TypeTree::degree(node) + child_index] = node.childOrdering(child_index)._gt_dof_offsets[gt * per_gt_size + size_offset];
407 for (size_type geometry_type_index = 0; geometry_type_index < GlobalGeometryTypeIndex::size(dim); ++geometry_type_index)
411 const size_type entity_count = node._gt_entity_offsets[geometry_type_index+1] - node._gt_entity_offsets[geometry_type_index];
416 node._entity_dof_offsets[index++] = (carry += node.childOrdering(child_index).size(geometry_type_index,entity_index));
520 return _block_count; // blocked or not, this gives the number of blocks/dofs in next node hierarchy
527 // we just need to make the inverse computation of the mapIndex funtion to find the entity index
562 virtual void map_index_dynamic(typename Traits::DOFIndexView di, typename Traits::ContainerIndex& ci) const override
595 ci.back() += _gt_dof_offsets[geometry_type_index] + entity_index * localOrdering().size(geometry_type_index,entity_index);
631 out->back() += _gt_dof_offsets[geometry_type_index] + entity_index * localOrdering().size(geometry_type_index,entity_index);
653 const size_type geometry_type_index = Traits::DOFIndexAccessor::GeometryIndex::geometryType(ei);
673 ci_out->back() += _gt_dof_offsets[geometry_type_index] + entity_index * localOrdering().size(geometry_type_index,entity_index);
727 TypeTree::applyToTree(localOrdering(),collect_used_geometry_types_from_cell_visitor<Element>(element));
782 std::partial_sum(_gt_entity_offsets.begin(),_gt_entity_offsets.end(),_gt_entity_offsets.begin());
void applyToTree(Tree &&tree, Visitor &&visitor)
std::size_t degree(const Node &node)
unspecified value type referenceElement(T &&... t)
int size() const
iterator end()
iterator begin()
iterator(ParallelIndexSet< TG, TL, N > &indexSet, const Father &father)
STL namespace.
For backward compatibility – Do not use this!
const NodeStorage & nodeStorage() const
static constexpr std::size_t index(const GeometryType >)
static constexpr std::size_t size(std::size_t maxdim)
Definition gridviewordering.hh:26
void leaf(Node &node, TreePath tp)
Definition gridviewordering.hh:29
collect_used_codims(Codims &codims_)
Definition gridviewordering.hh:34
Definition gridviewordering.hh:46
void leaf(Node &node, TreePath tp)
Definition gridviewordering.hh:49
void afterChild(Node &node, const Child &child, TreePath tp, ChildIndex childIndex) const
Definition gridviewordering.hh:63
collect_a_priori_fixed_size()
Definition gridviewordering.hh:68
void pre(Node &node, TreePath tp) const
Definition gridviewordering.hh:57
Definition gridviewordering.hh:83
update_fixed_size(const ES es_)
Definition gridviewordering.hh:162
void leaf(Node &node, TreePath tp) const
Definition gridviewordering.hh:86
void post(Node &node, TreePath tp) const
Definition gridviewordering.hh:146
void afterChild(Node &node, const Child &child, TreePath tp, ChildIndex childIndex) const
Definition gridviewordering.hh:121
void pre(Node &node, TreePath tp) const
Definition gridviewordering.hh:107
Definition gridviewordering.hh:174
pre_collect_used_geometry_types(std::size_t dimension)
Definition gridviewordering.hh:194
void pre(Node &node, TreePath tp) const
Definition gridviewordering.hh:189
const std::size_t dim
Definition gridviewordering.hh:198
void leaf(Node &node, TreePath tp) const
Definition gridviewordering.hh:177
Definition gridviewordering.hh:207
void leaf(Node &node, TreePath tp) const
Definition gridviewordering.hh:210
collect_used_geometry_types_from_cell_visitor(const Cell &cell_)
Definition gridviewordering.hh:216
const Cell & cell
Definition gridviewordering.hh:221
Dune::ReferenceElement< typename Cell::Geometry > ref_el
Definition gridviewordering.hh:222
Definition gridviewordering.hh:231
void leaf(Node &node, TreePath tp) const
Definition gridviewordering.hh:234
post_collect_used_geometry_types(const ES &es_)
Definition gridviewordering.hh:273
void post(Node &node, TreePath tp) const
Definition gridviewordering.hh:268
void afterChild(Node &node, const Child &child, TreePath tp, ChildIndex childIndex) const
Definition gridviewordering.hh:253
Definition gridviewordering.hh:286
void set_cell(const Cell &cell_)
Definition gridviewordering.hh:306
static const std::size_t dim
Definition gridviewordering.hh:288
Dune::ReferenceElement< typename Cell::Geometry > ref_el
Definition gridviewordering.hh:314
Dune::PDELab::extract_per_entity_sizes_from_cell_visitor::extract_per_entity_sizes_from_cell_visitor
extract_per_entity_sizes_from_cell_visitor(const ES &es_)
Definition gridviewordering.hh:299
const Cell * cell
Definition gridviewordering.hh:313
std::vector< size_type > gt_sizes
Definition gridviewordering.hh:315
std::size_t size_type
Definition gridviewordering.hh:290
ES::template Codim< 0 >::Entity Cell
Definition gridviewordering.hh:289
void leaf(Node &node, TreePath tp)
Definition gridviewordering.hh:293
Definition gridviewordering.hh:324
void afterChild(Node &node, const Child &child, TreePath tp, ChildIndex childIndex) const
Definition gridviewordering.hh:358
void post(Node &node, TreePath tp) const
Definition gridviewordering.hh:369
post_extract_per_entity_sizes(const ES &es_)
Definition gridviewordering.hh:424
void pre(Node &node, TreePath tp) const
Definition gridviewordering.hh:347
std::vector< GeometryType > GTVector
Definition gridviewordering.hh:326
void leaf(Node &node, TreePath tp) const
Definition gridviewordering.hh:330
Transforms a local ordering (entity-wise order) into a global ordering.
Definition gridviewordering.hh:440
LocalOrdering::Traits Traits
Definition gridviewordering.hh:442
virtual void map_index_dynamic(typename Traits::DOFIndexView di, typename Traits::ContainerIndex &ci) const override
Definition gridviewordering.hh:562
void mapIndex(typename Traits::DOFIndexView di, typename Traits::ContainerIndex &ci) const
Definition gridviewordering.hh:574
static const bool has_dynamic_ordering_children
Definition gridviewordering.hh:444
Traits::SizeType extract_entity_indices(const typename Traits::DOFIndex::EntityIndex &ei, typename Traits::SizeType child_index, CIOutIterator ci_out, const CIOutIterator ci_end) const
Definition gridviewordering.hh:647
GridViewOrdering(const typename NodeT::NodeStorage &local_ordering, bool container_blocked, typename BaseT::GFSData *gfs_data, const EntitySet &entity_Set)
Construct ordering object.
Definition gridviewordering.hh:465
const LocalOrdering & localOrdering() const
Definition gridviewordering.hh:557
LocalOrdering & localOrdering()
Definition gridviewordering.hh:552
static const bool consume_tree_index
Definition gridviewordering.hh:446
void map_lfs_indices(const ItIn begin, const ItIn end, ItOut out) const
Definition gridviewordering.hh:605
Traits::ContainerIndex mapIndex(const typename Traits::DOFIndex &di) const
Definition gridviewordering.hh:567
Traits::SizeType size(typename Traits::ContainerIndex suffix) const
Gives the size for a given suffix.
Definition gridviewordering.hh:514
Definition orderingbase.hh:21
Dune::PDELab::impl::GridFunctionSpaceOrderingData< typename Traits::SizeType > GFSData
Definition orderingbase.hh:32
Traits::CodimFlag _codim_fixed_size
Definition orderingbase.hh:286
void setDelegate(const VirtualOrderingBase< LocalOrdering::Traits::DOFIndex, LocalOrdering::Traits::ContainerIndex > *delegate)
Set the delegate called in mapIndex().
Definition orderingbase.hh:227
std::size_t _max_local_size
Definition orderingbase.hh:288
const bool _container_blocked
Definition orderingbase.hh:276
Definition ordering/utility.hh:243
T assign(T... args)
T back(T... args)
T begin(T... args)
T distance(T... args)
T end(T... args)
T max(T... args)
T partial_sum(T... args)
T prev(T... args)
T size(T... args)
T transform(T... args)
T upper_bound(T... args)
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8