From cc92330253f2aa4e8ff6e19120543a92cdcec26c Mon Sep 17 00:00:00 2001 From: Henry Weller Date: Mon, 9 Aug 2021 21:23:12 +0100 Subject: [PATCH] IOobject, regIOobject: rationalised handling of paths for global and local objects now all path functions in 'IOobject' are either templated on the type or require a 'globalFile' argument to specify if the type is case global e.g. 'IOdictionary' or decomposed in parallel, e.g. almost everything else. The 'global()' and 'globalFile()' virtual functions are now in 'regIOobject' abstract base-class and overridden as required by derived classes. The path functions using 'global()' and 'globalFile()' to differentiate between global and processor local objects are now also in 'regIOobject' rather than 'IOobject' to ensure the path returned is absolutely consistent with the type. Unfortunately there is still potential for unexpected IO behaviour inconsistent with the global/local nature of the type due to the 'fileOperation' classes searching the processor directory for case global objects before searching the case directory. This approach appears to be a work-around for incomplete integration with and rationalisation of 'IOobject' but with the changes above it is no longer necessary. Unfortunately this "up" searching is baked-in at a low level and mixed-up with various complex ways to pick the processor directory name out of the object path and will take some unravelling but this work will undertaken as time allows. --- .../advanced/autoRefineMesh/autoRefineMesh.C | 6 +- .../refineWallLayer/refineWallLayer.C | 4 +- .../Optional/ccm26ToFoam/ccm26ToFoam.C | 4 +- .../fluent3DMeshToFoam/fluent3DMeshToFoam.L | 4 +- .../mesh/generation/blockMesh/blockMesh.C | 4 +- .../extrude/extrudeMesh/extrudeMesh.C | 4 +- .../extrudeToRegionMesh/extrudeToRegionMesh.C | 2 +- .../conformalVoronoiMeshIO.C | 6 +- .../mesh/manipulation/refineMesh/refineMesh.C | 14 ++-- .../splitMeshRegions/splitMeshRegions.C | 7 +- .../mesh/manipulation/topoSet/topoSet.C | 2 +- .../decomposePar/decomposePar.C | 6 +- .../reconstructParMesh/reconstructParMesh.C | 2 +- .../foamToEnsightParts/getTimeIndex.H | 3 +- .../foamToTetDualMesh/foamToTetDualMesh.C | 4 +- .../PVReaders/vtkPVFoam/vtkPVFoamFields.C | 6 +- .../changeDictionary/changeDictionary.C | 8 +- .../preProcessing/mapFields/UnMapped.H | 4 +- .../preProcessing/mapFieldsPar/UnMapped.H | 4 +- .../surfaceBooleanFeatures.C | 2 +- .../surface/surfaceFeatures/surfaceFeatures.C | 4 +- .../surfaceMeshConvertTesting.C | 8 +- .../surfaceMeshExport/surfaceMeshExport.C | 4 +- .../surfaceMeshImport/surfaceMeshImport.C | 4 +- .../surfaceRedistributePar.C | 2 +- src/OpenFOAM/db/IOobject/IOobject.C | 52 +++++-------- src/OpenFOAM/db/IOobject/IOobject.H | 75 +++++++++---------- src/OpenFOAM/db/IOobject/IOobjectIO.C | 4 +- .../db/IOobjects/IOdictionary/IOdictionary.C | 10 +-- .../db/objectRegistry/objectRegistry.C | 12 ++- .../db/objectRegistry/objectRegistry.H | 11 ++- src/OpenFOAM/db/regIOobject/regIOobject.C | 27 ++++++- src/OpenFOAM/db/regIOobject/regIOobject.H | 48 +++++++++--- .../db/regIOobject/regIOobjectWrite.C | 10 +-- .../collatedFileOperation.C | 6 +- .../fileOperation/fileOperation.C | 7 +- .../fileOperation/fileOperation.H | 10 +-- .../masterUncollatedFileOperation.C | 71 +++++++++--------- .../masterUncollatedFileOperation.H | 16 ++-- .../uncollatedFileOperation.C | 34 ++++----- .../uncollatedFileOperation.H | 14 ++-- src/OpenFOAM/meshes/polyMesh/polyMeshIO.C | 2 +- .../general/include/checkRadiationModel.H | 2 +- .../heatTransferModels/constant/constant.C | 2 +- .../heatTransferModel/heatTransferModel.C | 2 +- .../parcel/parcelCloudList/parcelCloudList.C | 5 +- .../refinementFeatures/refinementFeatures.C | 3 +- .../searchableExtrudedCircle.C | 2 +- .../distributedTriSurfaceMesh.C | 10 +-- src/surfMesh/surfMesh/surfMesh.C | 4 +- .../surfZone/surfZone/surfZoneIOList.C | 4 +- .../surfacePatch/surfacePatchIOList.C | 7 +- 52 files changed, 313 insertions(+), 255 deletions(-) diff --git a/applications/utilities/mesh/advanced/autoRefineMesh/autoRefineMesh.C b/applications/utilities/mesh/advanced/autoRefineMesh/autoRefineMesh.C index 6a4e6b53f0..58f812b34b 100644 --- a/applications/utilities/mesh/advanced/autoRefineMesh/autoRefineMesh.C +++ b/applications/utilities/mesh/advanced/autoRefineMesh/autoRefineMesh.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -758,7 +758,7 @@ int main(int argc, char *argv[]) if (maxLevel > 0) { Info<< "Read existing refinement level from file " - << refLevel.localObjectPath() << nl + << refLevel.relativeObjectPath() << nl << " min level : " << min(refLevel) << nl << " max level : " << maxLevel << nl << endl; @@ -766,7 +766,7 @@ int main(int argc, char *argv[]) else { Info<< "Created zero refinement level in file " - << refLevel.localObjectPath() << nl + << refLevel.relativeObjectPath() << nl << endl; } diff --git a/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C b/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C index b6021a92de..4128606038 100644 --- a/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C +++ b/applications/utilities/mesh/advanced/refineWallLayer/refineWallLayer.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -143,7 +143,7 @@ int main(int argc, char *argv[]) const cellSet cellsToRefine(mesh, setName); Info<< " Read " << cellsToRefine.size() - << " cells from cellSet " << cellsToRefine.localObjectPath() + << " cells from cellSet " << cellsToRefine.relativeObjectPath() << nl << endl; forAllIter(labelHashSet, cutCells, iter) diff --git a/applications/utilities/mesh/conversion/Optional/ccm26ToFoam/ccm26ToFoam.C b/applications/utilities/mesh/conversion/Optional/ccm26ToFoam/ccm26ToFoam.C index 6dccdd3a38..832a8d07bc 100644 --- a/applications/utilities/mesh/conversion/Optional/ccm26ToFoam/ccm26ToFoam.C +++ b/applications/utilities/mesh/conversion/Optional/ccm26ToFoam/ccm26ToFoam.C @@ -1103,7 +1103,7 @@ int main(int argc, char *argv[]) } - Info<< "Writing mesh to " << mesh.objectRegistry::localObjectPath() + Info<< "Writing mesh to " << mesh.objectRegistry::relativeObjectPath() << "..." << nl << endl; @@ -1148,7 +1148,7 @@ int main(int argc, char *argv[]) } Info<< "Writing cellIds as volScalarField to " - << cellIdField.localObjectPath() << "..." << nl << endl; + << cellIdField.relativeObjectPath() << "..." << nl << endl; mesh.write(); Info<< "End\n" << endl; diff --git a/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L b/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L index 1a7c407413..b7f887dc54 100644 --- a/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L +++ b/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -1478,7 +1478,7 @@ int main(int argc, char *argv[]) // Set the precision of the points data to 10 IOstream::defaultPrecision(max(10u, IOstream::defaultPrecision())); - Info<< nl << "Writing mesh to " << mesh.localObjectPath() << endl; + Info<< nl << "Writing mesh to " << mesh.relativeObjectPath() << endl; mesh.write(); diff --git a/applications/utilities/mesh/generation/blockMesh/blockMesh.C b/applications/utilities/mesh/generation/blockMesh/blockMesh.C index 0229ccfbd0..195030cd2e 100644 --- a/applications/utilities/mesh/generation/blockMesh/blockMesh.C +++ b/applications/utilities/mesh/generation/blockMesh/blockMesh.C @@ -154,13 +154,13 @@ int main(int argc, char *argv[]) if (!meshDictIO.typeHeaderOk(true)) { FatalErrorInFunction - << "Cannot find file " << meshDictIO.localObjectPath() + << "Cannot find file " << meshDictIO.relativeObjectPath() << nl << exit(FatalError); } Info<< "Creating block mesh from\n " - << meshDictIO.localObjectPath() << endl; + << meshDictIO.relativeObjectPath() << endl; IOdictionary meshDict(meshDictIO); blockMesh blocks(meshDict, regionName); diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C index c051242899..dc1060c05a 100644 --- a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C +++ b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C @@ -95,7 +95,7 @@ void createDummyFvMeshFiles(const polyMesh& mesh, const word& regionName) false ); - Info<< "Testing:" << io.objectPath() << endl; + Info<< "Testing:" << io.objectPath() << endl; if (!io.typeHeaderOk(false)) { @@ -1028,7 +1028,7 @@ int main(int argc, char *argv[]) } mesh.setInstance(runTimeExtruded.constant()); - Info<< "Writing mesh to " << mesh.localObjectPath() << nl << endl; + Info<< "Writing mesh to " << mesh.relativeObjectPath() << nl << endl; if (!mesh.write()) { diff --git a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C index b5e390ecdd..2d2d252a6a 100644 --- a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C +++ b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/extrudeToRegionMesh.C @@ -353,7 +353,7 @@ void createDummyFvMeshFiles(const polyMesh& mesh, const word& regionName) false ); - Info<< "Testing:" << io.objectPath() << endl; + Info<< "Testing:" << io.objectPath() << endl; if (!io.typeHeaderOk(true)) { diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshIO.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshIO.C index e330f42e23..4b3aaae6f5 100644 --- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshIO.C +++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshIO.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2012-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2012-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -316,7 +316,7 @@ void Foam::conformalVoronoiMesh::writeMesh(const fileName& instance) // } // // Info<< "Writing map from tetDualMesh points to Voronoi mesh to " -// << pointDualAddressing.localObjectPath() << endl; +// << pointDualAddressing.relativeObjectPath() << endl; // pointDualAddressing.write(); // // @@ -370,7 +370,7 @@ void Foam::conformalVoronoiMesh::writeMesh(const fileName& instance) // } // // Info<< "Writing tetDualMesh points mapped onto Voronoi mesh to " -// << dualPoints.localObjectPath() << endl +// << dualPoints.relativeObjectPath() << endl // << "Replace the polyMesh/points with these." << endl; // dualPoints.write(); // } diff --git a/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C b/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C index 833aec8294..a03afc206a 100644 --- a/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C +++ b/applications/utilities/mesh/manipulation/refineMesh/refineMesh.C @@ -195,26 +195,30 @@ int main(int argc, char *argv[]) { if (dictIO.typeHeaderOk(true)) { - Info<< "Refining according to " << dictIO.path() << nl << endl; + Info<< "Refining according to " + << dictIO.path(typeGlobalFile()) << nl << endl; refineDict = IOdictionary(dictIO); } else { FatalErrorInFunction << "Cannot open specified refinement dictionary " - << dictIO.path() << exit(FatalError); + << dictIO.path(typeGlobalFile()) + << exit(FatalError); } } else if (!refineAllCells) { if (dictIO.typeHeaderOk(true)) { - Info<< "Refining according to " << dictIO.path() << nl << endl; + Info<< "Refining according to " + << dictIO.path(typeGlobalFile()) << nl << endl; refineDict = IOdictionary(dictIO); } else { - Info<< "Refinement dictionary " << dictIO.path() << " not found" + Info<< "Refinement dictionary " + << dictIO.path(typeGlobalFile()) << " not found" << nl << endl; } } @@ -386,7 +390,7 @@ int main(int argc, char *argv[]) } Info<< "Writing map from new to old cell to " - << newToOld.localObjectPath() << nl << endl; + << newToOld.relativeObjectPath() << nl << endl; newToOld.write(); diff --git a/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C b/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C index d7abcb42a9..8a0b855962 100644 --- a/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C +++ b/applications/utilities/mesh/manipulation/splitMeshRegions/splitMeshRegions.C @@ -586,10 +586,9 @@ autoPtr createRegionMesh false ); - Info<< "Testing:" << io.objectPath() << endl; + Info<< "Testing:" << io.objectPath() << endl; if (!io.typeHeaderOk(true)) - // if (!exists(io.objectPath())) { Info<< "Writing dummy " << regionName/io.name() << endl; dictionary dummyDict; @@ -1393,7 +1392,7 @@ void writeCellToRegion(const fvMesh& mesh, const labelList& cellRegion) cellToRegion.write(); Info<< "Writing region per cell file (for manual decomposition) to " - << cellToRegion.localObjectPath() << nl << endl; + << cellToRegion.relativeObjectPath() << nl << endl; } // Write for postprocessing { @@ -1419,7 +1418,7 @@ void writeCellToRegion(const fvMesh& mesh, const labelList& cellRegion) cellToRegion.write(); Info<< "Writing region per cell as volScalarField to " - << cellToRegion.localObjectPath() << nl << endl; + << cellToRegion.relativeObjectPath() << nl << endl; } } diff --git a/applications/utilities/mesh/manipulation/topoSet/topoSet.C b/applications/utilities/mesh/manipulation/topoSet/topoSet.C index 2b9c06b1b6..81a4fb3da9 100644 --- a/applications/utilities/mesh/manipulation/topoSet/topoSet.C +++ b/applications/utilities/mesh/manipulation/topoSet/topoSet.C @@ -116,7 +116,7 @@ void removeSet if (objects.found(setName)) { // Remove file - fileName object = objects[setName]->objectPath(); + const fileName object = objects[setName]->objectPath(false); Info<< "Removing file " << object << endl; rm(object); } diff --git a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C index 4c41e08515..22c0883f28 100644 --- a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C +++ b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C @@ -432,13 +432,13 @@ int main(int argc, char *argv[]) IOobject::NO_WRITE, false ), - dictIO.objectPath() + dictIO.objectPath() ); // Decompose the mesh if (!decomposeFieldsOnly) { - mesh.decomposeMesh(dictIO.objectPath()); + mesh.decomposeMesh(dictIO.objectPath()); mesh.writeDecomposition(decomposeSets); @@ -464,7 +464,7 @@ int main(int argc, char *argv[]) cellDecomposition.write(); Info<< nl << "Wrote decomposition to " - << cellDecomposition.localObjectPath() + << cellDecomposition.relativeObjectPath() << " for use in manual decomposition." << endl; // Write as volScalarField for postprocessing. diff --git a/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C b/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C index 9c873c36fb..a56541a3bd 100644 --- a/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C +++ b/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C @@ -187,7 +187,7 @@ void writeCellDistribution cellDecomposition.write(); Info<< nl << "Wrote decomposition to " - << cellDecomposition.localObjectPath() + << cellDecomposition.relativeObjectPath() << " for use in manual decomposition." << endl; diff --git a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/getTimeIndex.H b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/getTimeIndex.H index b1f186b099..12d7674501 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/getTimeIndex.H +++ b/applications/utilities/postProcessing/dataConversion/foamToEnsightParts/getTimeIndex.H @@ -33,7 +33,8 @@ } else { - Info<< "skip ... missing entry " << io.objectPath() << endl; + Info<< "skip ... missing entry " + << io.objectPath() << endl; continue; } } diff --git a/applications/utilities/postProcessing/dataConversion/foamToTetDualMesh/foamToTetDualMesh.C b/applications/utilities/postProcessing/dataConversion/foamToTetDualMesh/foamToTetDualMesh.C index b3291a2558..6aa60b8ac7 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToTetDualMesh/foamToTetDualMesh.C +++ b/applications/utilities/postProcessing/dataConversion/foamToTetDualMesh/foamToTetDualMesh.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -190,7 +190,7 @@ int main(int argc, char *argv[]) FatalErrorInFunction << "Size " << pointDualAddressing.size() << " of addressing map " - << pointDualAddressing.localObjectPath() + << pointDualAddressing.relativeObjectPath() << " differs from number of points in mesh " << tetDualMesh.nPoints() << exit(FatalError); diff --git a/applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoamFields.C b/applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoamFields.C index 0ca53d85d4..a6344fc67d 100644 --- a/applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoamFields.C +++ b/applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoamFields.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -120,7 +120,7 @@ void Foam::vtkPVFoam::convertFields(vtkMultiBlockDataSet* output) forAllConstIter(IOobjectList, objects, iter) { Info<< " " << iter()->name() - << " == " << iter()->objectPath() << nl; + << " == " << iter()->objectPath() << nl; } printMemory(); } @@ -266,7 +266,7 @@ void Foam::vtkPVFoam::convertLagrangianFields(vtkMultiBlockDataSet* output) forAllConstIter(IOobjectList, objects, iter) { Info<< " " << iter()->name() - << " == " << iter()->objectPath() << nl; + << " == " << iter()->objectPath(false) << nl; } } diff --git a/applications/utilities/preProcessing/changeDictionary/changeDictionary.C b/applications/utilities/preProcessing/changeDictionary/changeDictionary.C index 36bfef884b..60b12cda49 100644 --- a/applications/utilities/preProcessing/changeDictionary/changeDictionary.C +++ b/applications/utilities/preProcessing/changeDictionary/changeDictionary.C @@ -658,10 +658,10 @@ int main(int argc, char *argv[]) // Read dictionary. (disable class type checking so we can load // field) Info<< "Loading dictionary " << fieldName << endl; - const word oldTypeName = IOdictionary::typeName; - const_cast(IOdictionary::typeName) = word::null; + const word oldTypeName = localIOdictionary::typeName; + const_cast(localIOdictionary::typeName) = word::null; - IOdictionary fieldDict + localIOdictionary fieldDict ( IOobject ( @@ -674,7 +674,7 @@ int main(int argc, char *argv[]) ) ); - const_cast(IOdictionary::typeName) = oldTypeName; + const_cast(localIOdictionary::typeName) = oldTypeName; // Fake type back to what was in field const_cast(fieldDict.type()) = diff --git a/applications/utilities/preProcessing/mapFields/UnMapped.H b/applications/utilities/preProcessing/mapFields/UnMapped.H index 4e5b2dedab..5b92eb6562 100644 --- a/applications/utilities/preProcessing/mapFields/UnMapped.H +++ b/applications/utilities/preProcessing/mapFields/UnMapped.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -41,7 +41,7 @@ void UnMapped(const IOobjectList& objects) forAllConstIter(IOobjectList, fields, fieldIter) { - mvBak(fieldIter()->objectPath(), "unmapped"); + mvBak(fieldIter()->objectPath(), "unmapped"); } } diff --git a/applications/utilities/preProcessing/mapFieldsPar/UnMapped.H b/applications/utilities/preProcessing/mapFieldsPar/UnMapped.H index 4e5b2dedab..5b92eb6562 100644 --- a/applications/utilities/preProcessing/mapFieldsPar/UnMapped.H +++ b/applications/utilities/preProcessing/mapFieldsPar/UnMapped.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -41,7 +41,7 @@ void UnMapped(const IOobjectList& objects) forAllConstIter(IOobjectList, fields, fieldIter) { - mvBak(fieldIter()->objectPath(), "unmapped"); + mvBak(fieldIter()->objectPath(), "unmapped"); } } diff --git a/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C b/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C index cbc2baff77..2a5dfd0c90 100644 --- a/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C +++ b/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C @@ -793,7 +793,7 @@ int main(int argc, char *argv[]) ); Info<< nl << "Writing featureEdgeMesh to " - << bfeMesh.localObjectPath() << endl; + << bfeMesh.relativeObjectPath() << endl; bfeMesh.regIOobject::write(); } diff --git a/applications/utilities/surface/surfaceFeatures/surfaceFeatures.C b/applications/utilities/surface/surfaceFeatures/surfaceFeatures.C index ed5dd9e264..8d6d47df37 100644 --- a/applications/utilities/surface/surfaceFeatures/surfaceFeatures.C +++ b/applications/utilities/surface/surfaceFeatures/surfaceFeatures.C @@ -389,7 +389,7 @@ namespace Foam feMesh.writeStats(Info); Info<< nl << "Writing extendedFeatureEdgeMesh to " - << feMesh.localObjectPath() << endl; + << feMesh.relativeObjectPath() << endl; mkDir(feMesh.path()); @@ -422,7 +422,7 @@ namespace Foam ); Info<< nl << "Writing featureEdgeMesh to " - << bfeMesh.localObjectPath() << endl; + << bfeMesh.relativeObjectPath() << endl; bfeMesh.regIOobject::write(); diff --git a/applications/utilities/surface/surfaceMeshConvertTesting/surfaceMeshConvertTesting.C b/applications/utilities/surface/surfaceMeshConvertTesting/surfaceMeshConvertTesting.C index 0a4954526c..0d6ebb917c 100644 --- a/applications/utilities/surface/surfaceMeshConvertTesting/surfaceMeshConvertTesting.C +++ b/applications/utilities/surface/surfaceMeshConvertTesting/surfaceMeshConvertTesting.C @@ -338,7 +338,7 @@ int main(int argc, char *argv[]) ); Info<< "writing surfMesh as well: " - << surfOut.localObjectPath() << endl; + << surfOut.relativeObjectPath() << endl; surfOut.write(); surfLabelField zoneIds @@ -368,7 +368,7 @@ int main(int argc, char *argv[]) Info<< "writing surfMesh again well: " - << surfOut.localObjectPath() + << surfOut.relativeObjectPath() << endl; surfOut.write(); @@ -388,7 +388,7 @@ int main(int argc, char *argv[]) } Info<< "write zoneIds (for testing only): " - << zoneIds.localObjectPath() << endl; + << zoneIds.relativeObjectPath() << endl; zoneIds.write(); surfPointLabelField pointIds @@ -411,7 +411,7 @@ int main(int argc, char *argv[]) } Info<< "write pointIds (for testing only): " - << pointIds.localObjectPath() << endl; + << pointIds.relativeObjectPath() << endl; pointIds.write(); Info<<"surfMesh with these names: " << surfOut.names() << endl; diff --git a/applications/utilities/surface/surfaceMeshExport/surfaceMeshExport.C b/applications/utilities/surface/surfaceMeshExport/surfaceMeshExport.C index 86f413547c..07107add68 100644 --- a/applications/utilities/surface/surfaceMeshExport/surfaceMeshExport.C +++ b/applications/utilities/surface/surfaceMeshExport/surfaceMeshExport.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -160,7 +160,7 @@ int main(int argc, char *argv[]) ) ); - Info<< "read surfMesh:\n " << smesh.localObjectPath() << endl; + Info<< "read surfMesh:\n " << smesh.relativeObjectPath() << endl; // Simply copy for now, but really should have a separate write method diff --git a/applications/utilities/surface/surfaceMeshImport/surfaceMeshImport.C b/applications/utilities/surface/surfaceMeshImport/surfaceMeshImport.C index 33fcf3dba7..63bebc740f 100644 --- a/applications/utilities/surface/surfaceMeshImport/surfaceMeshImport.C +++ b/applications/utilities/surface/surfaceMeshImport/surfaceMeshImport.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -209,7 +209,7 @@ int main(int argc, char *argv[]) ); - Info<< "writing surfMesh:\n " << smesh.localObjectPath() << endl; + Info<< "writing surfMesh:\n " << smesh.relativeObjectPath() << endl; smesh.write(); Info<< "\nEnd\n" << endl; diff --git a/applications/utilities/surface/surfaceRedistributePar/surfaceRedistributePar.C b/applications/utilities/surface/surfaceRedistributePar/surfaceRedistributePar.C index 51c7650758..4ba1d85088 100644 --- a/applications/utilities/surface/surfaceRedistributePar/surfaceRedistributePar.C +++ b/applications/utilities/surface/surfaceRedistributePar/surfaceRedistributePar.C @@ -171,7 +171,7 @@ int main(int argc, char *argv[]) fileName localPath(actualPath); localPath.replace(runTime.rootPath() + '/', ""); - if (actualPath == io.objectPath()) + if (actualPath == io.objectPath(false)) { Info<< "Loading local (decomposed) surface " << localPath << nl <: inline word modelName(const char* name) const; - //- Return true if object is global, i.e. same for all processors - // Defaults to false, must be overridden by global IO classes - virtual bool global() const; - - //- Return true if object is global, i.e. same for all processors - // and written to the global case directory, - // i.e. not the processor time directory - // Defaults to global() - virtual bool globalFile() const; - const fileName& rootPath() const; - const fileName& caseName() const; + const fileName& caseName(const bool global) const; //- Return the instance directory, constant, system,