diff --git a/src/OpenFOAM/db/Time/Time.C b/src/OpenFOAM/db/Time/Time.C index 7c0bc062e1c864d6f59d420d4f175256c7e52b11..c215eb6956cb89c62b887e5417ff497d7cb45963 100644 --- a/src/OpenFOAM/db/Time/Time.C +++ b/src/OpenFOAM/db/Time/Time.C @@ -711,6 +711,38 @@ Foam::Time::Time } +// * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * * // + +Foam::autoPtr<Foam::Time> Foam::Time::New() +{ + return + autoPtr<Time>::New + ( + ".", // root-path + ".", // case-name + "system", + "constant", + false, // No enableFunctionObjects + false // No enableLibs + ); +} + + +Foam::autoPtr<Foam::Time> Foam::Time::New(const fileName& caseDir) +{ + return + autoPtr<Time>::New + ( + caseDir.path(), // root-path + caseDir.name(), // case-name + "system", + "constant", + false, // No enableFunctionObjects + false // No enableLibs + ); +} + + // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::Time::~Time() diff --git a/src/OpenFOAM/db/Time/Time.H b/src/OpenFOAM/db/Time/Time.H index 9b8f37e2526b0b9b74e60b5ac08f0d429f47fa24..0f1147519e7ea93284e3ce66d0ea917acceff2cc 100644 --- a/src/OpenFOAM/db/Time/Time.H +++ b/src/OpenFOAM/db/Time/Time.H @@ -271,6 +271,15 @@ public: ); + // Selectors + + //- Construct dummy time, without functionObjects or libraries + static autoPtr<Time> New(); + + //- Construct dummy time, without functionObjects or libraries + static autoPtr<Time> New(const fileName& caseDir); + + //- Destructor virtual ~Time(); diff --git a/src/meshTools/edgeMesh/edgeMeshFormats/edgeMesh/edgeMeshFormat.C b/src/meshTools/edgeMesh/edgeMeshFormats/edgeMesh/edgeMeshFormat.C index a5982d638902b5ee49846ce13636478bdfa42b9a..f5eddc4139c0091e923838f6527db226f01a9c62 100644 --- a/src/meshTools/edgeMesh/edgeMeshFormats/edgeMesh/edgeMeshFormat.C +++ b/src/meshTools/edgeMesh/edgeMeshFormats/edgeMesh/edgeMeshFormat.C @@ -52,22 +52,15 @@ bool Foam::fileFormats::edgeMeshFormat::read { clear(); - // Construct dummy time to use as an objectRegistry - Time dummyTime - ( - ".", //rootPath, - ".", //caseName, - "system", //systemName, - "constant", //constantName, - false //enableFunctionObjects - ); + // Use dummy Time for objectRegistry + autoPtr<Time> dummyTimePtr(Time::New()); // Construct IOobject to re-use the headerOk & readHeader // (so we can read ascii and binary) IOobject io ( filename, - dummyTime, + *dummyTimePtr, IOobject::NO_READ, IOobject::NO_WRITE, false @@ -150,21 +143,14 @@ void Foam::fileFormats::edgeMeshFormat::write const edgeMesh& mesh ) { - // Construct dummy time to use as an objectRegistry - Time dummyTime - ( - ".", //rootPath, - ".", //caseName, - "system", //systemName, - "constant", //constantName, - false //enableFunctionObjects - ); + // Use dummy Time for objectRegistry + autoPtr<Time> dummyTimePtr(Time::New()); // Construct IOobject to re-use the writeHeader IOobject io ( filename, - dummyTime, + *dummyTimePtr, IOobject::NO_READ, IOobject::NO_WRITE, false diff --git a/src/meshTools/edgeMesh/edgeMeshFormats/vtk/VTKedgeFormat.C b/src/meshTools/edgeMesh/edgeMeshFormats/vtk/VTKedgeFormat.C index 7e6ab903a72c58125994e8309c07cb7f1635e119..b24c62216ee949f1d405bff5d8f171f53943d2e0 100644 --- a/src/meshTools/edgeMesh/edgeMeshFormats/vtk/VTKedgeFormat.C +++ b/src/meshTools/edgeMesh/edgeMeshFormats/vtk/VTKedgeFormat.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | + \\ / A nd | Copyright (C) 2019 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- | Copyright (C) 2011-2017 OpenFOAM Foundation @@ -98,24 +98,15 @@ bool Foam::fileFormats::VTKedgeFormat::read << exit(FatalError); } - // Construct dummy time so we have something to create an objectRegistry - // from - Time dummyTime - ( - "dummyRoot", - "dummyCase", - "system", - "constant", - false // enableFunctionObjects - ); + // Use dummy Time for objectRegistry + autoPtr<Time> dummyTimePtr(Time::New()); - // Make dummy object registry objectRegistry obr ( IOobject ( - "dummy", - dummyTime, + "vtk::edgeFormat", + *dummyTimePtr, IOobject::NO_READ, IOobject::NO_WRITE, false diff --git a/src/meshTools/edgeMesh/extendedEdgeMesh/extendedEdgeMeshFormats/extendedEdgeMeshFormat/extendedEdgeMeshFormat.C b/src/meshTools/edgeMesh/extendedEdgeMesh/extendedEdgeMeshFormats/extendedEdgeMeshFormat/extendedEdgeMeshFormat.C index 9070943bc23b85251b834fa25031f22fd21e12c6..0e4c9e5ab361c7cd72f9a7a69af192e95c4af8b0 100644 --- a/src/meshTools/edgeMesh/extendedEdgeMesh/extendedEdgeMeshFormats/extendedEdgeMeshFormat/extendedEdgeMeshFormat.C +++ b/src/meshTools/edgeMesh/extendedEdgeMesh/extendedEdgeMeshFormats/extendedEdgeMeshFormat/extendedEdgeMeshFormat.C @@ -50,22 +50,15 @@ bool Foam::fileFormats::extendedEdgeMeshFormat::read { clear(); - // Construct dummy time to use as an objectRegistry - Time dummyTime - ( - ".", //rootPath, - ".", //caseName, - "system", //systemName, - "constant", //constantName, - false //enableFunctionObjects - ); + // Use dummy Time for objectRegistry + autoPtr<Time> dummyTimePtr(Time::New()); // Construct IOobject to re-use the headerOk & readHeader // (so we can read ascii and binary) IOobject io ( filename, - dummyTime, + *dummyTimePtr, IOobject::NO_READ, IOobject::NO_WRITE, false diff --git a/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormat.C b/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormat.C index 6d5a5f7eaf3d1fff10fb802a74b3fe364e4875fa..ca4dadfbc26089c85a80ef92870b021e2e9228d4 100644 --- a/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormat.C +++ b/src/surfMesh/surfaceFormats/vtk/VTKsurfaceFormat.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 | ------------------------------------------------------------------------------- | Copyright (C) 2011-2016 OpenFOAM Foundation @@ -102,24 +102,15 @@ bool Foam::fileFormats::VTKsurfaceFormat<Face>::read bool sorted = true; - // Construct dummy time so we have something to create an objectRegistry - // from - Time dummyTime - ( - "dummyRoot", - "dummyCase", - "system", - "constant", - false // enableFunctionObjects - ); + // Use dummy Time for objectRegistry + autoPtr<Time> dummyTimePtr(Time::New()); - // Make dummy object registry objectRegistry obr ( IOobject ( - "dummy", - dummyTime, + "vtk::surfaceFormat", + *dummyTimePtr, IOobject::NO_READ, IOobject::NO_WRITE, false diff --git a/src/surfMesh/writers/boundaryData/boundaryDataSurfaceWriter.C b/src/surfMesh/writers/boundaryData/boundaryDataSurfaceWriter.C index fc8482b81410fc55c2f5789f3b226f77f770837f..756e1043ea00011dd82442128b6026206cc0f340 100644 --- a/src/surfMesh/writers/boundaryData/boundaryDataSurfaceWriter.C +++ b/src/surfMesh/writers/boundaryData/boundaryDataSurfaceWriter.C @@ -112,18 +112,8 @@ Foam::fileName Foam::surfaceWriters::boundaryDataWriter::write() } - // Dummy time to use as an objectRegistry - const fileName caseDir(argList::envGlobalPath()); - - Time dummyTime - ( - caseDir.path(), // root-path, - caseDir.name(), // case-name, - "system", // - "constant", // - false, // no function objects - false // no libs - ); + // Dummy Time to use as objectRegistry + autoPtr<Time> dummyTimePtr(Time::New(argList::envGlobalPath())); const meshedSurf& surf = surface(); @@ -140,7 +130,7 @@ Foam::fileName Foam::surfaceWriters::boundaryDataWriter::write() IOobject ( surfaceDir/"points", - dummyTime, + *dummyTimePtr, IOobject::NO_READ, IOobject::NO_WRITE, false @@ -183,18 +173,8 @@ Foam::fileName Foam::surfaceWriters::boundaryDataWriter::writeTemplate const fileName outputFile(surfaceDir/timeName()/fieldName); - // Dummy time to use as an objectRegistry - const fileName caseDir(argList::envGlobalPath()); - - Time dummyTime - ( - caseDir.path(), // root-path, - caseDir.name(), // case-name, - "system", // - "constant", // - false, // no function objects - false // no libs - ); + // Dummy Time to use as objectRegistry + autoPtr<Time> dummyTimePtr(Time::New(argList::envGlobalPath())); // Geometry merge() implicit @@ -217,7 +197,7 @@ Foam::fileName Foam::surfaceWriters::boundaryDataWriter::writeTemplate IOobject ( surfaceDir/"points", - dummyTime, + *dummyTimePtr, IOobject::NO_READ, IOobject::NO_WRITE, false