Go to the documentation of this file.
21 #ifndef THUNDEREGG_SCHUR_PATCHIFACEINFO_H
22 #define THUNDEREGG_SCHUR_PATCHIFACEINFO_H
65 if (
pinfo.hasNbr(s)) {
66 switch (
pinfo.getNbrType(s)) {
184 auto pinfo_in = std::make_shared<PatchInfo<D>>();
188 if (
pinfo.hasNbr(s)) {
189 switch (
pinfo.getNbrType(s)) {
207 extern template class PatchIfaceInfo<2>;
208 extern template class PatchIfaceInfo<3>;
int serialize(char *buffer) const
Serialize object into buffer.
Definition: PatchIfaceInfo.h:175
PatchIfaceInfo(const PatchInfo< D > &pinfo)
Construct a new PatchIfaceInfo object.
Definition: PatchIfaceInfo.h:60
Class that is used to help serialize objects into a buffer.
Definition: BufferWriter.h:38
std::shared_ptr< FineIfaceInfo< D > > getFineIfaceInfo(Side< D > s)
Get the FineIfaceInfo object on a given side of the patch.
Definition: PatchIfaceInfo.h:160
std::shared_ptr< const FineIfaceInfo< D > > getFineIfaceInfo(Side< D > s) const
Get the FineIfaceInfo object on a given side of the patch.
Definition: PatchIfaceInfo.h:171
@ Coarse
The neighbor is at a coarser refinement level.
std::shared_ptr< CoarseIfaceInfo< D > > getCoarseIfaceInfo(Side< D > s)
Get the CoarseIfaceInfo object on a given side of the patch.
Definition: PatchIfaceInfo.h:138
This represents an interface where the neighbor is at the same refinement level.
Definition: NormalIfaceInfo.h:38
Interface for serializing objects.
Definition: Serializable.h:34
std::shared_ptr< const NormalIfaceInfo< D > > getNormalIfaceInfo(Side< D > s) const
Get the NormalIfaceInfo object on a given side of the patch.
Definition: PatchIfaceInfo.h:127
std::shared_ptr< const CoarseIfaceInfo< D > > getCoarseIfaceInfo(Side< D > s) const
Get the CoarseIfaceInfo object on a given side of the patch.
Definition: PatchIfaceInfo.h:149
Represents the interfaces where the neighbor is at a coarser refinement level.
Definition: CoarseIfaceInfo.h:41
The ThunderEgg namespace.
Definition: BiLinearGhostFiller.h:31
size_t getIndex() const
Get the index for this Face.
Definition: Face.h:452
void setIfaceInfo(Side< D > s, std::shared_ptr< IfaceInfo< D >> info)
Set the IfaceInfo object on a given side of the patch.
Definition: PatchIfaceInfo.h:88
The IfaceInfo class represents the information for an interface on a given side of the patch.
Definition: IfaceInfo.h:43
std::shared_ptr< IfaceInfo< D > > getIfaceInfo(Side< D > s)
Get the IfaceInfo object on a given side of the patch.
Definition: PatchIfaceInfo.h:98
Contains metadata for a patch.
Definition: PatchInfo.h:51
int getPos()
get the current position in the buffer
Definition: BufferReader.h:74
std::array< std::shared_ptr< IfaceInfo< D > >, Side< D >::number_of > iface_info
Array of IfaceInfo objects.
Definition: PatchIfaceInfo.h:50
Represents the interfaces where the neighbors are at a finer refinement level.
Definition: FineIfaceInfo.h:41
@ Fine
The nighbor is at a finer refinement level.
@ Normal
The neighbor is at the same refinement level.
std::shared_ptr< NormalIfaceInfo< D > > getNormalIfaceInfo(Side< D > s)
Get the NormalIfaceInfo object on a given side of the patch.
Definition: PatchIfaceInfo.h:116
int getPos()
get the current position in the buffer
Definition: BufferWriter.h:80
Class that is used to help read serialized objects from a buffer.
Definition: BufferReader.h:38
Enum-style class for the faces of an n-dimensional cube.
Definition: Face.h:41
PatchIfaceInfo()=default
Construct a new PatchIfaceInfo object.
PatchInfo< D > pinfo
associated PatchInfo object
Definition: PatchIfaceInfo.h:46
std::shared_ptr< const IfaceInfo< D > > getIfaceInfo(Side< D > s) const
Get the IfaceInfo object on a given side of the patch.
Definition: PatchIfaceInfo.h:105
ThunderEgg runtime exception.
Definition: RuntimeError.h:36
int deserialize(char *buffer)
Deserialize an object.
Definition: PatchIfaceInfo.h:181
This decorates a PatchInfo object with a IfaceInfo object for each side of the patch.
Definition: PatchIfaceInfo.h:40