From 6aecbac20f6cd8353959279365efe323fd55213c Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Wed, 28 Mar 2012 18:01:24 +0100 Subject: [PATCH] ENH: UniformDimensionedField: do READ_IF_PRESENT for 2 argument constructor --- .../UniformDimensionedField.C | 19 +++++++++++++++++-- .../UniformDimensionedField.H | 4 ++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.C b/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.C index 54db26a30c7..2879e28f108 100644 --- a/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.C +++ b/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -36,7 +36,22 @@ Foam::UniformDimensionedField<Type>::UniformDimensionedField : regIOobject(io), dimensioned<Type>(dt) -{} +{ + // Read value + if + ( + ( + io.readOpt() == IOobject::MUST_READ + || io.readOpt() == IOobject::MUST_READ_IF_MODIFIED + ) + || (io.readOpt() == IOobject::READ_IF_PRESENT && headerOk()) + ) + { + dictionary dict(readStream(typeName)); + this->dimensions().reset(dict.lookup("dimensions")); + dict.lookup("value") >> this->value(); + } +} template<class Type> diff --git a/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.H b/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.H index 62461df2809..bab30a55ffa 100644 --- a/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.H +++ b/src/OpenFOAM/fields/UniformDimensionedFields/UniformDimensionedField.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -64,7 +64,7 @@ public: // Constructors - //- Construct from components + //- Construct from components. Either reads or uses supplied value. UniformDimensionedField(const IOobject&, const dimensioned<Type>&); //- Construct as copy -- GitLab