Go to the documentation of this file.
48 void Foam::pointVolInterpolation::makeWeights()
const
53 <<
"weighting factors already calculated"
59 Info<<
"pointVolInterpolation::makeWeights() : "
60 <<
"constructing weighting factors"
69 volWeightsPtr_ =
new FieldField<Field, scalar>(cellCentres.size());
70 FieldField<Field, scalar>& weightingFactors = *volWeightsPtr_;
72 forAll(weightingFactors, pointi)
86 const labelList& curCellPoints = cellPoints[cellI];
88 forAll(curCellPoints, cellPointI)
90 weightingFactors[cellI][cellPointI] = 1.0/
93 cellCentres[cellI] -
points[curCellPoints[cellPointI]]
101 forAll(cellCentres, cellI)
103 const labelList& curCellPoints = cellPoints[cellI];
105 forAll(curCellPoints, cellPointI)
107 pointVolSumWeights[cellI] += weightingFactors[cellI][cellPointI];
111 forAll(cellCentres, cellI)
113 const labelList& curCellPoints = cellPoints[cellI];
115 forAll(curCellPoints, cellPointI)
117 weightingFactors[cellI][cellPointI] /= pointVolSumWeights[cellI];
123 Info<<
"pointVolInterpolation::makeWeights() : "
124 <<
"finished constructing weighting factors"
131 void Foam::pointVolInterpolation::clearAddressing()
const
138 void Foam::pointVolInterpolation::clearGeom()
const
145 Foam::pointVolInterpolation::patchInterpolators()
const
147 if (!patchInterpolatorsPtr_)
149 const fvBoundaryMesh& bdry = vMesh().boundary();
151 patchInterpolatorsPtr_ =
152 new PtrList<primitivePatchInterpolation>(bdry.size());
156 patchInterpolatorsPtr_->set
164 return *patchInterpolatorsPtr_;
178 volWeightsPtr_(
nullptr),
179 patchInterpolatorsPtr_(
nullptr)
204 return *volWeightsPtr_;
int debug
Static debugging option.
List< label > labelList
A List of labels.
vectorField pointField
pointField is a vectorField.
virtual const pointField & points() const
Return raw points.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
A field of fields is a PtrList of fields with reference counting.
void updateTopology()
Update mesh topology using the morph engine.
const labelListList & cellPoints() const
static constexpr const zero Zero
Global zero (0)
Template functions to aid in the implementation of demand driven data.
Ostream & endl(Ostream &os)
Add newline and flush stream.
const fvMesh & vMesh() const
PrimitivePatchInterpolation< primitivePatch > primitivePatchInterpolation
Foam::primitivePatchInterpolation.
bool movePoints()
Correct weighting factors for moving mesh.
#define forAll(list, i)
Loop across all elements in list.
Field< vector > vectorField
Specialisation of Field<T> for vector.
const FieldField< Field, scalar > & volWeights() const
Return reference to weights arrays.
void deleteDemandDrivenData(DataPtr &dataPtr)
messageStream Info
Information stream (stdout output on master, null elsewhere)
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
Mesh data needed to do the Finite Volume discretisation.
Mesh representing a set of points created from polyMesh.
errorManip< error > abort(error &err)
pointVolInterpolation(const pointMesh &, const fvMesh &)
Constructor given pointMesh and fvMesh.
List< labelList > labelListList
A List of labelList.
const vectorField & cellCentres() const
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
const std::string patch
OpenFOAM patch number as a std::string.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
defineTypeNameAndDebug(combustionModel, 0)