61 scalar l =
mag(u[j] - u[jPlus1]);
68 label
pid = toLocal[
f[j]];
104 label facei = cFaces[iter];
114 u(j) = uVec[toLocal[
f[j]]];
123 vector temp = u[j] ^ u[jPlus1];
125 scalar magTemp =
mag(temp);
127 if (magTemp < VSMALL)
137 scalar l =
min(
mag(u[j] - u[jPlus1]), 2.0);
145 scalar vNorm =
mag(v);
164 scalar l =
min(
mag(n0 - n1), 2.0);
174 l =
min(
mag(u[j] - v), 2.0);
180 bool outlierFlag =
false;
183 if (
mag(theta[j]) < tol)
187 label
pid = toLocal[
f[j]];
188 weights[
pid] += vNorm / dist[
pid];
213 calcWeights(toLocal,
f, u, dist, weights);
221 label
pid = toLocal[
f[j]];
233 scalar sumWeight =
sum(weights);
235 if (
mag(sumWeight) < tol)
239 weights /= sumWeight;
249 const label cellIndex,
250 const label faceIndex
253 cellIndex_((cellIndex != -1) ? cellIndex :
mesh.faceOwner()[faceIndex])
260 toLocal.
insert(toGlobal[i], i);
277 uVec[
pid] = pt-position;
314 u(j) = uVec[toLocal[
f[j]]];
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
bool insert(const Key &key, const T &obj)
Copy insert a new entry, not overwriting existing entries.
label size() const noexcept
The number of elements in table.
void setSize(const label n)
Alias for resize()
A HashTable to objects of type <T> with a label key.
label rcIndex(const label i) const noexcept
void size(const label n)
Older name for setAddressableSize.
label fcIndex(const label i) const noexcept
A cell is defined as a list of faces with extra functionality.
A face is a list of labels corresponding to mesh vertices.
Container to calculate weights for interpolating directly from vertices of cell using Mean Value Coor...
const label cellIndex_
Cell index.
static scalar tol
Tolerance used in calculating barycentric coordinates.
scalarField weights_
Weights applied to cell vertices.
const scalarField & weights() const noexcept
Interpolation weights (in order of cellPoints)
void calcWeights(const Map< label > &toLocal, const face &f, const DynamicList< point > &u, const scalarField &dist, scalarField &weights) const
Calculate weights from single face's vertices only.
Mesh consisting of general polyhedral cells.
virtual const faceList & faces() const
Return raw faces.
virtual const pointField & points() const
Return raw points.
const labelListList & cellPoints() const
const cellList & cells() const
#define defineDebugSwitchWithName(Type, Name, Value)
Define the debug information, lookup as Name.
dimensionedScalar asin(const dimensionedScalar &ds)
dimensionedScalar tan(const dimensionedScalar &ds)
quaternion normalised(const quaternion &q)
Return the normalised (unit) quaternion of the given quaternion.
dimensioned< Type > sum(const DimensionedField< Type, GeoMesh > &df)
dimensionedScalar sin(const dimensionedScalar &ds)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
pid_t pid()
Return the PID of this process.
static constexpr const zero Zero
Global zero (0)
#define forAll(list, i)
Loop across all elements in list.