59 scalar l =
mag(u[j] - u[jPlus1]);
67 label jMin1 = f.rcIndex(j);
72 sumWeight += weights[
pid];
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);
171 alpha[j] = -alpha[j];
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);
222 label jMin1 = f.rcIndex(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);
265 weights_.setSize(toGlobal.
size());
277 uVec[
pid] = pt-position;
314 u(j) = uVec[toLocal[f[j]]];
318 calcWeights(toLocal, f, u, dist, weights_);
#define forAll(list, i)
Loop across all elements in list.
A face is a list of labels corresponding to mesh vertices.
label rcIndex(const label i) const
Return the reverse circular index, i.e. the previous index.
void size(const label)
Override size to be inconsistent with allocated storage.
volScalarField alpha(IOobject("alpha", runTime.timeName(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
label fcIndex(const label i) const
Return the forward circular index, i.e. the next index.
const cellList & cells() const
static scalar tol
Tolerance used in calculating barycentric co-ordinates.
dimensionedScalar asin(const dimensionedScalar &ds)
label size() const
Return number of elements in table.
dimensioned< Type > sum(const DimensionedField< Type, GeoMesh > &df)
virtual const pointField & points() const
Return raw points.
bool insert(const Key &, const T &newElmt)
Insert a new hashedEntry.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects...
pointMVCWeight(const polyMesh &mesh, const vector &position, const label celli, const label facei=-1)
Construct from components.
virtual const labelList & faceOwner() const
Return face owner.
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
virtual const faceList & faces() const
Return raw faces.
pid_t pid()
Return the PID of this process.
dimensionedScalar sin(const dimensionedScalar &ds)
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.
defineTypeNameAndDebug(combustionModel, 0)
void setSize(const label)
Reset size of List.
A cell is defined as a list of faces with extra functionality.
dimensioned< scalar > mag(const dimensioned< Type > &)
Mesh consisting of general polyhedral cells.
dimensionedScalar tan(const dimensionedScalar &ds)
static const Vector< scalar > zero
const labelListList & cellPoints() const