IOSS 2.0

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

`#include <Iopx_DatabaseIO.h>`

Inheritance diagram for Iopx::DecompositionData< INT >:
[legend]
Collaboration diagram for Iopx::DecompositionData< INT >:
[legend]

## Public Member Functions
| DecompositionData (const Ioss::PropertyManager &props, MPI_Comm communicator)
| ~DecompositionData ()
int | int_size () const
void | decompose_model (int filePtr)
int | spatial_dimension () const
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 | decomp_node_offset () const
size_t | decomp_node_count () const
size_t | decomp_elem_offset () const
size_t | decomp_elem_count () const
std::vector< double > & | centroids ()
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 Ioss::SetDecompositionData &set, size_t comp_count) const
template<typename T >
void | communicate_node_data (T *file_data, T *ioss_data, size_t comp_count) const
void | get_block_connectivity (int filePtr, INT *data, int64_t id, size_t blk_seq, size_t nnpe) const
| relates DecompositionData::get_block_connectivity More...
size_t | get_commset_node_size () const
int | get_attr (int filePtr, ex_entity_type obj_type, ex_entity_id id, size_t attr_count, double *attrib) const
int | get_one_attr (int filePtr, ex_entity_type obj_type, ex_entity_id id, int attrib_index, double *attrib) const
int | get_var (int filePtr, int step, ex_entity_type type, int var_index, ex_entity_id id, int64_t num_entity, std::vector< double > &data) const
template<typename T >
int | get_set_mesh_var (int filePtr, ex_entity_type type, ex_entity_id id, const Ioss::Field &field, T *ioss_data) const
size_t | get_block_seq (ex_entity_type type, ex_entity_id id) const
size_t | get_block_element_count (size_t blk_seq) const
size_t | get_block_element_offset (size_t blk_seq) const
void | create_implicit_global_map (const std::vector< int > &owning_proc, std::vector< int64_t > &global_implicit_map, Ioss::Map &node_map, int64_t *locally_owned_count, int64_t *processor_offset)
Public Member Functions inherited from Iopx::DecompositionDataBase
| DecompositionDataBase (MPI_Comm comm)
virtual | ~DecompositionDataBase ()
const Ioss::SetDecompositionData & | get_decomp_set (ex_entity_type type, ex_entity_id id) const
template<typename T >
void | communicate_node_data (T *file_data, T *ioss_data, size_t comp_count) const
template<typename T >
void | communicate_element_data (T *file_data, T *ioss_data, size_t comp_count) const
void | get_block_connectivity (int filePtr, void *data, int64_t id, size_t blk_seq, size_t nnpe) const
void | get_node_entity_proc_data (void *entity_proc, const Ioss::MapContainer &node_map, bool do_map) const
int | get_set_mesh_var (int filePtr, ex_entity_type type, ex_entity_id id, const Ioss::Field &field, void *ioss_data) const
int | get_set_mesh_double (int filePtr, ex_entity_type type, ex_entity_id id, const Ioss::Field &field, double *ioss_data) const

## Public Attributes
Ioss::Decomposition< INT > | m_decomposition
Public Attributes inherited from Iopx::DecompositionDataBase
MPI_Comm | comm_
int | m_processor
int | m_processorCount
std::vector< Ioss::BlockDecompositionData > | el_blocks
std::vector< Ioss::SetDecompositionData > | node_sets
std::vector< Ioss::SetDecompositionData > | side_sets

## Private Member Functions
void | zoltan_decompose (const std::string &method)
void | metis_decompose (const std::string &method, const std::vector< INT > &element_dist)
void | internal_metis_decompose (const std::string &method, idx_t *element_dist, idx_t *pointer, idx_t *adjacency, idx_t *elem_partition)
void | simple_decompose (const std::string &method, const std::vector< INT > &element_dist)
void | simple_node_decompose (const std::string &method, const std::vector< INT > &node_dist)
template<typename T >
int | handle_sset_df (int filePtr, ex_entity_id id, const Ioss::Field &field, T *ioss_data) const
int | get_one_set_attr (int filePtr, ex_entity_type type, ex_entity_id id, int attr_index, double *ioss_data) const
int | get_one_node_attr (int filePtr, ex_entity_id id, int attr_index, double *ioss_data) const
int | get_one_elem_attr (int filePtr, ex_entity_id id, int attr_index, double *ioss_data) const
int | get_set_attr (int filePtr, ex_entity_type type, ex_entity_id id, size_t comp_count, double *ioss_data) const
int | get_node_attr (int filePtr, ex_entity_id id, size_t comp_count, double *ioss_data) const
int | get_elem_attr (int filePtr, ex_entity_id id, size_t comp_count, double *ioss_data) const
int | get_node_var (int filePtr, int step, int var_index, ex_entity_id id, int64_t num_entity, std::vector< double > &ioss_data) const
int | get_elem_var (int filePtr, int step, int var_index, ex_entity_id id, int64_t num_entity, std::vector< double > &ioss_data) const
int | get_set_var (int filePtr, int step, int var_index, ex_entity_type type, ex_entity_id id, int64_t num_entity, std::vector< double > &ioss_data) const
bool | i_own_node (size_t node) const
bool | i_own_elem (size_t elem) const
size_t | node_global_to_local (size_t global_index) const
size_t | elem_global_to_local (size_t global_index) const
void | build_global_to_local_elem_map ()
void | get_element_block_communication ()
void | generate_adjacency_list (int filePtr, Ioss::Decomposition< INT > &decomposition)
void | get_common_set_data (int filePtr, ex_entity_type set_type, std::vector< Ioss::SetDecompositionData > &sets, const std::string &set_type_name)
void | get_nodeset_data (int filePtr, size_t set_count)
void | get_sideset_data (int filePtr, size_t set_count)
void | calculate_element_centroids (int filePtr, const std::vector< INT > &node_dist)
void | get_local_element_list (const ZOLTAN_ID_PTR &export_global_ids, size_t export_count)
void | get_shared_node_list ()
int | get_node_coordinates (int filePtr, double *ioss_data, const Ioss::Field &field) const
void | get_local_node_list ()

## Constructor & Destructor Documentation

## ◆ DecompositionData()

template<typename INT >

Iopx::DecompositionData< INT >::DecompositionData | ( | const Ioss::PropertyManager & | props,
|  | MPI_Comm | communicator
| ) |  |

## ◆ ~DecompositionData()

template<typename INT >

Iopx::DecompositionData< INT >::~DecompositionData | ( |  | ) |
| inline

## Member Function Documentation

## ◆ build_global_to_local_elem_map()

template<typename INT >

void Iopx::DecompositionData< INT >::build_global_to_local_elem_map | ( |  | ) |
| inlineprivate

## ◆ calculate_element_centroids()

template<typename INT >

void Iopx::DecompositionData< INT >::calculate_element_centroids | ( | int | filePtr,
|  | const std::vector< INT > & | node_dist
| ) |  |
| private

## ◆ centroids()

template<typename INT >

std::vector<double>& Iopx::DecompositionData< INT >::centroids | ( |  | ) |
| inlinevirtual

Implements Iopx::DecompositionDataBase.

## ◆ communicate_element_data()

template<typename INT >
template<typename T >

void Iopx::DecompositionData< INT >::communicate_element_data | ( | T * | file_data,
|  | T * | ioss_data,
|  | size_t | comp_count
| ) |  | const
| inline

## ◆ communicate_node_data()

template<typename INT >
template<typename T >

void Iopx::DecompositionData< INT >::communicate_node_data | ( | T * | file_data,
|  | T * | ioss_data,
|  | size_t | comp_count
| ) |  | const
| inline

## ◆ communicate_set_data()

template<typename INT >
template<typename T >

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

## ◆ create_implicit_global_map()

template<typename INT >

void Iopx::DecompositionData< INT >::create_implicit_global_map | ( | const std::vector< int > & | owning_proc,
|  | std::vector< int64_t > & | global_implicit_map,
|  | Ioss::Map & | node_map,
|  | int64_t * | locally_owned_count,
|  | int64_t * | processor_offset
| ) |  |

## ◆ decomp_elem_count()

template<typename INT >

size_t Iopx::DecompositionData< INT >::decomp_elem_count | ( |  | ) | const
| inlinevirtual

Implements Iopx::DecompositionDataBase.

## ◆ decomp_elem_offset()

template<typename INT >

size_t Iopx::DecompositionData< INT >::decomp_elem_offset | ( |  | ) | const
| inlinevirtual

Implements Iopx::DecompositionDataBase.

## ◆ decomp_node_count()

template<typename INT >

size_t Iopx::DecompositionData< INT >::decomp_node_count | ( |  | ) | const
| inlinevirtual

Implements Iopx::DecompositionDataBase.

## ◆ decomp_node_offset()

template<typename INT >

size_t Iopx::DecompositionData< INT >::decomp_node_offset | ( |  | ) | const
| inlinevirtual

Implements Iopx::DecompositionDataBase.

## ◆ decompose_model()

template<typename INT >

void Iopx::DecompositionData< INT >::decompose_model | ( | int | filePtr | ) |
| virtual

Implements Iopx::DecompositionDataBase.

## ◆ elem_global_to_local()

template<typename INT >

size_t Iopx::DecompositionData< INT >::elem_global_to_local | ( | size_t | global_index | ) | const
| inlineprivate

## ◆ generate_adjacency_list()

template<typename INT >

void Iopx::DecompositionData< INT >::generate_adjacency_list | ( | int | filePtr,
|  | Ioss::Decomposition< INT > & | decomposition
| ) |  |
| private

## ◆ get_attr()

template<typename INT >

int Iopx::DecompositionData< INT >::get_attr | ( | int | filePtr,
|  | ex_entity_type | obj_type,
|  | ex_entity_id | id,
|  | size_t | attr_count,
|  | double * | attrib
| ) |  | const
| virtual

Implements Iopx::DecompositionDataBase.

## ◆ get_block_connectivity()

template<typename INT >

void Iopx::DecompositionData< INT >::get_block_connectivity | ( | int | filePtr,
|  | INT * | data,
|  | int64_t | id,
|  | size_t | blk_seq,
|  | size_t | nnpe
| ) |  | const

relates DecompositionData::get_block_connectivity

## ◆ get_block_element_count()

template<typename INT >

size_t Iopx::DecompositionData< INT >::get_block_element_count | ( | size_t | blk_seq | ) | const

## ◆ get_block_element_offset()

template<typename INT >

size_t Iopx::DecompositionData< INT >::get_block_element_offset | ( | size_t | blk_seq | ) | const

## ◆ get_block_seq()

template<typename INT >

size_t Iopx::DecompositionData< INT >::get_block_seq | ( | ex_entity_type | type,
|  | ex_entity_id | id
| ) |  | const

## ◆ get_common_set_data()

template<typename INT >

void Iopx::DecompositionData< INT >::get_common_set_data | ( | int | filePtr,
|  | ex_entity_type | set_type,
|  | std::vector< Ioss::SetDecompositionData< INT > > & | sets,
|  | const std::string & | set_type_name
| ) |  |
| private

## ◆ get_commset_node_size()

template<typename INT >

size_t Iopx::DecompositionData< INT >::get_commset_node_size | ( |  | ) | const
| inlinevirtual

Implements Iopx::DecompositionDataBase.

## ◆ get_elem_attr()

template<typename INT >

int Iopx::DecompositionData< INT >::get_elem_attr | ( | int | filePtr,
|  | ex_entity_id | id,
|  | size_t | comp_count,
|  | double * | ioss_data
| ) |  | const
| private

## ◆ get_elem_var()

template<typename INT >

int Iopx::DecompositionData< INT >::get_elem_var | ( | int | filePtr,
|  | int | step,
|  | int | var_index,
|  | ex_entity_id | id,
|  | int64_t | num_entity,
|  | std::vector< double > & | ioss_data
| ) |  | const
| private

## ◆ get_element_block_communication()

template<typename INT >

void Iopx::DecompositionData< INT >::get_element_block_communication | ( |  | ) |
| inlineprivate

## ◆ get_local_element_list()

template<typename INT >

void Iopx::DecompositionData< INT >::get_local_element_list | ( | const ZOLTAN_ID_PTR & | export_global_ids,
|  | size_t | export_count
| ) |  |
| private

## ◆ get_local_node_list()

template<typename INT >

void Iopx::DecompositionData< INT >::get_local_node_list | ( |  | ) |
| inlineprivate

## ◆ get_node_attr()

template<typename INT >

int Iopx::DecompositionData< INT >::get_node_attr | ( | int | filePtr,
|  | ex_entity_id | id,
|  | size_t | comp_count,
|  | double * | ioss_data
| ) |  | const
| private

## ◆ get_node_coordinates()

template<typename INT >

int Iopx::DecompositionData< INT >::get_node_coordinates | ( | int | filePtr,
|  | double * | ioss_data,
|  | const Ioss::Field & | field
| ) |  | const
| privatevirtual

Implements Iopx::DecompositionDataBase.

## ◆ get_node_var()

template<typename INT >

int Iopx::DecompositionData< INT >::get_node_var | ( | int | filePtr,
|  | int | step,
|  | int | var_index,
|  | ex_entity_id | id,
|  | int64_t | num_entity,
|  | std::vector< double > & | ioss_data
| ) |  | const
| private

## ◆ get_nodeset_data()

template<typename INT >

void Iopx::DecompositionData< INT >::get_nodeset_data | ( | int | filePtr,
|  | size_t | set_count
| ) |  |
| private

## ◆ get_one_attr()

template<typename INT >

int Iopx::DecompositionData< INT >::get_one_attr | ( | int | filePtr,
|  | ex_entity_type | obj_type,
|  | ex_entity_id | id,
|  | int | attrib_index,
|  | double * | attrib
| ) |  | const
| virtual

Implements Iopx::DecompositionDataBase.

## ◆ get_one_elem_attr()

template<typename INT >

int Iopx::DecompositionData< INT >::get_one_elem_attr | ( | int | filePtr,
|  | ex_entity_id | id,
|  | int | attr_index,
|  | double * | ioss_data
| ) |  | const
| private

## ◆ get_one_node_attr()

template<typename INT >

int Iopx::DecompositionData< INT >::get_one_node_attr | ( | int | filePtr,
|  | ex_entity_id | id,
|  | int | attr_index,
|  | double * | ioss_data
| ) |  | const
| private

## ◆ get_one_set_attr()

template<typename INT >

int Iopx::DecompositionData< INT >::get_one_set_attr | ( | int | filePtr,
|  | ex_entity_type | type,
|  | ex_entity_id | id,
|  | int | attr_index,
|  | double * | ioss_data
| ) |  | const
| private

## ◆ get_set_attr()

template<typename INT >

int Iopx::DecompositionData< INT >::get_set_attr | ( | int | filePtr,
|  | ex_entity_type | type,
|  | ex_entity_id | id,
|  | size_t | comp_count,
|  | double * | ioss_data
| ) |  | const
| private

## ◆ get_set_mesh_var()

template<typename INT >
template<typename T >

int Iopx::DecompositionData< INT >::get_set_mesh_var | ( | int | filePtr,
|  | ex_entity_type | type,
|  | ex_entity_id | id,
|  | const Ioss::Field & | field,
|  | T * | ioss_data
| ) |  | const

## ◆ get_set_var()

template<typename INT >

int Iopx::DecompositionData< INT >::get_set_var | ( | int | filePtr,
|  | int | step,
|  | int | var_index,
|  | ex_entity_type | type,
|  | ex_entity_id | id,
|  | int64_t | num_entity,
|  | std::vector< double > & | ioss_data
| ) |  | const
| private

## ◆ get_shared_node_list()

template<typename INT >

void Iopx::DecompositionData< INT >::get_shared_node_list | ( |  | ) |
| inlineprivate

## ◆ get_sideset_data()

template<typename INT >

void Iopx::DecompositionData< INT >::get_sideset_data | ( | int | filePtr,
|  | size_t | set_count
| ) |  |
| private

## ◆ get_var()

template<typename INT >

int Iopx::DecompositionData< INT >::get_var | ( | int | filePtr,
|  | int | step,
|  | ex_entity_type | type,
|  | int | var_index,
|  | ex_entity_id | id,
|  | int64_t | num_entity,
|  | std::vector< double > & | data
| ) |  | const
| virtual

Implements Iopx::DecompositionDataBase.

## ◆ global_elem_count()

template<typename INT >

size_t Iopx::DecompositionData< INT >::global_elem_count | ( |  | ) | const
| inlinevirtual

Implements Iopx::DecompositionDataBase.

## ◆ global_node_count()

template<typename INT >

size_t Iopx::DecompositionData< INT >::global_node_count | ( |  | ) | const
| inlinevirtual

Implements Iopx::DecompositionDataBase.

## ◆ handle_sset_df()

template<typename INT >
template<typename T >

int Iopx::DecompositionData< INT >::handle_sset_df | ( | int | filePtr,
|  | ex_entity_id | id,
|  | const Ioss::Field & | field,
|  | T * | ioss_data
| ) |  | const
| private

## ◆ i_own_elem()

template<typename INT >

bool Iopx::DecompositionData< INT >::i_own_elem | ( | size_t | elem | ) | const
| inlineprivate

## ◆ i_own_node()

template<typename INT >

bool Iopx::DecompositionData< INT >::i_own_node | ( | size_t | node | ) | const
| inlineprivate

## ◆ int_size()

template<typename INT >

int Iopx::DecompositionData< INT >::int_size | ( |  | ) | const
| inlinevirtual

Implements Iopx::DecompositionDataBase.

## ◆ internal_metis_decompose()

template<typename INT >

void Iopx::DecompositionData< INT >::internal_metis_decompose | ( | const std::string & | method,
|  | idx_t * | element_dist,
|  | idx_t * | pointer,
|  | idx_t * | adjacency,
|  | idx_t * | elem_partition
| ) |  |
| private

## ◆ ioss_elem_count()

template<typename INT >

size_t Iopx::DecompositionData< INT >::ioss_elem_count | ( |  | ) | const
| inlinevirtual

Implements Iopx::DecompositionDataBase.

## ◆ ioss_node_count()

template<typename INT >

size_t Iopx::DecompositionData< INT >::ioss_node_count | ( |  | ) | const
| inlinevirtual

Implements Iopx::DecompositionDataBase.

## ◆ metis_decompose()

template<typename INT >

void Iopx::DecompositionData< INT >::metis_decompose | ( | const std::string & | method,
|  | const std::vector< INT > & | element_dist
| ) |  |
| private

## ◆ node_global_to_local()

template<typename INT >

size_t Iopx::DecompositionData< INT >::node_global_to_local | ( | size_t | global_index | ) | const
| inlineprivate

## ◆ simple_decompose()

template<typename INT >

void Iopx::DecompositionData< INT >::simple_decompose | ( | const std::string & | method,
|  | const std::vector< INT > & | element_dist
| ) |  |
| inlineprivate

## ◆ simple_node_decompose()

template<typename INT >

void Iopx::DecompositionData< INT >::simple_node_decompose | ( | const std::string & | method,
|  | const std::vector< INT > & | node_dist
| ) |  |
| private

## ◆ spatial_dimension()

template<typename INT >

int Iopx::DecompositionData< INT >::spatial_dimension | ( |  | ) | const
| inlinevirtual

Implements Iopx::DecompositionDataBase.

## ◆ zoltan_decompose()

template<typename INT >

void Iopx::DecompositionData< INT >::zoltan_decompose | ( | const std::string & | method | ) |
| private

## Member Data Documentation

## ◆ m_decomposition

template<typename INT >

Ioss::Decomposition<INT> Iopx::DecompositionData< INT >::m_decomposition

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

- src/exo_par/Iopx_DatabaseIO.h
- src/exo_par/Iopx_DecompositionData.h
- src/exo_par/Iopx_DecompositionData.C