ThunderEgg
1.0.0
|
This is a set of PatchIfaceInfo objects for an interface. More...
#include <Interface.h>
Classes | |
class | SideTypePiinfo |
A struct for each patch associated with this interface. More... | |
Public Member Functions | |
Interface ()=default | |
Construct a new Interface object. | |
Interface (int id) | |
Construct a new Interface object. More... | |
void | insert (Side< D > s, std::shared_ptr< const PatchIfaceInfo< D >> piinfo) |
Add an associated patch to this interface. More... | |
void | merge (Interface< D > ifs) |
Add the patches from the given Interface object to this object. More... | |
int | serialize (char *buffer) const |
Serialize object into buffer. More... | |
int | deserialize (char *buffer) |
Deserialize an object. More... | |
Public Member Functions inherited from ThunderEgg::Serializable | |
virtual | ~Serializable ()=default |
Destroy the Serializable object. | |
Static Public Member Functions | |
static void | EnumerateIfacesFromPiinfoVector (std::vector< std::shared_ptr< const PatchIfaceInfo< D >>> piinfos, std::map< int, std::map< int, std::shared_ptr< Interface< D >>>> &rank_id_iface_map, std::vector< std::shared_ptr< PatchIfaceInfo< D >>> &off_proc_piinfos) |
Will enumerate a map from interface id to this rank's interfaces, will also do any neccesary communication to get additional information. This is collective on all processors. More... | |
Public Attributes | |
int | id = -1 |
The id of the interface. | |
int | local_index = -1 |
The local index of the interface. | |
int | global_index = -1 |
The global index of the interface. | |
std::vector< SideTypePiinfo > | patches |
SideTypePiinfo structs associated with this interface. More... | |
This is a set of PatchIfaceInfo objects for an interface.
This will contain information from each patch that the interface is on.
D | the number of cartesian dimensions on a patch. |
|
inlineexplicit |
Construct a new Interface object.
id | the id of the interface |
|
inlinevirtual |
Deserialize an object.
buffer | the buffer |
Implements ThunderEgg::Serializable.
|
inlinestatic |
Will enumerate a map from interface id to this rank's interfaces, will also do any neccesary communication to get additional information. This is collective on all processors.
piinfos | vector of this ranks piinfo objects |
rank_id_iface_map | the map from rank to interface id to interface. The interfaces on this rank will contain PatchIfaceInfo objects from other processors. The interfaces for other ranks will only contain the PatchIfaceInfo objects from this rank. |
off_proc_piinfos | a vector of piinfo objects received from other processors. |
|
inline |
Add an associated patch to this interface.
s | the side of the patch that this interface is on |
piinfo | the PatchIfaceInfo object for the patch |
|
inline |
|
inlinevirtual |
Serialize object into buffer.
buffer | the buffer. Can be set to nullptr if you just want the size |
Implements ThunderEgg::Serializable.
std::vector<SideTypePiinfo> ThunderEgg::Schur::Interface< D >::patches |
SideTypePiinfo structs associated with this interface.
The struct contains the side of the patch that this interface lies on, the IfaceType of this interface on that patch, and the patch.