From 43e4571143edc6ce3365b0e8cfad5967e7cffd01 Mon Sep 17 00:00:00 2001 From: Andrew Heather <a.heather@opencfd.co.uk> Date: Wed, 14 Dec 2016 15:25:39 +0000 Subject: [PATCH] ENH: subModelBase - added function to get a dictionary --- .../primitives/subModelBase/subModelBase.C | 28 +++++++++++++++++++ .../primitives/subModelBase/subModelBase.H | 7 +++++ 2 files changed, 35 insertions(+) diff --git a/src/OpenFOAM/primitives/subModelBase/subModelBase.C b/src/OpenFOAM/primitives/subModelBase/subModelBase.C index dae11236965..9a220797dee 100644 --- a/src/OpenFOAM/primitives/subModelBase/subModelBase.C +++ b/src/OpenFOAM/primitives/subModelBase/subModelBase.C @@ -167,6 +167,34 @@ bool Foam::subModelBase::writeTime() const } +bool Foam::subModelBase::getModelDict +( + const word& entryName, + dictionary& dict +) const +{ + if (properties_.found(baseName_)) + { + const dictionary& baseDict = properties_.subDict(baseName_); + + if (inLine() && baseDict.found(modelName_)) + { + const dictionary& modelDict = baseDict.subDict(modelName_); + dict = modelDict.subOrEmptyDict(entryName); + return true; + } + else if (baseDict.found(modelType_)) + { + const dictionary& modelDict = baseDict.subDict(modelType_); + dict = modelDict.subOrEmptyDict(entryName); + return true; + } + } + + return false; +} + + void Foam::subModelBase::write(Ostream& os) const { os << coeffDict_; diff --git a/src/OpenFOAM/primitives/subModelBase/subModelBase.H b/src/OpenFOAM/primitives/subModelBase/subModelBase.H index da29dcbca2a..a2c194ac2b0 100644 --- a/src/OpenFOAM/primitives/subModelBase/subModelBase.H +++ b/src/OpenFOAM/primitives/subModelBase/subModelBase.H @@ -179,6 +179,13 @@ public: // Model properties + //- Retrieve dictionary, return true if set + bool getModelDict + ( + const word& entryName, + dictionary& dict + ) const; + //- Retrieve generic property from the sub-model template<class Type> void getModelProperty(const word& entryName, Type& value) const; -- GitLab