| 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.