FEAT 3
Finite Element Analysis Toolbox
Loading...
Searching...
No Matches
FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ > Class Template Reference

Structured Index-Set class template. More...

#include <struct_index_set.hpp>

Classes

class  ImageIterator
 ImageIterator implementation for Adjactor interface. More...
 
class  IndexTupleType
 Index tuple class for structured meshes. More...
 

Public Types

typedef Shape::FaceTraits< ShapeType, cell_dim_ >::ShapeType CellType
 cell type More...
 
typedef Shape::Hypercube< shape_dim_ > ShapeType
 shape type More...
 

Public Member Functions

 StructIndexSet (const Index num_slices[])
 Constructor. More...
 
 StructIndexSet (StructIndexSet &&other)
 move constructor More...
 
std::size_t bytes () const
 
void copy_to (IndexSet< num_indices > &idx_set) const
 Copies this index set into a (conformal) index set. More...
 
Index get_index_bound () const
 Returns the index bound. 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) const
 Maps a face index. More...
 
StructIndexSetoperator= (StructIndexSet &&other)
 move-assignment operator More...
 
IndexTupleType operator[] (Index i) const
 Returns an index tuple. More...
 

Static Public Attributes

static constexpr int num_indices = Shape::FaceTraits<CellType, face_dim_>::count
 number of indices More...
 

Private Attributes

Index _index_bound
 index bound More...
 
Index _num_entities
 number of entities More...
 
Index _num_slices [shape_dim_]
 number of slices More...
 

Detailed Description

template<int shape_dim_, int cell_dim_, int face_dim_>
class FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >

Structured Index-Set class template.

This class provides the functionality of an IndexSet for the StructuredMesh class template.

Author
Peter Zajac

Definition at line 29 of file struct_index_set.hpp.

Member Typedef Documentation

◆ CellType

template<int shape_dim_, int cell_dim_, int face_dim_>
typedef Shape::FaceTraits<ShapeType,cell_dim_>::ShapeType FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::CellType

cell type

Definition at line 39 of file struct_index_set.hpp.

◆ ShapeType

template<int shape_dim_, int cell_dim_, int face_dim_>
typedef Shape::Hypercube<shape_dim_> FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::ShapeType

shape type

Definition at line 37 of file struct_index_set.hpp.

Constructor & Destructor Documentation

◆ StructIndexSet() [1/2]

template<int shape_dim_, int cell_dim_, int face_dim_>
FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::StructIndexSet ( const Index  num_slices[])
inlineexplicit

Constructor.

Parameters
[in]num_slicesSpecifies the number of slices in each direction.

Definition at line 145 of file struct_index_set.hpp.

References FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::_num_slices.

◆ StructIndexSet() [2/2]

template<int shape_dim_, int cell_dim_, int face_dim_>
FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::StructIndexSet ( StructIndexSet< shape_dim_, cell_dim_, face_dim_ > &&  other)
inline

Member Function Documentation

◆ bytes()

template<int shape_dim_, int cell_dim_, int face_dim_>
std::size_t FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::bytes ( ) const
inline
Returns
The size of dynamically allocated memory in bytes.

Definition at line 183 of file struct_index_set.hpp.

◆ copy_to()

template<int shape_dim_, int cell_dim_, int face_dim_>
void FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::copy_to ( IndexSet< num_indices > &  idx_set) const
inline

◆ get_index_bound()

template<int shape_dim_, int cell_dim_, int face_dim_>
Index FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::get_index_bound ( ) const
inline

Returns the index bound.

Returns
The index bound.

Definition at line 213 of file struct_index_set.hpp.

References FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::_index_bound.

◆ get_num_entities()

template<int shape_dim_, int cell_dim_, int face_dim_>
Index FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::get_num_entities ( ) const
inline

Returns the number of entities.

Returns
The number of entities;

Definition at line 203 of file struct_index_set.hpp.

References FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::_num_entities.

◆ get_num_indices()

template<int shape_dim_, int cell_dim_, int face_dim_>
int FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::get_num_indices ( ) const
inline

Returns the number of indices per entity.

Returns
The number of indices per entity.

Definition at line 193 of file struct_index_set.hpp.

References FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::num_indices.

◆ get_num_nodes_domain()

template<int shape_dim_, int cell_dim_, int face_dim_>
Index FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::get_num_nodes_domain ( ) const
inline

Returns the number of domain nodes.

Returns
The total number of domain nodes in the adjactor.

Definition at line 275 of file struct_index_set.hpp.

References FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::_num_entities.

◆ get_num_nodes_image()

template<int shape_dim_, int cell_dim_, int face_dim_>
Index FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::get_num_nodes_image ( ) const
inline

Returns the number of image nodes.

Returns
The total number of image nodes in the adjactor.

Definition at line 281 of file struct_index_set.hpp.

References FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::_index_bound.

◆ image_begin()

template<int shape_dim_, int cell_dim_, int face_dim_>
ImageIterator FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::image_begin ( Index  domain_node) const
inline

Returns an iterator for the first adjacent image node.

Parameters
[in]domain_nodeThe index of the domain node whose image node iterator is to be returned.
Returns
An iterator representing the first image node adjacent to domain_node, or image_end(domain_node) if no adjacent image nodes exist.

Definition at line 287 of file struct_index_set.hpp.

References FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::_num_entities, FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::_num_slices, and ASSERT.

◆ image_end()

template<int shape_dim_, int cell_dim_, int face_dim_>
ImageIterator FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::image_end ( Index  domain_node) const
inline

Returns an iterator for the first position past the last adjacent image node.

Parameters
[in]domain_nodeThe index of the domain node whose image node iterator is to be returned.
Returns
An iterator representing the first position past the last image node adjacent to domain_node.

Definition at line 294 of file struct_index_set.hpp.

References FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::_num_entities, FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::_num_slices, ASSERT, and FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::num_indices.

◆ operator()()

template<int shape_dim_, int cell_dim_, int face_dim_>
Index FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::operator() ( Index  i,
int  j 
) const
inline

Maps a face index.

Parameters
[in]iThe index of the entity whose face index is to be returned.
[in]jThe index of the local face that is to be mapped.
Returns
The index of the local face j on entity i.

Definition at line 245 of file struct_index_set.hpp.

References FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::_num_entities, FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::_num_slices, ASSERT, and FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::num_indices.

◆ operator=()

template<int shape_dim_, int cell_dim_, int face_dim_>
StructIndexSet & FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::operator= ( StructIndexSet< shape_dim_, cell_dim_, face_dim_ > &&  other)
inline

◆ operator[]()

template<int shape_dim_, int cell_dim_, int face_dim_>
IndexTupleType FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::operator[] ( Index  i) const
inline

Returns an index tuple.

Parameters
[in]iThe index of the entity whose index tuple is to be returned.
Returns
The index tuple of the entity.

Definition at line 227 of file struct_index_set.hpp.

References FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::_num_entities, FEAT::Geometry::StructIndexSet< shape_dim_, cell_dim_, face_dim_ >::_num_slices, and ASSERT.

Member Data Documentation

◆ _index_bound

◆ _num_entities

◆ _num_slices

◆ num_indices


The documentation for this class was generated from the following file: