From 9cf75a6569593f6cc3256766bd839b2f53a02143 Mon Sep 17 00:00:00 2001 From: andy Date: Wed, 2 Nov 2011 14:02:50 +0000 Subject: [PATCH] ENH: Added I/O for ExplicitSource --- .../explicitSetValue/ExplicitSetValue.C | 2 +- .../explicitSource/ExplicitSource.C | 20 +++++++++--------- .../explicitSource/ExplicitSourceIO.C | 21 +++++++++++-------- 3 files changed, 23 insertions(+), 20 deletions(-) diff --git a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSetValue/ExplicitSetValue.C b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSetValue/ExplicitSetValue.C index 6e96011c0f..b21091a647 100644 --- a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSetValue/ExplicitSetValue.C +++ b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSetValue/ExplicitSetValue.C @@ -59,7 +59,7 @@ Foam::ExplicitSetValue::ExplicitSetValue basicSource(name, modelType, dict, mesh), fieldData_() { - setFieldData(coeffs_.subDict("fieldData")); + read(dict); } diff --git a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSource/ExplicitSource.C b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSource/ExplicitSource.C index fa6d9d3b8b..0df1c4fabc 100644 --- a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSource/ExplicitSource.C +++ b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSource/ExplicitSource.C @@ -96,6 +96,12 @@ void Foam::ExplicitSource::setFieldData(const dictionary& dict) dict.lookup(iter().keyword()) >> fieldData_[i].second(); i++; } + + // Set volume normalisation + if (volumeMode_ == vmAbsolute) + { + VDash_ = V_; + } } @@ -106,22 +112,16 @@ Foam::ExplicitSource::ExplicitSource ( const word& name, const word& modelType, - const dictionary& coeffs, + const dictionary& dict, const fvMesh& mesh ) : - basicSource(name, modelType, coeffs, mesh), - volumeMode_(wordToVolumeModeType(coeffs_.lookup("volumeMode"))), + basicSource(name, modelType, dict, mesh), + volumeMode_(vmAbsolute), VDash_(1.0), fieldData_() { - setFieldData(coeffs_.subDict("fieldData")); - - // Set volume normalisation - if (volumeMode_ == vmAbsolute) - { - VDash_ = V_; - } + read(dict); } diff --git a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSource/ExplicitSourceIO.C b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSource/ExplicitSourceIO.C index 1b651bbd49..d181f3f207 100644 --- a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSource/ExplicitSourceIO.C +++ b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSource/ExplicitSourceIO.C @@ -30,22 +30,25 @@ License template void Foam::ExplicitSource::writeData(Ostream& os) const { - notImplemented - ( - "void Foam::ExplicitSource::read(Ostream&) const" - ); + os << indent << name_ << endl; + dict_.write(os); } template bool Foam::ExplicitSource::read(const dictionary& dict) { - notImplemented - ( - "bool Foam::ExplicitSource::read(const dictionary&)" - ); + if (basicSource::read(dict)) + { + setFieldData(coeffs_.subDict("fieldData")); + volumeMode_ = wordToVolumeModeType(coeffs_.lookup("volumeMode")); - return false; + return true; + } + else + { + return false; + } }