13#ifndef CD_CUTCELLSURFACE_H
14#define CD_CUTCELLSURFACE_H
20#include <CD_NamespaceHeader.H>
22namespace PolyhedralEB {
46 static constexpr int s_numEdges = 2 * SpaceDim * (SpaceDim - 1);
95 linearIn(const
void* a_buffer) noexcept;
113#include <CD_NamespaceFooter.H>
Implementation of CD_CutCellSurface.H.
The values a cut cell's embedded boundary is reconstructed from.
Definition CD_CutCellSurface.H:41
void linearIn(const void *a_buffer) noexcept
Read the surface from a linear buffer written by linearOut.
Definition CD_CutCellSurfaceImplem.H:58
int linearSize() const noexcept
Number of bytes the surface occupies in a linear buffer, as Chombo's containers ask of their payload.
Definition CD_CutCellSurfaceImplem.H:43
bool hasCrossing(const int a_edge) const noexcept
Whether the edge carries a crossing.
Definition CD_CutCellSurfaceImplem.H:37
Real m_corner[s_numCorners]
Implicit function at the cell corners, ordered so that corner c has offset ((c >> d) & 1) in directio...
Definition CD_CutCellSurface.H:108
static constexpr int s_numEdges
Number of cell edges a crossing can sit on.
Definition CD_CutCellSurface.H:46
static constexpr Real s_noCrossing
Marks an edge whose endpoints lie on the same side of the interface.
Definition CD_CutCellSurface.H:56
static constexpr int s_numCorners
Number of cell corners.
Definition CD_CutCellSurface.H:51
Real m_crossing[s_numEdges]
Position along an edge where the implicit function changes sign.
Definition CD_CutCellSurface.H:102
CutCellSurface() noexcept
Constructor. Leaves every edge without a crossing and every corner at zero.
Definition CD_CutCellSurfaceImplem.H:25
void linearOut(void *a_buffer) const noexcept
Write the surface into a linear buffer, as Chombo's containers ask of their payload.
Definition CD_CutCellSurfaceImplem.H:49