39 void Foam::cellPointLagrangianAccumulator::calcPointCellWeights()
45 pointCellWeights_.
setSize(pointCells);
49 forAll(pointCells[pointi], pointCelli)
51 const label celli = pointCells[pointi][pointCelli];
56 pointWeights[pointi] += w;
58 pointCellWeights_[pointi][pointCelli] = w;
72 forAll(pointCells[pointi], pointCelli)
74 pointCellWeights_[pointi][pointCelli] /= pointWeights[pointi];
80 #define ACCESS_ACCUMULATING_POINT_TYPES(Type, nullArg) \
85 cellPointLagrangianAccumulator::accumulatingPointValues() const \
87 autoPtr<DynamicList<Type>>& ptr = \
88 CAT3(accumulatingPoint, CAPITALIZE(Type), ValuesPtr_); \
92 ptr.set(new DynamicList<Type>()); \
99 #undef ACCESS_ACCUMULATING_POINT_TYPES
117 accumulatingPointPoint_()
119 calcPointCellWeights();
133 calcPointCellWeights();
#define forAll(list, i)
Loop across all elements in list.
#define ACCESS_ACCUMULATING_POINT_TYPES(Type, nullArg)
void setSize(const label mRows)
Reset size of CompactListList.
Templated abstract base-class for demand-driven mesh objects used to automate their allocation to the...
const polyMesh & mesh() const
Helper class for the cell-point Lagrangian accumulation scheme. This is a mesh object in order to pro...
virtual bool movePoints()
Update for mesh motion.
cellPointLagrangianAccumulator(const polyMesh &mesh)
Construct from mesh.
~cellPointLagrangianAccumulator()
Destructor.
Motion of the mesh specified as a list of pointMeshMovers.
Mesh consisting of general polyhedral cells.
const labelListList & pointCells() const
Foam::fvMesh mesh(Foam::IOobject(regionName, runTime.name(), runTime, Foam::IOobject::MUST_READ), false)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
FOR_ALL_FIELD_TYPES(makeDimensionedPointFieldFunctions)
List< labelList > labelListList
A List of labelList.
tmp< DimensionedField< scalar, GeoMesh, Field > > mag(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
defineTypeNameAndDebug(atmosphericBoundaryLayer, 0)