48 auto& ortho = tortho.ref();
73 label facei =
pp.start() + i;
74 label bFacei = facei -
mesh.nInternalFaces();
105 auto&
skew = tskew.ref();
117 cellCtrs[own[facei]],
129 for (
const polyPatch&
pp :
pbm)
135 label facei =
pp.start() + i;
146 cellCtrs[own[facei]],
155 label facei =
pp.start() + i;
177 const polyMesh&
mesh,
188 auto& weight = tweight.ref();
193 const point& fc = fCtrs[facei];
194 const vector& fa = fAreas[facei];
196 scalar dOwn =
mag(fa & (fc-cellCtrs[own[facei]]));
197 scalar dNei =
mag(fa & (cellCtrs[nei[facei]]-fc));
199 weight[facei] =
min(dNei,dOwn)/(dNei+dOwn+VSMALL);
208 for (
const polyPatch&
pp :
pbm)
214 label facei =
pp.start() + i;
217 const point& fc = fCtrs[facei];
218 const vector& fa = fAreas[facei];
220 scalar dOwn =
mag(fa & (fc-cellCtrs[own[facei]]));
221 scalar dNei =
mag(fa & (neiCc[bFacei]-fc));
223 weight[facei] =
min(dNei,dOwn)/(dNei+dOwn+VSMALL);
234 const polyMesh&
mesh,
243 auto& ratio = tratio.ref();
248 scalar volOwn = vol[own[facei]];
249 scalar volNei = vol[nei[facei]];
251 ratio[facei] =
min(volOwn,volNei)/(
max(volOwn, volNei)+VSMALL);
260 for (
const polyPatch&
pp :
pbm)
266 label facei =
pp.start() + i;
269 scalar volOwn = vol[own[facei]];
270 scalar volNei = neiVol[bFacei];
272 ratio[facei] =
min(volOwn,volNei)/(
max(volOwn, volNei)+VSMALL);
const polyBoundaryMesh & pbm
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
virtual const labelList & faceNeighbour() const
Return face neighbour.
dimensionedTensor skew(const dimensionedTensor &dt)
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
label nFaces() const noexcept
Number of mesh faces.
#define forAll(list, i)
Loop across all elements in list.
List< face > faceList
List of faces.
vectorField pointField
pointField is a vectorField.
const polyBoundaryMesh & boundaryMesh() const noexcept
Return boundary mesh.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
virtual const labelList & faceOwner() const
Return face owner.
static tmp< T > New(Args &&... args)
Construct tmp with forwarding arguments.
label nInternalFaces() const noexcept
Number of internal faces.
virtual const faceList & faces() const
Return raw faces.
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
A polyBoundaryMesh is a polyPatch list with additional search methods and registered IO...
vector point
Point is a vector.
Field< vector > vectorField
Specialisation of Field<T> for vector.
Mesh consisting of general polyhedral cells.
readUpdateState
Enumeration defining the state of the mesh after a read update.
List< label > labelList
A List of labels.
A class for managing temporary objects.
A patch is a list of labels that address the faces in the global face list.
uindirectPrimitivePatch pp(UIndirectList< face >(mesh.faces(), faceLabels), mesh.points())