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.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Field< vector > vectorField
Specialisation of Field<T> for vector.
prefixOSstream Pout(cout, "Pout")
tmp< DimensionedField< scalar, GeoMesh, Field > > mag(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
dimensioned< Type > max(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)