58 label jPlus1 =
f.fcIndex(j);
59 scalar l =
mag(u[j] - u[jPlus1]);
67 label jMin1 =
f.rcIndex(j);
102 label facei = cFaces[iter];
112 u(j) = uVec[toLocal[
f[j]]];
121 vector temp = u[j] ^ u[jPlus1];
123 scalar magTemp =
mag(temp);
125 if (magTemp < vSmall)
135 scalar l =
min(
mag(u[j] - u[jPlus1]), 2.0);
143 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)
188 weights[
pid] += vNorm / dist[
pid];
213 calcWeights(toLocal,
f, u, dist, weights);
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]]];
#define forAll(list, i)
Loop across all elements in list.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
label size() const
Return number of elements in table.
bool insert(const Key &, const T &newElmt)
Insert a new hashedEntry.
void size(const label)
Override size to be inconsistent with allocated storage.
void setSize(const label)
Reset size of List.
label rcIndex(const label i) const
Return the reverse circular index, i.e. the previous index.
label fcIndex(const label i) const
Return the forward circular index, i.e. the next index.
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 co-ordinates.
scalarField weights_
Weights applied to cell vertices.
const scalarField & weights() const
Interpolation weights (in order of cellPoints)
pointMVCWeight(const polyMesh &mesh, const vector &position, const label celli, const label facei=-1)
Construct from components.
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
volScalarField alpha(IOobject("alpha", runTime.name(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
dimensionedScalar asin(const dimensionedScalar &ds)
dimensionedScalar tan(const dimensionedScalar &ds)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
dimensioned< Type > sum(const DimensionedField< Type, GeoMesh > &df)
dimensionedScalar sin(const dimensionedScalar &ds)
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
dimensioned< scalar > mag(const dimensioned< Type > &)
defineTypeNameAndDebug(combustionModel, 0)
pid_t pid()
Return the PID of this process.