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

#include <Iocgns_DecompositionData.h>

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

Public Member Functions

 DecompositionData (const Ioss::PropertyManager &props, MPI_Comm communicator)
 
 ~DecompositionData ()
 
int int_size () const
 
void decompose_model (int filePtr, Ioss::MeshType mesh_type)
 
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
 
void communicate_set_data (INT *file_data, INT *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
 
template<typename U , typename T >
void communicate_block_data (U *file_data, T *ioss_data, const Ioss::BlockDecompositionData &block, size_t comp_count) const
 
void get_block_connectivity (int filePtr, INT *data, int blk_seq) const
 
void get_element_field (int filePtr, int solution_index, int blk_seq, int field_index, double *data) const
 
void get_node_field (int filePtr, int solution_index, int field_index, double *data) const
 
size_t get_commset_node_size () const
 
void get_sideset_element_side (int filePtr, const Ioss::SetDecompositionData &sset, INT *data) const
 
- Public Member Functions inherited from Iocgns::DecompositionDataBase
 DecompositionDataBase ()
 
virtual ~DecompositionDataBase ()
 
void get_block_connectivity (int filePtr, void *data, int blk_seq) const
 
void get_element_field (int filePtr, int solution_index, int blk_seq, int field_index, double *data) const
 
void get_node_field (int filePtr, int solution_index, int field_index, double *data) const
 
void get_node_entity_proc_data (void *entity_proc, const Ioss::MapContainer &node_map, bool do_map) const
 
template<typename T >
void communicate_element_data (T *file_data, T *ioss_data, 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_sideset_element_side (int filePtr, const Ioss::SetDecompositionData &sset, void *data) const
 

Public Attributes

Ioss::Decomposition< INTm_decomposition
 
- Public Attributes inherited from Iocgns::DecompositionDataBase
std::vector< ZoneDatam_zones
 
std::vector< Ioss::BlockDecompositionDatam_elementBlocks
 
std::vector< Ioss::SetDecompositionDatam_sideSets
 
std::vector< Iocgns::StructuredZoneData * > m_structuredZones
 
ZoneSharedMap m_zoneSharedMap
 

Private Member Functions

void decompose_structured (int filePtr)
 
void decompose_unstructured (int filePtr)
 
void get_sideset_data (int filePtr)
 
void generate_zone_shared_nodes (int filePtr, INT min_node, INT max_node)
 
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 fileId, Ioss::Decomposition< INT > &decomposition)
 
void calculate_element_centroids (int filePtr, std::vector< double > &centroids)
 
void get_shared_node_list ()
 
void get_local_node_list ()
 
void get_file_node_coordinates (int filePtr, int direction, double *ioss_data) const
 
void get_node_coordinates (int filePtr, double *ioss_data, const Ioss::Field &field) const
 

Private Attributes

double m_loadBalanceThreshold {1.4}
 
std::string m_lineDecomposition {}
 

Additional Inherited Members

- Public Types inherited from Iocgns::DecompositionDataBase
using ZoneSharedMap = tsl::robin_map< cgsize_t, cgsize_t >
 

Constructor & Destructor Documentation

◆ DecompositionData()

template<typename INT >
Iocgns::DecompositionData< INT >::DecompositionData ( const Ioss::PropertyManager props,
MPI_Comm  communicator 
)

◆ ~DecompositionData()

template<typename INT >
Iocgns::DecompositionData< INT >::~DecompositionData ( )
inline

Member Function Documentation

◆ build_global_to_local_elem_map()

template<typename INT >
void Iocgns::DecompositionData< INT >::build_global_to_local_elem_map ( )
inlineprivate

◆ calculate_element_centroids()

template<typename INT >
void Iocgns::DecompositionData< INT >::calculate_element_centroids ( int  filePtr,
std::vector< double > &  centroids 
)
private

◆ centroids()

template<typename INT >
std::vector<double>& Iocgns::DecompositionData< INT >::centroids ( )
inlinevirtual

◆ communicate_block_data()

template<typename INT >
template<typename U , typename T >
void Iocgns::DecompositionData< INT >::communicate_block_data ( U *  file_data,
T *  ioss_data,
const Ioss::BlockDecompositionData< INT > &  block,
size_t  comp_count 
) const
inline

◆ communicate_element_data()

template<typename INT >
template<typename T >
void Iocgns::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 Iocgns::DecompositionData< INT >::communicate_node_data ( T *  file_data,
T *  ioss_data,
size_t  comp_count 
) const
inline

◆ communicate_set_data()

template<typename INT >
void Iocgns::DecompositionData< INT >::communicate_set_data ( INT file_data,
INT ioss_data,
const Ioss::SetDecompositionData< INT > &  set,
size_t  comp_count 
) const
inline

◆ decomp_elem_count()

template<typename INT >
size_t Iocgns::DecompositionData< INT >::decomp_elem_count ( ) const
inlinevirtual

◆ decomp_elem_offset()

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

◆ decomp_node_count()

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

◆ decomp_node_offset()

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

◆ decompose_model()

template<typename INT >
void Iocgns::DecompositionData< INT >::decompose_model ( int  filePtr,
Ioss::MeshType  mesh_type 
)
virtual

◆ decompose_structured()

template<typename INT >
void Iocgns::DecompositionData< INT >::decompose_structured ( int  filePtr)
private

◆ decompose_unstructured()

template<typename INT >
void Iocgns::DecompositionData< INT >::decompose_unstructured ( int  filePtr)
private

◆ elem_global_to_local()

template<typename INT >
size_t Iocgns::DecompositionData< INT >::elem_global_to_local ( size_t  global_index) const
inlineprivate

◆ generate_adjacency_list()

template<typename INT >
void Iocgns::DecompositionData< INT >::generate_adjacency_list ( int  fileId,
Ioss::Decomposition< INT > &  decomposition 
)
private

◆ generate_zone_shared_nodes()

template<typename INT >
void Iocgns::DecompositionData< INT >::generate_zone_shared_nodes ( int  filePtr,
INT  min_node,
INT  max_node 
)
private

◆ get_block_connectivity()

template<typename INT >
void Iocgns::DecompositionData< INT >::get_block_connectivity ( int  filePtr,
INT data,
int  blk_seq 
) const

◆ get_commset_node_size()

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

◆ get_element_block_communication()

template<typename INT >
void Iocgns::DecompositionData< INT >::get_element_block_communication ( )
inlineprivate

◆ get_element_field()

template<typename INT >
void Iocgns::DecompositionData< INT >::get_element_field ( int  filePtr,
int  solution_index,
int  blk_seq,
int  field_index,
double *  data 
) const

◆ get_file_node_coordinates()

template<typename INT >
void Iocgns::DecompositionData< INT >::get_file_node_coordinates ( int  filePtr,
int  direction,
double *  ioss_data 
) const
private

◆ get_local_node_list()

template<typename INT >
void Iocgns::DecompositionData< INT >::get_local_node_list ( )
inlineprivate

◆ get_node_coordinates()

template<typename INT >
void Iocgns::DecompositionData< INT >::get_node_coordinates ( int  filePtr,
double *  ioss_data,
const Ioss::Field field 
) const
privatevirtual

◆ get_node_field()

template<typename INT >
void Iocgns::DecompositionData< INT >::get_node_field ( int  filePtr,
int  solution_index,
int  field_index,
double *  data 
) const

◆ get_shared_node_list()

template<typename INT >
void Iocgns::DecompositionData< INT >::get_shared_node_list ( )
inlineprivate

◆ get_sideset_data()

template<typename INT >
void Iocgns::DecompositionData< INT >::get_sideset_data ( int  filePtr)
private

◆ get_sideset_element_side()

template<typename INT >
void Iocgns::DecompositionData< INT >::get_sideset_element_side ( int  filePtr,
const Ioss::SetDecompositionData< INT > &  sset,
INT data 
) const

◆ global_elem_count()

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

◆ global_node_count()

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

◆ i_own_elem()

template<typename INT >
bool Iocgns::DecompositionData< INT >::i_own_elem ( size_t  elem) const
inlineprivate

◆ i_own_node()

template<typename INT >
bool Iocgns::DecompositionData< INT >::i_own_node ( size_t  node) const
inlineprivate

◆ int_size()

template<typename INT >
int Iocgns::DecompositionData< INT >::int_size ( ) const
inlinevirtual

◆ ioss_elem_count()

template<typename INT >
size_t Iocgns::DecompositionData< INT >::ioss_elem_count ( ) const
inlinevirtual

◆ ioss_node_count()

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

◆ node_global_to_local()

template<typename INT >
size_t Iocgns::DecompositionData< INT >::node_global_to_local ( size_t  global_index) const
inlineprivate

◆ spatial_dimension()

template<typename INT >
int Iocgns::DecompositionData< INT >::spatial_dimension ( ) const
inlinevirtual

Member Data Documentation

◆ m_decomposition

template<typename INT >
Ioss::Decomposition<INT> Iocgns::DecompositionData< INT >::m_decomposition

◆ m_lineDecomposition

template<typename INT >
std::string Iocgns::DecompositionData< INT >::m_lineDecomposition {}
private

◆ m_loadBalanceThreshold

template<typename INT >
double Iocgns::DecompositionData< INT >::m_loadBalanceThreshold {1.4}
private

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