62 label faceBasePtI =
mesh.tetBasePtIs()[facei_];
68 if (warn && nWarnings_ < maxNWarnings)
71 <<
"No base point for face " << facei_ <<
", " <<
f 72 <<
", produces a valid tet decomposition." <<
endl;
74 if (++nWarnings_ == maxNWarnings)
77 <<
"Suppressing further warnings." <<
endl;
82 const label facePtI = (tetPti_ + faceBasePtI) %
f.size();
83 const label faceOtherPtI =
f.fcIndex(facePtI);
85 if (
mesh.faceOwner()[facei_] != celli_)
88 return triFace(
f[faceBasePtI],
f[faceOtherPtI],
f[facePtI]);
91 return triFace(
f[faceBasePtI],
f[facePtI],
f[faceOtherPtI]);
109 if (warn && nWarnings_ < maxNWarnings)
112 <<
"No base point for face " << facei_ <<
", " <<
f 113 <<
", produces a valid tet decomposition." <<
endl;
115 if (++nWarnings_ == maxNWarnings)
118 <<
"Suppressing further warnings." <<
endl;
123 const label facePtI = (tetPti_ + faceBasePtI) %
f.
size();
124 const label faceOtherPtI =
f.
fcIndex(facePtI);
129 return triFace(faceBasePtI, faceOtherPtI, facePtI);
132 return triFace(faceBasePtI, facePtI, faceOtherPtI);
182 (bary.
a()*a.x() + bary.
b()*
b.x() + bary.
c()*
c.x() + bary.
d()*d.x()),
183 (bary.
a()*a.y() + bary.
b()*
b.y() + bary.
c()*
c.y() + bary.
d()*d.y()),
184 (bary.
a()*a.z() + bary.
b()*
b.z() + bary.
c()*
c.z() + bary.
d()*d.z())
213 ((
diff = (a.cell() -
b.cell())) != 0) ?
diff 214 : ((
diff = (a.face() -
b.face())) != 0) ?
diff 215 : (a.tetPt() -
b.tetPt())
228 && a.face() ==
b.face()
229 && a.tetPt() ==
b.tetPt()
scalar diff(const triad &A, const triad &B)
Return a quantity of the difference between two triads.
void size(const label n)
Older name for setAddressableSize.
A triangle primitive used to calculate face normals and swept volumes. Uses referred points...
A face is a list of labels corresponding to mesh vertices.
const labelIOList & tetBasePtIs() const
Return the tetBasePtIs.
tetrahedron< point, const point & > tetPointRef
A tetrahedron using referred points.
point barycentricToPoint(const polyMesh &mesh, const barycentric &bary) const
The x/y/z position for given barycentric coordinates (where point0 is the cell centre).
triPointRef faceTri(const polyMesh &mesh) const
The triangle geometry for the face for this tet. The normal of the tri points out of the cell...
Ostream & endl(Ostream &os)
Add newline and flush stream.
tetPointRef tet(const polyMesh &mesh) const
The tet geometry for this tet, where point0 is the cell centre.
const Cmpt & b() const noexcept
virtual const pointField & points() const
Return raw points.
label fcIndex(const label i) const noexcept
The forward circular index. The next index in the list which returns to the first at the end of the l...
vectorField pointField
pointField is a vectorField.
const dimensionedScalar b
Wien displacement law constant: default SI units: [m.K].
const Cmpt & c() const noexcept
A triangular face using a FixedList of labels corresponding to mesh vertices.
virtual const pointField & oldPoints() const
Return old points (mesh motion)
virtual const labelList & faceOwner() const
Return face owner.
Storage and named access for the indices of a tet which is part of the decomposition of a cell...
virtual const faceList & faces() const
Return raw faces.
const vectorField & cellCentres() const
const Cmpt & d() const noexcept
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
constexpr tetIndices() noexcept
Default construct, with invalid labels (-1)
tetPointRef oldTet(const polyMesh &mesh) const
The tet geometry for this tet (using old positions), where point0 is the cell centre.
messageStream Warning
Warning stream (stdout output on master, null elsewhere), with additional 'FOAM Warning' header text...
triFace triIs(const polyMesh &mesh, const bool warn=true) const
Local indices corresponding to the tri on the face for this tet. The normal of the tri points out of ...
virtual const pointField & oldCellCentres() const
Return old cellCentres (mesh motion)
vector point
Point is a vector.
#define WarningInFunction
Report a warning using Foam::Warning.
const dimensionedScalar c
Speed of light in a vacuum.
bool operator!=(const eddy &a, const eddy &b)
Mesh consisting of general polyhedral cells.
const Cmpt & a() const noexcept
triPointRef oldFaceTri(const polyMesh &mesh) const
The triangle geometry for the face for this tet (using old positions)
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
triFace faceTriIs(const polyMesh &mesh, const bool warn=true) const
The indices corresponding to the tri on the face for this tet. The normal of the tri points out of th...
static label compare(const tetIndices &a, const tetIndices &b) noexcept
Compare tetIndices for equality. Compares cell, face, tetPt elements in order, stopping at the first ...