60 this->accumulatingPointValues<Type>();
73 forAll(triPoints, triPointi)
75 const label pointi = triPoints[triPointi];
77 if (pointAccumulatingPoint_[pointi] == -1)
79 pointAccumulatingPoint_[pointi] =
80 accumulatingPointPoint_.
size();
82 accumulatingPointPoint_.
append(pointi);
86 accumulatingPointValues[pointAccumulatingPoint_[pointi]] +=
94 pointAccumulatingPoint_,
95 accumulatingPointPoint_
97 accumulatingPointValues.
resize
99 accumulatingPointPoint_.
size(),
107 accumulatingPointPoint_,
108 accumulatingPointValues,
115 forAll(accumulatingPointPoint_, accumulatingPointi)
117 const label pointi = accumulatingPointPoint_[accumulatingPointi];
119 forAll(pointCells[pointi], pointCelli)
121 const label celli = pointCells[pointi][pointCelli];
124 pointCellWeights_[pointi][pointCelli]
125 *accumulatingPointValues[accumulatingPointi];
130 forAll(accumulatingPointPoint_, accumulatingPointi)
132 const label pointi = accumulatingPointPoint_[accumulatingPointi];
134 pointAccumulatingPoint_[pointi] = -1;
137 accumulatingPointPoint_.
clear();
138 accumulatingPointValues.
clear();
#define forAll(list, i)
Loop across all elements in list.
const polyMesh & mesh() const
static cellPointLagrangianAddressor & New(const word &name, const polyMesh &mesh)
Construct and return the named DemandDrivenMeshObject.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const Mesh & mesh() const
Return mesh.
void resize(const label)
Alter the addressed list size.
DynamicList< T, SizeInc, SizeMult, SizeDiv > & append(const T &)
Append an element at the end of the list.
void clear()
Clear the addressed list, i.e. set the size to zero.
Pre-declare SubField and related Field type.
Class containing Lagrangian geometry and topology.
const labelIODynamicField & faceTrii() const
Access the face-tet indices.
const labelIODynamicField & celli() const
Access the cell indices.
const barycentricIODynamicField & coordinates() const
Access the coordinates.
const labelIODynamicField & facei() const
Access the cell-face indices.
Mesh that relates to a sub-section of a Lagrangian mesh. This is used to construct fields that relate...
const LagrangianMesh & mesh() const
Return the mesh.
label start() const
Return start.
void size(const label)
Override size to be inconsistent with allocated storage.
void accumulate(const LagrangianSubSubField< Type > &lPsi, Field< Type > &cPsi) const
Accumulate the Lagrangian field into a primitive cell field.
void sync(labelList &pointIndex, DynamicList< label > &indexPoint) const
Synchronise the identified set of points.
Traits class for primitives.
const labelListList & pointCells() const
Storage and named access for the indices of a tet which is part of the decomposition of a cell.
triFace faceTriIs(const polyMesh &mesh) const
Return the indices corresponding to the tri on the face for.
A triangular face using a FixedList of labels corresponding to mesh vertices.
barycentric coordinates(const polyMesh &mesh, const point &position, const label celli, const label facei, const label faceTrii, const scalar stepFraction)
Return the coordinates given the position and tet topology.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.