From b55c176eb813c8fa5ee557f3335beb35c01eaa6a Mon Sep 17 00:00:00 2001 From: Henry Weller Date: Wed, 19 Dec 2018 13:55:09 +0000 Subject: [PATCH] DimensionedField: Added "New" methods to return unregistered temporary fields --- .../DimensionedField/DimensionedField.C | 58 +++++++++++++++++++ .../DimensionedField/DimensionedField.H | 16 +++++ 2 files changed, 74 insertions(+) diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.C b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.C index ae771fce8b..923a3b6fd6 100644 --- a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.C +++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.C @@ -276,6 +276,64 @@ DimensionedField::clone() const } +template +Foam::tmp> +DimensionedField::New +( + const word& name, + const Mesh& mesh, + const dimensionSet& ds +) +{ + return tmp> + ( + new DimensionedField + ( + IOobject + ( + name, + mesh.time().timeName(), + mesh, + IOobject::NO_READ, + IOobject::NO_WRITE, + false + ), + mesh, + ds, + false + ) + ); +} + + +template +Foam::tmp> +DimensionedField::New +( + const word& newName, + const tmp>& tdf +) +{ + return tmp> + ( + new DimensionedField + ( + IOobject + ( + newName, + tdf().instance(), + tdf().local(), + tdf().db(), + IOobject::NO_READ, + IOobject::NO_WRITE, + false + ), + tdf + ) + ); +} + + // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // template diff --git a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.H b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.H index 0b06101d4e..a32db445de 100644 --- a/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.H +++ b/src/OpenFOAM/fields/DimensionedFields/DimensionedField/DimensionedField.H @@ -236,6 +236,22 @@ public: //- Clone tmp> clone() const; + //- Return a temporary field constructed from name, mesh + // and dimensionSet + static tmp> New + ( + const word& name, + const Mesh& mesh, + const dimensionSet& + ); + + //- Rename temporary field and return + static tmp> New + ( + const word& newName, + const tmp>& + ); + //- Destructor virtual ~DimensionedField();