40 #ifndef wallNormalInfo_H 41 #define wallNormalInfo_H 58 Istream&
operator>>(Istream&, wallNormalInfo&);
59 Ostream&
operator<<(Ostream&,
const wallNormalInfo&);
76 template<
class TrackingData>
109 template<
class TrackingData>
110 inline bool valid(TrackingData&
td)
const;
113 template<
class TrackingData>
124 template<
class TrackingData>
129 const label patchFacei,
130 const point& faceCentre,
135 template<
class TrackingData>
140 const label patchFacei,
141 const point& faceCentre,
146 template<
class TrackingData>
155 template<
class TrackingData>
159 const label thisCelli,
160 const label neighbourFacei,
167 template<
class TrackingData>
171 const label thisFacei,
172 const label neighbourCelli,
179 template<
class TrackingData>
183 const label thisFacei,
192 template<
class TrackingData>
207 template<
class TrackingData>
230 template<>
struct is_contiguous<wallNormalInfo> : std::true_type {};
Holds information regarding nearest wall point. Used in wall refinement.
wallPoints::trackData td(isBlockedFace, regionToBlockSize)
bool operator!=(const wallNormalInfo &) const
Test for inequality.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
friend Ostream & operator<<(Ostream &, const wallNormalInfo &)
bool valid(TrackingData &td) const
Changed or contains original (invalid) value.
bool updateFace(const polyMesh &, const label thisFacei, const label neighbourCelli, const wallNormalInfo &neighbourInfo, const scalar tol, TrackingData &td)
Influence of neighbouring cell.
const vector & normal() const
void enterDomain(const polyMesh &, const polyPatch &, const label patchFacei, const point &faceCentre, TrackingData &td)
Reverse of leaveDomain.
Istream & operator>>(Istream &, directionInfo &)
bool interpolate(const polyMesh &, const point &pt, const label i0, const wallNormalInfo &f0, const label i1, const wallNormalInfo &f1, const scalar weight, const scalar tol, TrackingData &td)
Interpolate between two values (lerp). Returns true if causes changes. Not sure if needs to be specia...
An Ostream is an abstract base class for all output systems (streams, files, token lists...
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
bool equal(const wallNormalInfo &, TrackingData &td) const
Test for equality, with TrackingData.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
friend Istream & operator>>(Istream &, wallNormalInfo &)
void leaveDomain(const polyMesh &, const polyPatch &, const label patchFacei, const point &faceCentre, TrackingData &td)
Convert any absolute coordinates into relative to (patch)face.
wallNormalInfo()
Default construct.
bool operator==(const wallNormalInfo &) const
Test for equality.
Mesh consisting of general polyhedral cells.
void transform(const polyMesh &, const tensor &, TrackingData &td)
Apply rotation matrix to any coordinates.
A patch is a list of labels that address the faces in the global face list.
Tensor of scalars, i.e. Tensor<scalar>.
bool updateCell(const polyMesh &, const label thisCelli, const label neighbourFacei, const wallNormalInfo &neighbourInfo, const scalar tol, TrackingData &td)
Influence of neighbouring face.
bool sameGeometry(const polyMesh &, const wallNormalInfo &, const scalar, TrackingData &td) const
Check for identical geometrical data (eg, cyclics checking)