Class storing data of the joint between domains residing different procs. It also provides services to pack/unpack data to be exchanged between proc and it creates MEDMEM.CONNECTZONE after data exchange. More...
#include <MEDSPLITTER_JointExchangeData.hxx>
Public Member Functions | |
| JointExchangeData () | |
| Initialization. | |
| void | addCellCorrespondence (const MEDMEM::MESH *mesh_here, int domain_dist, int domain_here, int glob_dist, int glob_here, int loc_here, int loc_dist=-1) |
| Stores cell/cell pair of joint between domains (residing different procs by default) | |
| int | nbCellPairs () const |
| void | setMeshes (int domain_dist, const MEDMEM::MESH *mesh_dist, int domain_here, const MEDMEM::MESH *mesh_here) |
| Set meshes. | |
| void | setConnectivity (const int *glob_fused_nodes) |
| Set local and global conncetivity of joint cells. | |
| int | distantDomain () const |
| int | localDomain () const |
| int | serialize (std::vector< int > &out_data) const |
| void | deserialize (const std::vector< int > &in_data) |
| Set starting global id for sub-entitis of joint to create. | |
| void | setFisrtGlobalIdOfSubentity (int id) |
| MEDMEM::MEDSKYLINEARRAY * | makeCellCorrespArray () const |
| Create cell/cell correspondency array of the joint. | |
| MEDMEM::CONNECTZONE * | makeConnectZone (TGeom2FacesByDomian &face_map) |
| Creates CONNECTZONE with MED_CELL and MED_NODE data filled. | |
Private Types | |
| typedef std::multimap< int, std::pair< int, int > > | TGlob2LocsHD |
Private Attributes | |
| TGlob2LocsHD | _glob_to_locs_here_and_dist |
| int | _dist_domain |
| int | _loc_domain |
| int | _conn_here_size |
| int | _nb_cell_pairs |
| int | _first_glob_sub_id |
| const MEDMEM::MESH * | _dist_mesh |
| const MEDMEM::MESH * | _loc_mesh |
| std::vector< int > | _global_conn_here |
| std::vector< int > | _global_conn_dist |
| std::vector< int > | _local_conn_here |
| std::vector< int > | _local_conn_dist |
Class storing data of the joint between domains residing different procs. It also provides services to pack/unpack data to be exchanged between proc and it creates MEDMEM.CONNECTZONE after data exchange.
typedef std::multimap<int, std::pair< int, int > > MEDSPLITTER.JointExchangeData.TGlob2LocsHD [private] |
| JointExchangeData::JointExchangeData | ( | ) |
Initialization.
| void JointExchangeData::addCellCorrespondence | ( | const MEDMEM::MESH * | mesh, |
| int | domain_dist, | ||
| int | domain_here, | ||
| int | glob_dist, | ||
| int | glob_here, | ||
| int | loc_here, | ||
| int | loc_dist = -1 |
||
| ) |
Stores cell/cell pair of joint between domains (residing different procs by default)
| mesh | - mesh on this proc |
| domain_dist | - distant domain |
| domain_here | - local domain |
| glob_dist | - global id of a distant domain |
| glob_here | - global id of a local domain |
| loc_here | - local id of a local domain (counted from 1) |
| loc_dist | - local id of a another domain (counted from 1) |
References MEDSPLITTER.JointExchangeData._conn_here_size, MEDSPLITTER.JointExchangeData._glob_to_locs_here_and_dist, MEDMEM.MESH.getElementType(), and MED_EN.MED_CELL.
| int MEDSPLITTER.JointExchangeData.nbCellPairs | ( | ) | const |
| void JointExchangeData::setMeshes | ( | int | domain_dist, |
| const MEDMEM::MESH * | mesh_dist, | ||
| int | domain_here, | ||
| const MEDMEM::MESH * | mesh_here | ||
| ) |
| void JointExchangeData::setConnectivity | ( | const int * | glob_fused_nodes | ) |
Set local and global conncetivity of joint cells.
References MEDSPLITTER.JointExchangeData._conn_here_size, MEDSPLITTER.JointExchangeData._glob_to_locs_here_and_dist, MEDSPLITTER.JointExchangeData._global_conn_here, MEDSPLITTER.JointExchangeData._loc_mesh, MEDSPLITTER.JointExchangeData._local_conn_here, testRenumbering.conn, MEDMEM.MESH.getConnectivity(), MEDMEM.MESH.getConnectivityIndex(), medClient_test.index, MED_EN.MED_ALL_ELEMENTS, MED_EN.MED_CELL, and MED_EN.MED_NODAL.
| int MEDSPLITTER.JointExchangeData.distantDomain | ( | ) | const |
References MEDSPLITTER.JointExchangeData._dist_domain.
| int MEDSPLITTER.JointExchangeData.localDomain | ( | ) | const |
References MEDSPLITTER.JointExchangeData._loc_domain.
| void JointExchangeData::deserialize | ( | const std::vector< int > & | in_data | ) |
Set starting global id for sub-entitis of joint to create.
Stores received data.
References MEDSPLITTER.JointExchangeData._dist_mesh, MEDSPLITTER.JointExchangeData._glob_to_locs_here_and_dist, MEDSPLITTER.JointExchangeData._global_conn_dist, MEDSPLITTER.JointExchangeData._local_conn_dist, MEDMEM.MESH.getElementType(), MED_EN.MED_CELL, and TestMedCorba2.n.
| void MEDSPLITTER.JointExchangeData.setFisrtGlobalIdOfSubentity | ( | int | id | ) |
References MEDSPLITTER.JointExchangeData._first_glob_sub_id, and testRenumbering.id.
| MEDMEM::MEDSKYLINEARRAY * JointExchangeData::makeCellCorrespArray | ( | ) | const |
Create cell/cell correspondency array of the joint.
References MEDSPLITTER.JointExchangeData._glob_to_locs_here_and_dist, MEDSPLITTER.JointExchangeData._loc_mesh, MEDMEM.MESH.getNumberOfElements(), MED_EN.MED_ALL_ELEMENTS, MED_EN.MED_CELL, and MED_EXCEPTION.
| MEDMEM::CONNECTZONE * JointExchangeData::makeConnectZone | ( | TGeom2FacesByDomian & | face_map | ) |
Creates CONNECTZONE with MED_CELL and MED_NODE data filled.
It must be exchanged with the corresponding joint on other proc using ParaDomainSelector.exchangeJoint()
References MEDSPLITTER.JointExchangeData._dist_domain, MEDSPLITTER.JointExchangeData._dist_mesh, MEDSPLITTER.JointExchangeData._first_glob_sub_id, MEDSPLITTER.JointExchangeData._glob_to_locs_here_and_dist, MEDSPLITTER.JointExchangeData._global_conn_dist, MEDSPLITTER.JointExchangeData._global_conn_here, MEDSPLITTER.JointExchangeData._loc_domain, MEDSPLITTER.JointExchangeData._loc_mesh, MEDSPLITTER.JointExchangeData._local_conn_dist, MEDSPLITTER.JointExchangeData._local_conn_here, MEDSPLITTER.MEDSPLITTER_FaceModel.getCommonFace(), MEDMEM.MESH.getElementType(), MEDSPLITTER.MEDSPLITTER_FaceModel.getType(), MEDSPLITTER.JointExchangeData.makeCellCorrespArray(), MED_EN.MED_CELL, MEDMEM.CONNECTZONE.setDistantDomainNumber(), MEDMEM.CONNECTZONE.setDistantMesh(), MEDMEM.CONNECTZONE.setEntityCorresp(), MEDMEM.CONNECTZONE.setLocalDomainNumber(), MEDMEM.CONNECTZONE.setLocalMesh(), MEDMEM.CONNECTZONE.setName(), and MEDMEM.CONNECTZONE.setNodeCorresp().
int MEDSPLITTER.JointExchangeData._loc_domain [private] |
const MEDMEM::MESH* MEDSPLITTER.JointExchangeData._dist_mesh [private] |
const MEDMEM::MESH* MEDSPLITTER.JointExchangeData._loc_mesh [private] |
std::vector<int> MEDSPLITTER.JointExchangeData._global_conn_here [private] |
std::vector<int> MEDSPLITTER.JointExchangeData._global_conn_dist [private] |
std::vector<int> MEDSPLITTER.JointExchangeData._local_conn_here [private] |
std::vector<int> MEDSPLITTER.JointExchangeData._local_conn_dist [private] |