AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
axom::bump::views::UnstructuredTopologySingleShapeView< ShapeT > Class Template Reference

This class provides a view for Conduit/Blueprint single shape unstructured grids. More...

#include </home/docs/checkouts/readthedocs.org/user_builds/axom/checkouts/develop/src/axom/bump/views/UnstructuredTopologySingleShapeView.hpp>

Public Types

using ShapeType = ShapeT
 
using ConnectivityType = typename ShapeType::ConnectivityType
 
using ConnectivityView = axom::ArrayView< ConnectivityType >
 
using IndexingPolicy = BasicIndexing
 

Public Member Functions

AXOM_HOST_DEVICE UnstructuredTopologySingleShapeView (const ConnectivityView &conn)
 Constructor. More...
 
AXOM_HOST_DEVICE UnstructuredTopologySingleShapeView (const ConnectivityView &conn, const ConnectivityView &sizes, const ConnectivityView &offsets)
 Constructor. More...
 
AXOM_HOST_DEVICE IndexType numberOfZones () const
 Return the number of zones. More...
 
AXOM_HOST_DEVICE IndexType connectivitySize () const
 Return the size of the connectivity. More...
 
AXOM_HOST_DEVICE const IndexingPolicyindexing () const
 Return the size of the connectivity. More...
 
template<bool _variable_size = ShapeType::is_variable_size()>
AXOM_HOST_DEVICE std::enable_if< _variable_size, ShapeType >::type zone (axom::IndexType zoneIndex) const
 Return a zone. More...
 
template<bool _variable_size = ShapeType::is_variable_size()>
AXOM_HOST_DEVICE std::enable_if<!_variable_size, ShapeType >::type zone (axom::IndexType zoneIndex) const
 

Static Public Member Functions

static constexpr AXOM_HOST_DEVICE int dimension ()
 Return the dimension of the shape. More...
 

Detailed Description

template<typename ShapeT>
class axom::bump::views::UnstructuredTopologySingleShapeView< ShapeT >

This class provides a view for Conduit/Blueprint single shape unstructured grids.

Template Parameters
IndexTThe index type that will be used for connectivity, etc.
ShapeTThe shape type.

Member Typedef Documentation

◆ ShapeType

template<typename ShapeT >
using axom::bump::views::UnstructuredTopologySingleShapeView< ShapeT >::ShapeType = ShapeT

◆ ConnectivityType

template<typename ShapeT >
using axom::bump::views::UnstructuredTopologySingleShapeView< ShapeT >::ConnectivityType = typename ShapeType::ConnectivityType

◆ ConnectivityView

◆ IndexingPolicy

Constructor & Destructor Documentation

◆ UnstructuredTopologySingleShapeView() [1/2]

◆ UnstructuredTopologySingleShapeView() [2/2]

template<typename ShapeT >
AXOM_HOST_DEVICE axom::bump::views::UnstructuredTopologySingleShapeView< ShapeT >::UnstructuredTopologySingleShapeView ( const ConnectivityView conn,
const ConnectivityView sizes,
const ConnectivityView offsets 
)
inline

Constructor.

Parameters
connThe mesh connectivity.
sizesThe number of nodes in each zone.
offsetsThe offset to each zone in the connectivity.

References axom::ArrayView< T, DIM, SPACE >::size(), and SLIC_ERROR_IF.

Member Function Documentation

◆ dimension()

template<typename ShapeT >
static constexpr AXOM_HOST_DEVICE int axom::bump::views::UnstructuredTopologySingleShapeView< ShapeT >::dimension ( )
inlinestaticconstexpr

Return the dimension of the shape.

Returns
The dimension of the shape.

◆ numberOfZones()

template<typename ShapeT >
AXOM_HOST_DEVICE IndexType axom::bump::views::UnstructuredTopologySingleShapeView< ShapeT >::numberOfZones ( ) const
inline

Return the number of zones.

Returns
The number of zones.

References axom::ArrayView< T, DIM, SPACE >::size().

◆ connectivitySize()

template<typename ShapeT >
AXOM_HOST_DEVICE IndexType axom::bump::views::UnstructuredTopologySingleShapeView< ShapeT >::connectivitySize ( ) const
inline

Return the size of the connectivity.

Returns
The size of the connectivity.

References axom::ArrayView< T, DIM, SPACE >::size().

◆ indexing()

template<typename ShapeT >
AXOM_HOST_DEVICE const IndexingPolicy& axom::bump::views::UnstructuredTopologySingleShapeView< ShapeT >::indexing ( ) const
inline

Return the size of the connectivity.

Returns
The size of the connectivity.

◆ zone() [1/2]

template<typename ShapeT >
template<bool _variable_size = ShapeType::is_variable_size()>
AXOM_HOST_DEVICE std::enable_if<_variable_size, ShapeType>::type axom::bump::views::UnstructuredTopologySingleShapeView< ShapeT >::zone ( axom::IndexType  zoneIndex) const
inline

Return a zone.

Parameters
zoneIndexThe requested zone.
Returns
The requested zone.

References axom::ArrayView< T, DIM, SPACE >::data(), axom::bump::views::UnstructuredTopologySingleShapeView< ShapeT >::numberOfZones(), and SLIC_ASSERT.

◆ zone() [2/2]

template<typename ShapeT >
template<bool _variable_size = ShapeType::is_variable_size()>
AXOM_HOST_DEVICE std::enable_if<!_variable_size, ShapeType>::type axom::bump::views::UnstructuredTopologySingleShapeView< ShapeT >::zone ( axom::IndexType  zoneIndex) const
inline

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