Stokhos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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
 
bool ok () const
 
 BoxElemPart (const ElemOrder elem_order, const Decompose decompose, const size_t global_size, const size_t global_rank, const size_t elem_nx, const size_t elem_ny, const size_t 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 size_t ix, const size_t iy, const size_t iz) const
 
KOKKOS_INLINE_FUNCTION void uses_elem_coord (size_t lid, size_t c[]) const
 
KOKKOS_INLINE_FUNCTION size_t global_coord_max (size_t axis) const
 
KOKKOS_INLINE_FUNCTION void local_node_coord (size_t lid, size_t coord[]) const
 
KOKKOS_INLINE_FUNCTION size_t local_node_id (const size_t c[]) const
 
KOKKOS_INLINE_FUNCTION size_t global_node_id (const size_t c[]) const
 
KOKKOS_INLINE_FUNCTION size_t recv_node_msg_count () const
 
KOKKOS_INLINE_FUNCTION size_t recv_node_rank (size_t msg) const
 
KOKKOS_INLINE_FUNCTION size_t recv_node_count (size_t msg) const
 
KOKKOS_INLINE_FUNCTION size_t send_node_msg_count () const
 
KOKKOS_INLINE_FUNCTION size_t send_node_rank (size_t msg) const
 
KOKKOS_INLINE_FUNCTION size_t send_node_count (size_t msg) const
 
KOKKOS_INLINE_FUNCTION size_t send_node_id_count () const
 
KOKKOS_INLINE_FUNCTION size_t send_node_id (size_t 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 size_t rank, size_t uses_elem[][2], size_t owns_node[][2], size_t 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
 
size_t m_global_size
 
size_t m_global_rank
 
size_t m_global_elem_box [3][2]
 
size_t m_global_node_box [3][2]
 
size_t m_uses_elem_box [3][2]
 
size_t m_uses_node_box [3][2]
 
size_t m_owns_node_box [PROC_NEIGH_MAX][3][2]
 
size_t m_owns_node [PROC_NEIGH_MAX][2]
 
size_t m_owns_node_count
 
size_t m_send_node_box [PROC_NEIGH_MAX][3][2]
 
size_t m_send_node [PROC_NEIGH_MAX][2]
 
size_t m_send_node_count
 
bool m_ok
 

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 83 of file FadMPAssembly/BoxElemPart.hpp.

Member Enumeration Documentation

Enumerator
DecomposeNode 
DecomposeElem 
DecomposeNode 
DecomposeElem 

Definition at line 86 of file FadMPAssembly/BoxElemPart.hpp.

Enumerator
ElemLinear 
ElemQuadratic 
ElemLinear 
ElemQuadratic 

Definition at line 87 of file FadMPAssembly/BoxElemPart.hpp.

anonymous enum
private
Enumerator
PROC_NEIGH_MAX 

Definition at line 255 of file FadMPAssembly/BoxElemPart.hpp.

Enumerator
DecomposeNode 
DecomposeElem 
DecomposeNode 
DecomposeElem 

Definition at line 86 of file MPAssembly/BoxElemPart.hpp.

Enumerator
ElemLinear 
ElemQuadratic 
ElemLinear 
ElemQuadratic 

Definition at line 87 of file MPAssembly/BoxElemPart.hpp.

anonymous enum
private
Enumerator
PROC_NEIGH_MAX 

Definition at line 257 of file MPAssembly/BoxElemPart.hpp.

Constructor & Destructor Documentation

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 133 of file FadMPAssembly/BoxElemPart.cpp.

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

Definition at line 133 of file MPAssembly/BoxElemPart.cpp.

Member Function Documentation

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

Definition at line 98 of file FadMPAssembly/BoxElemPart.hpp.

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

Definition at line 102 of file FadMPAssembly/BoxElemPart.hpp.

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

Definition at line 106 of file FadMPAssembly/BoxElemPart.hpp.

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

Definition at line 110 of file FadMPAssembly/BoxElemPart.hpp.

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

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

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 120 of file FadMPAssembly/BoxElemPart.hpp.

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

Definition at line 130 of file FadMPAssembly/BoxElemPart.hpp.

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

Definition at line 143 of file FadMPAssembly/BoxElemPart.hpp.

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

Definition at line 149 of file FadMPAssembly/BoxElemPart.hpp.

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

Definition at line 165 of file FadMPAssembly/BoxElemPart.hpp.

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

Definition at line 186 of file FadMPAssembly/BoxElemPart.hpp.

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

Definition at line 196 of file FadMPAssembly/BoxElemPart.hpp.

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

Definition at line 199 of file FadMPAssembly/BoxElemPart.hpp.

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

Definition at line 202 of file FadMPAssembly/BoxElemPart.hpp.

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

Definition at line 207 of file FadMPAssembly/BoxElemPart.hpp.

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

Definition at line 210 of file FadMPAssembly/BoxElemPart.hpp.

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

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

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

Definition at line 216 of file FadMPAssembly/BoxElemPart.hpp.

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

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

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

Definition at line 290 of file FadMPAssembly/BoxElemPart.cpp.

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 89 of file FadMPAssembly/BoxElemPart.cpp.

bool Kokkos::Example::BoxElemPart::ok ( ) const
inline

Definition at line 89 of file MPAssembly/BoxElemPart.hpp.

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

Definition at line 100 of file MPAssembly/BoxElemPart.hpp.

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

Definition at line 104 of file MPAssembly/BoxElemPart.hpp.

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

Definition at line 108 of file MPAssembly/BoxElemPart.hpp.

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

Definition at line 112 of file MPAssembly/BoxElemPart.hpp.

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

Definition at line 116 of file MPAssembly/BoxElemPart.hpp.

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

Definition at line 122 of file MPAssembly/BoxElemPart.hpp.

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

Definition at line 132 of file MPAssembly/BoxElemPart.hpp.

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

Definition at line 145 of file MPAssembly/BoxElemPart.hpp.

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

Definition at line 151 of file MPAssembly/BoxElemPart.hpp.

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

Definition at line 167 of file MPAssembly/BoxElemPart.hpp.

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

Definition at line 188 of file MPAssembly/BoxElemPart.hpp.

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

Definition at line 198 of file MPAssembly/BoxElemPart.hpp.

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

Definition at line 201 of file MPAssembly/BoxElemPart.hpp.

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

Definition at line 204 of file MPAssembly/BoxElemPart.hpp.

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

Definition at line 209 of file MPAssembly/BoxElemPart.hpp.

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

Definition at line 212 of file MPAssembly/BoxElemPart.hpp.

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

Definition at line 215 of file MPAssembly/BoxElemPart.hpp.

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

Definition at line 218 of file MPAssembly/BoxElemPart.hpp.

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

Definition at line 228 of file MPAssembly/BoxElemPart.hpp.

void Kokkos::Example::BoxElemPart::print ( std::ostream &  s) const
void Kokkos::Example::BoxElemPart::local ( const size_t  rank,
size_t  uses_elem[][2],
size_t  owns_node[][2],
size_t  uses_node[][2] 
) const
private

Definition at line 89 of file MPAssembly/BoxElemPart.cpp.

Member Data Documentation

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

Definition at line 262 of file FadMPAssembly/BoxElemPart.hpp.

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

Definition at line 263 of file FadMPAssembly/BoxElemPart.hpp.

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

Definition at line 264 of file FadMPAssembly/BoxElemPart.hpp.

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

Definition at line 265 of file FadMPAssembly/BoxElemPart.hpp.

unsigned Kokkos::Example::BoxElemPart::m_global_elem_box[3][2]
private

Definition at line 267 of file FadMPAssembly/BoxElemPart.hpp.

unsigned Kokkos::Example::BoxElemPart::m_global_node_box[3][2]
private

Definition at line 268 of file FadMPAssembly/BoxElemPart.hpp.

unsigned Kokkos::Example::BoxElemPart::m_uses_elem_box[3][2]
private

Definition at line 269 of file FadMPAssembly/BoxElemPart.hpp.

unsigned Kokkos::Example::BoxElemPart::m_uses_node_box[3][2]
private

Definition at line 270 of file FadMPAssembly/BoxElemPart.hpp.

unsigned Kokkos::Example::BoxElemPart::m_owns_node_box[PROC_NEIGH_MAX][3][2]
private

Definition at line 273 of file FadMPAssembly/BoxElemPart.hpp.

unsigned Kokkos::Example::BoxElemPart::m_owns_node[PROC_NEIGH_MAX][2]
private

Definition at line 274 of file FadMPAssembly/BoxElemPart.hpp.

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

Definition at line 275 of file FadMPAssembly/BoxElemPart.hpp.

unsigned Kokkos::Example::BoxElemPart::m_send_node_box[PROC_NEIGH_MAX][3][2]
private

Definition at line 277 of file FadMPAssembly/BoxElemPart.hpp.

unsigned Kokkos::Example::BoxElemPart::m_send_node[PROC_NEIGH_MAX][2]
private

Definition at line 278 of file FadMPAssembly/BoxElemPart.hpp.

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

Definition at line 279 of file FadMPAssembly/BoxElemPart.hpp.

size_t Kokkos::Example::BoxElemPart::m_global_size
private

Definition at line 264 of file MPAssembly/BoxElemPart.hpp.

size_t Kokkos::Example::BoxElemPart::m_global_rank
private

Definition at line 265 of file MPAssembly/BoxElemPart.hpp.

size_t Kokkos::Example::BoxElemPart::m_global_elem_box[3][2]
private

Definition at line 270 of file MPAssembly/BoxElemPart.hpp.

size_t Kokkos::Example::BoxElemPart::m_global_node_box[3][2]
private

Definition at line 271 of file MPAssembly/BoxElemPart.hpp.

size_t Kokkos::Example::BoxElemPart::m_uses_elem_box[3][2]
private

Definition at line 272 of file MPAssembly/BoxElemPart.hpp.

size_t Kokkos::Example::BoxElemPart::m_uses_node_box[3][2]
private

Definition at line 273 of file MPAssembly/BoxElemPart.hpp.

size_t Kokkos::Example::BoxElemPart::m_owns_node_box[PROC_NEIGH_MAX][3][2]
private

Definition at line 276 of file MPAssembly/BoxElemPart.hpp.

size_t Kokkos::Example::BoxElemPart::m_owns_node[PROC_NEIGH_MAX][2]
private

Definition at line 277 of file MPAssembly/BoxElemPart.hpp.

size_t Kokkos::Example::BoxElemPart::m_owns_node_count
private

Definition at line 278 of file MPAssembly/BoxElemPart.hpp.

size_t Kokkos::Example::BoxElemPart::m_send_node_box[PROC_NEIGH_MAX][3][2]
private

Definition at line 280 of file MPAssembly/BoxElemPart.hpp.

size_t Kokkos::Example::BoxElemPart::m_send_node[PROC_NEIGH_MAX][2]
private

Definition at line 281 of file MPAssembly/BoxElemPart.hpp.

size_t Kokkos::Example::BoxElemPart::m_send_node_count
private

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

bool Kokkos::Example::BoxElemPart::m_ok
private

Definition at line 284 of file MPAssembly/BoxElemPart.hpp.


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