DOLFINx 0.8.0
DOLFINx C++ interface
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
Geometry< T > Class Template Reference

Geometry stores the geometry imposed on a mesh. More...

#include <Geometry.h>

Public Types

using value_type = T
 Value type.
 

Public Member Functions

template<typename U , typename V , typename W >
requires std::is_convertible_v<std::remove_cvref_t<U>, std::vector<std::int32_t>> and std::is_convertible_v<std::remove_cvref_t<V>, std::vector<T>> and std::is_convertible_v<std::remove_cvref_t<W>, std::vector<std::int64_t>>
 Geometry (std::shared_ptr< const common::IndexMap > index_map, U &&dofmap, const fem::CoordinateElement< typename std::remove_reference_t< typename V::value_type > > &element, V &&x, int dim, W &&input_global_indices)
 Constructor of object that holds mesh geometry data.
 
template<typename V , typename W >
requires std::is_convertible_v<std::remove_cvref_t<V>, std::vector<T>> and std::is_convertible_v<std::remove_cvref_t<W>, std::vector<std::int64_t>>
 Geometry (std::shared_ptr< const common::IndexMap > index_map, const std::vector< std::vector< std::int32_t > > &dofmaps, const std::vector< fem::CoordinateElement< typename std::remove_reference_t< typename V::value_type > > > &elements, V &&x, int dim, W &&input_global_indices)
 Constructor of object that holds mesh geometry data.
 
 Geometry (const Geometry &)=default
 Copy constructor.
 
 Geometry (Geometry &&)=default
 Move constructor.
 
 ~Geometry ()=default
 Destructor.
 
Geometryoperator= (const Geometry &)=delete
 Copy Assignment.
 
Geometryoperator= (Geometry &&)=default
 Move Assignment.
 
int dim () const
 Return Euclidean dimension of coordinate system.
 
MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan< const std::int32_t, MDSPAN_IMPL_STANDARD_NAMESPACE::dextents< std::size_t, 2 > > dofmap () const
 DofMap for the geometry.
 
MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan< const std::int32_t, MDSPAN_IMPL_STANDARD_NAMESPACE::dextents< std::size_t, 2 > > dofmap (std::int32_t i) const
 The dofmap associated with the ith coordinate map in the geometry.
 
std::shared_ptr< const common::IndexMapindex_map () const
 Index map.
 
std::span< const value_typex () const
 Access geometry degrees-of-freedom data (const version).
 
std::span< value_typex ()
 Access geometry degrees-of-freedom data (non-const version).
 
const fem::CoordinateElement< value_type > & cmap () const
 The element that describes the geometry map.
 
const fem::CoordinateElement< value_type > & cmap (std::int32_t i) const
 The element that describe the ith geometry map.
 
const std::vector< std::int64_t > & input_global_indices () const
 Global user indices.
 

Detailed Description

template<std::floating_point T>
class dolfinx::mesh::Geometry< T >

Geometry stores the geometry imposed on a mesh.

Constructor & Destructor Documentation

◆ Geometry() [1/2]

template<std::floating_point T>
template<typename U , typename V , typename W >
requires std::is_convertible_v<std::remove_cvref_t<U>, std::vector<std::int32_t>> and std::is_convertible_v<std::remove_cvref_t<V>, std::vector<T>> and std::is_convertible_v<std::remove_cvref_t<W>, std::vector<std::int64_t>>
Geometry ( std::shared_ptr< const common::IndexMap > index_map,
U && dofmap,
const fem::CoordinateElement< typename std::remove_reference_t< typename V::value_type > > & element,
V && x,
int dim,
W && input_global_indices )
inline

Constructor of object that holds mesh geometry data.

Parameters
[in]index_mapIndex map associated with the geometry dofmap
[in]dofmapThe geometry (point) dofmap. For a cell, it gives the position in the point array of each local geometry node
[in]elementElement that describes the cell geometry map.
[in]xThe point coordinates. The shape is (num_points, 3) and the storage is row-major.
[in]dimThe geometric dimension (0 < dim <= 3).
[in]input_global_indicesThe 'global' input index of each point, commonly from a mesh input file.

◆ Geometry() [2/2]

template<std::floating_point T>
template<typename V , typename W >
requires std::is_convertible_v<std::remove_cvref_t<V>, std::vector<T>> and std::is_convertible_v<std::remove_cvref_t<W>, std::vector<std::int64_t>>
Geometry ( std::shared_ptr< const common::IndexMap > index_map,
const std::vector< std::vector< std::int32_t > > & dofmaps,
const std::vector< fem::CoordinateElement< typename std::remove_reference_t< typename V::value_type > > > & elements,
V && x,
int dim,
W && input_global_indices )
inline

Constructor of object that holds mesh geometry data.

Parameters
[in]index_mapIndex map associated with the geometry dofmap
[in]dofmapsThe geometry (point) dofmaps. For a cell, it gives the position in the point array of each local geometry node
[in]elementsElements that describes the cell geometry maps.
[in]xThe point coordinates. The shape is (num_points, 3) and the storage is row-major.
[in]dimThe geometric dimension (0 < dim <= 3).
[in]input_global_indicesThe 'global' input index of each point, commonly from a mesh input file.

Member Function Documentation

◆ cmap() [1/2]

template<std::floating_point T>
const fem::CoordinateElement< value_type > & cmap ( ) const
inline

The element that describes the geometry map.

Returns
The coordinate/geometry element

◆ cmap() [2/2]

template<std::floating_point T>
const fem::CoordinateElement< value_type > & cmap ( std::int32_t i) const
inline

The element that describe the ith geometry map.

Parameters
iIndex of the coordinate element
Returns
Coordinate element

◆ dofmap() [1/2]

template<std::floating_point T>
MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan< const std::int32_t, MDSPAN_IMPL_STANDARD_NAMESPACE::dextents< std::size_t, 2 > > dofmap ( ) const
inline

DofMap for the geometry.

Returns
A 2D array with shape [num_cells, dofs_per_cell]

◆ dofmap() [2/2]

template<std::floating_point T>
MDSPAN_IMPL_STANDARD_NAMESPACE::mdspan< const std::int32_t, MDSPAN_IMPL_STANDARD_NAMESPACE::dextents< std::size_t, 2 > > dofmap ( std::int32_t i) const
inline

The dofmap associated with the ith coordinate map in the geometry.

Parameters
iIndex
Returns
A 2D array with shape [num_cells, dofs_per_cell]

◆ index_map()

template<std::floating_point T>
std::shared_ptr< const common::IndexMap > index_map ( ) const
inline

Index map.

Returns
The index map for the geometry dofs

◆ x() [1/2]

template<std::floating_point T>
std::span< value_type > x ( )
inline

Access geometry degrees-of-freedom data (non-const version).

Returns
The flattened row-major geometry data, where the shape is (num_points, 3)

◆ x() [2/2]

template<std::floating_point T>
std::span< const value_type > x ( ) const
inline

Access geometry degrees-of-freedom data (const version).

Returns
The flattened row-major geometry data, where the shape is (num_points, 3)

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