From 03eec4a5dbbadcc7dcc1af7275e3061dc3b010ff Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Mon, 17 Sep 2018 09:36:00 +0200 Subject: [PATCH] ENH: code improvements for vtkCloud function object (issue #926) - use parallel list writing, beginDataArray methods. - use static_assert to restrict conversion of non-label integral types - cache .vtp.series information by fileName instead of by cloud name. This issues if the output directory changes, and simplifies code. ENH: emit TimeValue in files generated by vtkCloud - additional information for passing to ParaView ENH: vtkCloud output to postProcessing/ (issue #866) - better alignment with other function objects, no collision with foamToVTK output. --- .../lagrangian/vtkCloud/vtkCloud.C | 334 +++++++++--------- .../lagrangian/vtkCloud/vtkCloud.H | 40 +-- .../lagrangian/vtkCloud/vtkCloudTemplates.C | 115 ++---- .../simplifiedSiwek/system/vtkCloud | 2 +- 4 files changed, 226 insertions(+), 265 deletions(-) diff --git a/src/functionObjects/lagrangian/vtkCloud/vtkCloud.C b/src/functionObjects/lagrangian/vtkCloud/vtkCloud.C index c99faa34ce..840e6da70c 100644 --- a/src/functionObjects/lagrangian/vtkCloud/vtkCloud.C +++ b/src/functionObjects/lagrangian/vtkCloud/vtkCloud.C @@ -44,65 +44,62 @@ namespace functionObjects } } + // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // void Foam::functionObjects::vtkCloud::writeVerts ( autoPtr& format, - const label nParcels + const label nTotParcels ) const { - if (Pstream::master()) + // No collectives - can skip on slave processors + if (!format) return; + + // Same payload for connectivity and offsets + const uint64_t payLoad = vtk::sizeofData