IOSS  2.0
Iopx::DecompositionData< INT > Class Template Reference

#include <Iopx_DatabaseIO.h>

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
 
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::SetDecompositionDataget_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< INTm_decomposition
 
- Public Attributes inherited from Iopx::DecompositionDataBase
MPI_Comm comm_
 
int m_processor
 
int m_processorCount
 
std::vector< Ioss::BlockDecompositionDatael_blocks
 
std::vector< Ioss::SetDecompositionDatanode_sets
 
std::vector< Ioss::SetDecompositionDataside_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_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

◆ 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

◆ decomp_elem_offset()

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

◆ decomp_node_count()

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

◆ decomp_node_offset()

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

◆ decompose_model()

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

◆ 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

◆ 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

◆ 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_commset_node_size()

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

◆ 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

◆ 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

◆ 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

◆ global_elem_count()

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

◆ global_node_count()

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

◆ 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

◆ 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

◆ ioss_node_count()

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

◆ 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

◆ 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: