|
Mundy: Multibody Nonlocal Dynamics Version of the Day
|
ArborX dense 2D neighbor list whose stored entries carry per-object periodic image shifts. More...
#include <ArborX2dNeighborList.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 | count_view_t = Kokkos::View<size_type*, memory_space> |
| using | source_index_view_t = Kokkos::View<source_index_type**, memory_space> |
| using | image_shift_view_t = Kokkos::View<image_shift_type**, memory_space> |
| using | target_shift_view_t = Kokkos::View<image_shift_type*, memory_space> |
Public Member Functions | |
Constructors | |
| PeriodicArborX2dNeighborList ()=default | |
| Default constructor. | |
| PeriodicArborX2dNeighborList (const PeriodicArborX2dNeighborList &)=default | |
| Default copy and move constructors/operators. | |
| PeriodicArborX2dNeighborList (PeriodicArborX2dNeighborList &&)=default | |
| PeriodicArborX2dNeighborList & | operator= (const PeriodicArborX2dNeighborList &)=default |
| PeriodicArborX2dNeighborList & | operator= (PeriodicArborX2dNeighborList &&)=default |
| PeriodicArborX2dNeighborList (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 target_shift_view_t &target_image_shifts, const count_view_t &neighbor_counts, const source_index_view_t &source_owner_indices, const image_shift_view_t &source_image_shifts) | |
| Construct a periodic list from already-built dense 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 | max_neighbors_per_target () const noexcept |
| Get the allocated row width for each target owner. | |
| 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. | |
| count_view_t | neighbor_counts () const noexcept |
| Get the raw per-target-owner neighbor count view. | |
| source_index_view_t | source_owner_indices () const noexcept |
| Get the raw dense source-owner ordinal view. | |
| image_shift_view_t | source_image_shifts () const noexcept |
| Get the raw dense source-image-shift view. | |
| target_shift_view_t | target_image_shifts () const noexcept |
| Get the raw per-target-owner image-shift view. | |
The uniform per-target row width suits GPU pair-parallel dispatch.
| using mundy::search::PeriodicArborX2dNeighborList< MemorySpace, ImageShiftScalar >::memory_space = MemorySpace |
| using mundy::search::PeriodicArborX2dNeighborList< MemorySpace, ImageShiftScalar >::execution_space = typename MemorySpace::execution_space |
| using mundy::search::PeriodicArborX2dNeighborList< MemorySpace, ImageShiftScalar >::image_shift_scalar = ImageShiftScalar |
| using mundy::search::PeriodicArborX2dNeighborList< MemorySpace, ImageShiftScalar >::size_type = size_t |
| using mundy::search::PeriodicArborX2dNeighborList< MemorySpace, ImageShiftScalar >::source_index_type = size_type |
| using mundy::search::PeriodicArborX2dNeighborList< MemorySpace, ImageShiftScalar >::image_shift_type = mundy::Vector3<image_shift_scalar> |
| using mundy::search::PeriodicArborX2dNeighborList< MemorySpace, ImageShiftScalar >::entity_view_t = Kokkos::View<stk::mesh::Entity*, memory_space> |
| using mundy::search::PeriodicArborX2dNeighborList< MemorySpace, ImageShiftScalar >::count_view_t = Kokkos::View<size_type*, memory_space> |
| using mundy::search::PeriodicArborX2dNeighborList< MemorySpace, ImageShiftScalar >::source_index_view_t = Kokkos::View<source_index_type**, memory_space> |
| using mundy::search::PeriodicArborX2dNeighborList< MemorySpace, ImageShiftScalar >::image_shift_view_t = Kokkos::View<image_shift_type**, memory_space> |
| using mundy::search::PeriodicArborX2dNeighborList< MemorySpace, ImageShiftScalar >::target_shift_view_t = Kokkos::View<image_shift_type*, memory_space> |
|
default |
|
default |
|
default |
|
inline |
| target_selector | [in] Selector defining the target owner chunk used during the build. |
| source_selector | [in] Selector defining the source owner chunk used during the build. |
| target_entities | [in] Target owner entities indexed by dense target owner ordinal. |
| source_entities | [in] Source owner entities indexed by dense source owner ordinal. |
| neighbor_counts | [in] Number of valid entries in each target owner row. |
| target_image_shifts | [in] Per-target-owner image shift (target's original→wrapped reference point). |
| source_owner_indices | [in] Dense source owner ordinals in target-by-neighbor rows. |
| source_image_shifts | [in] Per-pair source owner image shift (original → imaged reference point), in target-by-neighbor rows. |
|
default |
|
default |
|
inlinenoexcept |
|
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 |