SpECTRE
v2025.03.17
|
[Charm++ Message] (https://charm.readthedocs.io/en/latest/charm%2B%2B/manual.html#messages) intended to be used in receive_data
calls on the elements to send boundary data from one element on one node, to a different element on a (potentially) different node.
More...
#include <BoundaryMessage.hpp>
Public Types | |
using | base = CMessage_BoundaryMessage< Dim > |
Public Member Functions | |
BoundaryMessage (size_t subcell_ghost_data_size_in, size_t dg_flux_data_size_in, bool owning_in, bool enable_if_disabled_in, size_t sender_node_in, size_t sender_core_in, int tci_status_in, size_t integration_order_in, const ::TimeStepId ¤t_time_step_id_in, const ::TimeStepId &next_time_step_id_in, const Direction< Dim > &neighbor_direction_in, const ElementId< Dim > &element_id_in, const Mesh< Dim > &volume_or_ghost_mesh_in, const Mesh< Dim - 1 > &interface_mesh_in, double *subcell_ghost_data_in, double *dg_flux_data_in) | |
Static Public Member Functions | |
static std::string | name () |
static size_t | total_bytes_with_data (size_t subcell_size, size_t dg_size) |
This is the size (in bytes) necessary to allocate a BoundaryMessage including the arrays of data as well. More... | |
static void * | pack (BoundaryMessage *) |
static BoundaryMessage * | unpack (void *) |
Public Attributes | |
size_t | subcell_ghost_data_size |
size_t | dg_flux_data_size |
bool | owning |
bool | enable_if_disabled |
size_t | sender_node |
size_t | sender_core |
int | tci_status |
size_t | integration_order |
::TimeStepId | current_time_step_id |
::TimeStepId | next_time_step_id |
Direction< Dim > | neighbor_direction |
ElementId< Dim > | element_id |
Mesh< Dim > | volume_or_ghost_mesh |
Mesh< Dim - 1 > | interface_mesh |
double * | subcell_ghost_data |
double * | dg_flux_data |
[Charm++ Message] (https://charm.readthedocs.io/en/latest/charm%2B%2B/manual.html#messages) intended to be used in receive_data
calls on the elements to send boundary data from one element on one node, to a different element on a (potentially) different node.
If this message is to be sent across nodes, the pack()
and unpack()
methods will be called on the sending and receiving node, respectively.
|
static |
This is the size (in bytes) necessary to allocate a BoundaryMessage including the arrays of data as well.
This will add (subcell_size + dg_size) * sizeof(double)
number of bytes to sizeof(BoundaryMessage<Dim>)
.