|
FEAT 3
Finite Element Analysis Toolbox
|
Conformal Index-Set class template. More...
#include <index_set.hpp>
Public Types | |
| typedef const Index * | ImageIterator |
| ImageIterator type for Adjactor interface implementation. More... | |
| typedef IndexTuple< num_indices > | IndexTupleType |
| index tuple type More... | |
Public Member Functions | |
| IndexSet (Index num_entities=0, Index index_bound=0) | |
| Constructor. More... | |
| IndexSet (IndexSet &&other) | |
| move constructor More... | |
| virtual | ~IndexSet () |
| virtual destructor More... | |
| std::size_t | bytes () const |
| IndexSet | clone () const |
| Index | get_index_bound () const |
| Returns the index bound. More... | |
| IndexTupleType * | get_indices () |
| Returns the index vector array. More... | |
| const IndexTupleType * | get_indices () const |
| Returns the index vector array. More... | |
| Index | get_num_entities () const |
| Returns the number of entities. More... | |
| int | get_num_indices () const |
| Returns the number of indices per entity. More... | |
| Index | get_num_nodes_domain () const |
| Returns the number of domain nodes. More... | |
| Index | get_num_nodes_image () const |
| Returns the number of image nodes. More... | |
| ImageIterator | image_begin (Index domain_node) const |
| Returns an iterator for the first adjacent image node. More... | |
| ImageIterator | image_end (Index domain_node) const |
| Returns an iterator for the first position past the last adjacent image node. More... | |
| Index & | operator() (Index i, int j) |
| Maps a face index. More... | |
| const Index & | operator() (Index i, int j) const |
| Maps a face index. More... | |
| IndexSet & | operator= (IndexSet &&other) |
| move-assignment operator More... | |
| IndexTupleType & | operator[] (Index i) |
| Returns a reference to an index tuple. More... | |
| const IndexTupleType & | operator[] (Index i) const |
| Returns a reference to an index tuple. More... | |
| void | permute (const Adjacency::Permutation &perm, const Adjacency::Permutation &inv_perm_face) |
| Permutes this index set in-situ. More... | |
| void | set_index_bound (Index bound) |
| Sets the index bound. More... | |
| void | set_indices (std::vector< IndexTupleType > &&vec) |
Static Public Member Functions | |
| static String | name () |
| Returns the name of the class. More... | |
Static Public Attributes | |
| static constexpr int | num_indices = num_indices_ |
| number of indices per entry More... | |
Protected Member Functions | |
| IndexSet (Index idx_bnd, const std::vector< IndexTupleType > &idx) | |
| internal clone constructor More... | |
Protected Attributes | |
| Index | _index_bound |
| std::vector< IndexTupleType > | _indices |
| index vector array More... | |
Conformal Index-Set class template.
This is used for storing information about i.e. which vertices are present in each
and similar types of information, like edges@faces, edges@cells, faces@cells, depending on the dimension.
Definition at line 81 of file index_set.hpp.
| typedef const Index* FEAT::Geometry::IndexSet< num_indices_ >::ImageIterator |
ImageIterator type for Adjactor interface implementation.
Definition at line 93 of file index_set.hpp.
| typedef IndexTuple<num_indices> FEAT::Geometry::IndexSet< num_indices_ >::IndexTupleType |
index tuple type
Definition at line 90 of file index_set.hpp.
|
inlineexplicitprotected |
internal clone constructor
Definition at line 104 of file index_set.hpp.
|
inlineexplicit |
Constructor.
| [in] | num_entities | The number of entities for the index set. |
| [in] | index_bound | The index bound. |
Definition at line 119 of file index_set.hpp.
|
inline |
move constructor
Definition at line 129 of file index_set.hpp.
|
inlinevirtual |
virtual destructor
Definition at line 149 of file index_set.hpp.
|
inline |
Definition at line 165 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_indices.
|
inline |
Definition at line 154 of file index_set.hpp.
|
inline |
Returns the index bound.
Definition at line 195 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_index_bound.
Referenced by FEAT::Assembly::StokesFBMAssembler< MeshType_ >::_process_mask(), FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::copy_to(), and FEAT::Geometry::IndexSet< num_indices_ >::permute().
|
inline |
Returns the index vector array.
Definition at line 205 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_indices.
|
inline |
Returns the index vector array.
Definition at line 211 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_indices.
|
inline |
Returns the number of entities.
Definition at line 185 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_indices.
Referenced by FEAT::Assembly::StokesFBMAssembler< MeshType_ >::_process_mask(), FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::copy_to(), FEAT::Geometry::IndexSet< num_indices_ >::get_num_nodes_domain(), FEAT::Geometry::IndexSet< num_indices_ >::image_begin(), FEAT::Geometry::IndexSet< num_indices_ >::image_end(), FEAT::Geometry::IndexSet< num_indices_ >::operator()(), FEAT::Geometry::IndexSet< num_indices_ >::operator[](), and FEAT::Geometry::IndexSet< num_indices_ >::permute().
|
inline |
Returns the number of indices per entity.
Definition at line 175 of file index_set.hpp.
Referenced by FEAT::Assembly::StokesFBMAssembler< MeshType_ >::_process_mask().
|
inline |
Returns the number of domain nodes.
Definition at line 333 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::get_num_entities().
|
inline |
Returns the number of image nodes.
Definition at line 339 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_index_bound.
|
inline |
Returns an iterator for the first adjacent image node.
| [in] | domain_node | The index of the domain node whose image node iterator is to be returned. |
domain_node, or image_end(domain_node) if no adjacent image nodes exist. Definition at line 345 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_indices, ASSERT, and FEAT::Geometry::IndexSet< num_indices_ >::get_num_entities().
|
inline |
Returns an iterator for the first position past the last adjacent image node.
| [in] | domain_node | The index of the domain node whose image node iterator is to be returned. |
domain_node. Definition at line 352 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_indices, ASSERT, and FEAT::Geometry::IndexSet< num_indices_ >::get_num_entities().
|
inlinestatic |
Returns the name of the class.
Definition at line 324 of file index_set.hpp.
References FEAT::stringify().
|
inline |
Maps a face index.
| [in] | i | The index of the entity whose face index is to be returned. |
| [in] | j | The index of the local face that is to be mapped. |
j on entity i. Definition at line 250 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_indices, ASSERT, FEAT::Geometry::IndexSet< num_indices_ >::get_num_entities(), and FEAT::Geometry::IndexSet< num_indices_ >::num_indices.
|
inline |
Maps a face index.
| [in] | i | The index of the entity whose face index is to be returned. |
| [in] | j | The index of the local face that is to be mapped. |
j on entity i. Definition at line 270 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_indices, ASSERT, FEAT::Geometry::IndexSet< num_indices_ >::get_num_entities(), and FEAT::Geometry::IndexSet< num_indices_ >::num_indices.
|
inline |
move-assignment operator
Definition at line 136 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_index_bound, FEAT::Geometry::IndexSet< num_indices_ >::_indices, and FEAT::Geometry::other.
|
inline |
Returns a reference to an index tuple.
| [in] | i | The index of the entity whose index tuple is to be returned. |
Definition at line 225 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_indices, ASSERT, and FEAT::Geometry::IndexSet< num_indices_ >::get_num_entities().
|
inline |
Returns a reference to an index tuple.
| [in] | i | The index of the entity whose index tuple is to be returned. |
Definition at line 232 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_indices, ASSERT, and FEAT::Geometry::IndexSet< num_indices_ >::get_num_entities().
|
inline |
Permutes this index set in-situ.
\perm[in] perm A transient reference to the permutation of the shape indices.
| [in] | inv_perm_face | A transient reference to the inverse permutation of the face indices. |
Definition at line 297 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_indices, FEAT::Adjacency::Permutation::apply(), FEAT::Adjacency::Permutation::empty(), FEAT::Geometry::IndexSet< num_indices_ >::get_index_bound(), FEAT::Geometry::IndexSet< num_indices_ >::get_num_entities(), FEAT::Adjacency::Permutation::size(), and XASSERT.
|
inline |
Sets the index bound.
| [in] | bound | The new index bound. |
Definition at line 283 of file index_set.hpp.
References FEAT::Geometry::IndexSet< num_indices_ >::_index_bound.
|
inline |
Definition at line 159 of file index_set.hpp.
|
protected |
index bound;, i.e. number of edges if the IndexSet is to hold the information edges@cells. Necessary for Adjactor implementation
Definition at line 98 of file index_set.hpp.
Referenced by FEAT::Geometry::IndexSet< num_indices_ >::get_index_bound(), FEAT::Geometry::IndexSet< num_indices_ >::get_num_nodes_image(), FEAT::Geometry::IndexSet< num_indices_ >::operator=(), and FEAT::Geometry::IndexSet< num_indices_ >::set_index_bound().
|
protected |
index vector array
Definition at line 101 of file index_set.hpp.
Referenced by FEAT::Geometry::IndexSet< num_indices_ >::bytes(), FEAT::Geometry::IndexSet< num_indices_ >::get_indices(), FEAT::Geometry::IndexSet< num_indices_ >::get_num_entities(), FEAT::Geometry::IndexSet< num_indices_ >::image_begin(), FEAT::Geometry::IndexSet< num_indices_ >::image_end(), FEAT::Geometry::IndexSet< num_indices_ >::operator()(), FEAT::Geometry::IndexSet< num_indices_ >::operator=(), FEAT::Geometry::IndexSet< num_indices_ >::operator[](), and FEAT::Geometry::IndexSet< num_indices_ >::permute().
|
staticconstexpr |
number of indices per entry
Definition at line 87 of file index_set.hpp.
Referenced by FEAT::Geometry::PartiParMETIS::_compute_midpoints(), and FEAT::Geometry::IndexSet< num_indices_ >::operator()().