38 void Foam::primitiveMesh::calcFaceCentresAndAreas()
const
42 Pout<<
"primitiveMesh::calcFaceCentresAndAreas() : "
43 <<
"Calculating face centres and face areas"
49 if (faceCentresPtr_ || faceAreasPtr_ || magFaceAreasPtr_)
52 <<
"Face centres or face areas already calculated"
65 makeFaceCentresAndAreas(
points(), fCtrs, fAreas, magfAreas);
69 Pout<<
"primitiveMesh::calcFaceCentresAndAreas() : "
70 <<
"Finished calculating face centres and face areas"
76 void Foam::primitiveMesh::makeFaceCentresAndAreas
88 const Tuple2<vector, point> areaAndCentre =
91 fCtrs[facei] = areaAndCentre.second();
92 fAreas[facei] = areaAndCentre.first();
93 magfAreas[facei] =
max(
mag(fAreas[facei]), rootVSmall);
102 if (!faceCentresPtr_)
104 calcFaceCentresAndAreas();
107 return *faceCentresPtr_;
115 calcFaceCentresAndAreas();
118 return *faceAreasPtr_;
124 if (!magFaceAreasPtr_)
126 calcFaceCentresAndAreas();
129 return *magFaceAreasPtr_;
#define forAll(list, i)
Loop across all elements in list.
static Tuple2< vector, point > areaAndCentre(const PointField &)
Return vector area and centre point given face points.
const vectorField & faceCentres() const
const scalarField & magFaceAreas() const
virtual const pointField & points() const =0
Return mesh points.
const vectorField & faceAreas() const
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Ostream & endl(Ostream &os)
Add newline and flush stream.
errorManip< error > abort(error &err)
vectorField pointField
pointField is a vectorField.
void mag(LagrangianPatchField< scalar > &f, const LagrangianPatchField< Type > &f1)
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
Field< vector > vectorField
Specialisation of Field<T> for vector.
prefixOSstream Pout(cout, "Pout")