FEAT 3
Finite Element Analysis Toolbox
Loading...
Searching...
No Matches
FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ > Class Template Reference

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 Indexget_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...
 
VertexSetTypeget_vertex_set ()
 Returns a reference to the vertex set of the mesh. More...
 
const VertexSetTypeget_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

StructuredMeshoperator= (const StructuredMesh &)
 

Detailed Description

template<int shape_dim_, int num_coords_ = shape_dim_, typename Coord_ = Real>
class FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >

Structured mesh class template.

Todo:

detailed documentation

define index set type

Implement neighbors lookup

Template Parameters
shape_dim_The dimension of the shape (Hypercube) to be used for the mesh.
Author
Peter Zajac

Definition at line 33 of file structured_mesh.hpp.

Member Typedef Documentation

◆ CoordType

template<int shape_dim_, int num_coords_ = shape_dim_, typename Coord_ = Real>
typedef Coord_ FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::CoordType

Coordinate type.

Definition at line 43 of file structured_mesh.hpp.

◆ IndexSetHolderType

template<int shape_dim_, int num_coords_ = shape_dim_, typename Coord_ = Real>
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.

◆ ShapeType

template<int shape_dim_, int num_coords_ = shape_dim_, typename Coord_ = Real>
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.

◆ VertexSetType

template<int shape_dim_, int num_coords_ = shape_dim_, typename Coord_ = Real>
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.

Constructor & Destructor Documentation

◆ StructuredMesh() [1/3]

template<int shape_dim_, int num_coords_ = shape_dim_, typename Coord_ = Real>
FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::StructuredMesh ( const Index  num_slices[])
inlineexplicit

Constructor.

Parameters
[in]num_slicesAn 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.

◆ StructuredMesh() [2/3]

template<int shape_dim_, int num_coords_ = shape_dim_, typename Coord_ = Real>
FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::StructuredMesh ( Factory< StructuredMesh< shape_dim_, num_coords_, Coord_ > > &  factory)
inlineexplicit

◆ StructuredMesh() [3/3]

template<int shape_dim_, int num_coords_ = shape_dim_, typename Coord_ = Real>
FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::StructuredMesh ( const StructuredMesh< shape_dim_, num_coords_, Coord_ > &  other)
inline

◆ ~StructuredMesh()

template<int shape_dim_, int num_coords_ = shape_dim_, typename Coord_ = Real>
virtual FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::~StructuredMesh ( )
inlinevirtual

virtual destructor

Definition at line 163 of file structured_mesh.hpp.

Member Function Documentation

◆ bytes()

template<int shape_dim_, int num_coords_ = shape_dim_, typename Coord_ = Real>
std::size_t FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::bytes ( ) const
inline

◆ get_index_set()

template<int shape_dim_, int num_coords_ = shape_dim_, typename Coord_ = Real>
template<int cell_dim_, int face_dim_>
const StructIndexSet< shape_dim_, cell_dim_, face_dim_ > & FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::get_index_set ( ) const
inline

Returns a reference to an index set.

Template Parameters
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.
Returns
A reference to the index set.

Definition at line 256 of file structured_mesh.hpp.

References FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::_index_set_holder.

◆ get_num_elements()

template<int shape_dim_, int num_coords_ = shape_dim_, typename Coord_ = Real>
Index FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::get_num_elements ( ) const
inline

◆ get_num_entities()

template<int shape_dim_, int num_coords_ = shape_dim_, typename Coord_ = Real>
Index FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::get_num_entities ( int  dim) const
inline

Returns the number of entities.

Parameters
[in]dimThe dimension of the entity whose count is to be returned. Must be 0 <= dim <= shape_dim.
Returns
The number of entities of dimension 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.

◆ get_num_slices() [1/2]

template<int shape_dim_, int num_coords_ = shape_dim_, typename Coord_ = Real>
const Index * FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::get_num_slices ( ) const
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.

◆ get_num_slices() [2/2]

template<int shape_dim_, int num_coords_ = shape_dim_, typename Coord_ = Real>
Index FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::get_num_slices ( int  dir) const
inline

◆ get_num_vertices()

template<int shape_dim_, int num_coords_ = shape_dim_, typename Coord_ = Real>
Index FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::get_num_vertices ( ) const
inline

Returns the number of vertices.

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.

◆ get_vertex_set() [1/2]

template<int shape_dim_, int num_coords_ = shape_dim_, typename Coord_ = Real>
VertexSetType & FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::get_vertex_set ( )
inline

◆ get_vertex_set() [2/2]

template<int shape_dim_, int num_coords_ = shape_dim_, typename Coord_ = Real>
const VertexSetType & FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::get_vertex_set ( ) const
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.

◆ name()

template<int shape_dim_, int num_coords_ = shape_dim_, typename Coord_ = Real>
static String FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::name ( )
inlinestatic

Returns the name of the class.

Returns
The name of the class as a String.

Definition at line 288 of file structured_mesh.hpp.

Member Data Documentation

◆ _index_set_holder

template<int shape_dim_, int num_coords_ = shape_dim_, typename Coord_ = Real>
IndexSetHolderType FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::_index_set_holder
protected

◆ _num_entities

◆ _num_slices

template<int shape_dim_, int num_coords_ = shape_dim_, typename Coord_ = Real>
Index FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::_num_slices[shape_dim]
protected

◆ _vertex_set

template<int shape_dim_, int num_coords_ = shape_dim_, typename Coord_ = Real>
VertexSetType FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::_vertex_set
protected

◆ is_structured

template<int shape_dim_, int num_coords_ = shape_dim_, typename Coord_ = Real>
constexpr bool FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::is_structured = true
staticconstexpr

the mesh is structured

Definition at line 57 of file structured_mesh.hpp.

◆ shape_dim

◆ world_dim

template<int shape_dim_, int num_coords_ = shape_dim_, typename Coord_ = Real>
constexpr int FEAT::Geometry::StructuredMesh< shape_dim_, num_coords_, Coord_ >::world_dim = num_coords_
staticconstexpr

world dimension

Definition at line 54 of file structured_mesh.hpp.


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