Mundy: Multibody Nonlocal Dynamics Version of the Day
Loading...
Searching...
No Matches
mundy::mesh::LinkCSRPartitionT< MemSpace > Class Template Reference

#include <LinkCSRPartition.hpp>

Inheritance diagram for mundy::mesh::LinkCSRPartitionT< MemSpace >:
[legend]

Public Types

Aliases
using memory_space = MemSpace
using execution_space = typename MemSpace::execution_space
using LinkCSRBucketConn = LinkCSRBucketConnT<MemSpace>
using LinkCSRBucketConnView = Kokkos::View<LinkCSRBucketConn*, stk::ngp::UVMMemSpace>
using ConnectedEntities = stk::util::StridedArray<const stk::mesh::Entity>

Public Member Functions

Public constructors and destructor
 LinkCSRPartitionT ()
 LinkCSRPartitionT (const stk::mesh::Ordinal &partition_id, const impl::PartitionKey key, const stk::mesh::EntityRank &link_rank, const unsigned link_dimensionality, const stk::mesh::BulkData &bulk_data)
 LinkCSRPartitionT (const LinkCSRPartitionT &other)=default
 LinkCSRPartitionT (LinkCSRPartitionT &&other)=default
LinkCSRPartitionToperator= (const LinkCSRPartitionT &other)=default
LinkCSRPartitionToperator= (LinkCSRPartitionT &&other)=default
virtual ~LinkCSRPartitionT ()
Getters
const impl::NgpPartitionKey & ngp_key () const noexcept
 Fetch the partition key.
stk::mesh::Ordinal id () const noexcept
 Fetch the partition id.
stk::mesh::EntityRank link_rank () const noexcept
 Fetch the link rank.
unsigned link_dimensionality () const noexcept
 Fetch the link dimensionality.
stk::mesh::Selector selector () const
 Fetch the selector for this partition.
bool contains (stk::mesh::PartOrdinal part_ordinal) const
 Check if this partition contains a given part.
CSR connectivity
bool connects_to (stk::mesh::EntityRank rank, const size_t &bucket_id) const
 If any of our linkers connect to an entity in the given bucket within the CSR connectivity.
size_t num_buckets (stk::mesh::EntityRank rank) const
 Get the number of linked buckets for a given rank.
LinkCSRBucketConnget_crs_bucket_conn (stk::mesh::EntityRank rank, size_t bucket_id)
 Get the linked bucket for a given rank and bucket id.
const LinkCSRBucketConnget_crs_bucket_conn (stk::mesh::EntityRank rank, size_t bucket_id) const
ConnectedEntities get_connected_links (stk::mesh::EntityRank rank, const stk::mesh::FastMeshIndex &entity_index) const
 Get all links in the current partition that connect to the given entity in the CSR connectivity.
unsigned num_connected_links (stk::mesh::EntityRank rank, const stk::mesh::FastMeshIndex &entity_index) const
 Get the number of links in the current partition that connect to the given entity in the CSR connectivity.

Helpers

template<typename MemSpace1, typename MemSpace2>
void deep_copy (LinkCSRPartitionT< MemSpace1 > &dest, const LinkCSRPartitionT< MemSpace2 > &src)

Member Typedef Documentation

◆ memory_space

template<typename MemSpace>
using mundy::mesh::LinkCSRPartitionT< MemSpace >::memory_space = MemSpace

◆ execution_space

template<typename MemSpace>
using mundy::mesh::LinkCSRPartitionT< MemSpace >::execution_space = typename MemSpace::execution_space

◆ LinkCSRBucketConn

template<typename MemSpace>
using mundy::mesh::LinkCSRPartitionT< MemSpace >::LinkCSRBucketConn = LinkCSRBucketConnT<MemSpace>

◆ LinkCSRBucketConnView

template<typename MemSpace>
using mundy::mesh::LinkCSRPartitionT< MemSpace >::LinkCSRBucketConnView = Kokkos::View<LinkCSRBucketConn*, stk::ngp::UVMMemSpace>

◆ ConnectedEntities

template<typename MemSpace>
using mundy::mesh::LinkCSRPartitionT< MemSpace >::ConnectedEntities = stk::util::StridedArray<const stk::mesh::Entity>

Constructor & Destructor Documentation

◆ LinkCSRPartitionT() [1/4]

template<typename MemSpace>
mundy::mesh::LinkCSRPartitionT< MemSpace >::LinkCSRPartitionT ( )
inline

◆ LinkCSRPartitionT() [2/4]

template<typename MemSpace>
mundy::mesh::LinkCSRPartitionT< MemSpace >::LinkCSRPartitionT ( const stk::mesh::Ordinal & partition_id,
const impl::PartitionKey key,
const stk::mesh::EntityRank & link_rank,
const unsigned link_dimensionality,
const stk::mesh::BulkData & bulk_data )
inline

◆ LinkCSRPartitionT() [3/4]

template<typename MemSpace>
mundy::mesh::LinkCSRPartitionT< MemSpace >::LinkCSRPartitionT ( const LinkCSRPartitionT< MemSpace > & other)
default

◆ LinkCSRPartitionT() [4/4]

template<typename MemSpace>
mundy::mesh::LinkCSRPartitionT< MemSpace >::LinkCSRPartitionT ( LinkCSRPartitionT< MemSpace > && other)
default

◆ ~LinkCSRPartitionT()

template<typename MemSpace>
virtual mundy::mesh::LinkCSRPartitionT< MemSpace >::~LinkCSRPartitionT ( )
inlinevirtual

Member Function Documentation

◆ operator=() [1/2]

template<typename MemSpace>
LinkCSRPartitionT & mundy::mesh::LinkCSRPartitionT< MemSpace >::operator= ( const LinkCSRPartitionT< MemSpace > & other)
default

◆ operator=() [2/2]

template<typename MemSpace>
LinkCSRPartitionT & mundy::mesh::LinkCSRPartitionT< MemSpace >::operator= ( LinkCSRPartitionT< MemSpace > && other)
default

◆ ngp_key()

template<typename MemSpace>
const impl::NgpPartitionKey & mundy::mesh::LinkCSRPartitionT< MemSpace >::ngp_key ( ) const
inlinenoexcept

◆ id()

template<typename MemSpace>
stk::mesh::Ordinal mundy::mesh::LinkCSRPartitionT< MemSpace >::id ( ) const
inlinenoexcept

◆ link_rank()

template<typename MemSpace>
stk::mesh::EntityRank mundy::mesh::LinkCSRPartitionT< MemSpace >::link_rank ( ) const
inlinenoexcept

◆ link_dimensionality()

template<typename MemSpace>
unsigned mundy::mesh::LinkCSRPartitionT< MemSpace >::link_dimensionality ( ) const
inlinenoexcept

◆ selector()

template<typename MemSpace>
stk::mesh::Selector mundy::mesh::LinkCSRPartitionT< MemSpace >::selector ( ) const
inline

◆ contains()

template<typename MemSpace>
bool mundy::mesh::LinkCSRPartitionT< MemSpace >::contains ( stk::mesh::PartOrdinal part_ordinal) const
inline

◆ connects_to()

template<typename MemSpace>
bool mundy::mesh::LinkCSRPartitionT< MemSpace >::connects_to ( stk::mesh::EntityRank rank,
const size_t & bucket_id ) const
inline

◆ num_buckets()

template<typename MemSpace>
size_t mundy::mesh::LinkCSRPartitionT< MemSpace >::num_buckets ( stk::mesh::EntityRank rank) const
inline

◆ get_crs_bucket_conn() [1/2]

template<typename MemSpace>
LinkCSRBucketConn & mundy::mesh::LinkCSRPartitionT< MemSpace >::get_crs_bucket_conn ( stk::mesh::EntityRank rank,
size_t bucket_id )
inline

◆ get_crs_bucket_conn() [2/2]

template<typename MemSpace>
const LinkCSRBucketConn & mundy::mesh::LinkCSRPartitionT< MemSpace >::get_crs_bucket_conn ( stk::mesh::EntityRank rank,
size_t bucket_id ) const
inline

◆ get_connected_links()

template<typename MemSpace>
ConnectedEntities mundy::mesh::LinkCSRPartitionT< MemSpace >::get_connected_links ( stk::mesh::EntityRank rank,
const stk::mesh::FastMeshIndex & entity_index ) const
inline

◆ num_connected_links()

template<typename MemSpace>
unsigned mundy::mesh::LinkCSRPartitionT< MemSpace >::num_connected_links ( stk::mesh::EntityRank rank,
const stk::mesh::FastMeshIndex & entity_index ) const
inline

◆ deep_copy

template<typename MemSpace>
template<typename MemSpace1, typename MemSpace2>
void deep_copy ( LinkCSRPartitionT< MemSpace1 > & dest,
const LinkCSRPartitionT< MemSpace2 > & src )
friend