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

Member Enumeration Documentation

Enumerator
DecomposeNode 
DecomposeElem 
DecomposeNode 
DecomposeElem 

Definition at line 113 of file BoxElemPart.hpp.

Enumerator
ElemLinear 
ElemQuadratic 
ElemLinear 
ElemQuadratic 

Definition at line 114 of file BoxElemPart.hpp.

anonymous enum
private
Enumerator
PROC_NEIGH_MAX 

Definition at line 282 of file BoxElemPart.hpp.

Enumerator
DecomposeNode 
DecomposeElem 
DecomposeNode 
DecomposeElem 

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

Enumerator
ElemLinear 
ElemQuadratic 
ElemLinear 
ElemQuadratic 

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

anonymous enum
private
Enumerator
PROC_NEIGH_MAX 

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

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

Definition at line 129 of file BoxElemPart.hpp.

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

Definition at line 133 of file BoxElemPart.hpp.

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

Definition at line 137 of file BoxElemPart.hpp.

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

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

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

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

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

Definition at line 192 of file BoxElemPart.hpp.

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

Definition at line 213 of file BoxElemPart.hpp.

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

Definition at line 223 of file BoxElemPart.hpp.

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

Definition at line 226 of file BoxElemPart.hpp.

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

Definition at line 229 of file BoxElemPart.hpp.

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

Definition at line 234 of file BoxElemPart.hpp.

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

Definition at line 237 of file BoxElemPart.hpp.

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

Definition at line 240 of file BoxElemPart.hpp.

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

Definition at line 243 of file BoxElemPart.hpp.

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

Definition at line 253 of file BoxElemPart.hpp.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Definition at line 290 of file BoxElemPart.hpp.

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

Definition at line 291 of file BoxElemPart.hpp.

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

Definition at line 292 of file BoxElemPart.hpp.

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

Definition at line 294 of file BoxElemPart.hpp.

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

Definition at line 295 of file BoxElemPart.hpp.

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

Definition at line 296 of file BoxElemPart.hpp.

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

Definition at line 297 of file BoxElemPart.hpp.

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

Definition at line 300 of file BoxElemPart.hpp.

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

Definition at line 301 of file BoxElemPart.hpp.

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

Definition at line 302 of file BoxElemPart.hpp.

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

Definition at line 304 of file BoxElemPart.hpp.

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

Definition at line 305 of file BoxElemPart.hpp.

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: