Compadre  1.5.7
Public Attributes | List of all members
Compadre::PointConnections< view_type_1, view_type_2, nla_type, memory_space > Struct Template Reference

Combines NeighborLists with the PointClouds from which it was derived Assumed that memory_space is the same as device, but it can be set to host, if desired. More...

Detailed Description

template<typename view_type_1, typename view_type_2, typename nla_type, typename memory_space = device_memory_space>
struct Compadre::PointConnections< view_type_1, view_type_2, nla_type, memory_space >

Combines NeighborLists with the PointClouds from which it was derived Assumed that memory_space is the same as device, but it can be set to host, if desired.

Definition at line 13 of file Compadre_PointConnections.hpp.

#include <Compadre_PointConnections.hpp>

Public Member Functions

Constructors
 PointConnections (view_type_1 target_coordinates, view_type_2 source_coordinates, nla_type nla)
 Constructor for PointConnections. More...
 
 PointConnections ()
 
template<typename other_type_1 , typename other_type_2 , typename other_type_3 >
 PointConnections (const PointConnections< other_type_1, other_type_2, other_type_3 > &other)
 
Public Modifiers

Private function because information lives on the device

void setTargetCoordinates (view_type_1 target_coordinates)
 Update only target coordinates. More...
 
void setSourceCoordinates (view_type_2 source_coordinates)
 Update only source coordinates. More...
 
void setNeighborLists (nla_type nla)
 Update only target coordinates. More...
 
Public Accessors
KOKKOS_INLINE_FUNCTION double getTargetCoordinate (const int target_index, const int dim, const scratch_matrix_right_type *V=NULL) const
 Returns one component of the target coordinate for a particular target. More...
 
KOKKOS_INLINE_FUNCTION double getNeighborCoordinate (const int target_index, const int neighbor_list_num, const int dim, const scratch_matrix_right_type *V=NULL) const
 Returns one component of the neighbor coordinate for a particular target. More...
 
KOKKOS_INLINE_FUNCTION XYZ getRelativeCoord (const int target_index, const int neighbor_list_num, const int dimension, const scratch_matrix_right_type *V=NULL) const
 Returns the relative coordinate as a vector between the target site and the neighbor site. More...
 
KOKKOS_INLINE_FUNCTION int getNeighborIndex (const int target_index, const int neighbor_list_num) const
 Mapping from [0,number of neighbors for a target] to the row that contains the source coordinates for that neighbor. More...
 

Static Public Member Functions

Public Utility
static KOKKOS_INLINE_FUNCTION double convertGlobalToLocalCoordinate (const XYZ global_coord, const int dim, const scratch_matrix_right_type &V)
 Returns a component of the local coordinate after transformation from global to local under the orthonormal basis V. More...
 
static KOKKOS_INLINE_FUNCTION double convertLocalToGlobalCoordinate (const XYZ local_coord, const int dim, const scratch_matrix_right_type &V)
 Returns a component of the global coordinate after transformation from local to global under the orthonormal basis V^T. More...
 
static KOKKOS_INLINE_FUNCTION double EuclideanVectorLength (const XYZ &delta_vector, const int dimension)
 Returns Euclidean norm of a vector. More...
 

Public Attributes

decltype(Kokkos::create_mirror_view< memory_space >(memory_space(), view_type_1())) typedef device_mirror_target_view_type
 source site coordinates on device More...
 
decltype(Kokkos::create_mirror_view< memory_space >(memory_space(), view_type_2())) typedef device_mirror_source_view_type
 target site coordinates on device More...
 
device_mirror_target_view_type _target_coordinates
 
device_mirror_source_view_type _source_coordinates
 
nla_type _nla
 

Constructor & Destructor Documentation

◆ PointConnections() [1/3]

template<typename view_type_1 , typename view_type_2 , typename nla_type , typename memory_space = device_memory_space>
Compadre::PointConnections< view_type_1, view_type_2, nla_type, memory_space >::PointConnections ( view_type_1  target_coordinates,
view_type_2  source_coordinates,
nla_type  nla 
)
inline

Constructor for PointConnections.

Definition at line 34 of file Compadre_PointConnections.hpp.

◆ PointConnections() [2/3]

template<typename view_type_1 , typename view_type_2 , typename nla_type , typename memory_space = device_memory_space>
Compadre::PointConnections< view_type_1, view_type_2, nla_type, memory_space >::PointConnections ( )
inline

Definition at line 47 of file Compadre_PointConnections.hpp.

◆ PointConnections() [3/3]

template<typename view_type_1 , typename view_type_2 , typename nla_type , typename memory_space = device_memory_space>
template<typename other_type_1 , typename other_type_2 , typename other_type_3 >
Compadre::PointConnections< view_type_1, view_type_2, nla_type, memory_space >::PointConnections ( const PointConnections< other_type_1, other_type_2, other_type_3 > &  other)
inline

Definition at line 51 of file Compadre_PointConnections.hpp.

Member Function Documentation

◆ convertGlobalToLocalCoordinate()

template<typename view_type_1 , typename view_type_2 , typename nla_type , typename memory_space = device_memory_space>
static KOKKOS_INLINE_FUNCTION double Compadre::PointConnections< view_type_1, view_type_2, nla_type, memory_space >::convertGlobalToLocalCoordinate ( const XYZ  global_coord,
const int  dim,
const scratch_matrix_right_type V 
)
inlinestatic

Returns a component of the local coordinate after transformation from global to local under the orthonormal basis V.

Definition at line 63 of file Compadre_PointConnections.hpp.

◆ convertLocalToGlobalCoordinate()

template<typename view_type_1 , typename view_type_2 , typename nla_type , typename memory_space = device_memory_space>
static KOKKOS_INLINE_FUNCTION double Compadre::PointConnections< view_type_1, view_type_2, nla_type, memory_space >::convertLocalToGlobalCoordinate ( const XYZ  local_coord,
const int  dim,
const scratch_matrix_right_type V 
)
inlinestatic

Returns a component of the global coordinate after transformation from local to global under the orthonormal basis V^T.

Definition at line 75 of file Compadre_PointConnections.hpp.

◆ EuclideanVectorLength()

template<typename view_type_1 , typename view_type_2 , typename nla_type , typename memory_space = device_memory_space>
static KOKKOS_INLINE_FUNCTION double Compadre::PointConnections< view_type_1, view_type_2, nla_type, memory_space >::EuclideanVectorLength ( const XYZ delta_vector,
const int  dimension 
)
inlinestatic

Returns Euclidean norm of a vector.

Definition at line 87 of file Compadre_PointConnections.hpp.

◆ getNeighborCoordinate()

template<typename view_type_1 , typename view_type_2 , typename nla_type , typename memory_space = device_memory_space>
KOKKOS_INLINE_FUNCTION double Compadre::PointConnections< view_type_1, view_type_2, nla_type, memory_space >::getNeighborCoordinate ( const int  target_index,
const int  neighbor_list_num,
const int  dim,
const scratch_matrix_right_type V = NULL 
) const
inline

Returns one component of the neighbor coordinate for a particular target.

Whether global or local coordinates depends upon V being specified

Definition at line 154 of file Compadre_PointConnections.hpp.

◆ getNeighborIndex()

template<typename view_type_1 , typename view_type_2 , typename nla_type , typename memory_space = device_memory_space>
KOKKOS_INLINE_FUNCTION int Compadre::PointConnections< view_type_1, view_type_2, nla_type, memory_space >::getNeighborIndex ( const int  target_index,
const int  neighbor_list_num 
) const
inline

Mapping from [0,number of neighbors for a target] to the row that contains the source coordinates for that neighbor.

Definition at line 185 of file Compadre_PointConnections.hpp.

◆ getRelativeCoord()

template<typename view_type_1 , typename view_type_2 , typename nla_type , typename memory_space = device_memory_space>
KOKKOS_INLINE_FUNCTION XYZ Compadre::PointConnections< view_type_1, view_type_2, nla_type, memory_space >::getRelativeCoord ( const int  target_index,
const int  neighbor_list_num,
const int  dimension,
const scratch_matrix_right_type V = NULL 
) const
inline

Returns the relative coordinate as a vector between the target site and the neighbor site.

Whether global or local coordinates depends upon V being specified

Definition at line 172 of file Compadre_PointConnections.hpp.

◆ getTargetCoordinate()

template<typename view_type_1 , typename view_type_2 , typename nla_type , typename memory_space = device_memory_space>
KOKKOS_INLINE_FUNCTION double Compadre::PointConnections< view_type_1, view_type_2, nla_type, memory_space >::getTargetCoordinate ( const int  target_index,
const int  dim,
const scratch_matrix_right_type V = NULL 
) const
inline

Returns one component of the target coordinate for a particular target.

Whether global or local coordinates depends upon V being specified

Definition at line 139 of file Compadre_PointConnections.hpp.

◆ setNeighborLists()

template<typename view_type_1 , typename view_type_2 , typename nla_type , typename memory_space = device_memory_space>
void Compadre::PointConnections< view_type_1, view_type_2, nla_type, memory_space >::setNeighborLists ( nla_type  nla)
inline

Update only target coordinates.

Definition at line 125 of file Compadre_PointConnections.hpp.

◆ setSourceCoordinates()

template<typename view_type_1 , typename view_type_2 , typename nla_type , typename memory_space = device_memory_space>
void Compadre::PointConnections< view_type_1, view_type_2, nla_type, memory_space >::setSourceCoordinates ( view_type_2  source_coordinates)
inline

Update only source coordinates.

Definition at line 118 of file Compadre_PointConnections.hpp.

◆ setTargetCoordinates()

template<typename view_type_1 , typename view_type_2 , typename nla_type , typename memory_space = device_memory_space>
void Compadre::PointConnections< view_type_1, view_type_2, nla_type, memory_space >::setTargetCoordinates ( view_type_1  target_coordinates)
inline

Update only target coordinates.

Definition at line 111 of file Compadre_PointConnections.hpp.

Member Data Documentation

◆ _nla

template<typename view_type_1 , typename view_type_2 , typename nla_type , typename memory_space = device_memory_space>
nla_type Compadre::PointConnections< view_type_1, view_type_2, nla_type, memory_space >::_nla

Definition at line 27 of file Compadre_PointConnections.hpp.

◆ _source_coordinates

template<typename view_type_1 , typename view_type_2 , typename nla_type , typename memory_space = device_memory_space>
device_mirror_source_view_type Compadre::PointConnections< view_type_1, view_type_2, nla_type, memory_space >::_source_coordinates

Definition at line 26 of file Compadre_PointConnections.hpp.

◆ _target_coordinates

template<typename view_type_1 , typename view_type_2 , typename nla_type , typename memory_space = device_memory_space>
device_mirror_target_view_type Compadre::PointConnections< view_type_1, view_type_2, nla_type, memory_space >::_target_coordinates

Definition at line 25 of file Compadre_PointConnections.hpp.

◆ device_mirror_source_view_type

template<typename view_type_1 , typename view_type_2 , typename nla_type , typename memory_space = device_memory_space>
decltype(Kokkos::create_mirror_view<memory_space>( memory_space(), view_type_2())) typedef Compadre::PointConnections< view_type_1, view_type_2, nla_type, memory_space >::device_mirror_source_view_type

target site coordinates on device

Definition at line 23 of file Compadre_PointConnections.hpp.

◆ device_mirror_target_view_type

template<typename view_type_1 , typename view_type_2 , typename nla_type , typename memory_space = device_memory_space>
decltype(Kokkos::create_mirror_view<memory_space>( memory_space(), view_type_1())) typedef Compadre::PointConnections< view_type_1, view_type_2, nla_type, memory_space >::device_mirror_target_view_type

source site coordinates on device

Definition at line 18 of file Compadre_PointConnections.hpp.


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