From fe1d7e01d6c67c885740ac98d77b8314e914865f Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Tue, 23 Jan 2024 20:24:23 +0100 Subject: [PATCH] ENH: extend ensightCloud write-measured support - related to issue #3095 --- .../conversion/ensight/ensightOutputCloud.C | 159 +++++++++++------- .../conversion/ensight/ensightOutputCloud.H | 51 +++++- .../ensight/ensightOutputCloudTemplates.C | 39 +++-- 3 files changed, 175 insertions(+), 74 deletions(-) diff --git a/src/lagrangian/intermediate/conversion/ensight/ensightOutputCloud.C b/src/lagrangian/intermediate/conversion/ensight/ensightOutputCloud.C index 747bb0abeb..720ad68a45 100644 --- a/src/lagrangian/intermediate/conversion/ensight/ensightOutputCloud.C +++ b/src/lagrangian/intermediate/conversion/ensight/ensightOutputCloud.C @@ -43,7 +43,7 @@ static inline void writeMeasured_binary const UList& points ) { - for (const floatVector& p : points) + for (const auto& p : points) { os.write(p.x()); os.write(p.y()); @@ -59,7 +59,7 @@ static inline label writeMeasured_ascii const UList& points ) { - for (const floatVector& p : points) + for (const auto& p : points) { os.writeInt(++pointId, 8); // 1-index and an unusual width os.write(p.x()); @@ -79,75 +79,24 @@ static inline label writeMeasured_ascii bool Foam::ensightOutput::writeCloudPositions ( ensightFile& os, - const fvMesh& mesh, - const word& cloudName, - bool exists + DynamicList& positions, + const globalIndex& procAddr ) { - label nLocalParcels(0); - autoPtr> parcelsPtr; + // Total number of parcels across all ranks + const label nTotParcels = procAddr.totalSize(); - if (exists) - { - parcelsPtr.reset(new Cloud(mesh, cloudName, false)); - nLocalParcels = parcelsPtr().size(); - } - - // Total number of parcels on all processes - const label nTotParcels = returnReduce(nLocalParcels, sumOp