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

Member Enumeration Documentation

Enumerator
DecomposeNode 
DecomposeElem 
DecomposeNode 
DecomposeElem 

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

Enumerator
ElemLinear 
ElemQuadratic 
ElemLinear 
ElemQuadratic 

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

anonymous enum
private
Enumerator
PROC_NEIGH_MAX 

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

Enumerator
DecomposeNode 
DecomposeElem 
DecomposeNode 
DecomposeElem 

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

Enumerator
ElemLinear 
ElemQuadratic 
ElemLinear 
ElemQuadratic 

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

anonymous enum
private
Enumerator
PROC_NEIGH_MAX 

Definition at line 284 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 160 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 160 of file MPAssembly/BoxElemPart.cpp.

Member Function Documentation

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

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

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

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

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

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

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

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

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

Definition at line 141 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 147 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 157 of file FadMPAssembly/BoxElemPart.hpp.

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

Definition at line 170 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 176 of file FadMPAssembly/BoxElemPart.hpp.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Definition at line 317 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 116 of file FadMPAssembly/BoxElemPart.cpp.

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

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

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

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

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

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

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

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

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

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

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

Definition at line 143 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 149 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 159 of file MPAssembly/BoxElemPart.hpp.

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

Definition at line 172 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 178 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 194 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 215 of file MPAssembly/BoxElemPart.hpp.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Definition at line 255 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 116 of file MPAssembly/BoxElemPart.cpp.

Member Data Documentation

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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