From 24e7e2527b5e6b5125c06e8597eccc9501054113 Mon Sep 17 00:00:00 2001 From: Henry Date: Fri, 15 May 2015 15:36:26 +0100 Subject: [PATCH] faceSource: Corrected handling of totalArea in parallel Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1693 --- .../field/fieldValues/faceSource/faceSource.C | 10 +++++++--- .../field/fieldValues/faceSource/faceSource.H | 3 +++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.C b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.C index 1fdfa478..924b3cdc 100644 --- a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.C +++ b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.C @@ -447,10 +447,12 @@ void Foam::fieldValues::faceSource::initialise(const dictionary& dict) surfacePtr_().update(); } + totalArea_ = totalArea(); + Info<< type() << " " << name_ << ":" << nl << " total faces = " << nFaces_ << nl - << " total area = " << totalArea() + << " total area = " << totalArea_ << nl; if (dict.readIfPresent("weightField", weightFieldName_)) @@ -534,7 +536,7 @@ void Foam::fieldValues::faceSource::writeFileHeader(const label i) writeCommented(file(), "Faces : "); file() << nFaces_ << endl; writeCommented(file(), "Area : "); - file() << totalArea() << endl; + file() << totalArea_ << endl; writeCommented(file(), "Time"); if (writeArea_) @@ -694,10 +696,12 @@ void Foam::fieldValues::faceSource::write() if (writeArea_) { + totalArea_ = totalArea(); if (Pstream::master()) { - file() << tab << totalArea(); + file() << tab << totalArea_; } + Info(log_)<< " total area = " << totalArea_ << endl; } // construct weight field. Note: zero size means weight = 1 diff --git a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.H b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.H index 9932b820..87403aad 100644 --- a/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.H +++ b/src/postProcessing/functionObjects/field/fieldValues/faceSource/faceSource.H @@ -258,6 +258,9 @@ protected: //- Scale factor - optional scalar scaleFactor_; + //- Total area of the faceSource + scalar totalArea_; + //- Optionally write the area of the faceSource bool writeArea_;