From ec2b1be8c550fac69bd634da3d12300d3332d4cc Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@esi-group.com> Date: Tue, 23 Jan 2024 10:55:56 +0100 Subject: [PATCH] ENH: use tmp field factory methods [11] (#2723) - src/optimisation --- .../adjoint/ATCModel/ATCModel/ATCModel.C | 25 ++---- .../adjoint/ATCModel/ATCUaGradU/ATCUaGradU.C | 21 ++--- ...oundaryAdjointContributionIncompressible.C | 9 +-- .../elasticityMotionSolver.C | 4 +- .../volumetricBSplinesMotionSolver.C | 4 +- .../volPointInterpolateAdjoint.C | 17 ++-- .../designVariables/designVariables.C | 2 +- .../updateMethod/updateMethod/updateMethod.C | 7 +- .../NURBS3DVolume/NURBS3DVolume.C | 32 +++----- .../adjointSolverManager.C | 4 +- .../incompressible/incompressibleVars.C | 9 ++- .../incompressibleAdjointMeanFlowVars.C | 9 ++- .../adjointLaminar/adjointLaminar.C | 77 ++++++------------- .../adjointSpalartAllmaras.C | 55 ++++--------- .../adjointkOmegaSST/adjointkOmegaSST.C | 26 +++---- .../adjointTurbulenceModel.H | 12 +-- .../RAS/RASModelVariables/RASModelVariables.C | 36 +++------ .../RASModelVariables/RASModelVariablesI.H | 21 ++--- .../RAS/SpalartAllmaras/SpalartAllmaras.C | 12 +-- .../RAS/kOmegaSST/kOmegaSST.C | 16 ++-- 20 files changed, 137 insertions(+), 261 deletions(-) diff --git a/src/optimisation/adjointOptimisation/adjoint/ATCModel/ATCModel/ATCModel.C b/src/optimisation/adjointOptimisation/adjoint/ATCModel/ATCModel/ATCModel.C index 9a3bb69b9fe..2adc5016f83 100644 --- a/src/optimisation/adjointOptimisation/adjoint/ATCModel/ATCModel/ATCModel.C +++ b/src/optimisation/adjointOptimisation/adjoint/ATCModel/ATCModel/ATCModel.C @@ -229,25 +229,16 @@ tmp<volScalarField> ATCModel::createLimiter const labelList& zeroCells = zeroType->getZeroATCcells(); const label nSmooth = dict.getOrDefault<label>("nSmooth", 0); - tmp<volScalarField> tlimiter + auto tlimiter = volScalarField::New ( - new volScalarField - ( - IOobject - ( - "limiter", - mesh.time().timeName(), - mesh, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh, - scalar(1), - dimless, - fvPatchFieldBase::zeroGradientType() - ) + "limiter", + IOobject::NO_REGISTER, + mesh, + scalar(1), + dimless, + fvPatchFieldBase::zeroGradientType() ); - volScalarField& limiter = tlimiter.ref(); + auto& limiter = tlimiter.ref(); computeLimiter(limiter, zeroCells, nSmooth); diff --git a/src/optimisation/adjointOptimisation/adjoint/ATCModel/ATCUaGradU/ATCUaGradU.C b/src/optimisation/adjointOptimisation/adjoint/ATCModel/ATCUaGradU/ATCUaGradU.C index 62048a5e95d..ae5e9ea36af 100644 --- a/src/optimisation/adjointOptimisation/adjoint/ATCModel/ATCUaGradU/ATCUaGradU.C +++ b/src/optimisation/adjointOptimisation/adjoint/ATCModel/ATCUaGradU/ATCUaGradU.C @@ -102,23 +102,14 @@ void ATCUaGradU::addATC(fvVectorMatrix& UaEqn) tmp<volTensorField> ATCUaGradU::getFISensitivityTerm() const { - tmp<volTensorField> tvolSDTerm + auto tvolSDTerm = volTensorField::New ( - new volTensorField - ( - IOobject - ( - "ATCFISensitivityTerm" + type(), - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensionedTensor(sqr(dimLength)/pow(dimTime, 3), Zero) - ) + "ATCFISensitivityTerm" + type(), + IOobject::NO_REGISTER, + mesh_, + dimensionedTensor(sqr(dimLength)/pow(dimTime, 3), Zero) ); - volTensorField& volSDTerm = tvolSDTerm.ref(); + auto& volSDTerm = tvolSDTerm.ref(); const volVectorField& U = primalVars_.U(); const volVectorField& Ua = adjointVars_.Ua(); diff --git a/src/optimisation/adjointOptimisation/adjoint/boundaryAdjointContributions/boundaryAdjointContributionIncompressible/boundaryAdjointContributionIncompressible.C b/src/optimisation/adjointOptimisation/adjoint/boundaryAdjointContributions/boundaryAdjointContributionIncompressible/boundaryAdjointContributionIncompressible.C index 86f780e6b1c..51c29df2557 100644 --- a/src/optimisation/adjointOptimisation/adjoint/boundaryAdjointContributions/boundaryAdjointContributionIncompressible/boundaryAdjointContributionIncompressible.C +++ b/src/optimisation/adjointOptimisation/adjoint/boundaryAdjointContributions/boundaryAdjointContributionIncompressible/boundaryAdjointContributionIncompressible.C @@ -251,8 +251,8 @@ tmp<scalarField> boundaryAdjointContributionIncompressible::momentumDiffusion() tmp<scalarField> boundaryAdjointContributionIncompressible::laminarDiffusivity() { - tmp<scalarField> tnu(new scalarField(patch_.size(), Zero)); - scalarField& nu = tnu.ref(); + auto tnu = tmp<scalarField>::New(patch_.size(), Zero); + auto& nu = tnu.ref(); const autoPtr<incompressible::turbulenceModel>& turbulenceModel = primalVars_.turbulence(); @@ -272,13 +272,10 @@ tmp<scalarField> boundaryAdjointContributionIncompressible::thermalDiffusion() tmp<scalarField> talphaEff = turbulenceModel.alphaEff(patch_.index()); */ - tmp<scalarField> talphaEff(new scalarField(patch_.size(), Zero)); - WarningInFunction << "no abstract thermalDiffusion is implemented. Returning zero field"; - - return talphaEff; + return tmp<scalarField>::New(patch_.size(), Zero); } diff --git a/src/optimisation/adjointOptimisation/adjoint/dynamicMesh/motionSolver/elasticityMotionSolver/elasticityMotionSolver.C b/src/optimisation/adjointOptimisation/adjoint/dynamicMesh/motionSolver/elasticityMotionSolver/elasticityMotionSolver.C index 5b562382f79..172b675c1f9 100644 --- a/src/optimisation/adjointOptimisation/adjoint/dynamicMesh/motionSolver/elasticityMotionSolver/elasticityMotionSolver.C +++ b/src/optimisation/adjointOptimisation/adjoint/dynamicMesh/motionSolver/elasticityMotionSolver/elasticityMotionSolver.C @@ -171,9 +171,7 @@ Foam::elasticityMotionSolver::elasticityMotionSolver Foam::tmp<Foam::pointField> Foam::elasticityMotionSolver::curPoints() const { - tmp<pointField> tnewPoints(new pointField(mesh().points())); - - return tnewPoints; + return tmp<pointField>::New(mesh().points()); } diff --git a/src/optimisation/adjointOptimisation/adjoint/dynamicMesh/motionSolver/volumetricBSplinesMotionSolver/volumetricBSplinesMotionSolver.C b/src/optimisation/adjointOptimisation/adjoint/dynamicMesh/motionSolver/volumetricBSplinesMotionSolver/volumetricBSplinesMotionSolver.C index 89fa4dd4a41..143c9b84ad0 100644 --- a/src/optimisation/adjointOptimisation/adjoint/dynamicMesh/motionSolver/volumetricBSplinesMotionSolver/volumetricBSplinesMotionSolver.C +++ b/src/optimisation/adjointOptimisation/adjoint/dynamicMesh/motionSolver/volumetricBSplinesMotionSolver/volumetricBSplinesMotionSolver.C @@ -74,8 +74,8 @@ Foam::volumetricBSplinesMotionSolver::volumetricBSplinesMotionSolver Foam::tmp<Foam::pointField> Foam::volumetricBSplinesMotionSolver::curPoints() const { - tmp<vectorField> tPointMovement(new vectorField(mesh().points())); - vectorField& pointMovement = tPointMovement.ref(); + auto tPointMovement = tmp<vectorField>::New(mesh().points()); + auto& pointMovement = tPointMovement.ref(); label pastControlPoints(0); PtrList<NURBS3DVolume>& boxes = volBSplinesBase_.boxesRef(); diff --git a/src/optimisation/adjointOptimisation/adjoint/interpolation/volPointInterpolation/volPointInterpolateAdjoint.C b/src/optimisation/adjointOptimisation/adjoint/interpolation/volPointInterpolation/volPointInterpolateAdjoint.C index e174ef78889..a4841aea9d7 100644 --- a/src/optimisation/adjointOptimisation/adjoint/interpolation/volPointInterpolation/volPointInterpolateAdjoint.C +++ b/src/optimisation/adjointOptimisation/adjoint/interpolation/volPointInterpolation/volPointInterpolateAdjoint.C @@ -81,7 +81,8 @@ void Foam::volPointInterpolationAdjoint::pushUntransformedData template<class Type> -Foam::tmp<Foam::Field<Type>> Foam::volPointInterpolationAdjoint::flatBoundaryField +Foam::tmp<Foam::Field<Type>> +Foam::volPointInterpolationAdjoint::flatBoundaryField ( const GeometricField<Type, fvPatchField, volMesh>& vf ) const @@ -89,11 +90,8 @@ Foam::tmp<Foam::Field<Type>> Foam::volPointInterpolationAdjoint::flatBoundaryFie const fvMesh& mesh = vf.mesh(); const fvBoundaryMesh& bm = mesh.boundary(); - tmp<Field<Type>> tboundaryVals - ( - new Field<Type>(mesh.nBoundaryFaces()) - ); - Field<Type>& boundaryVals = tboundaryVals.ref(); + auto tboundaryVals = tmp<Field<Type>>::New(mesh.nBoundaryFaces()); + auto& boundaryVals = tboundaryVals.ref(); forAll(vf.boundaryField(), patchi) { @@ -188,11 +186,8 @@ void Foam::volPointInterpolationAdjoint::interpolateSensitivitiesField const fvMesh& Mesh = mesh(); const fvBoundaryMesh& bm = Mesh.boundary(); - tmp<Field<Type>> tboundaryVals - ( - new Field<Type>(Mesh.nBoundaryFaces(), Zero) - ); - Field<Type>& boundaryVals = tboundaryVals.ref(); + auto tboundaryVals = tmp<Field<Type>>::New(Mesh.nBoundaryFaces(), Zero); + auto& boundaryVals = tboundaryVals.ref(); // Do points on 'normal' patches from the surrounding patch faces // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/designVariables/designVariables.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/designVariables/designVariables.C index bd0b171d589..3c3c3e4f349 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/designVariables/designVariables.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/designVariables/designVariables/designVariables.C @@ -262,7 +262,7 @@ void Foam::designVariables::addFvOptions Foam::tmp<Foam::scalarField> Foam::designVariables::constraintValues() { - return tmp<scalarField>(nullptr); + return nullptr; } diff --git a/src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/updateMethod/updateMethod.C b/src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/updateMethod/updateMethod.C index 4178195c9b2..b08a2ffe2c6 100644 --- a/src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/updateMethod/updateMethod.C +++ b/src/optimisation/adjointOptimisation/adjoint/optimisation/updateMethod/updateMethod/updateMethod.C @@ -267,12 +267,7 @@ Foam::tmp<Foam::scalarField> Foam::updateMethod::readOrZeroField const label size ) { - return tmp<scalarField> - ( - found(name) ? - new scalarField(name, *this, size) : - new scalarField(size, Zero) - ); + return tmp<scalarField>::New(name, *this, size, IOobjectOption::LAZY_READ); } diff --git a/src/optimisation/adjointOptimisation/adjoint/parameterization/NURBS/NURBS3DVolume/NURBS3DVolume/NURBS3DVolume.C b/src/optimisation/adjointOptimisation/adjoint/parameterization/NURBS/NURBS3DVolume/NURBS3DVolume/NURBS3DVolume.C index fc43049d1f9..3ad91b1aafb 100644 --- a/src/optimisation/adjointOptimisation/adjoint/parameterization/NURBS/NURBS3DVolume/NURBS3DVolume/NURBS3DVolume.C +++ b/src/optimisation/adjointOptimisation/adjoint/parameterization/NURBS/NURBS3DVolume/NURBS3DVolume/NURBS3DVolume.C @@ -1342,8 +1342,9 @@ Foam::tmp<Foam::tensorField> Foam::NURBS3DVolume::dndbBasedSensitivities const fvPatch& patch = mesh_.boundary()[patchI]; const polyPatch& ppatch = patch.patch(); // Return field - tmp<tensorField> tdndbSens(new tensorField(patch.size(), Zero)); - tensorField& dndbSens = tdndbSens.ref(); + auto tdndbSens = tmp<tensorField>::New(patch.size(), Zero); + auto& dndbSens = tdndbSens.ref(); + // Auxiliary quantities deltaBoundary deltaBoundary(mesh_); const label patchStart = ppatch.start(); @@ -1574,8 +1575,8 @@ Foam::tmp<Foam::vectorField> Foam::NURBS3DVolume::computeNewPoints const vectorField& parameterizedPoints = tparameterizedPoints(); // Return field. Initialized with current mesh points - tmp<vectorField> tnewPoints(new vectorField(mesh_.points())); - vectorField& newPoints = tnewPoints.ref(); + auto tnewPoints = tmp<vectorField>::New(mesh_.points()); + auto& newPoints = tnewPoints.ref(); // Update position of parameterized points forAll(parameterizedPoints, pI) @@ -1612,8 +1613,8 @@ Foam::tmp<Foam::vectorField> Foam::NURBS3DVolume::computeNewBoundaryPoints } // Return field. Initialized with current mesh points - tmp<vectorField> tnewPoints(new vectorField(mesh_.points())); - vectorField& newPoints = tnewPoints.ref(); + auto tnewPoints = tmp<vectorField>::New(mesh_.points()); + auto& newPoints = tnewPoints.ref(); // Update position of parameterized boundary points for (const label patchI : patchesToBeMoved) @@ -1883,21 +1884,12 @@ Foam::tmp<Foam::volTensorField> Foam::NURBS3DVolume::getDxCellsDb const vectorField& parametricCoordinates = getParametricCoordinates(); // Set return field to zero - tmp<volTensorField> tDxDb + auto tDxDb = volTensorField::New ( - new volTensorField - ( - IOobject - ( - "DxDb", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensionedTensor(dimless, Zero) - ) + "DxDb", + IOobject::NO_REGISTER, + mesh_, + dimensionedTensor(dimless, Zero) ); volTensorField& DxDb = tDxDb.ref(); diff --git a/src/optimisation/adjointOptimisation/adjoint/solvers/adjointSolverManager/adjointSolverManager.C b/src/optimisation/adjointOptimisation/adjoint/solvers/adjointSolverManager/adjointSolverManager.C index ed51b74da3c..69a56f42449 100644 --- a/src/optimisation/adjointOptimisation/adjoint/solvers/adjointSolverManager/adjointSolverManager.C +++ b/src/optimisation/adjointOptimisation/adjoint/solvers/adjointSolverManager/adjointSolverManager.C @@ -301,8 +301,8 @@ void Foam::adjointSolverManager::solveAdjointEquations() Foam::tmp<Foam::scalarField> Foam::adjointSolverManager::aggregateSensitivities() { - tmp<scalarField> tsens(new scalarField(0)); - scalarField& sens = tsens.ref(); + auto tsens = tmp<scalarField>::New(); + auto& sens = tsens.ref(); // Sum sensitivities from all objectives expect the constraints for (const label solveri : objectiveSolverIDs_) diff --git a/src/optimisation/adjointOptimisation/adjoint/solvers/variablesSet/incompressible/incompressibleVars.C b/src/optimisation/adjointOptimisation/adjoint/solvers/variablesSet/incompressible/incompressibleVars.C index 0fe83537d5a..09b49f83369 100644 --- a/src/optimisation/adjointOptimisation/adjoint/solvers/variablesSet/incompressible/incompressibleVars.C +++ b/src/optimisation/adjointOptimisation/adjoint/solvers/variablesSet/incompressible/incompressibleVars.C @@ -131,7 +131,8 @@ void incompressibleVars::setMeanFields() mesh_.time().timeName(), mesh_, IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), pInst() ) @@ -146,7 +147,8 @@ void incompressibleVars::setMeanFields() mesh_.time().timeName(), mesh_, IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), UInst() ) @@ -161,7 +163,8 @@ void incompressibleVars::setMeanFields() mesh_.time().timeName(), mesh_, IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), phiInst() ) diff --git a/src/optimisation/adjointOptimisation/adjoint/solvers/variablesSet/incompressibleAdjointMeanFlow/incompressibleAdjointMeanFlowVars.C b/src/optimisation/adjointOptimisation/adjoint/solvers/variablesSet/incompressibleAdjointMeanFlow/incompressibleAdjointMeanFlowVars.C index 2b03684a2d7..576a20f97e5 100644 --- a/src/optimisation/adjointOptimisation/adjoint/solvers/variablesSet/incompressibleAdjointMeanFlow/incompressibleAdjointMeanFlowVars.C +++ b/src/optimisation/adjointOptimisation/adjoint/solvers/variablesSet/incompressibleAdjointMeanFlow/incompressibleAdjointMeanFlowVars.C @@ -76,7 +76,8 @@ void incompressibleAdjointMeanFlowVars::setMeanFields() mesh_.time().timeName(), mesh_, IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), paInst() ) @@ -91,7 +92,8 @@ void incompressibleAdjointMeanFlowVars::setMeanFields() mesh_.time().timeName(), mesh_, IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), UaInst() ) @@ -106,7 +108,8 @@ void incompressibleAdjointMeanFlowVars::setMeanFields() mesh_.time().timeName(), mesh_, IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), phiaInst() ) diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointLaminar/adjointLaminar.C b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointLaminar/adjointLaminar.C index 2413c420efd..1300c7edba4 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointLaminar/adjointLaminar.C +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointLaminar/adjointLaminar.C @@ -80,18 +80,11 @@ tmp<volSymmTensorField> adjointLaminar::devReff const volVectorField& U ) const { - return tmp<volSymmTensorField> + return volSymmTensorField::New ( - new volSymmTensorField + "devRhoReff", + IOobject::NO_REGISTER, ( - IOobject - ( - "devRhoReff", - runTime_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), -nu()*devTwoSymm(fvc::grad(U)) ) ); @@ -110,23 +103,13 @@ tmp<fvVectorMatrix> adjointLaminar::divDevReff(volVectorField& U) const tmp<volVectorField> adjointLaminar::adjointMeanFlowSource() { - return tmp<volVectorField>::New - ( - IOobject - ( - "adjointMeanFlowSource", - runTime_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensionedVector - ( - dimensionSet(0, 1, -2, 0, 0), - Zero - ) - ); + return volVectorField::New + ( + "adjointMeanFlowSource", + IOobject::NO_REGISTER, + mesh_, + dimensionedVector(dimensionSet(0, 1, -2, 0, 0), Zero) + ); } @@ -151,37 +134,25 @@ const boundaryVectorField& adjointLaminar::wallFloCoSensitivities() tmp<volScalarField> adjointLaminar::distanceSensitivities() { - return tmp<volScalarField>::New - ( - IOobject - ( - "adjointEikonalSource" + type(), - runTime_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensionedScalar(dimLength/pow3(dimTime), Zero) - ); + return volScalarField::New + ( + "adjointEikonalSource" + type(), + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimLength/pow3(dimTime), Zero) + ); } tmp<volTensorField> adjointLaminar::FISensitivityTerm() { - return tmp<volTensorField>::New - ( - IOobject - ( - "volumeSensTerm" + type(), - runTime_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensionedTensor(dimensionSet(0, 2, -3, 0, 0), Zero) - ); + return volTensorField::New + ( + "volumeSensTerm" + type(), + IOobject::NO_REGISTER, + mesh_, + dimensionedTensor(dimensionSet(0, 2, -3, 0, 0), Zero) + ); } diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointSpalartAllmaras/adjointSpalartAllmaras.C b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointSpalartAllmaras/adjointSpalartAllmaras.C index d4c6e8f8f64..702d5b369d3 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointSpalartAllmaras/adjointSpalartAllmaras.C +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointSpalartAllmaras/adjointSpalartAllmaras.C @@ -440,32 +440,18 @@ void adjointSpalartAllmaras::updatePrimalRelatedFields() tmp<volScalarField> adjointSpalartAllmaras::allocateMask() { - tmp<volScalarField> mask; if (limitAdjointProduction_) { - mask = ATCModel::createLimiter(mesh_, coeffDict_); - } - else - { - mask = tmp<volScalarField> - ( - new volScalarField - ( - IOobject - ( - "unitMask", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensionedScalar("unit", dimless, scalar(1)) - ) - ); + return ATCModel::createLimiter(mesh_, coeffDict_); } - return mask; + return volScalarField::New + ( + "unitMask", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar("unit", dimless, scalar(1)) + ); } @@ -714,19 +700,12 @@ tmp<volSymmTensorField> adjointSpalartAllmaras::devReff const volVectorField& U ) const { - return - tmp<volSymmTensorField>::New - ( - IOobject - ( - "devRhoReff", - runTime_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - -nuEff()*devTwoSymm(fvc::grad(U)) - ); + return volSymmTensorField::New + ( + "devRhoReff", + IOobject::NO_REGISTER, + -nuEff()*devTwoSymm(fvc::grad(U)) + ); } @@ -767,10 +746,8 @@ tmp<volScalarField> adjointSpalartAllmaras::nutJacobianTMVar1() const tmp<scalarField> adjointSpalartAllmaras::diffusionCoeffVar1(label patchI) const { - tmp<scalarField> tdiffCoeff - ( - new scalarField(mesh_.boundary()[patchI].size(), Zero) - ); + auto tdiffCoeff = + tmp<scalarField>::New(mesh_.boundary()[patchI].size(), Zero); scalarField& diffCoeff = tdiffCoeff.ref(); diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointkOmegaSST/adjointkOmegaSST.C b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointkOmegaSST/adjointkOmegaSST.C index fa3d542ff76..e04e2237059 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointkOmegaSST/adjointkOmegaSST.C +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointRAS/adjointkOmegaSST/adjointkOmegaSST.C @@ -125,21 +125,14 @@ tmp<volScalarField::Internal> adjointkOmegaSST::GbyNu tmp<volScalarField> adjointkOmegaSST::zeroFirstCell() { - auto tzeroFirstCell = - tmp<volScalarField>::New - ( - IOobject - ( - "zeroFirstCell", - runTime_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensionedScalar(dimless, Foam::one{}) - ); - volScalarField& zeroFirstCell = tzeroFirstCell.ref(); + auto tzeroFirstCell = volScalarField::New + ( + "zeroFirstCell", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimless, Foam::one{}) + ); + auto& zeroFirstCell = tzeroFirstCell.ref(); firstCellIDs_.resize(mesh_.nCells(), -1); label counter(0); @@ -1799,8 +1792,7 @@ tmp<volSymmTensorField> adjointkOmegaSST::devReff const volVectorField& U ) const { - return - tmp<volSymmTensorField>::New + return tmp<volSymmTensorField>::New ( IOobject ( diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointTurbulenceModel/adjointTurbulenceModel.H b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointTurbulenceModel/adjointTurbulenceModel.H index ebabdf33667..0ddf9e2385e 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointTurbulenceModel/adjointTurbulenceModel.H +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/incompressibleAdjoint/adjointTurbulenceModel/adjointTurbulenceModel.H @@ -174,12 +174,12 @@ public: const autoPtr<incompressible::RASModelVariables>& turbVars = primalVars_.RASModelVariables(); - return - tmp<volScalarField>::New - ( - "nuEff", - lamTrans.nu() + turbVars().nut() - ); + return volScalarField::New + ( + "nuEff", + IOobject::NO_REGISTER, + lamTrans.nu() + turbVars().nut() + ); } //- Return the effective viscosity on a given patch diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/RASModelVariables/RASModelVariables.C b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/RASModelVariables/RASModelVariables.C index a16f7677e7d..07650771779 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/RASModelVariables/RASModelVariables.C +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/RASModelVariables/RASModelVariables.C @@ -305,16 +305,10 @@ tmp<volScalarField> RASModelVariables::nutJacobianVar1 << "jutJacobianVar1 not implemented for the current turbulence model." << "Returning zero field" << endl; - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - "nutJacobianVar1", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "nutJacobianVar1", + IOobject::NO_REGISTER, mesh_, dimensionedScalar(dimless, Zero) ); @@ -330,16 +324,10 @@ tmp<volScalarField> RASModelVariables::nutJacobianVar2 << "nutJacobianVar2 not implemented for the current turbulence model." << "Returning zero field" << endl; - return tmp<volScalarField>::New + return volScalarField::New ( - IOobject - ( - "nutJacobianVar2", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "nutJacobianVar2", + IOobject::NO_REGISTER, mesh_, dimensionedScalar(dimless, Zero) ); @@ -426,16 +414,10 @@ tmp<volSymmTensorField> RASModelVariables::devReff const volVectorField& U ) const { - return tmp<volSymmTensorField>::New + return volSymmTensorField::New ( - IOobject - ( - "devRhoReff", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "devRhoReff", + IOobject::NO_REGISTER, - (laminarTransport.nu() + nut())*devTwoSymm(fvc::grad(U)) ); } diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/RASModelVariables/RASModelVariablesI.H b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/RASModelVariables/RASModelVariablesI.H index ccbc5285b8d..e05c8ea5c93 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/RASModelVariables/RASModelVariablesI.H +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/RASModelVariables/RASModelVariablesI.H @@ -148,20 +148,13 @@ inline tmp<volScalarField> RASModelVariables::nut() const return tmp<volScalarField>(nutRef()); } - return - tmp<volScalarField>::New - ( - IOobject - ( - "dummylaminarNut", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), - mesh_, - dimensionedScalar(dimViscosity, Zero) - ); + return volScalarField::New + ( + "dummylaminarNut", + IOobject::NO_REGISTER, + mesh_, + dimensionedScalar(dimViscosity, Zero) + ); } diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/SpalartAllmaras/SpalartAllmaras.C b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/SpalartAllmaras/SpalartAllmaras.C index c583938e484..44a15b8222f 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/SpalartAllmaras/SpalartAllmaras.C +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/SpalartAllmaras/SpalartAllmaras.C @@ -80,16 +80,10 @@ tmp<volScalarField> SpalartAllmaras::nutJacobianVar1 const singlePhaseTransportModel& laminarTransport ) const { - auto tnutJacobian = tmp<volScalarField>::New + auto tnutJacobian = volScalarField::New ( - IOobject - ( - "nutJacobianVar1", - mesh_.time().timeName(), - mesh_, - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "nutJacobianVar1", + IOobject::NO_REGISTER, mesh_, dimensionedScalar(dimless, Zero) ); diff --git a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/kOmegaSST/kOmegaSST.C b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/kOmegaSST/kOmegaSST.C index cb02c4b7b60..fde3ec198a3 100644 --- a/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/kOmegaSST/kOmegaSST.C +++ b/src/optimisation/adjointOptimisation/adjoint/turbulenceModels/turbulenceModelVariables/RAS/kOmegaSST/kOmegaSST.C @@ -63,7 +63,8 @@ void kOmegaSST::allocateMeanFields() mesh_.time().timeName(), mesh_, IOobject::READ_IF_PRESENT, - IOobject::AUTO_WRITE + IOobject::AUTO_WRITE, + IOobject::REGISTER ), mesh_, dimensionedScalar(dimArea/pow3(dimTime), Zero) @@ -120,12 +121,13 @@ tmp<volScalarField::Internal> kOmegaSST::computeG() ); // NB: leave tmp registered (for correctBoundaryConditions) - auto tG = - tmp<volScalarField::Internal>::New - ( - turbModel.GName(), - nutRefInst()*GbyNu0 - ); + auto tG = volScalarField::Internal::New + ( + turbModel.GName(), + IOobject::REGISTER, + nutRefInst()*GbyNu0 + ); + // Use correctBoundaryConditions instead of updateCoeffs to avoid // messing with updateCoeffs in the next iteration of omegaEqn TMVar2Inst().correctBoundaryConditions(); -- GitLab