|
WARPXM v1.10.0
|
The patch_exchange_t class is used to exchange sets of components existing between two patches. More...
#include <exchange.h>
The patch_exchange_t class is used to exchange sets of components existing between two patches.
Public Member Functions | |
| patch_exchange_t (const WmUnstructuredPatchLink &link, const int tag_seed) | |
| Constructor. | |
| ~patch_exchange_t () | |
| Destructor. | |
| void | add_component (wxm::dfem::variable::distributed_variable_t &variable, const int component_index) |
| Adds a variable's component to the exchange. | |
| size_t | size () |
| Used to define the size of the range. | |
| void | send () |
| Sends data from the from_patch to the to_patch. | |
| void | send_init () |
| Sends data from the from_patch. | |
| void | send_wait () |
| Waits for the data to be transmitted from the to_patch to the from_patch. | |
| void | recv_init () |
| Receives data from the to_patch. | |
| void | recv_wait () |
| Waits for the data to be transmitted from the from_patch to the to_patch. | |
Public Member Functions inherited from wxm::dfem::sync::tools::sync_chunk_t | |
| sync_chunk_t () | |
| virtual | ~sync_chunk_t () |
| virtual size_t | size () |
| Size of patch exchange chunk. | |
| virtual void | read (const real *from_data) |
| Read patch exchange data from pointer. | |
| virtual void | write (real *to_data, size_t buf_size) |
| Write patch exchange chunk to pointer. | |
Protected Attributes | |
| sync_link_t | _sync_link |
| Link assoicated with inter-patch connection. | |
| std::vector< real > | _buffer_allocation |
| Buffer allocation used for storing data for sync operation. | |
| int | _msg_tag |
| Unique tag for msg messages. | |
| const WxMsgBase & | _msg |
| Reference to msg object. | |
| WxMsgStatus | send_status = nullptr |
| Msg status object used to know when send has completed. | |
| WxMsgStatus | recv_status = nullptr |
| Msg status object used to know when recv has completed. | |
Protected Attributes inherited from wxm::dfem::sync::tools::sync_chunk_t | |
| std::vector< int > | _children_offsets |
| List of offsets into a synchronization buffer. | |
| std::vector< sync_chunk_t * > | _children |
| Children associated with this chunk. | |
| wxm::dfem::sync::tools::patch_exchange_t::patch_exchange_t | ( | const WmUnstructuredPatchLink & | link, |
| const int | tag_seed | ||
| ) |
Constructor.
| link | Link that defines exchange of data |
| wxm::dfem::sync::tools::patch_exchange_t::~patch_exchange_t | ( | ) |
Destructor.
| void wxm::dfem::sync::tools::patch_exchange_t::add_component | ( | wxm::dfem::variable::distributed_variable_t & | variable, |
| const int | component_index | ||
| ) |
Adds a variable's component to the exchange.
| variable | Variable that owns the component |
| component_index | Component of variable to sync |
| void wxm::dfem::sync::tools::patch_exchange_t::recv_init | ( | ) |
Receives data from the to_patch.
This is non blocking, and a call to recv_wait is reqired to complete call.
Note: This call will throw an error if to_patch is not local.
| void wxm::dfem::sync::tools::patch_exchange_t::recv_wait | ( | ) |
Waits for the data to be transmitted from the from_patch to the to_patch.
Note: This call will throw an error if to_patch is not local.
| void wxm::dfem::sync::tools::patch_exchange_t::send | ( | ) |
Sends data from the from_patch to the to_patch.
Note: This call will throw an error if from_patch is not the local rank
| void wxm::dfem::sync::tools::patch_exchange_t::send_init | ( | ) |
Sends data from the from_patch.
This is non blocking, and a call to send_wait is reqired to complete call.
Note: This call will throw an error if from_patch is not local.
| void wxm::dfem::sync::tools::patch_exchange_t::send_wait | ( | ) |
Waits for the data to be transmitted from the to_patch to the from_patch.
Note: This call will throw an error if from_patch is not local.
|
virtual |
Used to define the size of the range.
Also allocates the buffer allocation.
Reimplemented from wxm::dfem::sync::tools::sync_chunk_t.
|
protected |
Buffer allocation used for storing data for sync operation.
|
protected |
Reference to msg object.
|
protected |
Unique tag for msg messages.
|
protected |
Link assoicated with inter-patch connection.
|
protected |
Msg status object used to know when recv has completed.
|
protected |
Msg status object used to know when send has completed.