From 587f79b39f081fb47d26ac8b0ff9a07855870ff0 Mon Sep 17 00:00:00 2001 From: Henry Weller Date: Fri, 8 Mar 2024 16:29:21 +0000 Subject: [PATCH] foamToTecplot360: Link to the foamToVTK library rather than duplicating vtkMesh --- .../foamToTecplot360/Make/files | 1 - .../foamToTecplot360/Make/options | 2 + .../dataConversion/foamToTecplot360/vtkMesh.C | 83 ---------- .../dataConversion/foamToTecplot360/vtkMesh.H | 153 ------------------ 4 files changed, 2 insertions(+), 237 deletions(-) delete mode 100644 applications/utilities/postProcessing/dataConversion/foamToTecplot360/vtkMesh.C delete mode 100644 applications/utilities/postProcessing/dataConversion/foamToTecplot360/vtkMesh.H diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/Make/files b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/Make/files index 270e84931b..3eb58f1773 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/Make/files +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/Make/files @@ -1,5 +1,4 @@ tecplotWriter.C -vtkMesh.C foamToTecplot360.C EXE = $(FOAM_APPBIN)/foamToTecplot360 diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/Make/options b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/Make/options index 527dcf9dd2..74bbd6fe29 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/Make/options +++ b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/Make/options @@ -1,11 +1,13 @@ EXE_INC = \ -I$(WM_THIRD_PARTY_DIR)/tecio/tecsrc/lnInclude \ + -I../foamToVTK/foamToVTK/lnInclude \ -I$(LIB_SRC)/lagrangian/basic/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/polyTopoChange/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ + -lfoamToVTK \ -llagrangian \ -lpolyTopoChange \ -lgenericFvFields \ diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/vtkMesh.C b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/vtkMesh.C deleted file mode 100644 index 7603a3d598..0000000000 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/vtkMesh.C +++ /dev/null @@ -1,83 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2023 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "vtkMesh.H" -#include "fvMeshSubset.H" -#include "Time.H" -#include "cellSet.H" - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -// Construct from components -Foam::vtkMesh::vtkMesh -( - fvMesh& baseMesh, - const word& setName -) -: - baseMesh_(baseMesh), - subsetter_(baseMesh), - setName_(setName) -{ - if (setName.size()) - { - // Read cellSet using whole mesh - cellSet currentSet(baseMesh_, setName_); - - // Set current subset - subsetter_.setLargeCellSubset(currentSet); - } -} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::fvMesh::readUpdateState Foam::vtkMesh::readUpdate() -{ - fvMesh::readUpdateState meshState = baseMesh_.readUpdate(); - - if (meshState != fvMesh::UNCHANGED) - { - // Note: since fvMeshSubset has no movePoints() functionality - // reconstruct the subset even if only movement. - -// topoPtr_.clear(); - - if (setName_.size()) - { - Info<< "Subsetting mesh based on cellSet " << setName_ << endl; - - // Read cellSet using whole mesh - cellSet currentSet(baseMesh_, setName_); - - subsetter_.setLargeCellSubset(currentSet); - } - } - - return meshState; -} - - -// ************************************************************************* // diff --git a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/vtkMesh.H b/applications/utilities/postProcessing/dataConversion/foamToTecplot360/vtkMesh.H deleted file mode 100644 index 0eb01817be..0000000000 --- a/applications/utilities/postProcessing/dataConversion/foamToTecplot360/vtkMesh.H +++ /dev/null @@ -1,153 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2023 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Class - Foam::vtkMesh - -Description - Encapsulation of VTK mesh data. Holds mesh or meshsubset and - polyhedral-cell decomposition on it. - -SourceFiles - vtkMesh.C - -\*---------------------------------------------------------------------------*/ - -#ifndef vtkMesh_H -#define vtkMesh_H - -#include "fvMeshSubset.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -// Forward declaration of classes -class Time; - -/*---------------------------------------------------------------------------*\ - Class vtkMesh Declaration -\*---------------------------------------------------------------------------*/ - -class vtkMesh -{ - // Private Data - - //- Reference to mesh - fvMesh& baseMesh_; - - //- Subsetting engine + sub-fvMesh - fvMeshSubset subsetter_; - - //- Current cellSet (or empty) - const word setName_; - - - -public: - - // Constructors - - //- Construct from components - vtkMesh(fvMesh& baseMesh, const word& setName = ""); - - //- Disallow default bitwise copy construction - vtkMesh(const vtkMesh&) = delete; - - - // Member Functions - - // Access - - //- Whole mesh - const fvMesh& baseMesh() const - { - return baseMesh_; - } - - const fvMeshSubset& subsetter() const - { - return subsetter_; - } - - //- Check if running subMesh - bool useSubMesh() const - { - return setName_.size(); - } - - //- Access either mesh or submesh - const fvMesh& mesh() const - { - if (useSubMesh()) - { - return subsetter_.subMesh(); - } - else - { - return baseMesh_; - } - } - - - // Edit - - //- Read mesh - fvMesh::readUpdateState readUpdate(); - - - //- Map volume field (does in fact do very little interpolation; - // just copied from fvMeshSubset) - template - tmp interpolate(const GeoField& fld) const - { - if (useSubMesh()) - { - tmp subFld = subsetter_.interpolate(fld); - subFld.ref().rename(fld.name()); - return subFld; - } - else - { - return fld; - } - } - - - // Member Operators - - //- Disallow default bitwise assignment - void operator=(const vtkMesh&) = delete; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* //