From f8ffee8135d242d352531cbb9dc6b80c5bf4e62a Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Tue, 8 Sep 2020 15:06:56 +0200 Subject: [PATCH] ENH: support fieldScale for more surface writers --- .../boundaryData/boundaryDataSurfaceWriter.C | 21 ++++++++++--- .../boundaryData/boundaryDataSurfaceWriter.H | 10 ++++++- src/surfMesh/writers/foam/foamSurfaceWriter.C | 30 +++++++++++++++---- src/surfMesh/writers/foam/foamSurfaceWriter.H | 11 ++++++- .../nastran/nastranSurfaceWriterImpl.C | 11 +++---- .../writers/raw/rawSurfaceWriterImpl.C | 8 ++--- .../writers/starcd/starcdSurfaceWriter.C | 28 +++++++++++++---- .../writers/starcd/starcdSurfaceWriter.H | 4 +++ src/surfMesh/writers/vtk/vtkSurfaceWriter.C | 26 ++++++++++++++-- src/surfMesh/writers/vtk/vtkSurfaceWriter.H | 8 +++++ src/surfMesh/writers/x3d/x3dSurfaceWriter.C | 2 +- 11 files changed, 129 insertions(+), 30 deletions(-) diff --git a/src/surfMesh/writers/boundaryData/boundaryDataSurfaceWriter.C b/src/surfMesh/writers/boundaryData/boundaryDataSurfaceWriter.C index b7b5d49ef3..2300c14ea8 100644 --- a/src/surfMesh/writers/boundaryData/boundaryDataSurfaceWriter.C +++ b/src/surfMesh/writers/boundaryData/boundaryDataSurfaceWriter.C @@ -56,7 +56,8 @@ Foam::surfaceWriters::boundaryDataWriter::boundaryDataWriter() : surfaceWriter(), header_(true), - streamOpt_() + streamOpt_(), + fieldScale_() {} @@ -71,7 +72,8 @@ Foam::surfaceWriters::boundaryDataWriter::boundaryDataWriter ( IOstream::formatEnum("format", options, IOstream::ASCII), IOstream::compressionEnum("compression", options) - ) + ), + fieldScale_(options.subOrEmptyDict("fieldScale")) {} @@ -188,12 +190,23 @@ Foam::fileName Foam::surfaceWriters::boundaryDataWriter::writeTemplate const fileName outputFile(surfaceDir/timeName()/fieldName); + // Output scaling for the variable, but not for integer types. + // could also solve with clever templating + + const scalar varScale = + ( + std::is_integral::value + ? scalar(1) + : fieldScale_.getOrDefault(fieldName, 1) + ); + + // Dummy Time to use as objectRegistry autoPtr