From 74d9dc3f5040b6c398c8625c322cdfb00d49025f Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Mon, 7 Jan 2019 22:23:19 +0100 Subject: [PATCH] BUG: polyMesh constructor AUTO_WRITE flag, ignored readOpt (#1147) - fixed some more places with an explicit AUTO_WRITE. BUG: revert handling of the readOption. It should not be NO_READ. In cases where the user a IOobject without specifying read/write, it defaults to NO_READ anyhow. However, the move constructor can also be called with empty lists and a read option. This has the same signature, but obviously will not work with NO_READ. --- .../advanced/refinementLevel/refinementLevel.C | 4 +++- .../mesh/conversion/ansysToFoam/ansysToFoam.L | 6 ++++-- .../mesh/conversion/tetgenToFoam/tetgenToFoam.C | 6 ++++-- src/OpenFOAM/meshes/polyMesh/polyMesh.C | 16 ++++++++-------- src/conversion/ccm/reader/ccmReaderMesh.C | 6 ++++-- src/conversion/common/reader/meshReader.C | 6 ++++-- src/conversion/fire/FIREMeshReader.C | 6 ++++-- .../polyTopoChange/polyTopoChange.C | 1 + src/sampling/meshToMesh/meshToMesh.C | 5 +++-- 9 files changed, 35 insertions(+), 21 deletions(-) diff --git a/applications/utilities/mesh/advanced/refinementLevel/refinementLevel.C b/applications/utilities/mesh/advanced/refinementLevel/refinementLevel.C index acde047f4f..b372198633 100644 --- a/applications/utilities/mesh/advanced/refinementLevel/refinementLevel.C +++ b/applications/utilities/mesh/advanced/refinementLevel/refinementLevel.C @@ -213,7 +213,9 @@ int main(int argc, char *argv[]) ( fvMesh::defaultRegion, runTime.timeName(), - runTime + runTime, + IOobject::NO_READ, + IOobject::AUTO_WRITE ), pointField(mesh.points()), // Could we safely re-use the data? faceList(mesh.faces()), diff --git a/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L b/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L index 904b35ae62..1deb5987f3 100644 --- a/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L +++ b/applications/utilities/mesh/conversion/ansysToFoam/ansysToFoam.L @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation - \\/ M anipulation | + \\/ M anipulation | Copyright (C) 2019 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -605,7 +605,9 @@ int main(int argc, char *argv[]) ( polyMesh::defaultRegion, runTime.constant(), - runTime + runTime, + IOobject::NO_READ, + IOobject::AUTO_WRITE ), std::move(points), cellShapes, diff --git a/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C b/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C index e16f1bb225..94e695b199 100644 --- a/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C +++ b/applications/utilities/mesh/conversion/tetgenToFoam/tetgenToFoam.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd. + \\/ M anipulation | Copyright (C) 2015-2019 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -329,7 +329,9 @@ int main(int argc, char *argv[]) ( polyMesh::defaultRegion, runTime.constant(), - runTime + runTime, + IOobject::NO_READ, + IOobject::AUTO_WRITE ), pointField(points), // Copy of points cells, diff --git a/src/OpenFOAM/meshes/polyMesh/polyMesh.C b/src/OpenFOAM/meshes/polyMesh/polyMesh.C index 7324d8e480..ba1bbfd555 100644 --- a/src/OpenFOAM/meshes/polyMesh/polyMesh.C +++ b/src/OpenFOAM/meshes/polyMesh/polyMesh.C @@ -374,7 +374,7 @@ Foam::polyMesh::polyMesh instance(), meshSubDir, *this, - IOobject::NO_READ, + io.readOpt(), io.writeOpt() ), std::move(points) @@ -387,7 +387,7 @@ Foam::polyMesh::polyMesh instance(), meshSubDir, *this, - IOobject::NO_READ, + io.readOpt(), io.writeOpt() ), std::move(faces) @@ -400,7 +400,7 @@ Foam::polyMesh::polyMesh instance(), meshSubDir, *this, - IOobject::NO_READ, + io.readOpt(), io.writeOpt() ), std::move(owner) @@ -413,7 +413,7 @@ Foam::polyMesh::polyMesh instance(), meshSubDir, *this, - IOobject::NO_READ, + io.readOpt(), io.writeOpt() ), std::move(neighbour) @@ -427,7 +427,7 @@ Foam::polyMesh::polyMesh instance(), meshSubDir, *this, - IOobject::NO_READ, + io.readOpt(), io.writeOpt() ), *this, @@ -447,7 +447,7 @@ Foam::polyMesh::polyMesh instance(), meshSubDir, *this, - IOobject::NO_READ, + io.readOpt(), IOobject::NO_WRITE ), *this, @@ -461,7 +461,7 @@ Foam::polyMesh::polyMesh instance(), meshSubDir, *this, - IOobject::NO_READ, + io.readOpt(), IOobject::NO_WRITE ), *this, @@ -475,7 +475,7 @@ Foam::polyMesh::polyMesh instance(), meshSubDir, *this, - IOobject::NO_READ, + io.readOpt(), IOobject::NO_WRITE ), *this, diff --git a/src/conversion/ccm/reader/ccmReaderMesh.C b/src/conversion/ccm/reader/ccmReaderMesh.C index cea792027f..eb03312b8c 100644 --- a/src/conversion/ccm/reader/ccmReaderMesh.C +++ b/src/conversion/ccm/reader/ccmReaderMesh.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2016-2018 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2016-2019 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -2607,7 +2607,9 @@ Foam::autoPtr Foam::ccm::reader::mesh ( polyMesh::defaultRegion, "constant", - registry + registry, + IOobject::NO_READ, + IOobject::AUTO_WRITE ), std::move(points_), std::move(faces_), diff --git a/src/conversion/common/reader/meshReader.C b/src/conversion/common/reader/meshReader.C index f82e2a2620..2dcce5ae56 100644 --- a/src/conversion/common/reader/meshReader.C +++ b/src/conversion/common/reader/meshReader.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation - \\/ M anipulation | + \\/ M anipulation | Copyright (C) 2019 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -97,7 +97,9 @@ Foam::autoPtr Foam::meshReader::mesh ( polyMesh::defaultRegion, registry.time().constant(), - registry + registry, + IOobject::NO_READ, + IOobject::AUTO_WRITE ), std::move(points_), std::move(meshFaces_), diff --git a/src/conversion/fire/FIREMeshReader.C b/src/conversion/fire/FIREMeshReader.C index 80da026075..e112cdcb52 100644 --- a/src/conversion/fire/FIREMeshReader.C +++ b/src/conversion/fire/FIREMeshReader.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2016-2018 OpenCFD Ltd. - \\/ M anipulation | + \\/ M anipulation | Copyright (C) 2019 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -431,7 +431,9 @@ Foam::autoPtr Foam::fileFormats::FIREMeshReader::mesh ( polyMesh::defaultRegion, "constant", - registry + registry, + IOobject::NO_READ, + IOobject::AUTO_WRITE ), std::move(points_), std::move(meshFaces_), diff --git a/src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C b/src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C index c689ba3d25..c5ad1aa38e 100644 --- a/src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C +++ b/src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C @@ -3311,6 +3311,7 @@ Foam::autoPtr Foam::polyTopoChange::makeMesh IOobject noReadIO(io); noReadIO.readOpt() = IOobject::NO_READ; + noReadIO.readOpt() = IOobject::AUTO_WRITE; newMeshPtr.reset ( new fvMesh diff --git a/src/sampling/meshToMesh/meshToMesh.C b/src/sampling/meshToMesh/meshToMesh.C index 7f429a96d9..f240c98d0c 100644 --- a/src/sampling/meshToMesh/meshToMesh.C +++ b/src/sampling/meshToMesh/meshToMesh.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2012-2017 OpenFOAM Foundation - \\/ M anipulation | Copyright (C) 2015-2018 OpenCFD Ltd. + \\/ M anipulation | Copyright (C) 2015-2019 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -478,7 +478,8 @@ void Foam::meshToMesh::calculate(const word& methodName, const bool normalise) "newTgt." + Foam::name(Pstream::myProcNo()), tgtRegion_.time().timeName(), tgtRegion_.time(), - IOobject::NO_READ + IOobject::NO_READ, + IOobject::AUTO_WRITE ), std::move(newTgtPoints), std::move(newTgtFaces),