39 void Foam::cellPointLagrangianAccumulator::calcPointCellWeights()
43 List<scalar> pointWeights(
mesh().
nPoints(), scalar(0));
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.
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.
void mag(LagrangianPatchField< scalar > &f, const LagrangianPatchField< Type > &f1)
List< labelList > labelListList
A List of labelList.
defineTypeNameAndDebug(combustionModel, 0)
FOR_ALL_FIELD_TYPES(makeFieldSourceTypedef)