STYLE: modernize code for concrete Fields (#1160)

- use forwarding tmp factory methods, auto types
This commit is contained in:
Mark Olesen
2019-01-10 17:06:04 +01:00
parent 7e48f2c6b3
commit ac7a88034e
7 changed files with 134 additions and 149 deletions

View File

@ -3,7 +3,7 @@
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation | Copyright (C) 2019 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -42,9 +42,8 @@ tmp<DimensionedField<scalar, GeoMesh>> stabilise
const dimensioned<scalar>& ds const dimensioned<scalar>& ds
) )
{ {
tmp<DimensionedField<scalar, GeoMesh>> tRes auto tres =
( tmp<DimensionedField<scalar, GeoMesh>>::New
new DimensionedField<scalar, GeoMesh>
( (
IOobject IOobject
( (
@ -54,12 +53,11 @@ tmp<DimensionedField<scalar, GeoMesh>> stabilise
), ),
dsf.mesh(), dsf.mesh(),
dsf.dimensions() + ds.dimensions() dsf.dimensions() + ds.dimensions()
) );
);
stabilise(tRes.ref().field(), dsf.field(), ds.value()); stabilise(tres.ref().field(), dsf.field(), ds.value());
return tRes; return tres;
} }
@ -72,18 +70,18 @@ tmp<DimensionedField<scalar, GeoMesh>> stabilise
{ {
const DimensionedField<scalar, GeoMesh>& dsf = tdsf(); const DimensionedField<scalar, GeoMesh>& dsf = tdsf();
tmp<DimensionedField<scalar, GeoMesh>> tRes = New tmp<DimensionedField<scalar, GeoMesh>> tres = New
( (
tdsf, tdsf,
"stabilise(" + dsf.name() + ',' + ds.name() + ')', "stabilise(" + dsf.name() + ',' + ds.name() + ')',
dsf.dimensions() + ds.dimensions() dsf.dimensions() + ds.dimensions()
); );
stabilise(tRes.ref().field(), dsf.field(), ds.value()); stabilise(tres.ref().field(), dsf.field(), ds.value());
tdsf.clear(); tdsf.clear();
return tRes; return tres;
} }
@ -120,9 +118,8 @@ tmp<DimensionedField<scalar, GeoMesh>> pow
<< exit(FatalError); << exit(FatalError);
} }
tmp<DimensionedField<scalar, GeoMesh>> tPow auto tres =
( tmp<DimensionedField<scalar, GeoMesh>>::New
new DimensionedField<scalar, GeoMesh>
( (
IOobject IOobject
( (
@ -132,12 +129,11 @@ tmp<DimensionedField<scalar, GeoMesh>> pow
), ),
dsf1.mesh(), dsf1.mesh(),
dimless dimless
) );
);
pow(tPow.ref().field(), dsf1.field(), dsf2.field()); pow(tres.ref().field(), dsf1.field(), dsf2.field());
return tPow; return tres;
} }
@ -164,18 +160,18 @@ tmp<DimensionedField<scalar, GeoMesh>> pow
<< exit(FatalError); << exit(FatalError);
} }
tmp<DimensionedField<scalar, GeoMesh>> tPow = New tmp<DimensionedField<scalar, GeoMesh>> tres = New
( (
tdsf1, tdsf1,
"pow(" + dsf1.name() + ',' + dsf2.name() + ')', "pow(" + dsf1.name() + ',' + dsf2.name() + ')',
dimless dimless
); );
pow(tPow.ref().field(), dsf1.field(), dsf2.field()); pow(tres.ref().field(), dsf1.field(), dsf2.field());
tdsf1.clear(); tdsf1.clear();
return tPow; return tres;
} }
@ -202,18 +198,18 @@ tmp<DimensionedField<scalar, GeoMesh>> pow
<< exit(FatalError); << exit(FatalError);
} }
tmp<DimensionedField<scalar, GeoMesh>> tPow = New tmp<DimensionedField<scalar, GeoMesh>> tres = New
( (
tdsf2, tdsf2,
"pow(" + dsf1.name() + ',' + dsf2.name() + ')', "pow(" + dsf1.name() + ',' + dsf2.name() + ')',
dimless dimless
); );
pow(tPow.ref().field(), dsf1.field(), dsf2.field()); pow(tres.ref().field(), dsf1.field(), dsf2.field());
tdsf2.clear(); tdsf2.clear();
return tPow; return tres;
} }
@ -241,7 +237,7 @@ tmp<DimensionedField<scalar, GeoMesh>> pow
<< exit(FatalError); << exit(FatalError);
} }
tmp<DimensionedField<scalar, GeoMesh>> tPow = auto tres =
reuseTmpTmpDimensionedField<scalar, scalar, scalar, scalar, GeoMesh>:: reuseTmpTmpDimensionedField<scalar, scalar, scalar, scalar, GeoMesh>::
New New
( (
@ -251,12 +247,12 @@ tmp<DimensionedField<scalar, GeoMesh>> pow
dimless dimless
); );
pow(tPow.ref().field(), dsf1.field(), dsf2.field()); pow(tres.ref().field(), dsf1.field(), dsf2.field());
tdsf1.clear(); tdsf1.clear();
tdsf2.clear(); tdsf2.clear();
return tPow; return tres;
} }
@ -274,9 +270,8 @@ tmp<DimensionedField<scalar, GeoMesh>> pow
<< exit(FatalError); << exit(FatalError);
} }
tmp<DimensionedField<scalar, GeoMesh>> tPow auto tres =
( tmp<DimensionedField<scalar, GeoMesh>>::New
new DimensionedField<scalar, GeoMesh>
( (
IOobject IOobject
( (
@ -286,12 +281,11 @@ tmp<DimensionedField<scalar, GeoMesh>> pow
), ),
dsf.mesh(), dsf.mesh(),
pow(dsf.dimensions(), ds) pow(dsf.dimensions(), ds)
) );
);
pow(tPow.ref().field(), dsf.field(), ds.value()); pow(tres.ref().field(), dsf.field(), ds.value());
return tPow; return tres;
} }
@ -311,18 +305,18 @@ tmp<DimensionedField<scalar, GeoMesh>> pow
const DimensionedField<scalar, GeoMesh>& dsf = tdsf(); const DimensionedField<scalar, GeoMesh>& dsf = tdsf();
tmp<DimensionedField<scalar, GeoMesh>> tPow = New tmp<DimensionedField<scalar, GeoMesh>> tres = New
( (
tdsf, tdsf,
"pow(" + dsf.name() + ',' + ds.name() + ')', "pow(" + dsf.name() + ',' + ds.name() + ')',
pow(dsf.dimensions(), ds) pow(dsf.dimensions(), ds)
); );
pow(tPow.ref().field(), dsf.field(), ds.value()); pow(tres.ref().field(), dsf.field(), ds.value());
tdsf.clear(); tdsf.clear();
return tPow; return tres;
} }
@ -369,9 +363,8 @@ tmp<DimensionedField<scalar, GeoMesh>> pow
<< exit(FatalError); << exit(FatalError);
} }
tmp<DimensionedField<scalar, GeoMesh>> tPow auto tres =
( tmp<DimensionedField<scalar, GeoMesh>>::New
new DimensionedField<scalar, GeoMesh>
( (
IOobject IOobject
( (
@ -381,12 +374,11 @@ tmp<DimensionedField<scalar, GeoMesh>> pow
), ),
dsf.mesh(), dsf.mesh(),
dimless dimless
) );
);
pow(tPow.ref().field(), ds.value(), dsf.field()); pow(tres.ref().field(), ds.value(), dsf.field());
return tPow; return tres;
} }
@ -413,18 +405,18 @@ tmp<DimensionedField<scalar, GeoMesh>> pow
<< exit(FatalError); << exit(FatalError);
} }
tmp<DimensionedField<scalar, GeoMesh>> tPow = New tmp<DimensionedField<scalar, GeoMesh>> tres = New
( (
tdsf, tdsf,
"pow(" + ds.name() + ',' + dsf.name() + ')', "pow(" + ds.name() + ',' + dsf.name() + ')',
dimless dimless
); );
pow(tPow.ref().field(), ds.value(), dsf.field()); pow(tres.ref().field(), ds.value(), dsf.field());
tdsf.clear(); tdsf.clear();
return tPow; return tres;
} }
template<class GeoMesh> template<class GeoMesh>
@ -457,9 +449,8 @@ tmp<DimensionedField<scalar, GeoMesh>> atan2
const DimensionedField<scalar, GeoMesh>& dsf2 const DimensionedField<scalar, GeoMesh>& dsf2
) )
{ {
tmp<DimensionedField<scalar, GeoMesh>> tAtan2 auto tres =
( tmp<DimensionedField<scalar, GeoMesh>>::New
new DimensionedField<scalar, GeoMesh>
( (
IOobject IOobject
( (
@ -469,12 +460,11 @@ tmp<DimensionedField<scalar, GeoMesh>> atan2
), ),
dsf1.mesh(), dsf1.mesh(),
atan2(dsf1.dimensions(), dsf2.dimensions()) atan2(dsf1.dimensions(), dsf2.dimensions())
) );
);
atan2(tAtan2.ref().field(), dsf1.field(), dsf2.field()); atan2(tres.ref().field(), dsf1.field(), dsf2.field());
return tAtan2; return tres;
} }
@ -487,18 +477,18 @@ tmp<DimensionedField<scalar, GeoMesh>> atan2
{ {
const DimensionedField<scalar, GeoMesh>& dsf1 = tdsf1(); const DimensionedField<scalar, GeoMesh>& dsf1 = tdsf1();
tmp<DimensionedField<scalar, GeoMesh>> tAtan2 = New tmp<DimensionedField<scalar, GeoMesh>> tres = New
( (
tdsf1, tdsf1,
"atan2(" + dsf1.name() + ',' + dsf2.name() + ')', "atan2(" + dsf1.name() + ',' + dsf2.name() + ')',
atan2(dsf1.dimensions(), dsf2.dimensions()) atan2(dsf1.dimensions(), dsf2.dimensions())
); );
atan2(tAtan2.ref().field(), dsf1.field(), dsf2.field()); atan2(tres.ref().field(), dsf1.field(), dsf2.field());
tdsf1.clear(); tdsf1.clear();
return tAtan2; return tres;
} }
@ -511,18 +501,18 @@ tmp<DimensionedField<scalar, GeoMesh>> atan2
{ {
const DimensionedField<scalar, GeoMesh>& dsf2 = tdsf2(); const DimensionedField<scalar, GeoMesh>& dsf2 = tdsf2();
tmp<DimensionedField<scalar, GeoMesh>> tAtan2 = New tmp<DimensionedField<scalar, GeoMesh>> tres = New
( (
tdsf2, tdsf2,
"atan2(" + dsf1.name() + ',' + dsf2.name() + ')', "atan2(" + dsf1.name() + ',' + dsf2.name() + ')',
atan2(dsf1.dimensions(), dsf2.dimensions()) atan2(dsf1.dimensions(), dsf2.dimensions())
); );
atan2(tAtan2.ref().field(), dsf1.field(), dsf2.field()); atan2(tres.ref().field(), dsf1.field(), dsf2.field());
tdsf2.clear(); tdsf2.clear();
return tAtan2; return tres;
} }
template<class GeoMesh> template<class GeoMesh>
@ -535,7 +525,7 @@ tmp<DimensionedField<scalar, GeoMesh>> atan2
const DimensionedField<scalar, GeoMesh>& dsf1 = tdsf1(); const DimensionedField<scalar, GeoMesh>& dsf1 = tdsf1();
const DimensionedField<scalar, GeoMesh>& dsf2 = tdsf2(); const DimensionedField<scalar, GeoMesh>& dsf2 = tdsf2();
tmp<DimensionedField<scalar, GeoMesh>> tAtan2 = auto tres =
reuseTmpTmpDimensionedField<scalar, scalar, scalar, scalar, GeoMesh>:: reuseTmpTmpDimensionedField<scalar, scalar, scalar, scalar, GeoMesh>::
New New
( (
@ -545,12 +535,12 @@ tmp<DimensionedField<scalar, GeoMesh>> atan2
atan2(dsf1.dimensions(), dsf2.dimensions()) atan2(dsf1.dimensions(), dsf2.dimensions())
); );
atan2(tAtan2.ref().field(), dsf1.field(), dsf2.field()); atan2(tres.ref().field(), dsf1.field(), dsf2.field());
tdsf1.clear(); tdsf1.clear();
tdsf2.clear(); tdsf2.clear();
return tAtan2; return tres;
} }
@ -561,9 +551,8 @@ tmp<DimensionedField<scalar, GeoMesh>> atan2
const dimensionedScalar& ds const dimensionedScalar& ds
) )
{ {
tmp<DimensionedField<scalar, GeoMesh>> tAtan2 auto tres =
( tmp<DimensionedField<scalar, GeoMesh>>::New
new DimensionedField<scalar, GeoMesh>
( (
IOobject IOobject
( (
@ -573,12 +562,11 @@ tmp<DimensionedField<scalar, GeoMesh>> atan2
), ),
dsf.mesh(), dsf.mesh(),
atan2(dsf.dimensions(), ds) atan2(dsf.dimensions(), ds)
) );
);
atan2(tAtan2.ref().field(), dsf.field(), ds.value()); atan2(tres.ref().field(), dsf.field(), ds.value());
return tAtan2; return tres;
} }
template<class GeoMesh> template<class GeoMesh>
@ -590,18 +578,18 @@ tmp<DimensionedField<scalar, GeoMesh>> atan2
{ {
const DimensionedField<scalar, GeoMesh>& dsf = tdsf(); const DimensionedField<scalar, GeoMesh>& dsf = tdsf();
tmp<DimensionedField<scalar, GeoMesh>> tAtan2 = New tmp<DimensionedField<scalar, GeoMesh>> tres = New
( (
tdsf, tdsf,
"atan2(" + dsf.name() + ',' + ds.name() + ')', "atan2(" + dsf.name() + ',' + ds.name() + ')',
atan2(dsf.dimensions(), ds) atan2(dsf.dimensions(), ds)
); );
atan2(tAtan2.ref().field(), dsf.field(), ds.value()); atan2(tres.ref().field(), dsf.field(), ds.value());
tdsf.clear(); tdsf.clear();
return tAtan2; return tres;
} }
template<class GeoMesh> template<class GeoMesh>
@ -632,9 +620,8 @@ tmp<DimensionedField<scalar, GeoMesh>> atan2
const DimensionedField<scalar, GeoMesh>& dsf const DimensionedField<scalar, GeoMesh>& dsf
) )
{ {
tmp<DimensionedField<scalar, GeoMesh>> tAtan2 auto tres =
( tmp<DimensionedField<scalar, GeoMesh>>::New
new DimensionedField<scalar, GeoMesh>
( (
IOobject IOobject
( (
@ -644,12 +631,11 @@ tmp<DimensionedField<scalar, GeoMesh>> atan2
), ),
dsf.mesh(), dsf.mesh(),
atan2(ds, dsf.dimensions()) atan2(ds, dsf.dimensions())
) );
);
atan2(tAtan2.ref().field(), ds.value(), dsf.field()); atan2(tres.ref().field(), ds.value(), dsf.field());
return tAtan2; return tres;
} }
@ -662,18 +648,18 @@ tmp<DimensionedField<scalar, GeoMesh>> atan2
{ {
const DimensionedField<scalar, GeoMesh>& dsf = tdsf(); const DimensionedField<scalar, GeoMesh>& dsf = tdsf();
tmp<DimensionedField<scalar, GeoMesh>> tAtan2 = New tmp<DimensionedField<scalar, GeoMesh>> tres = New
( (
tdsf, tdsf,
"atan2(" + ds.name() + ',' + dsf.name() + ')', "atan2(" + ds.name() + ',' + dsf.name() + ')',
atan2(ds, dsf.dimensions()) atan2(ds, dsf.dimensions())
); );
atan2(tAtan2.ref().field(), ds.value(), dsf.field()); atan2(tres.ref().field(), ds.value(), dsf.field());
tdsf.clear(); tdsf.clear();
return tAtan2; return tres;
} }
template<class GeoMesh> template<class GeoMesh>
@ -756,9 +742,8 @@ tmp<DimensionedField<scalar, GeoMesh>> func \
<< abort(FatalError); \ << abort(FatalError); \
} \ } \
\ \
tmp<DimensionedField<scalar, GeoMesh>> tFunc \ auto tres = \
( \ tmp<DimensionedField<scalar, GeoMesh>>::New \
new DimensionedField<scalar, GeoMesh> \
( \ ( \
IOobject \ IOobject \
( \ ( \
@ -768,14 +753,14 @@ tmp<DimensionedField<scalar, GeoMesh>> func \
), \ ), \
dsf.mesh(), \ dsf.mesh(), \
dimless \ dimless \
) \ ); \
); \
\ \
func(tFunc.ref().field(), n, dsf.field()); \ func(tres.ref().field(), n, dsf.field()); \
\ \
return tFunc; \ return tres; \
} \ } \
\ \
\
template<class GeoMesh> \ template<class GeoMesh> \
tmp<DimensionedField<scalar, GeoMesh>> func \ tmp<DimensionedField<scalar, GeoMesh>> func \
( \ ( \
@ -792,7 +777,7 @@ tmp<DimensionedField<scalar, GeoMesh>> func \
<< abort(FatalError); \ << abort(FatalError); \
} \ } \
\ \
tmp<DimensionedField<scalar, GeoMesh>> tFunc \ tmp<DimensionedField<scalar, GeoMesh>> tres \
( \ ( \
New \ New \
( \ ( \
@ -802,11 +787,11 @@ tmp<DimensionedField<scalar, GeoMesh>> func \
) \ ) \
); \ ); \
\ \
func(tFunc.ref().field(), n, dsf.field()); \ func(tres.ref().field(), n, dsf.field()); \
\ \
tdsf.clear(); \ tdsf.clear(); \
\ \
return tFunc; \ return tres; \
} }
BesselFunc(jn) BesselFunc(jn)

View File

@ -73,17 +73,17 @@ void stabilise(scalarField& res, const UList<scalar>& sf, const scalar s)
tmp<scalarField> stabilise(const UList<scalar>& sf, const scalar s) tmp<scalarField> stabilise(const UList<scalar>& sf, const scalar s)
{ {
tmp<scalarField> tRes(new scalarField(sf.size())); auto tresult = tmp<scalarField>::New(sf.size());
stabilise(tRes.ref(), sf, s); stabilise(tresult.ref(), sf, s);
return tRes; return tresult;
} }
tmp<scalarField> stabilise(const tmp<scalarField>& tsf, const scalar s) tmp<scalarField> stabilise(const tmp<scalarField>& tsf, const scalar s)
{ {
tmp<scalarField> tRes = New(tsf); tmp<scalarField> tresult = New(tsf);
stabilise(tRes.ref(), tsf(), s); stabilise(tresult.ref(), tsf(), s);
tsf.clear(); tsf.clear();
return tRes; return tresult;
} }
@ -92,16 +92,12 @@ tmp<scalarField> stabilise(const tmp<scalarField>& tsf, const scalar s)
template<> template<>
scalar sumProd(const UList<scalar>& f1, const UList<scalar>& f2) scalar sumProd(const UList<scalar>& f1, const UList<scalar>& f2)
{ {
scalar SumProd = 0.0;
if (f1.size() && (f1.size() == f2.size())) if (f1.size() && (f1.size() == f2.size()))
{ {
scalar SumProd = 0.0;
TFOR_ALL_S_OP_F_OP_F(scalar, SumProd, +=, scalar, f1, *, scalar, f2) TFOR_ALL_S_OP_F_OP_F(scalar, SumProd, +=, scalar, f1, *, scalar, f2)
return SumProd;
}
else
{
return 0.0;
} }
return SumProd;
} }
@ -174,17 +170,17 @@ void func(scalarField& res, const int n, const UList<scalar>& sf) \
\ \
tmp<scalarField> func(const int n, const UList<scalar>& sf) \ tmp<scalarField> func(const int n, const UList<scalar>& sf) \
{ \ { \
tmp<scalarField> tRes(new scalarField(sf.size())); \ auto tresult = tmp<scalarField>::New(sf.size()); \
func(tRes.ref(), n, sf); \ func(tresult.ref(), n, sf); \
return tRes; \ return tresult; \
} \ } \
\ \
tmp<scalarField> func(const int n, const tmp<scalarField>& tsf) \ tmp<scalarField> func(const int n, const tmp<scalarField>& tsf) \
{ \ { \
tmp<scalarField> tRes = New(tsf); \ tmp<scalarField> tresult = New(tsf); \
func(tRes.ref(), n, tsf()); \ func(tresult.ref(), n, tsf()); \
tsf.clear(); \ tsf.clear(); \
return tRes; \ return tresult; \
} }
BesselFunc(jn) BesselFunc(jn)

View File

@ -107,17 +107,17 @@ void inv(Field<symmTensor>& tf, const UList<symmTensor>& tf1)
tmp<symmTensorField> inv(const UList<symmTensor>& tf) tmp<symmTensorField> inv(const UList<symmTensor>& tf)
{ {
tmp<symmTensorField> result(new symmTensorField(tf.size())); auto tresult = tmp<symmTensorField>::New(tf.size());
inv(result.ref(), tf); inv(tresult.ref(), tf);
return result; return tresult;
} }
tmp<symmTensorField> inv(const tmp<symmTensorField>& tf) tmp<symmTensorField> inv(const tmp<symmTensorField>& tf)
{ {
tmp<symmTensorField> tRes = New(tf); tmp<symmTensorField> tresult = New(tf);
inv(tRes.ref(), tf()); inv(tresult.ref(), tf());
tf.clear(); tf.clear();
return tRes; return tresult;
} }

View File

@ -31,7 +31,7 @@ License
namespace Foam namespace Foam
{ {
// * * * * * * * * * * * * * * * global functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Global Functions * * * * * * * * * * * * * //
template<class Type> template<class Type>
void transform void transform
@ -62,9 +62,9 @@ tmp<Field<Type>> transform
const Field<Type>& tf const Field<Type>& tf
) )
{ {
tmp<Field<Type>> tranf(new Field<Type> (tf.size())); auto tresult = tmp<Field<Type>>::New(tf.size());
transform(tranf.ref(), trf, tf); transform(tresult.ref(), trf, tf);
return tranf; return tresult;
} }
@ -75,10 +75,10 @@ tmp<Field<Type>> transform
const tmp<Field<Type>>& ttf const tmp<Field<Type>>& ttf
) )
{ {
tmp<Field<Type>> tranf = New(ttf); tmp<Field<Type>> tresult = New(ttf);
transform(tranf.ref(), trf, ttf()); transform(tresult.ref(), trf, ttf());
ttf.clear(); ttf.clear();
return tranf; return tresult;
} }
@ -89,10 +89,10 @@ tmp<Field<Type>> transform
const Field<Type>& tf const Field<Type>& tf
) )
{ {
tmp<Field<Type>> tranf(new Field<Type> (tf.size())); auto tresult = tmp<Field<Type>>::New(tf.size());
transform(tranf.ref(), ttrf(), tf); transform(tresult.ref(), ttrf(), tf);
ttrf.clear(); ttrf.clear();
return tranf; return tresult;
} }
@ -103,11 +103,11 @@ tmp<Field<Type>> transform
const tmp<Field<Type>>& ttf const tmp<Field<Type>>& ttf
) )
{ {
tmp<Field<Type>> tranf = New(ttf); tmp<Field<Type>> tresult = New(ttf);
transform(tranf.ref(), ttrf(), ttf()); transform(tresult.ref(), ttrf(), ttf());
ttf.clear(); ttf.clear();
ttrf.clear(); ttrf.clear();
return tranf; return tresult;
} }
@ -130,9 +130,9 @@ tmp<Field<Type>> transform
const Field<Type>& tf const Field<Type>& tf
) )
{ {
tmp<Field<Type>> tranf(new Field<Type>(tf.size())); auto tresult = tmp<Field<Type>>::New(tf.size());
transform(tranf.ref(), t, tf); transform(tresult.ref(), t, tf);
return tranf; return tresult;
} }
@ -143,10 +143,10 @@ tmp<Field<Type>> transform
const tmp<Field<Type>>& ttf const tmp<Field<Type>>& ttf
) )
{ {
tmp<Field<Type>> tranf = New(ttf); tmp<Field<Type>> tresult = New(ttf);
transform(tranf.ref(), t, ttf()); transform(tresult.ref(), t, ttf());
ttf.clear(); ttf.clear();
return tranf; return tresult;
} }

View File

@ -105,17 +105,17 @@ void inv(Field<tensor>& tf, const UList<tensor>& tf1)
tmp<tensorField> inv(const UList<tensor>& tf) tmp<tensorField> inv(const UList<tensor>& tf)
{ {
tmp<tensorField> result(new tensorField(tf.size())); auto tres = tmp<tensorField>::New(tf.size());
inv(result.ref(), tf); inv(tres.ref(), tf);
return result; return tres;
} }
tmp<tensorField> inv(const tmp<tensorField>& tf) tmp<tensorField> inv(const tmp<tensorField>& tf)
{ {
tmp<tensorField> tRes = New(tf); auto tres = New(tf);
inv(tRes.ref(), tf()); inv(tres.ref(), tf());
tf.clear(); tf.clear();
return tRes; return tres;
} }
UNARY_FUNCTION(vector, tensor, eigenValues) UNARY_FUNCTION(vector, tensor, eigenValues)
@ -131,10 +131,10 @@ tmp<Field<tensor>> transformFieldMask<tensor>
const symmTensorField& stf const symmTensorField& stf
) )
{ {
tmp<tensorField> tRes(new tensorField(stf.size())); auto tres = tmp<tensorField>::New(stf.size());
tensorField& res = tRes.ref(); auto& res = tres.ref();
TFOR_ALL_F_OP_F(tensor, res, =, symmTensor, stf) TFOR_ALL_F_OP_F(tensor, res, =, symmTensor, stf)
return tRes; return tres;
} }
template<> template<>

View File

@ -33,10 +33,12 @@ Foam::tmp<Foam::vector2DField> Foam::zip
const tmp<scalarField>& y const tmp<scalarField>& y
) )
{ {
tmp<vector2DField> txy(new vector2DField(x->size())); auto txy = tmp<vector2DField>::New(x->size());
vector2DField& xy = txy.ref(); auto& xy = txy.ref();
xy.replace(0, x); xy.replace(0, x);
xy.replace(1, y); xy.replace(1, y);
return txy; return txy;
} }

View File

@ -34,11 +34,13 @@ Foam::tmp<Foam::vectorField> Foam::zip
const tmp<scalarField>& z const tmp<scalarField>& z
) )
{ {
tmp<vectorField> txyz(new vectorField(x->size())); auto txyz = tmp<vectorField>::New(x->size());
vectorField& xyz = txyz.ref(); auto& xyz = txyz.ref();
xyz.replace(0, x); xyz.replace(0, x);
xyz.replace(1, y); xyz.replace(1, y);
xyz.replace(2, z); xyz.replace(2, z);
return txyz; return txyz;
} }