diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H index 0047fb1606..ec6a70303a 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H @@ -108,7 +108,7 @@ forAll(fluidRegions, i) IOobject::READ_IF_PRESENT, IOobject::NO_WRITE ), - dimensionedScalar("hRef", dimLength, Zero) // uses name + dimensionedScalar(word::null, dimLength, Zero) ) ); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionTwoPhaseEulerFoam/fluid/createFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionTwoPhaseEulerFoam/fluid/createFluidFields.H index 00e0f30b23..e7ca574f70 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionTwoPhaseEulerFoam/fluid/createFluidFields.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionTwoPhaseEulerFoam/fluid/createFluidFields.H @@ -221,7 +221,7 @@ forAll(fluidRegions, i) IOobject::READ_IF_PRESENT, IOobject::NO_WRITE ), - dimensionedScalar("hRef", dimLength, Zero) + dimensionedScalar(word::null, dimLength, Zero) ) ); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionTwoPhaseEulerFoam/fluid/initContinuityErrs.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionTwoPhaseEulerFoam/fluid/initContinuityErrs.H index 99aaa1a674..0052d46536 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionTwoPhaseEulerFoam/fluid/initContinuityErrs.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionTwoPhaseEulerFoam/fluid/initContinuityErrs.H @@ -13,11 +13,11 @@ forAll(cumulativeContErrIO, i) "cumulativeContErr", runTime.timeName(), "uniform", - mesh, + mesh.thisDb(), IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE ), - dimensionedScalar(dimless, Zero) + dimensionedScalar(word::null, dimless, Zero) ) ); } diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H index 826e27720e..2dfd1d3146 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/createFluidFields.H @@ -112,7 +112,7 @@ forAll(fluidRegions, i) IOobject::READ_IF_PRESENT, IOobject::NO_WRITE ), - dimensionedScalar("hRef", dimLength, Zero) // uses name + dimensionedScalar(word::null, dimLength, Zero) ) ); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/initContinuityErrs.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/initContinuityErrs.H index 99aaa1a674..0052d46536 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/initContinuityErrs.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/initContinuityErrs.H @@ -13,11 +13,11 @@ forAll(cumulativeContErrIO, i) "cumulativeContErr", runTime.timeName(), "uniform", - mesh, + mesh.thisDb(), IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE ), - dimensionedScalar(dimless, Zero) + dimensionedScalar(word::null, dimless, Zero) ) ); } diff --git a/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.C b/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.C index 5b6b012776..9a6ef06d7a 100644 --- a/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.C +++ b/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.C @@ -66,6 +66,22 @@ Foam::UniformDimensionedField::UniformDimensionedField } +template +Foam::UniformDimensionedField::UniformDimensionedField +( + const IOobject& io, + const Type& val, + const dimensionSet& dims +) +: + regIOobject(io), + dimensioned(regIOobject::name(), dims, val) +{ + // Read value + readHeaderOk(IOstreamOption::BINARY, typeName); +} + + template Foam::UniformDimensionedField::UniformDimensionedField ( diff --git a/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.H b/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.H index 6523b551dd..0bd5ff35d3 100644 --- a/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.H +++ b/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.H @@ -79,6 +79,7 @@ public: //- Construct from components. Either reads or uses supplied value. // The name of the IOobject defines the name of the field. + // Parameter ordering as per dimensioned\ UniformDimensionedField ( const IOobject& io, @@ -86,6 +87,16 @@ public: const Type& val ); + //- Construct from components. Either reads or uses supplied value. + // The name of the IOobject defines the name of the field. + // Parameter ordering as per DimensionedField\ + UniformDimensionedField + ( + const IOobject& io, + const Type& val, + const dimensionSet& dims + ); + //- Construct as copy UniformDimensionedField(const UniformDimensionedField&); @@ -99,17 +110,16 @@ public: // Member Functions - //- Name function provided to resolve the ambiguity between the - //- name functions in regIOobject and dimensioned + //- Use name from dimensioned\, not from regIOobject virtual const word& name() const { return dimensioned::name(); } - //- ReadData function required for regIOobject read operation + //- The readData method required for regIOobject read operation virtual bool readData(Istream&); - //- WriteData function required for regIOobject write operation + //- The writeData method required for regIOobject write operation bool writeData(Ostream&) const; //- Is object global @@ -128,10 +138,10 @@ public: // Member Operators - //- Assign name, dimensions and value. + //- Assign name, dimensions and value of the dimensioned\ void operator=(const UniformDimensionedField& rhs); - //- Assign name, dimensions and value. + //- Assign name, dimensions and value to the dimensioned\ void operator=(const dimensioned& rhs); //- Return value diff --git a/src/OpenFOAM/fields/UniformDimensionedFields/uniformDimensionedFields.C b/src/OpenFOAM/fields/UniformDimensionedFields/uniformDimensionedFields.C index 0e5c109484..3375fff3f5 100644 --- a/src/OpenFOAM/fields/UniformDimensionedFields/uniformDimensionedFields.C +++ b/src/OpenFOAM/fields/UniformDimensionedFields/uniformDimensionedFields.C @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2011 OpenFOAM Foundation + Copyright (C) 2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -34,6 +35,7 @@ namespace Foam // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // +defineTemplateTypeNameAndDebug(uniformDimensionedLabelField, 0); defineTemplateTypeNameAndDebug(uniformDimensionedScalarField, 0); defineTemplateTypeNameAndDebug(uniformDimensionedVectorField, 0); defineTemplateTypeNameAndDebug(uniformDimensionedSphericalTensorField, 0); diff --git a/src/OpenFOAM/fields/UniformDimensionedFields/uniformDimensionedFieldsFwd.H b/src/OpenFOAM/fields/UniformDimensionedFields/uniformDimensionedFieldsFwd.H index ebbb87dc61..13b8d8c76f 100644 --- a/src/OpenFOAM/fields/UniformDimensionedFields/uniformDimensionedFieldsFwd.H +++ b/src/OpenFOAM/fields/UniformDimensionedFields/uniformDimensionedFieldsFwd.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2022 OpenCFD Ltd. + Copyright (C) 2022-2023 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -48,6 +48,10 @@ template class UniformDimensionedField; // Typedefs +typedef + UniformDimensionedField