|
Mundy: Multibody Nonlocal Dynamics Version of the Day
|
ArborX compressed 1D neighbor list whose stored pairs carry per-object periodic image shifts. More...
#include <ArborX1dNeighborList.hpp>
Public Types | |
Aliases | |
| using | memory_space = MemorySpace |
| using | execution_space = typename MemorySpace::execution_space |
| using | image_shift_scalar = ImageShiftScalar |
| using | size_type = size_t |
| using | source_index_type = size_type |
| using | image_shift_type = mundy::Vector3<image_shift_scalar> |
| using | entity_view_t = Kokkos::View<stk::mesh::Entity*, memory_space> |
| using | source_index_view_t = Kokkos::View<source_index_type*, memory_space> |
| using | offset_view_t = Kokkos::View<size_type*, memory_space> |
| using | image_shift_view_t = Kokkos::View<image_shift_type*, memory_space> |
Public Member Functions | |
Constructors | |
| PeriodicArborX1dNeighborList ()=default | |
| Default constructor. | |
| PeriodicArborX1dNeighborList (const PeriodicArborX1dNeighborList &)=default | |
| Default copy and move constructors/operators. | |
| PeriodicArborX1dNeighborList (PeriodicArborX1dNeighborList &&)=default | |
| PeriodicArborX1dNeighborList & | operator= (const PeriodicArborX1dNeighborList &)=default |
| PeriodicArborX1dNeighborList & | operator= (PeriodicArborX1dNeighborList &&)=default |
| PeriodicArborX1dNeighborList (const stk::mesh::Selector &target_selector, const stk::mesh::Selector &source_selector, const entity_view_t &target_entities, const entity_view_t &source_entities, const image_shift_view_t &target_image_shifts, const source_index_view_t &source_owner_indices, const image_shift_view_t &source_image_shifts, const offset_view_t &offsets) | |
| Construct a periodic list from already-built compressed storage. | |
Accessors | |
| size_type | num_targets () const noexcept |
| Get the number of enumerable target owners. | |
| size_type | num_sources () const noexcept |
| Get the number of enumerable source owners. | |
| const stk::mesh::Selector & | target_selector () const noexcept |
| Get the selector defining the target owner chunk. | |
| const stk::mesh::Selector & | source_selector () const noexcept |
| Get the selector defining the source owner chunk. | |
| size_type | size () const noexcept |
| Get the total number of stored periodic neighbor pairs. | |
| size_type | num_neighbors (size_type target_index) const |
| Get the number of neighbors for a target owner ordinal. | |
| source_index_type | source_index (size_type target_index, size_type neighbor_ordinal) const |
| Get the source owner ordinal for a target owner and neighbor ordinal. | |
| image_shift_type | source_image_shift (size_type target_index, size_type neighbor_ordinal) const |
| Get the source owner's image shift for a stored pair (displacement from its original to its imaged reference point). | |
| image_shift_type | target_image_shift (size_type target_index) const |
| Get a target owner's image shift: the displacement from its original to its imaged reference point. | |
| stk::mesh::Entity | get_neighbor (size_type target_index, size_type neighbor_ordinal) const |
| Get the neighbor owner entity for a target owner and neighbor ordinal. | |
| stk::mesh::Entity | target_entity (size_type target_index) const |
| Get the target owner entity for a target owner ordinal. | |
| stk::mesh::Entity | source_entity (source_index_type source_index) const |
| Get the source owner entity for a source owner ordinal. | |
| entity_view_t | target_entities () const noexcept |
| Get the raw target owner entity view. | |
| entity_view_t | source_entities () const noexcept |
| Get the raw source owner entity view. | |
| source_index_view_t | source_owner_indices () const noexcept |
| Get the raw flattened source-owner ordinal view. | |
| image_shift_view_t | source_image_shifts () const noexcept |
| Get the raw flattened source-image-shift view. | |
| image_shift_view_t | target_image_shifts () const noexcept |
| Get the raw per-target-owner image-shift view. | |
| offset_view_t | offsets () const noexcept |
| Get the raw target-offset view. | |
Targets and sources are indexed by owner ordinals, not image ordinals. Multiple stored pairs may therefore reference the same source owner with different image shifts.
| using mundy::search::PeriodicArborX1dNeighborList< MemorySpace, ImageShiftScalar >::memory_space = MemorySpace |
| using mundy::search::PeriodicArborX1dNeighborList< MemorySpace, ImageShiftScalar >::execution_space = typename MemorySpace::execution_space |
| using mundy::search::PeriodicArborX1dNeighborList< MemorySpace, ImageShiftScalar >::image_shift_scalar = ImageShiftScalar |
| using mundy::search::PeriodicArborX1dNeighborList< MemorySpace, ImageShiftScalar >::size_type = size_t |
| using mundy::search::PeriodicArborX1dNeighborList< MemorySpace, ImageShiftScalar >::source_index_type = size_type |
| using mundy::search::PeriodicArborX1dNeighborList< MemorySpace, ImageShiftScalar >::image_shift_type = mundy::Vector3<image_shift_scalar> |
| using mundy::search::PeriodicArborX1dNeighborList< MemorySpace, ImageShiftScalar >::entity_view_t = Kokkos::View<stk::mesh::Entity*, memory_space> |
| using mundy::search::PeriodicArborX1dNeighborList< MemorySpace, ImageShiftScalar >::source_index_view_t = Kokkos::View<source_index_type*, memory_space> |
| using mundy::search::PeriodicArborX1dNeighborList< MemorySpace, ImageShiftScalar >::offset_view_t = Kokkos::View<size_type*, memory_space> |
| using mundy::search::PeriodicArborX1dNeighborList< MemorySpace, ImageShiftScalar >::image_shift_view_t = Kokkos::View<image_shift_type*, memory_space> |
|
default |
|
default |
|
default |
|
inline |
| target_selector | [in] Selector that defines the target owner chunk; stored for later inspection. |
| source_selector | [in] Selector that defines the source owner chunk; stored for later inspection. |
| target_entities | [in] Target owner entities indexed by dense target owner ordinal. |
| source_entities | [in] Source owner entities indexed by dense source owner ordinal. |
| target_image_shifts | [in] Per-target-owner image shift (displacement from the target's original to its imaged reference point), indexed by dense target owner ordinal. |
| source_owner_indices | [in] Dense source owner ordinal for every stored pair. |
| source_image_shifts | [in] Per-pair source owner image shift (original → imaged reference point). |
| offsets | [in] Target owner offsets into source_owner_indices; extent must be num_targets + 1. |
|
default |
|
default |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
| target_index | [in] Dense target owner ordinal. |
|
inline |
| target_index | [in] Dense target owner ordinal. |
| neighbor_ordinal | [in] Ordinal in the target's neighbor range. |
|
inline |
| target_index | [in] Dense target owner ordinal. |
| neighbor_ordinal | [in] Ordinal in the target's neighbor range. |
|
inline |
| target_index | [in] Dense target owner ordinal. |
|
inline |
| target_index | [in] Dense target owner ordinal. |
| neighbor_ordinal | [in] Ordinal in the target's neighbor range. |
|
inline |
| target_index | [in] Dense target owner ordinal. |
|
inline |
| source_index | [in] Dense source owner ordinal. |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |