IOSS 2.0

Public Member Functions | Public Attributes | Private Attributes | List of all members
Ioss::Decomposition< INT > Class Template Reference

`#include <Iocgns_DecompositionData.h>`

## Public Member Functions
| Decomposition (const Ioss::PropertyManager &props, MPI_Comm comm)
size_t | global_node_count () const
size_t | global_elem_count () const
size_t | ioss_node_count () const
size_t | ioss_elem_count () const
size_t | file_node_count () const
size_t | file_elem_count () const
size_t | file_node_offset () const
size_t | file_elem_offset () const
bool | needs_centroids () const
void | generate_entity_distributions (size_t globalNodeCount, size_t globalElementCount)
bool | i_own_node (size_t global_index) const
bool | i_own_elem (size_t global_index) const
size_t | node_global_to_local (size_t global_index) const
size_t | elem_global_to_local (size_t global_index) const
void | show_progress (const std::string &message) const
void | decompose_model (Zoltan &zz, std::vector< BlockDecompositionData > &element_blocks)
void | simple_decompose ()
void | simple_node_decompose ()
void | calculate_element_centroids (const std::vector< double > &x, const std::vector< double > &y, const std::vector< double > &z)
void | zoltan_decompose (Zoltan &zz)
void | get_local_element_list (const ZOLTAN_ID_PTR &export_global_ids, size_t export_count)
void | metis_decompose (idx_t *pointer, idx_t *adjacency, std::vector< BlockDecompositionData > &el_blocks)
void | internal_metis_decompose (std::vector< BlockDecompositionData > &el_blocks, idx_t *element_dist, idx_t *pointer, idx_t *adjacency, idx_t *elem_partition)
void | get_node_entity_proc_data (INT *entity_proc, const Ioss::MapContainer &node_map, bool do_map) const
void | get_element_block_communication (std::vector< BlockDecompositionData > &el_blocks)
void | build_global_to_local_elem_map ()
void | get_local_node_list ()
void | get_shared_node_list ()
template<typename T >
void | communicate_element_data (T *file_data, T *ioss_data, size_t comp_count) const
template<typename T >
void | communicate_set_data (T *file_data, T *ioss_data, const SetDecompositionData &set, size_t comp_count) const
template<typename T , typename U >
void | communicate_block_data (T *file_data, U *ioss_data, const BlockDecompositionData &block, size_t comp_count) const
template<typename T >
void | communicate_node_data (T *file_data, T *ioss_data, size_t comp_count) const

## Public Attributes
MPI_Comm | m_comm
int | m_processor {}
int | m_processorCount {}
std::string | m_method
int | m_spatialDimension {3}
size_t | m_globalElementCount {0}
size_t | m_elementCount {0}
size_t | m_elementOffset {0}
size_t | m_importPreLocalElemIndex {0}
size_t | m_globalNodeCount {0}
size_t | m_nodeCount {0}
size_t | m_nodeOffset {0}
size_t | m_importPreLocalNodeIndex {0}
bool | m_retainFreeNodes {true}
bool | m_showProgress {false}
bool | m_showHWM {false}
std::vector< double > | m_centroids
std::vector< INT > | m_pointer
std::vector< INT > | m_adjacency
std::vector< INT > | m_nodeCommMap
std::vector< size_t > | m_fileBlockIndex

## Private Attributes
std::vector< INT > | localElementMap
std::vector< INT > | importElementMap
std::vector< INT > | importElementCount
std::vector< INT > | importElementIndex
std::vector< INT > | exportElementMap
std::vector< INT > | exportElementCount
std::vector< INT > | exportElementIndex
std::vector< INT > | nodeIndex
std::vector< INT > | exportNodeMap
std::vector< INT > | exportNodeCount
std::vector< INT > | exportNodeIndex
std::vector< INT > | importNodeMap
std::vector< INT > | importNodeCount
std::vector< INT > | importNodeIndex
std::vector< INT > | localNodeMap
std::vector< INT > | m_elementDist
std::vector< INT > | m_nodeDist
std::vector< INT > | nodeGTL
std::map< INT, INT > | elemGTL

## Constructor & Destructor Documentation

## ◆ Decomposition()

template<typename INT >

Ioss::Decomposition< INT >::Decomposition | ( | const Ioss::PropertyManager & | props,
|  | MPI_Comm | comm
| ) |  |

## Member Function Documentation

## ◆ build_global_to_local_elem_map()

template<typename INT >

void Ioss::Decomposition< INT >::build_global_to_local_elem_map | ( |  | ) |

## ◆ calculate_element_centroids()

template<typename INT >

void Ioss::Decomposition< INT >::calculate_element_centroids | ( | const std::vector< double > & | x,
|  | const std::vector< double > & | y,
|  | const std::vector< double > & | z
| ) |  |

## ◆ communicate_block_data()

template<typename INT >
template<typename T , typename U >

void Ioss::Decomposition< INT >::communicate_block_data | ( | T * | file_data,
|  | U * | ioss_data,
|  | const BlockDecompositionData & | block,
|  | size_t | comp_count
| ) |  | const

## ◆ communicate_element_data()

template<typename INT >
template<typename T >

void Ioss::Decomposition< INT >::communicate_element_data | ( | T * | file_data,
|  | T * | ioss_data,
|  | size_t | comp_count
| ) |  | const

## ◆ communicate_node_data()

template<typename INT >
template<typename T >

void Ioss::Decomposition< INT >::communicate_node_data | ( | T * | file_data,
|  | T * | ioss_data,
|  | size_t | comp_count
| ) |  | const

## ◆ communicate_set_data()

template<typename INT >
template<typename T >

void Ioss::Decomposition< INT >::communicate_set_data | ( | T * | file_data,
|  | T * | ioss_data,
|  | const SetDecompositionData & | set,
|  | size_t | comp_count
| ) |  | const

## ◆ decompose_model()

template<typename INT >

void Ioss::Decomposition< INT >::decompose_model | ( | Zoltan & | zz,
|  | std::vector< BlockDecompositionData > & | element_blocks
| ) |  |

## ◆ elem_global_to_local()

template<typename INT>

size_t Ioss::Decomposition< INT >::elem_global_to_local | ( | size_t | global_index | ) | const
| inline

## ◆ file_elem_count()

template<typename INT>

size_t Ioss::Decomposition< INT >::file_elem_count | ( |  | ) | const
| inline

## ◆ file_elem_offset()

template<typename INT>

size_t Ioss::Decomposition< INT >::file_elem_offset | ( |  | ) | const
| inline

## ◆ file_node_count()

template<typename INT>

size_t Ioss::Decomposition< INT >::file_node_count | ( |  | ) | const
| inline

## ◆ file_node_offset()

template<typename INT>

size_t Ioss::Decomposition< INT >::file_node_offset | ( |  | ) | const
| inline

## ◆ generate_entity_distributions()

template<typename INT >

void Ioss::Decomposition< INT >::generate_entity_distributions | ( | size_t | globalNodeCount,
|  | size_t | globalElementCount
| ) |  |

## ◆ get_element_block_communication()

template<typename INT >

void Ioss::Decomposition< INT >::get_element_block_communication | ( | std::vector< BlockDecompositionData > & | el_blocks | ) |

## ◆ get_local_element_list()

template<typename INT >

void Ioss::Decomposition< INT >::get_local_element_list | ( | const ZOLTAN_ID_PTR & | export_global_ids,
|  | size_t | export_count
| ) |  |

## ◆ get_local_node_list()

template<typename INT >

void Ioss::Decomposition< INT >::get_local_node_list | ( |  | ) |

## ◆ get_node_entity_proc_data()

template<typename INT >

void Ioss::Decomposition< INT >::get_node_entity_proc_data | ( | INT * | entity_proc,
|  | const Ioss::MapContainer & | node_map,
|  | bool | do_map
| ) |  | const

## ◆ get_shared_node_list()

template<typename INT >

void Ioss::Decomposition< INT >::get_shared_node_list | ( |  | ) |

## ◆ global_elem_count()

template<typename INT>

size_t Ioss::Decomposition< INT >::global_elem_count | ( |  | ) | const
| inline

## ◆ global_node_count()

template<typename INT>

size_t Ioss::Decomposition< INT >::global_node_count | ( |  | ) | const
| inline

## ◆ i_own_elem()

template<typename INT>

bool Ioss::Decomposition< INT >::i_own_elem | ( | size_t | global_index | ) | const
| inline

## ◆ i_own_node()

template<typename INT>

bool Ioss::Decomposition< INT >::i_own_node | ( | size_t | global_index | ) | const
| inline

## ◆ internal_metis_decompose()

template<typename INT >

void Ioss::Decomposition< INT >::internal_metis_decompose | ( | std::vector< BlockDecompositionData > & | el_blocks,
|  | idx_t * | element_dist,
|  | idx_t * | pointer,
|  | idx_t * | adjacency,
|  | idx_t * | elem_partition
| ) |  |

## ◆ ioss_elem_count()

template<typename INT>

size_t Ioss::Decomposition< INT >::ioss_elem_count | ( |  | ) | const
| inline

## ◆ ioss_node_count()

template<typename INT>

size_t Ioss::Decomposition< INT >::ioss_node_count | ( |  | ) | const
| inline

## ◆ metis_decompose()

template<typename INT >

void Ioss::Decomposition< INT >::metis_decompose | ( | idx_t * | pointer,
|  | idx_t * | adjacency,
|  | std::vector< BlockDecompositionData > & | el_blocks
| ) |  |

## ◆ needs_centroids()

template<typename INT >

bool Ioss::Decomposition< INT >::needs_centroids | ( |  | ) | const

## ◆ node_global_to_local()

template<typename INT>

size_t Ioss::Decomposition< INT >::node_global_to_local | ( | size_t | global_index | ) | const
| inline

## ◆ show_progress()

template<typename INT>

void Ioss::Decomposition< INT >::show_progress | ( | const std::string & | message | ) | const
| inline

## ◆ simple_decompose()

template<typename INT >

void Ioss::Decomposition< INT >::simple_decompose | ( |  | ) |

## ◆ simple_node_decompose()

template<typename INT >

void Ioss::Decomposition< INT >::simple_node_decompose | ( |  | ) |

## ◆ zoltan_decompose()

template<typename INT >

void Ioss::Decomposition< INT >::zoltan_decompose | ( | Zoltan & | zz | ) |

## Member Data Documentation

## ◆ elemGTL

template<typename INT>

std::map<INT, INT> Ioss::Decomposition< INT >::elemGTL
| private

## ◆ exportElementCount

template<typename INT>

std::vector<INT> Ioss::Decomposition< INT >::exportElementCount
| private

## ◆ exportElementIndex

template<typename INT>

std::vector<INT> Ioss::Decomposition< INT >::exportElementIndex
| private

## ◆ exportElementMap

template<typename INT>

std::vector<INT> Ioss::Decomposition< INT >::exportElementMap
| private

## ◆ exportNodeCount

template<typename INT>

std::vector<INT> Ioss::Decomposition< INT >::exportNodeCount
| private

## ◆ exportNodeIndex

template<typename INT>

std::vector<INT> Ioss::Decomposition< INT >::exportNodeIndex
| private

## ◆ exportNodeMap

template<typename INT>

std::vector<INT> Ioss::Decomposition< INT >::exportNodeMap
| private

## ◆ importElementCount

template<typename INT>

std::vector<INT> Ioss::Decomposition< INT >::importElementCount
| private

## ◆ importElementIndex

template<typename INT>

std::vector<INT> Ioss::Decomposition< INT >::importElementIndex
| private

## ◆ importElementMap

template<typename INT>

std::vector<INT> Ioss::Decomposition< INT >::importElementMap
| private

## ◆ importNodeCount

template<typename INT>

std::vector<INT> Ioss::Decomposition< INT >::importNodeCount
| private

## ◆ importNodeIndex

template<typename INT>

std::vector<INT> Ioss::Decomposition< INT >::importNodeIndex
| private

## ◆ importNodeMap

template<typename INT>

std::vector<INT> Ioss::Decomposition< INT >::importNodeMap
| private

## ◆ localElementMap

template<typename INT>

std::vector<INT> Ioss::Decomposition< INT >::localElementMap
| private

## ◆ localNodeMap

template<typename INT>

std::vector<INT> Ioss::Decomposition< INT >::localNodeMap
| private

## ◆ m_adjacency

template<typename INT>

std::vector<INT> Ioss::Decomposition< INT >::m_adjacency

## ◆ m_centroids

template<typename INT>

std::vector<double> Ioss::Decomposition< INT >::m_centroids

## ◆ m_comm

template<typename INT>

MPI_Comm Ioss::Decomposition< INT >::m_comm

## ◆ m_elementCount

template<typename INT>

size_t Ioss::Decomposition< INT >::m_elementCount {0}

## ◆ m_elementDist

template<typename INT>

std::vector<INT> Ioss::Decomposition< INT >::m_elementDist
| private

## ◆ m_elementOffset

template<typename INT>

size_t Ioss::Decomposition< INT >::m_elementOffset {0}

## ◆ m_fileBlockIndex

template<typename INT>

std::vector<size_t> Ioss::Decomposition< INT >::m_fileBlockIndex

## ◆ m_globalElementCount

template<typename INT>

size_t Ioss::Decomposition< INT >::m_globalElementCount {0}

## ◆ m_globalNodeCount

template<typename INT>

size_t Ioss::Decomposition< INT >::m_globalNodeCount {0}

## ◆ m_importPreLocalElemIndex

template<typename INT>

size_t Ioss::Decomposition< INT >::m_importPreLocalElemIndex {0}

## ◆ m_importPreLocalNodeIndex

template<typename INT>

size_t Ioss::Decomposition< INT >::m_importPreLocalNodeIndex {0}

## ◆ m_method

template<typename INT>

std::string Ioss::Decomposition< INT >::m_method

## ◆ m_nodeCommMap

template<typename INT>

std::vector<INT> Ioss::Decomposition< INT >::m_nodeCommMap

## ◆ m_nodeCount

template<typename INT>

size_t Ioss::Decomposition< INT >::m_nodeCount {0}

## ◆ m_nodeDist

template<typename INT>

std::vector<INT> Ioss::Decomposition< INT >::m_nodeDist
| private

## ◆ m_nodeOffset

template<typename INT>

size_t Ioss::Decomposition< INT >::m_nodeOffset {0}

## ◆ m_pointer

template<typename INT>

std::vector<INT> Ioss::Decomposition< INT >::m_pointer

## ◆ m_processor

template<typename INT>

int Ioss::Decomposition< INT >::m_processor {}

## ◆ m_processorCount

template<typename INT>

int Ioss::Decomposition< INT >::m_processorCount {}

## ◆ m_retainFreeNodes

template<typename INT>

bool Ioss::Decomposition< INT >::m_retainFreeNodes {true}

## ◆ m_showHWM

template<typename INT>

bool Ioss::Decomposition< INT >::m_showHWM {false}

## ◆ m_showProgress

template<typename INT>

bool Ioss::Decomposition< INT >::m_showProgress {false}

## ◆ m_spatialDimension

template<typename INT>

int Ioss::Decomposition< INT >::m_spatialDimension {3}

## ◆ nodeGTL

template<typename INT>

std::vector<INT> Ioss::Decomposition< INT >::nodeGTL
| private

## ◆ nodeIndex

template<typename INT>

std::vector<INT> Ioss::Decomposition< INT >::nodeIndex
| private

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

- src/cgns/Iocgns_DecompositionData.h
- src/Ioss_Decomposition.h
- src/Ioss_Decomposition.C