diff --git a/src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C b/src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C index b3aaac0dbf..8dbf0ec5a8 100644 --- a/src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C +++ b/src/postProcessing/functionObjects/field/regionSizeDistribution/regionSizeDistribution.C @@ -27,8 +27,8 @@ License #include "volFields.H" #include "regionSplit.H" #include "fvcVolumeIntegrate.H" -#include "Histogram.H" #include "mathematicalConstants.H" +#include "stringListOps.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -56,6 +56,281 @@ namespace Foam } +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +void Foam::regionSizeDistribution::writeGraph +( + const coordSet& coords, + const word& valueName, + const scalarField& values +) const +{ + const fvMesh& mesh = refCast(obr_); + + const wordList valNames(1, valueName); + + fileName outputPath; + if (Pstream::parRun()) + { + outputPath = mesh.time().path()/".."/name_; + } + else + { + outputPath = mesh.time().path()/name_; + } + + if (mesh.name() != fvMesh::defaultRegion) + { + outputPath = outputPath/mesh.name(); + } + + mkDir(outputPath/mesh.time().timeName()); + OFstream str + ( + outputPath + / mesh.time().timeName() + / formatterPtr_().getFileName(coords, valNames) + ); + Info<< "Writing distribution of " << valueName << " to " << str.name() + << endl; + + List valPtrs(1); + valPtrs[0] = &values; + formatterPtr_().write(coords, valNames, valPtrs, str); +} + + +void Foam::regionSizeDistribution::writeAlphaFields +( + const regionSplit& regions, + const Map