|
FEAT 3
Finite Element Analysis Toolbox
|
Structured mesh class template. More...
#include <structured_mesh.hpp>
Classes | |
| struct | IndexSet |
| Index set type class template. More... | |
Public Types | |
| typedef Coord_ | CoordType |
| Coordinate type. More... | |
| typedef StructIndexSetHolder< shape_dim_ > | IndexSetHolderType |
| index set holder type More... | |
| typedef Shape::Hypercube< shape_dim_ > | ShapeType |
| Shape type. More... | |
| typedef VertexSet< num_coords_, Coord_ > | VertexSetType |
| vertex set type More... | |
Public Member Functions | |
| StructuredMesh (const Index num_slices[]) | |
| Constructor. More... | |
| StructuredMesh (const StructuredMesh &other) | |
| Copy Constructor. More... | |
| StructuredMesh (Factory< StructuredMesh > &factory) | |
| Factory constructor. More... | |
| virtual | ~StructuredMesh () |
| virtual destructor More... | |
| std::size_t | bytes () const |
| template<int cell_dim_, int face_dim_> | |
| const StructIndexSet< shape_dim_, cell_dim_, face_dim_ > & | get_index_set () const |
| Returns a reference to an index set. More... | |
| Index | get_num_elements () const |
| Returns the number of elements. More... | |
| Index | get_num_entities (int dim) const |
| Returns the number of entities. More... | |
| const Index * | get_num_slices () const |
| Returns the num_slices array. More... | |
| Index | get_num_slices (int dir) const |
| Returns the number of slices. More... | |
| Index | get_num_vertices () const |
| Returns the number of vertices. More... | |
| VertexSetType & | get_vertex_set () |
| Returns a reference to the vertex set of the mesh. More... | |
| const VertexSetType & | get_vertex_set () const |
| Returns a reference to the vertex set of the mesh. More... | |
Static Public Member Functions | |
| static String | name () |
| Returns the name of the class. More... | |
Static Public Attributes | |
| static constexpr bool | is_structured = true |
| the mesh is structured More... | |
| static constexpr int | shape_dim = shape_dim_ |
| shape dimension More... | |
| static constexpr int | world_dim = num_coords_ |
| world dimension More... | |
Protected Attributes | |
| IndexSetHolderType | _index_set_holder |
| index set holder More... | |
| Index | _num_entities [shape_dim+1] |
| number of entities for each dimension More... | |
| Index | _num_slices [shape_dim] |
| number of slices for each direction More... | |
| VertexSetType | _vertex_set |
| the vertex set of the mesh. More... | |
Private Member Functions | |
| StructuredMesh & | operator= (const StructuredMesh &) |
Structured mesh class template.
detailed documentation
define index set type
Implement neighbors lookup
| shape_dim_ | The dimension of the shape (Hypercube) to be used for the mesh. |
Definition at line 33 of file structured_mesh.hpp.
| typedef Coord_ FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::CoordType |
Coordinate type.
Definition at line 43 of file structured_mesh.hpp.
| typedef StructIndexSetHolder<shape_dim_> FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::IndexSetHolderType |
index set holder type
Definition at line 49 of file structured_mesh.hpp.
| typedef Shape::Hypercube<shape_dim_> FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::ShapeType |
Shape type.
Definition at line 40 of file structured_mesh.hpp.
| typedef VertexSet<num_coords_, Coord_> FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::VertexSetType |
vertex set type
Definition at line 46 of file structured_mesh.hpp.
|
inlineexplicit |
Constructor.
| [in] | num_slices | An array of length at least shape_dim holding the number of slices for each direction. Must not be nullptr. |
Definition at line 104 of file structured_mesh.hpp.
References FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::_num_entities, FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::_num_slices, FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::shape_dim, and XASSERT.
|
inlineexplicit |
Factory constructor.
| [in] | factory | The factory that is to be used to create the mesh. |
Definition at line 127 of file structured_mesh.hpp.
References FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::_num_entities, FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::_num_slices, and FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::_vertex_set.
|
inline |
Copy Constructor.
| [in] | other | The structured mesh that is to be copied. |
Definition at line 149 of file structured_mesh.hpp.
References FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::_num_entities, FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::_num_slices, and FEAT::Geometry::other.
|
inlinevirtual |
virtual destructor
Definition at line 163 of file structured_mesh.hpp.
|
inline |
Definition at line 168 of file structured_mesh.hpp.
References FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::_index_set_holder, FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::_vertex_set, and FEAT::Geometry::VertexSet< num_coords_, Coord_ >::bytes().
|
inline |
Returns a reference to an index set.
| cell_dim_ | The dimension of the entity whose index set is to be returned. |
| face_dim_ | The dimension of the face that the index set refers to. |
Definition at line 256 of file structured_mesh.hpp.
References FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::_index_set_holder.
|
inline |
Returns the number of elements.
Definition at line 224 of file structured_mesh.hpp.
References FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::_num_entities, and FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::shape_dim.
|
inline |
Returns the number of entities.
| [in] | dim | The dimension of the entity whose count is to be returned. Must be 0 <= dim <= shape_dim. |
dim. Definition at line 204 of file structured_mesh.hpp.
References FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::_num_entities, FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::shape_dim, and XASSERT.
|
inline |
Returns the num_slices array.
Definition at line 190 of file structured_mesh.hpp.
References FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::_num_slices.
|
inline |
Returns the number of slices.
| [in] | dir | The direction of the slice whose count is to be returned. Must be 0 <= dir < shape_dim. |
dir. Definition at line 182 of file structured_mesh.hpp.
References FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::_num_slices, FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::shape_dim, and XASSERT.
Referenced by FEAT::Geometry::StandardRefinery< StructuredMesh< shape_dim_, num_coords_, Coord_ > >::StandardRefinery(), and FEAT::Geometry::StandardRefinery< StructuredMesh< shape_dim_, num_coords_, Coord_ > >::get_num_slices().
|
inline |
Returns the number of vertices.
Definition at line 215 of file structured_mesh.hpp.
References FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::_num_entities.
|
inline |
Returns a reference to the vertex set of the mesh.
Definition at line 230 of file structured_mesh.hpp.
References FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::_vertex_set.
Referenced by FEAT::Geometry::StandardRefinery< StructuredMesh< shape_dim_, num_coords_, Coord_ > >::fill_vertex_set().
|
inline |
Returns a reference to the vertex set of the mesh.
Definition at line 236 of file structured_mesh.hpp.
References FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::_vertex_set.
|
inlinestatic |
Returns the name of the class.
Definition at line 288 of file structured_mesh.hpp.
|
protected |
index set holder
Definition at line 91 of file structured_mesh.hpp.
Referenced by FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::bytes(), and FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::get_index_set().
|
protected |
number of entities for each dimension
Definition at line 85 of file structured_mesh.hpp.
Referenced by FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::StructuredMesh(), FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::get_num_elements(), FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::get_num_entities(), and FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::get_num_vertices().
|
protected |
number of slices for each direction
Definition at line 83 of file structured_mesh.hpp.
Referenced by FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::StructuredMesh(), and FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::get_num_slices().
|
protected |
the vertex set of the mesh.
Definition at line 88 of file structured_mesh.hpp.
Referenced by FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::StructuredMesh(), FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::bytes(), and FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::get_vertex_set().
|
staticconstexpr |
the mesh is structured
Definition at line 57 of file structured_mesh.hpp.
|
staticconstexpr |
shape dimension
Definition at line 52 of file structured_mesh.hpp.
Referenced by FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::StructuredMesh(), FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::get_num_elements(), FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::get_num_entities(), and FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::get_num_slices().
|
staticconstexpr |
world dimension
Definition at line 54 of file structured_mesh.hpp.