From c3e14ffdd5447593364986b84cd7f0d809c2599a Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Fri, 25 Feb 2022 14:50:01 +0100 Subject: [PATCH] ENH: refactor coordSet writers (#2347) - the very old 'writer' class was fully stateless and always templated on an particular output type. This is now replaced with a 'coordSetWriter' with similar concepts as previously introduced for surface writers (#1206). - writers change from being a generic state-less set of routines to more properly conforming to the normal notion of a writer. - Parallel data is done *outside* of the writers, since they are used in a wide variety of contexts and the caller is currently still in a better position for deciding how to combine parallel data. ENH: update sampleSets to sample on per-field basis (#2347) - sample/write a field in a single step. - support for 'sampleOnExecute' to obtain values at execution intervals without writing. - support 'sets' input as a dictionary entry (as well as a list), which is similar to the changes for sampled-surface and permits use of changeDictionary to modify content. - globalIndex for gather to reduce parallel communication, less code - qualify the sampleSet results (properties) with the name of the set. The sample results were previously without a qualifier, which meant that only the last property value was actually saved (previous ones overwritten). For example, ``` sample1 { scalar { average(line,T) 349.96521; min(line,T) 349.9544281; max(line,T) 350; average(cells,T) 349.9854619; min(cells,T) 349.6589286; max(cells,T) 350.4967271; average(line,epsilon) 0.04947733869; min(line,epsilon) 0.04449639927; max(line,epsilon) 0.06452856475; } label { size(line,T) 79; size(cells,T) 1720; size(line,epsilon) 79; } } ``` ENH: update particleTracks application - use globalIndex to manage original parcel addressing and for gathering. Simplify code by introducing a helper class, storing intermediate fields in hash tables instead of separate lists. ADDITIONAL NOTES: - the regionSizeDistribution largely retains separate writers since the utility of placing sum/dev/count for all fields into a single file is questionable. - the streamline writing remains a "soft" upgrade, which means that scalar and vector fields are still collected a priori and not on-the-fly. This is due to how the streamline infrastructure is currently handled (should be upgraded in the future). --- .../foamyMesh/foamyHexMesh/foamyHexMesh.C | 10 +- .../generation/snappyHexMesh/snappyHexMesh.C | 34 +- .../manipulation/checkMesh/checkGeometry.C | 40 +- .../manipulation/checkMesh/checkGeometry.H | 4 +- .../mesh/manipulation/checkMesh/checkMesh.C | 6 +- .../mesh/manipulation/checkMesh/checkTools.C | 37 +- .../mesh/manipulation/checkMesh/checkTools.H | 4 +- .../manipulation/checkMesh/checkTopology.C | 25 +- .../manipulation/checkMesh/checkTopology.H | 4 +- .../particleTracks/createControls.H | 7 +- .../particleTracks/particleTracks.C | 518 +++++------- .../particleTracks/particleTracksSampler.H | 190 +++++ .../particleTracksSamplerTemplates.C | 108 +++ .../steadyParticleTracks/createControls.H | 7 +- .../steadyParticleTracks.C | 207 +++-- .../steadyParticleTracksTemplates.C | 152 ++-- .../steadyParticleTracksTemplates.H | 37 +- etc/controlDict | 2 +- .../field/histogram/histogram.C | 132 ++- .../field/histogram/histogram.H | 25 +- .../particleDistribution.C | 65 +- .../particleDistribution.H | 8 +- .../regionSizeDistribution.C | 257 +++--- .../regionSizeDistribution.H | 37 +- .../field/streamLine/streamLineBase.C | 184 ++-- .../field/streamLine/streamLineBase.H | 22 +- .../meshRefinement/meshRefinement.C | 164 ++-- .../meshRefinement/meshRefinement.H | 26 +- .../meshRefinement/meshRefinementBaffles.C | 43 +- .../snappyHexMeshDriver/snappyRefineDriver.C | 2 +- .../snappyHexMeshDriver/snappyRefineDriver.H | 6 +- src/meshTools/Make/files | 21 +- src/meshTools/coordSet/coordSet.C | 124 ++- src/meshTools/coordSet/coordSet.H | 152 ++-- .../coordSet/writers/common/coordSetWriter.C | 455 ++++++++++ .../coordSet/writers/common/coordSetWriter.H | 597 +++++++++++++ .../writers/common/coordSetWriterBuffers.C | 197 +++++ .../coordSet/writers/common/coordSetWriterI.H | 110 +++ .../writers/common/coordSetWriterMethods.H | 81 ++ .../writers/common/coordSetWriterNew.C | 98 +++ .../writers/common/coordSetWriterTemplates.C} | 81 +- .../coordSet/writers/common/writer.C | 280 ------- .../coordSet/writers/common/writer.H | 244 ------ .../coordSet/writers/common/writers.C | 53 -- .../coordSet/writers/common/writers.H | 85 -- .../coordSet/writers/csv/csvCoordSetWriter.C | 316 ++++--- .../coordSet/writers/csv/csvCoordSetWriter.H | 179 ++++ .../writers/csv/csvCoordSetWriterImpl.C | 144 ++++ .../coordSet/writers/csv/csvSetWriter.H | 131 --- .../writers/csv/csvSetWriterRunTime.C | 39 - .../writers/ensight/ensightCoordSetWriter.C | 492 ++++++----- .../writers/ensight/ensightCoordSetWriter.H | 220 +++++ .../ensight/ensightCoordSetWriterCollated.C | 280 +++++++ .../ensight/ensightCoordSetWriterUncollated.C | 158 ++++ .../writers/ensight/ensightSetWriter.H | 118 --- .../writers/ensight/ensightSetWriterRunTime.C | 39 - .../writers/gltf/gltfCoordSetWriter.C | 783 +++++++++++------- .../{gltfSetWriter.H => gltfCoordSetWriter.H} | 174 ++-- .../writers/gltf/gltfSetWriterRunTime.C | 39 - .../writers/gnuplot/gnuplotCoordSetWriter.C | 286 +++++-- .../writers/gnuplot/gnuplotCoordSetWriter.H | 179 ++++ .../gnuplot/gnuplotCoordSetWriterImpl.C | 96 +++ .../writers/gnuplot/gnuplotSetWriter.H | 117 --- .../writers/gnuplot/gnuplotSetWriterRunTime.C | 39 - .../writers/nastran/nastranCoordSetWriter.C | 367 +++++--- .../writers/nastran/nastranCoordSetWriter.H | 178 ++++ .../writers/nastran/nastranSetWriter.H | 134 --- .../writers/nastran/nastranSetWriterRunTime.C | 39 - .../writers/null/nullCoordSetWriter.C | 157 ++++ .../writers/null/nullCoordSetWriter.H | 177 ++++ .../coordSet/writers/raw/rawCoordSetWriter.C | 215 +++-- .../coordSet/writers/raw/rawCoordSetWriter.H | 178 ++++ .../writers/raw/rawCoordSetWriterImpl.C | 149 ++++ .../coordSet/writers/raw/rawSetWriter.H | 117 --- .../writers/raw/rawSetWriterRunTime.C | 39 - .../coordSet/writers/vtk/vtkCoordSetWriter.C | 380 ++++++--- .../coordSet/writers/vtk/vtkCoordSetWriter.H | 185 +++++ .../coordSet/writers/vtk/vtkSetWriter.H | 120 --- .../writers/vtk/vtkSetWriterRunTime.C | 39 - .../writers/xmgrace/xmgraceCoordSetWriter.C | 280 +++++-- .../writers/xmgrace/xmgraceCoordSetWriter.H | 204 +++++ .../xmgrace/xmgraceCoordSetWriterImpl.C | 102 +++ .../writers/xmgrace/xmgraceSetWriter.H | 117 --- .../writers/xmgrace/xmgraceSetWriterRunTime.C | 39 - .../searchableSurfaces/searchableSurfaces.C | 52 +- .../searchableSurfaces/searchableSurfaces.H | 7 +- src/sampling/Make/files | 1 - .../midPointAndFace/midPointAndFaceSet.C | 6 +- .../sampledSet/sampledSet/sampledSet.C | 86 +- .../sampledSet/sampledSet/sampledSet.H | 87 +- .../sampledSet/sampledSets/sampledSets.C | 650 +++++++++++---- .../sampledSet/sampledSets/sampledSets.H | 290 +++---- .../sampledSets/sampledSetsGrouping.C | 129 --- .../sampledSet/sampledSets/sampledSetsImpl.C | 241 ++++++ .../sampledSets/sampledSetsTemplates.C | 376 --------- .../sampledSet/shortestPath/shortestPathSet.C | 2 +- 96 files changed, 8735 insertions(+), 5178 deletions(-) create mode 100644 applications/utilities/postProcessing/lagrangian/particleTracks/particleTracksSampler.H create mode 100644 applications/utilities/postProcessing/lagrangian/particleTracks/particleTracksSamplerTemplates.C create mode 100644 src/meshTools/coordSet/writers/common/coordSetWriter.C create mode 100644 src/meshTools/coordSet/writers/common/coordSetWriter.H create mode 100644 src/meshTools/coordSet/writers/common/coordSetWriterBuffers.C create mode 100644 src/meshTools/coordSet/writers/common/coordSetWriterI.H create mode 100644 src/meshTools/coordSet/writers/common/coordSetWriterMethods.H create mode 100644 src/meshTools/coordSet/writers/common/coordSetWriterNew.C rename src/{functionObjects/field/regionSizeDistribution/regionSizeDistributionTemplates.C => meshTools/coordSet/writers/common/coordSetWriterTemplates.C} (51%) delete mode 100644 src/meshTools/coordSet/writers/common/writer.C delete mode 100644 src/meshTools/coordSet/writers/common/writer.H delete mode 100644 src/meshTools/coordSet/writers/common/writers.C delete mode 100644 src/meshTools/coordSet/writers/common/writers.H create mode 100644 src/meshTools/coordSet/writers/csv/csvCoordSetWriter.H create mode 100644 src/meshTools/coordSet/writers/csv/csvCoordSetWriterImpl.C delete mode 100644 src/meshTools/coordSet/writers/csv/csvSetWriter.H delete mode 100644 src/meshTools/coordSet/writers/csv/csvSetWriterRunTime.C create mode 100644 src/meshTools/coordSet/writers/ensight/ensightCoordSetWriter.H create mode 100644 src/meshTools/coordSet/writers/ensight/ensightCoordSetWriterCollated.C create mode 100644 src/meshTools/coordSet/writers/ensight/ensightCoordSetWriterUncollated.C delete mode 100644 src/meshTools/coordSet/writers/ensight/ensightSetWriter.H delete mode 100644 src/meshTools/coordSet/writers/ensight/ensightSetWriterRunTime.C rename src/meshTools/coordSet/writers/gltf/{gltfSetWriter.H => gltfCoordSetWriter.H} (64%) delete mode 100644 src/meshTools/coordSet/writers/gltf/gltfSetWriterRunTime.C create mode 100644 src/meshTools/coordSet/writers/gnuplot/gnuplotCoordSetWriter.H create mode 100644 src/meshTools/coordSet/writers/gnuplot/gnuplotCoordSetWriterImpl.C delete mode 100644 src/meshTools/coordSet/writers/gnuplot/gnuplotSetWriter.H delete mode 100644 src/meshTools/coordSet/writers/gnuplot/gnuplotSetWriterRunTime.C create mode 100644 src/meshTools/coordSet/writers/nastran/nastranCoordSetWriter.H delete mode 100644 src/meshTools/coordSet/writers/nastran/nastranSetWriter.H delete mode 100644 src/meshTools/coordSet/writers/nastran/nastranSetWriterRunTime.C create mode 100644 src/meshTools/coordSet/writers/null/nullCoordSetWriter.C create mode 100644 src/meshTools/coordSet/writers/null/nullCoordSetWriter.H create mode 100644 src/meshTools/coordSet/writers/raw/rawCoordSetWriter.H create mode 100644 src/meshTools/coordSet/writers/raw/rawCoordSetWriterImpl.C delete mode 100644 src/meshTools/coordSet/writers/raw/rawSetWriter.H delete mode 100644 src/meshTools/coordSet/writers/raw/rawSetWriterRunTime.C create mode 100644 src/meshTools/coordSet/writers/vtk/vtkCoordSetWriter.H delete mode 100644 src/meshTools/coordSet/writers/vtk/vtkSetWriter.H delete mode 100644 src/meshTools/coordSet/writers/vtk/vtkSetWriterRunTime.C create mode 100644 src/meshTools/coordSet/writers/xmgrace/xmgraceCoordSetWriter.H create mode 100644 src/meshTools/coordSet/writers/xmgrace/xmgraceCoordSetWriterImpl.C delete mode 100644 src/meshTools/coordSet/writers/xmgrace/xmgraceSetWriter.H delete mode 100644 src/meshTools/coordSet/writers/xmgrace/xmgraceSetWriterRunTime.C delete mode 100644 src/sampling/sampledSet/sampledSets/sampledSetsGrouping.C create mode 100644 src/sampling/sampledSet/sampledSets/sampledSetsImpl.C delete mode 100644 src/sampling/sampledSet/sampledSets/sampledSetsTemplates.C diff --git a/applications/utilities/mesh/generation/foamyMesh/foamyHexMesh/foamyHexMesh.C b/applications/utilities/mesh/generation/foamyMesh/foamyHexMesh/foamyHexMesh.C index caff0c5474..bbb1c2630d 100644 --- a/applications/utilities/mesh/generation/foamyMesh/foamyHexMesh/foamyHexMesh.C +++ b/applications/utilities/mesh/generation/foamyMesh/foamyHexMesh/foamyHexMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2016-2020 OpenCFD Ltd. + Copyright (C) 2016-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -40,7 +40,7 @@ Description #include "IOdictionary.H" #include "searchableSurfaces.H" #include "conformalVoronoiMesh.H" -#include "vtkSetWriter.H" +#include "vtkCoordSetWriter.H" using namespace Foam; @@ -106,8 +106,10 @@ int main(int argc, char *argv[]) foamyHexMeshDict.getOrDefault("singleRegionName", true) ); + autoPtr setWriterPtr(new coordSetWriters::vtkWriter()); + // Write some stats - allGeometry.writeStats(List(0), Info); + allGeometry.writeStats(List(), Info); // Check topology allGeometry.checkTopology(true); // Check geometry @@ -115,7 +117,7 @@ int main(int argc, char *argv[]) ( 100.0, // max size ratio 1e-9, // intersection tolerance - autoPtr>(new vtkSetWriter()), + setWriterPtr, 0.01, // min triangle quality true ); diff --git a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C index 1d18e68fb9..12959d2361 100644 --- a/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C +++ b/applications/utilities/mesh/generation/snappyHexMesh/snappyHexMesh.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2015-2021 OpenCFD Ltd. + Copyright (C) 2015-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -51,7 +51,7 @@ Description #include "refinementParameters.H" #include "snapParameters.H" #include "layerParameters.H" -#include "vtkSetWriter.H" +#include "vtkCoordSetWriter.H" #include "faceSet.H" #include "motionSmoother.H" #include "polyTopoChange.H" @@ -854,19 +854,25 @@ int main(int argc, char *argv[]) const bool keepPatches(meshDict.getOrDefault("keepPatches", false)); - // format to be used for writing lines - const word setFormat - ( - meshDict.getOrDefault + // Writer for writing lines + autoPtr setFormatter; + { + const word setFormat ( - "setFormat", - vtkSetWriter::typeName - ) - ); - const autoPtr> setFormatter - ( - writer::New(setFormat) - ); + meshDict.getOrDefault + ( + "setFormat", + coordSetWriters::vtkWriter::typeName // Default: "vtk" + ) + ); + + setFormatter = coordSetWriter::New + ( + setFormat, + meshDict.subOrEmptyDict("formatOptions").optionalSubDict(setFormat) + ); + } + const scalar maxSizeRatio ( diff --git a/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C b/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C index b0c4a33676..ce2c8f83ce 100644 --- a/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C +++ b/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C @@ -11,7 +11,7 @@ #include "checkTools.H" #include "functionObject.H" -#include "vtkSetWriter.H" +#include "vtkCoordSetWriter.H" #include "vtkSurfaceWriter.H" #include "cyclicACMIPolyPatch.H" @@ -537,7 +537,7 @@ Foam::label Foam::checkGeometry const polyMesh& mesh, const bool allGeometry, autoPtr& surfWriter, - const autoPtr>& setWriter + autoPtr& setWriter ) { label noFailedChecks = 0; @@ -594,7 +594,7 @@ Foam::label Foam::checkGeometry << nonAlignedPoints.name() << endl; nonAlignedPoints.instance() = mesh.pointsInstance(); nonAlignedPoints.write(); - if (setWriter) + if (setWriter && setWriter->enabled()) { mergeAndWrite(*setWriter, nonAlignedPoints); } @@ -628,7 +628,7 @@ Foam::label Foam::checkGeometry << " non closed cells to set " << cells.name() << endl; cells.instance() = mesh.pointsInstance(); cells.write(); - if (surfWriter) + if (surfWriter && surfWriter->enabled()) { mergeAndWrite(*surfWriter, cells); } @@ -644,7 +644,7 @@ Foam::label Foam::checkGeometry << aspectCells.name() << endl; aspectCells.instance() = mesh.pointsInstance(); aspectCells.write(); - if (surfWriter) + if (surfWriter && surfWriter->enabled()) { mergeAndWrite(*surfWriter, aspectCells); } @@ -665,7 +665,7 @@ Foam::label Foam::checkGeometry << " zero area faces to set " << faces.name() << endl; faces.instance() = mesh.pointsInstance(); faces.write(); - if (surfWriter) + if (surfWriter && surfWriter->enabled()) { mergeAndWrite(*surfWriter, faces); } @@ -687,7 +687,7 @@ Foam::label Foam::checkGeometry << " zero volume cells to set " << cells.name() << endl; cells.instance() = mesh.pointsInstance(); cells.write(); - if (surfWriter) + if (surfWriter && surfWriter->enabled()) { mergeAndWrite(*surfWriter, cells); } @@ -710,7 +710,7 @@ Foam::label Foam::checkGeometry << " non-orthogonal faces to set " << faces.name() << endl; faces.instance() = mesh.pointsInstance(); faces.write(); - if (surfWriter) + if (surfWriter && surfWriter->enabled()) { mergeAndWrite(*surfWriter, faces); } @@ -732,7 +732,7 @@ Foam::label Foam::checkGeometry << faces.name() << endl; faces.instance() = mesh.pointsInstance(); faces.write(); - if (surfWriter) + if (surfWriter && surfWriter->enabled()) { mergeAndWrite(*surfWriter, faces); } @@ -754,7 +754,7 @@ Foam::label Foam::checkGeometry << " skew faces to set " << faces.name() << endl; faces.instance() = mesh.pointsInstance(); faces.write(); - if (surfWriter) + if (surfWriter && surfWriter->enabled()) { mergeAndWrite(*surfWriter, faces); } @@ -778,7 +778,7 @@ Foam::label Foam::checkGeometry << faces.name() << endl; faces.instance() = mesh.pointsInstance(); faces.write(); - if (surfWriter) + if (surfWriter && surfWriter->enabled()) { mergeAndWrite(*surfWriter, faces); } @@ -811,7 +811,7 @@ Foam::label Foam::checkGeometry << "decomposition tets to set " << faces.name() << endl; faces.instance() = mesh.pointsInstance(); faces.write(); - if (surfWriter) + if (surfWriter && surfWriter->enabled()) { mergeAndWrite(*surfWriter, faces); } @@ -836,7 +836,7 @@ Foam::label Foam::checkGeometry << endl; points.instance() = mesh.pointsInstance(); points.write(); - if (setWriter) + if (setWriter && setWriter->enabled()) { mergeAndWrite(*setWriter, points); } @@ -859,7 +859,7 @@ Foam::label Foam::checkGeometry << " apart) points to set " << nearPoints.name() << endl; nearPoints.instance() = mesh.pointsInstance(); nearPoints.write(); - if (setWriter) + if (setWriter && setWriter->enabled()) { mergeAndWrite(*setWriter, nearPoints); } @@ -883,7 +883,7 @@ Foam::label Foam::checkGeometry << endl; faces.instance() = mesh.pointsInstance(); faces.write(); - if (surfWriter) + if (surfWriter && surfWriter->enabled()) { mergeAndWrite(*surfWriter, faces); } @@ -906,7 +906,7 @@ Foam::label Foam::checkGeometry << " warped faces to set " << faces.name() << endl; faces.instance() = mesh.pointsInstance(); faces.write(); - if (surfWriter) + if (surfWriter && surfWriter->enabled()) { mergeAndWrite(*surfWriter, faces); } @@ -927,7 +927,7 @@ Foam::label Foam::checkGeometry << " under-determined cells to set " << cells.name() << endl; cells.instance() = mesh.pointsInstance(); cells.write(); - if (surfWriter) + if (surfWriter && surfWriter->enabled()) { mergeAndWrite(*surfWriter, cells); } @@ -947,7 +947,7 @@ Foam::label Foam::checkGeometry << " concave cells to set " << cells.name() << endl; cells.instance() = mesh.pointsInstance(); cells.write(); - if (surfWriter) + if (surfWriter && surfWriter->enabled()) { mergeAndWrite(*surfWriter, cells); } @@ -968,7 +968,7 @@ Foam::label Foam::checkGeometry << faces.name() << endl; faces.instance() = mesh.pointsInstance(); faces.write(); - if (surfWriter) + if (surfWriter && surfWriter->enabled()) { mergeAndWrite(*surfWriter, faces); } @@ -989,7 +989,7 @@ Foam::label Foam::checkGeometry << faces.name() << endl; faces.instance() = mesh.pointsInstance(); faces.write(); - if (surfWriter) + if (surfWriter && surfWriter->enabled()) { mergeAndWrite(*surfWriter, faces); } diff --git a/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.H b/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.H index e69ab01e0f..03d6da2f54 100644 --- a/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.H +++ b/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.H @@ -7,7 +7,7 @@ namespace Foam // Forward Declarations class polyMesh; class wedgePolyPatch; - template class writer; + class coordSetWriter; class surfaceWriter; label findOppositeWedge(const polyMesh&, const wedgePolyPatch&); @@ -47,6 +47,6 @@ namespace Foam const polyMesh& mesh, const bool allGeometry, autoPtr& surfWriter, - const autoPtr>& setWriter + autoPtr& setWriter ); } diff --git a/applications/utilities/mesh/manipulation/checkMesh/checkMesh.C b/applications/utilities/mesh/manipulation/checkMesh/checkMesh.C index 2455b93e4f..76db56ca70 100644 --- a/applications/utilities/mesh/manipulation/checkMesh/checkMesh.C +++ b/applications/utilities/mesh/manipulation/checkMesh/checkMesh.C @@ -74,7 +74,7 @@ Usage #include "Time.H" #include "fvMesh.H" #include "globalMeshData.H" -#include "vtkSetWriter.H" +#include "vtkCoordSetWriter.H" #include "vtkSurfaceWriter.H" #include "IOdictionary.H" #include "regionProperties.H" @@ -262,11 +262,11 @@ int main(int argc, char *argv[]) autoPtr surfWriter; - autoPtr> setWriter; + autoPtr setWriter; if (writeSets) { surfWriter = surfaceWriter::New(surfaceFormat); - setWriter = writer::New(vtkSetWriter::typeName); + setWriter = coordSetWriter::New(coordSetWriters::vtkWriter::typeName); } diff --git a/applications/utilities/mesh/manipulation/checkMesh/checkTools.C b/applications/utilities/mesh/manipulation/checkMesh/checkTools.C index 00c1f4b0f2..7e461b37a9 100644 --- a/applications/utilities/mesh/manipulation/checkMesh/checkTools.C +++ b/applications/utilities/mesh/manipulation/checkMesh/checkTools.C @@ -41,7 +41,7 @@ License #include "faceSet.H" #include "cellSet.H" #include "Time.H" -#include "writer.H" +#include "coordSetWriter.H" #include "surfaceWriter.H" #include "syncTools.H" #include "globalIndex.H" @@ -417,7 +417,7 @@ void Foam::mergeAndWrite void Foam::mergeAndWrite ( - const writer& writer, + coordSetWriter& writer, const pointSet& set ) { @@ -441,39 +441,26 @@ void Foam::mergeAndWrite } - // Write with scalar pointID + // Write with pointID if (Pstream::master()) { - scalarField scalarPointIDs(mergedIDs.size()); - forAll(mergedIDs, i) - { - scalarPointIDs[i] = 1.0*mergedIDs[i]; - } + coordSet coords(set.name(), "distance", mergedPts, mag(mergedPts)); - coordSet points(set.name(), "distance", mergedPts, mag(mergedPts)); + // Output. E.g. pointSet p0 -> postProcessing/