Sacado Package Browser (Single Doxygen Collection)  Version of the Day
Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
Kokkos::Example::BoxElemPart Class Reference

Partition a box of hexahedral elements among subdomains. More...

#include <BoxElemPart.hpp>

Public Types

enum  Decompose { DecomposeNode, DecomposeElem, DecomposeNode, DecomposeElem }
 
enum  ElemOrder { ElemLinear, ElemQuadratic, ElemLinear, ElemQuadratic }
 
enum  Decompose { DecomposeNode, DecomposeElem, DecomposeNode, DecomposeElem }
 
enum  ElemOrder { ElemLinear, ElemQuadratic, ElemLinear, ElemQuadratic }
 

Public Member Functions

 BoxElemPart (const ElemOrder elem_order, const Decompose decompose, const unsigned global_size, const unsigned global_rank, const unsigned elem_nx, const unsigned elem_ny, const unsigned elem_nz)
 
KOKKOS_INLINE_FUNCTION size_t global_elem_count () const
 
KOKKOS_INLINE_FUNCTION size_t global_node_count () const
 
KOKKOS_INLINE_FUNCTION size_t uses_elem_count () const
 
KOKKOS_INLINE_FUNCTION size_t owns_node_count () const
 
KOKKOS_INLINE_FUNCTION size_t uses_node_count () const
 
KOKKOS_INLINE_FUNCTION size_t uses_elem_offset (const unsigned ix, const unsigned iy, const unsigned iz) const
 
KOKKOS_INLINE_FUNCTION void uses_elem_coord (size_t lid, unsigned c[]) const
 
KOKKOS_INLINE_FUNCTION unsigned global_coord_max (unsigned axis) const
 
KOKKOS_INLINE_FUNCTION void local_node_coord (size_t lid, unsigned coord[]) const
 
KOKKOS_INLINE_FUNCTION unsigned local_node_id (const unsigned c[]) const
 
KOKKOS_INLINE_FUNCTION size_t global_node_id (const unsigned c[]) const
 
KOKKOS_INLINE_FUNCTION unsigned recv_node_msg_count () const
 
KOKKOS_INLINE_FUNCTION unsigned recv_node_rank (unsigned msg) const
 
KOKKOS_INLINE_FUNCTION unsigned recv_node_count (unsigned msg) const
 
KOKKOS_INLINE_FUNCTION unsigned send_node_msg_count () const
 
KOKKOS_INLINE_FUNCTION unsigned send_node_rank (unsigned msg) const
 
KOKKOS_INLINE_FUNCTION unsigned send_node_count (unsigned msg) const
 
KOKKOS_INLINE_FUNCTION unsigned send_node_id_count () const
 
KOKKOS_INLINE_FUNCTION unsigned send_node_id (unsigned item) const
 
void print (std::ostream &s) const
 
 BoxElemPart (const ElemOrder elem_order, const Decompose decompose, const unsigned global_size, const unsigned global_rank, const unsigned elem_nx, const unsigned elem_ny, const unsigned elem_nz)
 
KOKKOS_INLINE_FUNCTION size_t global_elem_count () const
 
KOKKOS_INLINE_FUNCTION size_t global_node_count () const
 
KOKKOS_INLINE_FUNCTION size_t uses_elem_count () const
 
KOKKOS_INLINE_FUNCTION size_t owns_node_count () const
 
KOKKOS_INLINE_FUNCTION size_t uses_node_count () const
 
KOKKOS_INLINE_FUNCTION size_t uses_elem_offset (const unsigned ix, const unsigned iy, const unsigned iz) const
 
KOKKOS_INLINE_FUNCTION void uses_elem_coord (size_t lid, unsigned c[]) const
 
KOKKOS_INLINE_FUNCTION unsigned global_coord_max (unsigned axis) const
 
KOKKOS_INLINE_FUNCTION void local_node_coord (size_t lid, unsigned coord[]) const
 
KOKKOS_INLINE_FUNCTION unsigned local_node_id (const unsigned c[]) const
 
KOKKOS_INLINE_FUNCTION size_t global_node_id (const unsigned c[]) const
 
KOKKOS_INLINE_FUNCTION unsigned recv_node_msg_count () const
 
KOKKOS_INLINE_FUNCTION unsigned recv_node_rank (unsigned msg) const
 
KOKKOS_INLINE_FUNCTION unsigned recv_node_count (unsigned msg) const
 
KOKKOS_INLINE_FUNCTION unsigned send_node_msg_count () const
 
KOKKOS_INLINE_FUNCTION unsigned send_node_rank (unsigned msg) const
 
KOKKOS_INLINE_FUNCTION unsigned send_node_count (unsigned msg) const
 
KOKKOS_INLINE_FUNCTION unsigned send_node_id_count () const
 
KOKKOS_INLINE_FUNCTION unsigned send_node_id (unsigned item) const
 
void print (std::ostream &s) const
 

Private Types

enum  { PROC_NEIGH_MAX = 32 }
 
enum  { PROC_NEIGH_MAX = 32 }
 

Private Member Functions

void local (const unsigned rank, unsigned uses_elem[][2], unsigned owns_node[][2], unsigned uses_node[][2]) const
 
void local (const unsigned rank, unsigned uses_elem[][2], unsigned owns_node[][2], unsigned uses_node[][2]) const
 

Private Attributes

unsigned m_global_size
 
unsigned m_global_rank
 
Decompose m_decompose
 
ElemOrder m_elem_order
 
unsigned m_global_elem_box [3][2]
 
unsigned m_global_node_box [3][2]
 
unsigned m_uses_elem_box [3][2]
 
unsigned m_uses_node_box [3][2]
 
unsigned m_owns_node_box [PROC_NEIGH_MAX][3][2]
 
unsigned m_owns_node [PROC_NEIGH_MAX][2]
 
unsigned m_owns_node_count
 
unsigned m_send_node_box [PROC_NEIGH_MAX][3][2]
 
unsigned m_send_node [PROC_NEIGH_MAX][2]
 
unsigned m_send_node_count
 

Detailed Description

Partition a box of hexahedral elements among subdomains.

Nodes are ordered locally as follows: { owned_by[ this_process ] , owned_by[ neighbor_process[0] ] , owned_by[ neighbor_process[1] ] , owned_by[ neighbor_process[2] ] , ... };

Definition at line 110 of file BoxElemPart.hpp.

Member Enumeration Documentation

◆ Decompose [1/2]

Enumerator
DecomposeNode 
DecomposeElem 
DecomposeNode 
DecomposeElem 

Definition at line 113 of file BoxElemPart.hpp.

◆ ElemOrder [1/2]

Enumerator
ElemLinear 
ElemQuadratic 
ElemLinear 
ElemQuadratic 

Definition at line 114 of file BoxElemPart.hpp.

◆ anonymous enum

anonymous enum
private
Enumerator
PROC_NEIGH_MAX 

Definition at line 282 of file BoxElemPart.hpp.

◆ Decompose [2/2]

Enumerator
DecomposeNode 
DecomposeElem 
DecomposeNode 
DecomposeElem 

Definition at line 113 of file view/BoxElemPart.hpp.

◆ ElemOrder [2/2]

Enumerator
ElemLinear 
ElemQuadratic 
ElemLinear 
ElemQuadratic 

Definition at line 114 of file view/BoxElemPart.hpp.

◆ anonymous enum

anonymous enum
private
Enumerator
PROC_NEIGH_MAX 

Definition at line 282 of file view/BoxElemPart.hpp.

Constructor & Destructor Documentation

◆ BoxElemPart() [1/2]

Kokkos::Example::BoxElemPart::BoxElemPart ( const ElemOrder  elem_order,
const Decompose  decompose,
const unsigned  global_size,
const unsigned  global_rank,
const unsigned  elem_nx,
const unsigned  elem_ny,
const unsigned  elem_nz 
)

Definition at line 160 of file BoxElemPart.cpp.

◆ BoxElemPart() [2/2]

Kokkos::Example::BoxElemPart::BoxElemPart ( const ElemOrder  elem_order,
const Decompose  decompose,
const unsigned  global_size,
const unsigned  global_rank,
const unsigned  elem_nx,
const unsigned  elem_ny,
const unsigned  elem_nz 
)

Member Function Documentation

◆ global_elem_count() [1/2]

KOKKOS_INLINE_FUNCTION size_t Kokkos::Example::BoxElemPart::global_elem_count ( ) const
inline

Definition at line 125 of file BoxElemPart.hpp.

◆ global_node_count() [1/2]

KOKKOS_INLINE_FUNCTION size_t Kokkos::Example::BoxElemPart::global_node_count ( ) const
inline

Definition at line 129 of file BoxElemPart.hpp.

◆ uses_elem_count() [1/2]

KOKKOS_INLINE_FUNCTION size_t Kokkos::Example::BoxElemPart::uses_elem_count ( ) const
inline

Definition at line 133 of file BoxElemPart.hpp.

◆ owns_node_count() [1/2]

KOKKOS_INLINE_FUNCTION size_t Kokkos::Example::BoxElemPart::owns_node_count ( ) const
inline

Definition at line 137 of file BoxElemPart.hpp.

◆ uses_node_count() [1/2]

KOKKOS_INLINE_FUNCTION size_t Kokkos::Example::BoxElemPart::uses_node_count ( ) const
inline

Definition at line 141 of file BoxElemPart.hpp.

◆ uses_elem_offset() [1/2]

KOKKOS_INLINE_FUNCTION size_t Kokkos::Example::BoxElemPart::uses_elem_offset ( const unsigned  ix,
const unsigned  iy,
const unsigned  iz 
) const
inline

Definition at line 147 of file BoxElemPart.hpp.

◆ uses_elem_coord() [1/2]

KOKKOS_INLINE_FUNCTION void Kokkos::Example::BoxElemPart::uses_elem_coord ( size_t  lid,
unsigned  c[] 
) const
inline

Definition at line 157 of file BoxElemPart.hpp.

◆ global_coord_max() [1/2]

KOKKOS_INLINE_FUNCTION unsigned Kokkos::Example::BoxElemPart::global_coord_max ( unsigned  axis) const
inline

Definition at line 170 of file BoxElemPart.hpp.

◆ local_node_coord() [1/2]

KOKKOS_INLINE_FUNCTION void Kokkos::Example::BoxElemPart::local_node_coord ( size_t  lid,
unsigned  coord[] 
) const
inline

Definition at line 176 of file BoxElemPart.hpp.

◆ local_node_id() [1/2]

KOKKOS_INLINE_FUNCTION unsigned Kokkos::Example::BoxElemPart::local_node_id ( const unsigned  c[]) const
inline

Definition at line 192 of file BoxElemPart.hpp.

◆ global_node_id() [1/2]

KOKKOS_INLINE_FUNCTION size_t Kokkos::Example::BoxElemPart::global_node_id ( const unsigned  c[]) const
inline

Definition at line 213 of file BoxElemPart.hpp.

◆ recv_node_msg_count() [1/2]

KOKKOS_INLINE_FUNCTION unsigned Kokkos::Example::BoxElemPart::recv_node_msg_count ( ) const
inline

Definition at line 223 of file BoxElemPart.hpp.

◆ recv_node_rank() [1/2]

KOKKOS_INLINE_FUNCTION unsigned Kokkos::Example::BoxElemPart::recv_node_rank ( unsigned  msg) const
inline

Definition at line 226 of file BoxElemPart.hpp.

◆ recv_node_count() [1/2]

KOKKOS_INLINE_FUNCTION unsigned Kokkos::Example::BoxElemPart::recv_node_count ( unsigned  msg) const
inline

Definition at line 229 of file BoxElemPart.hpp.

◆ send_node_msg_count() [1/2]

KOKKOS_INLINE_FUNCTION unsigned Kokkos::Example::BoxElemPart::send_node_msg_count ( ) const
inline

Definition at line 234 of file BoxElemPart.hpp.

◆ send_node_rank() [1/2]

KOKKOS_INLINE_FUNCTION unsigned Kokkos::Example::BoxElemPart::send_node_rank ( unsigned  msg) const
inline

Definition at line 237 of file BoxElemPart.hpp.

◆ send_node_count() [1/2]

KOKKOS_INLINE_FUNCTION unsigned Kokkos::Example::BoxElemPart::send_node_count ( unsigned  msg) const
inline

Definition at line 240 of file BoxElemPart.hpp.

◆ send_node_id_count() [1/2]

KOKKOS_INLINE_FUNCTION unsigned Kokkos::Example::BoxElemPart::send_node_id_count ( ) const
inline

Definition at line 243 of file BoxElemPart.hpp.

◆ send_node_id() [1/2]

KOKKOS_INLINE_FUNCTION unsigned Kokkos::Example::BoxElemPart::send_node_id ( unsigned  item) const
inline

Definition at line 253 of file BoxElemPart.hpp.

◆ print() [1/2]

void Kokkos::Example::BoxElemPart::print ( std::ostream &  s) const

Definition at line 317 of file BoxElemPart.cpp.

◆ local() [1/2]

void Kokkos::Example::BoxElemPart::local ( const unsigned  rank,
unsigned  uses_elem[][2],
unsigned  owns_node[][2],
unsigned  uses_node[][2] 
) const
private

Definition at line 116 of file BoxElemPart.cpp.

◆ global_elem_count() [2/2]

KOKKOS_INLINE_FUNCTION size_t Kokkos::Example::BoxElemPart::global_elem_count ( ) const
inline

Definition at line 125 of file view/BoxElemPart.hpp.

◆ global_node_count() [2/2]

KOKKOS_INLINE_FUNCTION size_t Kokkos::Example::BoxElemPart::global_node_count ( ) const
inline

Definition at line 129 of file view/BoxElemPart.hpp.

◆ uses_elem_count() [2/2]

KOKKOS_INLINE_FUNCTION size_t Kokkos::Example::BoxElemPart::uses_elem_count ( ) const
inline

Definition at line 133 of file view/BoxElemPart.hpp.

◆ owns_node_count() [2/2]

KOKKOS_INLINE_FUNCTION size_t Kokkos::Example::BoxElemPart::owns_node_count ( ) const
inline

Definition at line 137 of file view/BoxElemPart.hpp.

◆ uses_node_count() [2/2]

KOKKOS_INLINE_FUNCTION size_t Kokkos::Example::BoxElemPart::uses_node_count ( ) const
inline

Definition at line 141 of file view/BoxElemPart.hpp.

◆ uses_elem_offset() [2/2]

KOKKOS_INLINE_FUNCTION size_t Kokkos::Example::BoxElemPart::uses_elem_offset ( const unsigned  ix,
const unsigned  iy,
const unsigned  iz 
) const
inline

Definition at line 147 of file view/BoxElemPart.hpp.

◆ uses_elem_coord() [2/2]

KOKKOS_INLINE_FUNCTION void Kokkos::Example::BoxElemPart::uses_elem_coord ( size_t  lid,
unsigned  c[] 
) const
inline

Definition at line 157 of file view/BoxElemPart.hpp.

◆ global_coord_max() [2/2]

KOKKOS_INLINE_FUNCTION unsigned Kokkos::Example::BoxElemPart::global_coord_max ( unsigned  axis) const
inline

Definition at line 170 of file view/BoxElemPart.hpp.

◆ local_node_coord() [2/2]

KOKKOS_INLINE_FUNCTION void Kokkos::Example::BoxElemPart::local_node_coord ( size_t  lid,
unsigned  coord[] 
) const
inline

Definition at line 176 of file view/BoxElemPart.hpp.

◆ local_node_id() [2/2]

KOKKOS_INLINE_FUNCTION unsigned Kokkos::Example::BoxElemPart::local_node_id ( const unsigned  c[]) const
inline

Definition at line 192 of file view/BoxElemPart.hpp.

◆ global_node_id() [2/2]

KOKKOS_INLINE_FUNCTION size_t Kokkos::Example::BoxElemPart::global_node_id ( const unsigned  c[]) const
inline

Definition at line 213 of file view/BoxElemPart.hpp.

◆ recv_node_msg_count() [2/2]

KOKKOS_INLINE_FUNCTION unsigned Kokkos::Example::BoxElemPart::recv_node_msg_count ( ) const
inline

Definition at line 223 of file view/BoxElemPart.hpp.

◆ recv_node_rank() [2/2]

KOKKOS_INLINE_FUNCTION unsigned Kokkos::Example::BoxElemPart::recv_node_rank ( unsigned  msg) const
inline

Definition at line 226 of file view/BoxElemPart.hpp.

◆ recv_node_count() [2/2]

KOKKOS_INLINE_FUNCTION unsigned Kokkos::Example::BoxElemPart::recv_node_count ( unsigned  msg) const
inline

Definition at line 229 of file view/BoxElemPart.hpp.

◆ send_node_msg_count() [2/2]

KOKKOS_INLINE_FUNCTION unsigned Kokkos::Example::BoxElemPart::send_node_msg_count ( ) const
inline

Definition at line 234 of file view/BoxElemPart.hpp.

◆ send_node_rank() [2/2]

KOKKOS_INLINE_FUNCTION unsigned Kokkos::Example::BoxElemPart::send_node_rank ( unsigned  msg) const
inline

Definition at line 237 of file view/BoxElemPart.hpp.

◆ send_node_count() [2/2]

KOKKOS_INLINE_FUNCTION unsigned Kokkos::Example::BoxElemPart::send_node_count ( unsigned  msg) const
inline

Definition at line 240 of file view/BoxElemPart.hpp.

◆ send_node_id_count() [2/2]

KOKKOS_INLINE_FUNCTION unsigned Kokkos::Example::BoxElemPart::send_node_id_count ( ) const
inline

Definition at line 243 of file view/BoxElemPart.hpp.

◆ send_node_id() [2/2]

KOKKOS_INLINE_FUNCTION unsigned Kokkos::Example::BoxElemPart::send_node_id ( unsigned  item) const
inline

Definition at line 253 of file view/BoxElemPart.hpp.

◆ print() [2/2]

void Kokkos::Example::BoxElemPart::print ( std::ostream &  s) const

◆ local() [2/2]

void Kokkos::Example::BoxElemPart::local ( const unsigned  rank,
unsigned  uses_elem[][2],
unsigned  owns_node[][2],
unsigned  uses_node[][2] 
) const
private

Member Data Documentation

◆ m_global_size

unsigned Kokkos::Example::BoxElemPart::m_global_size
private

Definition at line 289 of file BoxElemPart.hpp.

◆ m_global_rank

unsigned Kokkos::Example::BoxElemPart::m_global_rank
private

Definition at line 290 of file BoxElemPart.hpp.

◆ m_decompose

Decompose Kokkos::Example::BoxElemPart::m_decompose
private

Definition at line 291 of file BoxElemPart.hpp.

◆ m_elem_order

ElemOrder Kokkos::Example::BoxElemPart::m_elem_order
private

Definition at line 292 of file BoxElemPart.hpp.

◆ m_global_elem_box

unsigned Kokkos::Example::BoxElemPart::m_global_elem_box
private

Definition at line 294 of file BoxElemPart.hpp.

◆ m_global_node_box

unsigned Kokkos::Example::BoxElemPart::m_global_node_box
private

Definition at line 295 of file BoxElemPart.hpp.

◆ m_uses_elem_box

unsigned Kokkos::Example::BoxElemPart::m_uses_elem_box
private

Definition at line 296 of file BoxElemPart.hpp.

◆ m_uses_node_box

unsigned Kokkos::Example::BoxElemPart::m_uses_node_box
private

Definition at line 297 of file BoxElemPart.hpp.

◆ m_owns_node_box

unsigned Kokkos::Example::BoxElemPart::m_owns_node_box
private

Definition at line 300 of file BoxElemPart.hpp.

◆ m_owns_node

unsigned Kokkos::Example::BoxElemPart::m_owns_node
private

Definition at line 301 of file BoxElemPart.hpp.

◆ m_owns_node_count

unsigned Kokkos::Example::BoxElemPart::m_owns_node_count
private

Definition at line 302 of file BoxElemPart.hpp.

◆ m_send_node_box

unsigned Kokkos::Example::BoxElemPart::m_send_node_box
private

Definition at line 304 of file BoxElemPart.hpp.

◆ m_send_node

unsigned Kokkos::Example::BoxElemPart::m_send_node
private

Definition at line 305 of file BoxElemPart.hpp.

◆ m_send_node_count

unsigned Kokkos::Example::BoxElemPart::m_send_node_count
private

Definition at line 306 of file BoxElemPart.hpp.


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