IOSS 2.0
Loading...
Searching...
No Matches
Iotm::text_mesh::SidesetSplitter< EntityId, Topology > Class Template Reference

#include <Iotm_TextMeshSidesetSplitter.h>

Classes

struct  SplitData
 

Public Member Functions

 SidesetSplitter (SplitType splitType)
 
 SidesetSplitter ()
 
void set_error_handler (ErrorHandler errorHandler)
 
void split (const SidesetData< EntityId, Topology > &sideset, const std::vector< ElementData< EntityId, Topology > > &elementData)
 
std::vector< SideBlockInfoget_side_block_info () const
 
std::vector< size_t > get_indices_local_to_proc (const std::vector< size_t > &index, int proc) const
 
SideBlockInfo get_side_block_info (const std::string &name) const
 
SplitType get_split_type () const
 
void set_split_type (SplitType inputSplitType)
 

Private Types

using Criterion
 

Private Member Functions

void build_index_proc_map (const SidesetData< EntityId, Topology > &sideset, const std::vector< ElementData< EntityId, Topology > > &elementData)
 
bool is_index_local_to_proc (size_t elemPairIndex, int proc) const
 
void fill_split_data (std::string key, size_t index, const ElementData< EntityId, Topology > &elemData, int side)
 
void split_by_criterion (const SidesetData< EntityId, Topology > &sideset, const std::vector< ElementData< EntityId, Topology > > &elementData, Criterion criterion)
 
void split_by_topology (const SidesetData< EntityId, Topology > &sideset, const std::vector< ElementData< EntityId, Topology > > &elementData)
 
void split_by_element_block (const SidesetData< EntityId, Topology > &sideset, const std::vector< ElementData< EntityId, Topology > > &elementData)
 
void split_by_no_split (const SidesetData< EntityId, Topology > &sideset, const std::vector< ElementData< EntityId, Topology > > &)
 

Private Attributes

SplitType m_splitType {INVALID_SPLIT}
 
std::string m_sidesetName {}
 
std::unordered_map< size_t, int > m_indexProcMap
 
std::unordered_map< std::string, SplitDatam_splitMap
 
ErrorHandler m_errorHandler
 

Member Typedef Documentation

◆ Criterion

template<typename EntityId , typename Topology >
using Iotm::text_mesh::SidesetSplitter< EntityId, Topology >::Criterion
private
Initial value:
std::function<std::string(const SidesetData<EntityId, Topology> &sideset,
const ElementData<EntityId, Topology> &elemData, int side)>
Definition Iotm_TextMeshDataTypes.h:277
Definition Iotm_TextMeshSideset.h:44

Constructor & Destructor Documentation

◆ SidesetSplitter() [1/2]

template<typename EntityId , typename Topology >
Iotm::text_mesh::SidesetSplitter< EntityId, Topology >::SidesetSplitter ( SplitType splitType)
inlineexplicit

◆ SidesetSplitter() [2/2]

template<typename EntityId , typename Topology >
Iotm::text_mesh::SidesetSplitter< EntityId, Topology >::SidesetSplitter ( )
inline

Member Function Documentation

◆ build_index_proc_map()

template<typename EntityId , typename Topology >
void Iotm::text_mesh::SidesetSplitter< EntityId, Topology >::build_index_proc_map ( const SidesetData< EntityId, Topology > & sideset,
const std::vector< ElementData< EntityId, Topology > > & elementData )
inlineprivate

◆ fill_split_data()

template<typename EntityId , typename Topology >
void Iotm::text_mesh::SidesetSplitter< EntityId, Topology >::fill_split_data ( std::string key,
size_t index,
const ElementData< EntityId, Topology > & elemData,
int side )
inlineprivate

◆ get_indices_local_to_proc()

template<typename EntityId , typename Topology >
std::vector< size_t > Iotm::text_mesh::SidesetSplitter< EntityId, Topology >::get_indices_local_to_proc ( const std::vector< size_t > & index,
int proc ) const
inline

◆ get_side_block_info() [1/2]

template<typename EntityId , typename Topology >
std::vector< SideBlockInfo > Iotm::text_mesh::SidesetSplitter< EntityId, Topology >::get_side_block_info ( ) const
inline

◆ get_side_block_info() [2/2]

template<typename EntityId , typename Topology >
SideBlockInfo Iotm::text_mesh::SidesetSplitter< EntityId, Topology >::get_side_block_info ( const std::string & name) const
inline

◆ get_split_type()

template<typename EntityId , typename Topology >
SplitType Iotm::text_mesh::SidesetSplitter< EntityId, Topology >::get_split_type ( ) const
inline

◆ is_index_local_to_proc()

template<typename EntityId , typename Topology >
bool Iotm::text_mesh::SidesetSplitter< EntityId, Topology >::is_index_local_to_proc ( size_t elemPairIndex,
int proc ) const
inlineprivate

◆ set_error_handler()

template<typename EntityId , typename Topology >
void Iotm::text_mesh::SidesetSplitter< EntityId, Topology >::set_error_handler ( ErrorHandler errorHandler)
inline

◆ set_split_type()

template<typename EntityId , typename Topology >
void Iotm::text_mesh::SidesetSplitter< EntityId, Topology >::set_split_type ( SplitType inputSplitType)
inline

◆ split()

template<typename EntityId , typename Topology >
void Iotm::text_mesh::SidesetSplitter< EntityId, Topology >::split ( const SidesetData< EntityId, Topology > & sideset,
const std::vector< ElementData< EntityId, Topology > > & elementData )
inline

◆ split_by_criterion()

template<typename EntityId , typename Topology >
void Iotm::text_mesh::SidesetSplitter< EntityId, Topology >::split_by_criterion ( const SidesetData< EntityId, Topology > & sideset,
const std::vector< ElementData< EntityId, Topology > > & elementData,
Criterion criterion )
inlineprivate

◆ split_by_element_block()

template<typename EntityId , typename Topology >
void Iotm::text_mesh::SidesetSplitter< EntityId, Topology >::split_by_element_block ( const SidesetData< EntityId, Topology > & sideset,
const std::vector< ElementData< EntityId, Topology > > & elementData )
inlineprivate

◆ split_by_no_split()

template<typename EntityId , typename Topology >
void Iotm::text_mesh::SidesetSplitter< EntityId, Topology >::split_by_no_split ( const SidesetData< EntityId, Topology > & sideset,
const std::vector< ElementData< EntityId, Topology > > &  )
inlineprivate

◆ split_by_topology()

template<typename EntityId , typename Topology >
void Iotm::text_mesh::SidesetSplitter< EntityId, Topology >::split_by_topology ( const SidesetData< EntityId, Topology > & sideset,
const std::vector< ElementData< EntityId, Topology > > & elementData )
inlineprivate

Member Data Documentation

◆ m_errorHandler

template<typename EntityId , typename Topology >
ErrorHandler Iotm::text_mesh::SidesetSplitter< EntityId, Topology >::m_errorHandler
private

◆ m_indexProcMap

template<typename EntityId , typename Topology >
std::unordered_map<size_t, int> Iotm::text_mesh::SidesetSplitter< EntityId, Topology >::m_indexProcMap
private

◆ m_sidesetName

template<typename EntityId , typename Topology >
std::string Iotm::text_mesh::SidesetSplitter< EntityId, Topology >::m_sidesetName {}
private

◆ m_splitMap

template<typename EntityId , typename Topology >
std::unordered_map<std::string, SplitData> Iotm::text_mesh::SidesetSplitter< EntityId, Topology >::m_splitMap
private

◆ m_splitType

template<typename EntityId , typename Topology >
SplitType Iotm::text_mesh::SidesetSplitter< EntityId, Topology >::m_splitType {INVALID_SPLIT}
private

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