Sender-receiver of the mesh. More...
#include <MEDSPLITTER_MeshSendReceive.hxx>
Public Member Functions | |
| MeshSendReceive () | |
| ~MeshSendReceive () | |
| void | send (int irank, int idomain, MEDMEM::MESH *mesh, const std::vector< int > &cell_glob_nums, const std::vector< int > &face_glob_nums, const std::vector< int > &node_glob_nums) |
| MEDMEM::MESH * | recv (int irank, int idomain, std::vector< int > &cell_glob_numbers, std::vector< int > &face_glob_numbers, std::vector< int > &node_glob_numbers) |
| Returns the received or sent mesh. The user is resposible for freeing the received mesh. | |
| MEDMEM::MESH * | getMesh () |
| bool | isSent () |
| void | clear () |
Private Attributes | |
| std::vector< int > | _int_buf |
| std::vector< int > | _node_glob_numbers |
| std::vector< int > | _cell_glob_numbers |
| std::vector< int > | _face_glob_numbers |
| std::vector< char > | _char_buf |
| MEDMEM::MESH * | _mesh |
| MPI_Request | _int_request |
| MPI_Request | _coord_request |
| MPI_Request | _char_request |
| MPI_Request | _node_nums_request |
| MPI_Request | _cell_nums_request |
| MPI_Request | _face_nums_request |
Sender-receiver of the mesh.
We also send-receive 1) global node ids for the sake of fusing domain parts 2) global cell ids for the sake of detecting cell/cell joints using global graph 3) global face ids for the sake of not losing face sharing among domains
| MeshSendReceive::MeshSendReceive | ( | ) |
| MeshSendReceive::~MeshSendReceive | ( | ) |
| void MEDSPLITTER.MeshSendReceive.send | ( | int | irank, |
| int | idomain, | ||
| MEDMEM::MESH * | mesh, | ||
| const std::vector< int > & | cell_glob_nums, | ||
| const std::vector< int > & | face_glob_nums, | ||
| const std::vector< int > & | node_glob_nums | ||
| ) |
| MEDMEM::MESH* MEDSPLITTER.MeshSendReceive.recv | ( | int | irank, |
| int | idomain, | ||
| std::vector< int > & | cell_glob_numbers, | ||
| std::vector< int > & | face_glob_numbers, | ||
| std::vector< int > & | node_glob_numbers | ||
| ) |
Returns the received or sent mesh. The user is resposible for freeing the received mesh.
| MEDMEM::MESH* MEDSPLITTER.MeshSendReceive.getMesh | ( | ) |
| bool MeshSendReceive::isSent | ( | ) |
| void MeshSendReceive::clear | ( | ) |
std::vector< int > MEDSPLITTER.MeshSendReceive._int_buf [private] |
std::vector< int > MEDSPLITTER.MeshSendReceive._node_glob_numbers [private] |
std::vector< int > MEDSPLITTER.MeshSendReceive._cell_glob_numbers [private] |
std::vector< int > MEDSPLITTER.MeshSendReceive._face_glob_numbers [private] |
std::vector< char> MEDSPLITTER.MeshSendReceive._char_buf [private] |
MEDMEM::MESH* MEDSPLITTER.MeshSendReceive._mesh [private] |