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

Member Enumeration Documentation

Enumerator
DecomposeNode 
DecomposeElem 
DecomposeNode 
DecomposeElem 

Definition at line 86 of file BoxElemPart.hpp.

Enumerator
ElemLinear 
ElemQuadratic 
ElemLinear 
ElemQuadratic 

Definition at line 87 of file BoxElemPart.hpp.

anonymous enum
private
Enumerator
PROC_NEIGH_MAX 

Definition at line 255 of file BoxElemPart.hpp.

Enumerator
DecomposeNode 
DecomposeElem 
DecomposeNode 
DecomposeElem 

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

Enumerator
ElemLinear 
ElemQuadratic 
ElemLinear 
ElemQuadratic 

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

anonymous enum
private
Enumerator
PROC_NEIGH_MAX 

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

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

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

Definition at line 98 of file BoxElemPart.hpp.

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

Definition at line 102 of file BoxElemPart.hpp.

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

Definition at line 106 of file BoxElemPart.hpp.

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

Definition at line 110 of file BoxElemPart.hpp.

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

Definition at line 114 of file 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 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 BoxElemPart.hpp.

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

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

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

Definition at line 165 of file BoxElemPart.hpp.

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

Definition at line 186 of file BoxElemPart.hpp.

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

Definition at line 196 of file BoxElemPart.hpp.

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

Definition at line 199 of file BoxElemPart.hpp.

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

Definition at line 202 of file BoxElemPart.hpp.

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

Definition at line 207 of file BoxElemPart.hpp.

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

Definition at line 210 of file BoxElemPart.hpp.

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

Definition at line 213 of file BoxElemPart.hpp.

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

Definition at line 216 of file BoxElemPart.hpp.

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

Definition at line 226 of file BoxElemPart.hpp.

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

Definition at line 290 of file 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 BoxElemPart.cpp.

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

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

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

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

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

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

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

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

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

Definition at line 114 of file view/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 view/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 view/BoxElemPart.hpp.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

void Kokkos::Example::BoxElemPart::print ( std::ostream &  s) const
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

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

Definition at line 262 of file BoxElemPart.hpp.

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

Definition at line 263 of file BoxElemPart.hpp.

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

Definition at line 264 of file BoxElemPart.hpp.

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

Definition at line 265 of file BoxElemPart.hpp.

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

Definition at line 267 of file BoxElemPart.hpp.

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

Definition at line 268 of file BoxElemPart.hpp.

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

Definition at line 269 of file BoxElemPart.hpp.

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

Definition at line 270 of file BoxElemPart.hpp.

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

Definition at line 273 of file BoxElemPart.hpp.

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

Definition at line 274 of file BoxElemPart.hpp.

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

Definition at line 275 of file BoxElemPart.hpp.

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

Definition at line 277 of file BoxElemPart.hpp.

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

Definition at line 278 of file BoxElemPart.hpp.

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

Definition at line 279 of file BoxElemPart.hpp.


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