Declaration of the cell topology and polygon geometry the polyhedral cut cells are built from.
More...
|
| bool | PolyhedralEB::isFluid (const Real a_value) noexcept |
| | Which side of the interface a value lies on.
|
| |
| int | PolyhedralEB::detail::edgeDirection (const int a_edge) noexcept |
| | Direction a cell edge runs along.
|
| |
| void | PolyhedralEB::detail::edgeOrigin (const int a_edge, int a_offset[SpaceDim]) noexcept |
| | Corner offsets of a cell edge's low end.
|
| |
| void | PolyhedralEB::detail::edgeCorners (const int a_edge, int &a_lo, int &a_hi) noexcept |
| | The corners a cell edge joins, low end first.
|
| |
| RealVect | PolyhedralEB::detail::cornerPosition (const int a_corner) noexcept |
| | Position of a cell corner in the cell's own frame.
|
| |
| void | PolyhedralEB::detail::faceCorners (const int a_dir, const int a_side, int a_corner[1<<(SpaceDim - 1)]) noexcept |
| | The corners of a cell face, in circuit order around the face.
|
| |
| int | PolyhedralEB::detail::edgeIndex (const int a_dir, const int a_offset[SpaceDim]) noexcept |
| | Index of the edge running along a_dir whose low corner has the given offsets.
|
| |
| RealVect | PolyhedralEB::detail::crossingPosition (const CutCellSurface &a_surface, const int a_edge, const Real a_tolerance) noexcept |
| | Position of an edge crossing in the cell's own frame.
|
| |
| void | PolyhedralEB::detail::faceEdges (const int a_dir, const int a_side, int a_edge[4]) noexcept |
| | The edges of a cell face, edge i joining face corners i and i+1.
|
| |
| void | PolyhedralEB::detail::polygonMoments (const RealVect *a_vertex, const int a_num, Real &a_area, RealVect &a_vector, RealVect &a_centroid) noexcept |
| | Area vector, area and centroid of a planar polygon given in circuit order.
|
| |
| int | PolyhedralEB::detail::facePairs (const int a_dir, const int a_side, const CutCellSurface &a_surface, int a_pair[2][2]) noexcept |
| | The chords on a cell face, each an unordered pair of edge indices.
|
| |
| int | PolyhedralEB::detail::crossingLoops (const CutCellSurface &a_surface, int a_loop[CutCellSurface::s_numEdges], int a_start[CutCellSurface::s_numEdges+1]) noexcept |
| | Order the crossings into closed loops, or fail if they do not form clean cycles.
|
| |
| bool | PolyhedralEB::detail::sameVertex (const RealVect &a_a, const RealVect &a_b) noexcept |
| | Whether two positions are the same vertex.
|
| |
Declaration of the cell topology and polygon geometry the polyhedral cut cells are built from.
- Author
- Robert Marskar
| bool PolyhedralEB::isFluid |
( |
const Real |
a_value | ) |
|
|
inlinenoexcept |
Which side of the interface a value lies on.
One predicate for corners and crossings alike: negative is fluid, and anything else, an exact zero of either sign included, is solid. GeometryShop reads an exact zero by its sign bit, which a negated distance function turns over, and then rescues the regular cell that leaves beside a covered one by looking at its neighbour. A cell here is classified from its own corners alone, so the zero has to fall on one side by rule: on the solid side, so that a fluid cell whose face lies in the interface is cut with that face as its interface, and the cell on the other side is covered.
- Parameters
-
| [in] | a_value | Implicit function value. |
- Returns
- True on the fluid side.