From dfa5c05a1664ab2ccd5ce87a2341a9f31f8a233d Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Fri, 17 Mar 2023 15:35:38 +0100 Subject: [PATCH] ENH: use New factory methods for Dimensioned/Geometric functions (#2723) --- .../DimensionedField/DimensionedField.C | 18 +-- .../DimensionedFieldReuseFunctions.H | 65 ++------ .../DimensionedScalarField.C | 72 ++------- .../GeometricField/GeometricField.C | 18 +-- .../GeometricFieldReuseFunctions.H | 65 ++------ .../GeometricScalarField.C | 144 ++++-------------- .../transformGeometricField.C | 46 ++---- 7 files changed, 95 insertions(+), 333 deletions(-) diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.C b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.C index dd290c3bb8..5fd20ff64e 100644 --- a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.C +++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.C @@ -391,14 +391,9 @@ Foam::DimensionedField::component const direction d ) const { - auto tresult = tmp>::New + auto tresult = DimensionedField::New ( - IOobject - ( - name() + ".component(" + ::Foam::name(d) + ')', - instance(), - db() - ), + name() + ".component(" + ::Foam::name(d) + ')', mesh_, dimensions_ ); @@ -445,14 +440,9 @@ template Foam::tmp> Foam::DimensionedField::T() const { - auto tresult = tmp>::New + auto tresult = DimensionedField::New ( - IOobject - ( - name() + ".T()", - instance(), - db() - ), + name() + ".T()", mesh_, dimensions_ ); diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldReuseFunctions.H b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldReuseFunctions.H index c1aae8ca0a..a4647cb1c8 100644 --- a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldReuseFunctions.H +++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedFieldReuseFunctions.H @@ -48,14 +48,9 @@ struct reuseTmpDimensionedField const dimensionSet& dimensions ) { - return tmp>::New + return DimensionedField::New ( - IOobject - ( - name, - f1.instance(), - f1.db() - ), + name, f1.mesh(), dimensions ); @@ -71,14 +66,9 @@ struct reuseTmpDimensionedField { const auto& f1 = tf1(); - return tmp>::New + return DimensionedField::New ( - IOobject - ( - name, - f1.instance(), - f1.db() - ), + name, f1.mesh(), dimensions ); @@ -110,21 +100,16 @@ struct reuseTmpDimensionedField const auto& f1 = tf1(); - auto tresult = tmp>::New + auto tresult = DimensionedField::New ( - IOobject - ( - name, - f1.instance(), - f1.db() - ), + name, f1.mesh(), dimensions ); if (initCopy) { - tresult.ref().field() = tf1().field(); + tresult.ref().field() = f1.field(); } return tresult; @@ -165,14 +150,9 @@ struct reuseTmpTmpDimensionedField { const auto& f1 = tf1(); - return tmp>::New + return DimensionedField::New ( - IOobject - ( - name, - f1.instance(), - f1.db() - ), + name, f1.mesh(), dimensions ); @@ -202,14 +182,9 @@ struct reuseTmpTmpDimensionedField const auto& f1 = tf1(); - return tmp>::New + return DimensionedField::New ( - IOobject - ( - name, - f1.instance(), - f1.db() - ), + name, f1.mesh(), dimensions ); @@ -239,14 +214,9 @@ struct reuseTmpTmpDimensionedField const auto& f1 = tf1(); - return tmp>::New + return DimensionedField::New ( - IOobject - ( - name, - f1.instance(), - f1.db() - ), + name, f1.mesh(), dimensions ); @@ -284,14 +254,9 @@ struct reuseTmpTmpDimensionedField const auto& f1 = tf1(); - return tmp>::New + return DimensionedField::New ( - IOobject - ( - name, - f1.instance(), - f1.db() - ), + name, f1.mesh(), dimensions ); diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedScalarField/DimensionedScalarField.C b/src/OpenFOAM/fields/DimensionedFields/DimensionedScalarField/DimensionedScalarField.C index 54ed8ed1c5..5d7ea4df67 100644 --- a/src/OpenFOAM/fields/DimensionedFields/DimensionedScalarField/DimensionedScalarField.C +++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedScalarField/DimensionedScalarField.C @@ -46,14 +46,9 @@ tmp> stabilise ) { auto tres = - tmp>::New + DimensionedField::New ( - IOobject - ( - "stabilise(" + dsf.name() + ',' + ds.name() + ')', - dsf.instance(), - dsf.db() - ), + "stabilise(" + dsf.name() + ',' + ds.name() + ')', dsf.mesh(), dsf.dimensions() + ds.dimensions() ); @@ -130,14 +125,9 @@ tmp> pow } auto tresult = - tmp>::New + DimensionedField::New ( - IOobject - ( - "pow(" + f1.name() + ',' + f2.name() + ')', - f1.instance(), - f1.db() - ), + "pow(" + f1.name() + ',' + f2.name() + ')', f1.mesh(), dimless ); @@ -311,14 +301,9 @@ tmp> pow } auto tresult = - tmp>::New + DimensionedField::New ( - IOobject - ( - "pow(" + f1.name() + ',' + ds.name() + ')', - f1.instance(), - f1.db() - ), + "pow(" + f1.name() + ',' + ds.name() + ')', f1.mesh(), pow(f1.dimensions(), ds) ); @@ -417,14 +402,9 @@ tmp> pow } auto tresult = - tmp>::New + DimensionedField::New ( - IOobject - ( - "pow(" + ds.name() + ',' + f2.name() + ')', - f2.instance(), - f2.db() - ), + "pow(" + ds.name() + ',' + f2.name() + ')', f2.mesh(), dimless ); @@ -512,14 +492,9 @@ tmp> atan2 ) { auto tres = - tmp>::New + DimensionedField::New ( - IOobject - ( - "atan2(" + dsf1.name() + ',' + dsf2.name() + ')', - dsf1.instance(), - dsf1.db() - ), + "atan2(" + dsf1.name() + ',' + dsf2.name() + ')', dsf1.mesh(), atan2(dsf1.dimensions(), dsf2.dimensions()) ); @@ -614,14 +589,9 @@ tmp> atan2 ) { auto tres = - tmp>::New + DimensionedField::New ( - IOobject - ( - "atan2(" + dsf.name() + ',' + ds.name() + ')', - dsf.instance(), - dsf.db() - ), + "atan2(" + dsf.name() + ',' + ds.name() + ')', dsf.mesh(), atan2(dsf.dimensions(), ds) ); @@ -683,14 +653,9 @@ tmp> atan2 ) { auto tres = - tmp>::New + DimensionedField::New ( - IOobject - ( - "atan2(" + ds.name() + ',' + dsf.name() + ')', - dsf.instance(), - dsf.db() - ), + "atan2(" + ds.name() + ',' + dsf.name() + ')', dsf.mesh(), atan2(ds, dsf.dimensions()) ); @@ -805,14 +770,9 @@ tmp> func \ } \ \ auto tres = \ - tmp>::New \ + DimensionedField::New \ ( \ - IOobject \ - ( \ - #func "(" + name(n) + ',' + dsf.name() + ')', \ - dsf.instance(), \ - dsf.db() \ - ), \ + #func "(" + name(n) + ',' + dsf.name() + ')', \ dsf.mesh(), \ dimless \ ); \ diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C index 8e12b480c9..752d06eb9a 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C +++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C @@ -1214,14 +1214,9 @@ template class PatchField, class GeoMesh> Foam::tmp> Foam::GeometricField::T() const { - auto tresult = tmp>::New + auto tresult = GeometricField::New ( - IOobject - ( - this->name() + ".T()", - this->instance(), - this->db() - ), + this->name() + ".T()", this->mesh(), this->dimensions() ); @@ -1248,14 +1243,9 @@ Foam::GeometricField::component const direction d ) const { - auto tresult = tmp>::New + auto tresult = GeometricField::New ( - IOobject - ( - this->name() + ".component(" + Foam::name(d) + ')', - this->instance(), - this->db() - ), + this->name() + ".component(" + Foam::name(d) + ')', this->mesh(), this->dimensions() ); diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldReuseFunctions.H b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldReuseFunctions.H index afe8d4b65b..edc15dea5a 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldReuseFunctions.H +++ b/src/OpenFOAM/fields/GeometricFields/GeometricField/GeometricFieldReuseFunctions.H @@ -95,14 +95,9 @@ struct reuseTmpGeometricField const dimensionSet& dimensions ) { - return tmp>::New + return GeometricField::New ( - IOobject - ( - name, - f1.instance(), - f1.db() - ), + name, f1.mesh(), dimensions ); @@ -118,14 +113,9 @@ struct reuseTmpGeometricField { const auto& f1 = tf1(); - return tmp>::New + return GeometricField::New ( - IOobject - ( - name, - f1.instance(), - f1.db() - ), + name, f1.mesh(), dimensions ); @@ -157,21 +147,16 @@ struct reuseTmpGeometricField const auto& f1 = tf1(); - auto tresult = tmp>::New + auto tresult = GeometricField::New ( - IOobject - ( - name, - f1.instance(), - f1.db() - ), + name, f1.mesh(), dimensions ); if (initCopy) { - tresult.ref() == f1; + tresult.ref() == tf1(); } return tresult; @@ -223,14 +208,9 @@ struct reuseTmpTmpGeometricField { const auto& f1 = tf1(); - return tmp>::New + return GeometricField::New ( - IOobject - ( - name, - f1.instance(), - f1.db() - ), + name, f1.mesh(), dimensions ); @@ -270,14 +250,9 @@ struct reuseTmpTmpGeometricField const auto& f1 = tf1(); - return tmp>::New + return GeometricField::New ( - IOobject - ( - name, - f1.instance(), - f1.db() - ), + name, f1.mesh(), dimensions ); @@ -316,14 +291,9 @@ struct reuseTmpTmpGeometricField const auto& f1 = tf1(); - return tmp>::New + return GeometricField::New ( - IOobject - ( - name, - f1.instance(), - f1.db() - ), + name, f1.mesh(), dimensions ); @@ -364,14 +334,9 @@ struct reuseTmpTmpGeometricField const auto& f1 = tf1(); - return tmp>::New + return GeometricField::New ( - IOobject - ( - name, - f1.instance(), - f1.db() - ), + name, f1.mesh(), dimensions ); diff --git a/src/OpenFOAM/fields/GeometricFields/GeometricScalarField/GeometricScalarField.C b/src/OpenFOAM/fields/GeometricFields/GeometricScalarField/GeometricScalarField.C index f6747c23d0..981e3056e9 100644 --- a/src/OpenFOAM/fields/GeometricFields/GeometricScalarField/GeometricScalarField.C +++ b/src/OpenFOAM/fields/GeometricFields/GeometricScalarField/GeometricScalarField.C @@ -58,21 +58,11 @@ tmp> stabilise const dimensioned& ds ) { - tmp> tRes + auto tRes = GeometricField::New ( - new GeometricField - ( - IOobject - ( - "stabilise(" + gsf.name() + ',' + ds.name() + ')', - gsf.instance(), - gsf.db(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - gsf.mesh(), - ds.dimensions() + gsf.dimensions() - ) + "stabilise(" + gsf.name() + ',' + ds.name() + ')', + gsf.mesh(), + ds.dimensions() + gsf.dimensions() ); stabilise(tRes.ref(), gsf, ds); @@ -163,21 +153,11 @@ tmp> pow FatalError << exit(FatalError); } - tmp> tresult + auto tresult = GeometricField::New ( - new GeometricField - ( - IOobject - ( - "pow(" + f1.name() + ',' + f2.name() + ')', - f1.instance(), - f1.db(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - f1.mesh(), - dimless - ) + "pow(" + f1.name() + ',' + f2.name() + ')', + f1.mesh(), + dimless ); pow(tresult.ref(), f1, f2); @@ -368,21 +348,11 @@ tmp> pow << exit(FatalError); } - tmp> tresult + auto tresult = GeometricField::New ( - new GeometricField - ( - IOobject - ( - "pow(" + f1.name() + ',' + ds.name() + ')', - f1.instance(), - f1.db(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - f1.mesh(), - pow(f1.dimensions(), ds) - ) + "pow(" + f1.name() + ',' + ds.name() + ')', + f1.mesh(), + pow(f1.dimensions(), ds) ); pow(tresult.ref(), f1, ds); @@ -491,21 +461,11 @@ tmp> pow FatalError << exit(FatalError); } - tmp> tresult + auto tresult = GeometricField::New ( - new GeometricField - ( - IOobject - ( - "pow(" + ds.name() + ',' + f2.name() + ')', - f2.instance(), - f2.db(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - f2.mesh(), - dimless - ) + "pow(" + ds.name() + ',' + f2.name() + ')', + f2.mesh(), + dimless ); pow(tresult.ref(), ds, f2); @@ -615,21 +575,11 @@ tmp> atan2 const GeometricField& gsf2 ) { - tmp> tAtan2 + auto tAtan2 = GeometricField::New ( - new GeometricField - ( - IOobject - ( - "atan2(" + gsf1.name() + ',' + gsf2.name() + ')', - gsf1.instance(), - gsf1.db(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - gsf1.mesh(), - atan2(gsf1.dimensions(), gsf2.dimensions()) - ) + "atan2(" + gsf1.name() + ',' + gsf2.name() + ')', + gsf1.mesh(), + atan2(gsf1.dimensions(), gsf2.dimensions()) ); atan2(tAtan2.ref(), gsf1, gsf2); @@ -742,21 +692,11 @@ tmp> atan2 const dimensionedScalar& ds ) { - tmp> tAtan2 + auto tAtan2 = GeometricField::New ( - new GeometricField - ( - IOobject - ( - "atan2(" + gsf.name() + ',' + ds.name() + ')', - gsf.instance(), - gsf.db(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - gsf.mesh(), - atan2(gsf.dimensions(), ds) - ) + "atan2(" + gsf.name() + ',' + ds.name() + ')', + gsf.mesh(), + atan2(gsf.dimensions(), ds) ); atan2(tAtan2.ref(), gsf, ds); @@ -831,21 +771,11 @@ tmp> atan2 const GeometricField& gsf ) { - tmp> tAtan2 + auto tAtan2 = GeometricField::New ( - new GeometricField - ( - IOobject - ( - "atan2(" + ds.name() + ',' + gsf.name() + ')', - gsf.instance(), - gsf.db(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), - gsf.mesh(), - atan2(ds, gsf.dimensions()) - ) + "atan2(" + ds.name() + ',' + gsf.name() + ')', + gsf.mesh(), + atan2(ds, gsf.dimensions()) ); atan2(tAtan2.ref(), ds, gsf); @@ -972,21 +902,11 @@ tmp> func \ << abort(FatalError); \ } \ \ - tmp> tFunc \ + auto tFunc = GeometricField::New \ ( \ - new GeometricField \ - ( \ - IOobject \ - ( \ - #func "(" + gsf.name() + ')', \ - gsf.instance(), \ - gsf.db(), \ - IOobject::NO_READ, \ - IOobject::NO_WRITE \ - ), \ - gsf.mesh(), \ - dimless \ - ) \ + #func "(" + gsf.name() + ')', \ + gsf.mesh(), \ + dimless \ ); \ \ func(tFunc.ref(), n, gsf); \ diff --git a/src/OpenFOAM/fields/GeometricFields/transformGeometricField/transformGeometricField.C b/src/OpenFOAM/fields/GeometricFields/transformGeometricField/transformGeometricField.C index 94f5ad2f30..0804f14b03 100644 --- a/src/OpenFOAM/fields/GeometricFields/transformGeometricField/transformGeometricField.C +++ b/src/OpenFOAM/fields/GeometricFields/transformGeometricField/transformGeometricField.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011-2016 OpenFOAM Foundation - Copyright (C) 2018 OpenCFD Ltd. + Copyright (C) 2018-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -90,16 +90,9 @@ Foam::transform const GeometricField& fld ) { - auto tresult = tmp>::New + auto tresult = GeometricField::New ( - IOobject - ( - "transform(" + rot.name() + ',' + fld.name() + ')', - fld.instance(), - fld.db(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "transform(" + rot.name() + ',' + fld.name() + ')', fld.mesh(), fld.dimensions() ); @@ -161,16 +154,9 @@ Foam::transform const GeometricField& fld ) { - auto tresult = tmp>::New + auto tresult = GeometricField::New ( - IOobject - ( - "transform(" + rot.name() + ',' + fld.name() + ')', - fld.instance(), - fld.db(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "transform(" + rot.name() + ',' + fld.name() + ')', fld.mesh(), fld.dimensions() ); @@ -251,16 +237,9 @@ Foam::invTransform const GeometricField& fld ) { - auto tresult = tmp>::New + auto tresult = GeometricField::New ( - IOobject - ( - "invTransform(" + rot.name() + ',' + fld.name() + ')', - fld.instance(), - fld.db(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "invTransform(" + rot.name() + ',' + fld.name() + ')', fld.mesh(), fld.dimensions() ); @@ -322,16 +301,9 @@ Foam::invTransform const GeometricField& fld ) { - auto tresult = tmp>::New + auto tresult = GeometricField::New ( - IOobject - ( - "invTransform(" + rot.name() + ',' + fld.name() + ')', - fld.instance(), - fld.db(), - IOobject::NO_READ, - IOobject::NO_WRITE - ), + "invTransform(" + rot.name() + ',' + fld.name() + ')', fld.mesh(), fld.dimensions() );