From ae6d9359362bd191851d40ea24c89909e0ad0399 Mon Sep 17 00:00:00 2001 From: andy <andy> Date: Thu, 20 Oct 2011 17:10:45 +0100 Subject: [PATCH] BUG: Corrected basic source and derived classes I/O --- .../actuationDiskSource/actuationDiskSource.C | 36 ++++++------------- .../actuationDiskSource/actuationDiskSource.H | 4 +-- .../basicSource/basicSource/basicSource.C | 16 +++------ .../basicSource/basicSource/basicSourceIO.C | 7 ++-- .../basicSource/basicSource/basicSourceList.C | 16 +++------ .../explicitSetValue/explicitSetValue.C | 12 +++---- .../explicitSetValue/explicitSetValue.H | 9 ++--- .../explicitSetValue/explicitSetValueIO.C | 26 +++----------- .../explicitSource/explicitSource.C | 4 +-- .../explicitSource/explicitSource.H | 4 +-- .../explicitSource/explicitSourceIO.C | 29 +++------------ .../radialActuationDiskSource.C | 18 +++++----- .../radialActuationDiskSource.H | 8 ++--- 13 files changed, 56 insertions(+), 133 deletions(-) diff --git a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/actuationDiskSource/actuationDiskSource.C b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/actuationDiskSource/actuationDiskSource.C index 32a025d993b..e7e996d1db9 100644 --- a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/actuationDiskSource/actuationDiskSource.C +++ b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/actuationDiskSource/actuationDiskSource.C @@ -75,11 +75,11 @@ Foam::actuationDiskSource::actuationDiskSource ) : basicSource(name, modelType, dict, mesh), - dict_(dict.subDict(modelType + "Coeffs")), - diskDir_(dict_.lookup("diskDir")), - Cp_(readScalar(dict_.lookup("Cp"))), - Ct_(readScalar(dict_.lookup("Ct"))), - diskArea_(readScalar(dict_.lookup("diskArea"))) + coeffs_(dict.subDict(modelType + "Coeffs")), + diskDir_(coeffs_.lookup("diskDir")), + Cp_(readScalar(coeffs_.lookup("Cp"))), + Ct_(readScalar(coeffs_.lookup("Ct"))), + diskArea_(readScalar(coeffs_.lookup("diskArea"))) { Info<< " - creating actuation disk zone: " << this->name() << endl; @@ -132,20 +132,8 @@ void Foam::actuationDiskSource::addSu(fvMatrix<vector>& UEqn) void Foam::actuationDiskSource::writeData(Ostream& os) const { - os << indent << token::BEGIN_BLOCK << incrIndent << nl; - os.writeKeyword("name") << this->name() << token::END_STATEMENT << nl; - - if (dict_.found("note")) - { - os.writeKeyword("note") << string(dict_.lookup("note")) - << token::END_STATEMENT << nl; - } - - os << indent << "actuationDisk"; - + os << indent << name_ << endl; dict_.write(os); - - os << decrIndent << indent << token::END_BLOCK << endl; } @@ -153,13 +141,11 @@ bool Foam::actuationDiskSource::read(const dictionary& dict) { if (basicSource::read(dict)) { - const dictionary& sourceDict = dict.subDict(name()); - const dictionary& subDictCoeffs = - sourceDict.subDict(typeName + "Coeffs"); - subDictCoeffs.readIfPresent("diskDir", diskDir_); - subDictCoeffs.readIfPresent("Cp", Cp_); - subDictCoeffs.readIfPresent("Ct", Ct_); - subDictCoeffs.readIfPresent("diskArea", diskArea_); + coeffs_ = dict.subDict(typeName + "Coeffs"); + coeffs_.readIfPresent("diskDir", diskDir_); + coeffs_.readIfPresent("Cp", Cp_); + coeffs_.readIfPresent("Ct", Ct_); + coeffs_.readIfPresent("diskArea", diskArea_); checkData(); diff --git a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/actuationDiskSource/actuationDiskSource.H b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/actuationDiskSource/actuationDiskSource.H index 8b54ac08710..cbe98ea4c8d 100644 --- a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/actuationDiskSource/actuationDiskSource.H +++ b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/actuationDiskSource/actuationDiskSource.H @@ -74,8 +74,8 @@ protected: // Protected data - //- Sub dictionary with actuationDisk information - const dictionary& dict_; + //- Coefficients dictionary + dictionary coeffs_; //- Disk area normal vector diskDir_; diff --git a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/basicSource/basicSource.C b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/basicSource/basicSource.C index 114e6e58cbe..cd7394a173b 100644 --- a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/basicSource/basicSource.C +++ b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/basicSource/basicSource.C @@ -277,28 +277,20 @@ bool Foam::basicSource::isActive() void Foam::basicSource::addSu(Foam::fvMatrix<vector>& Eqn) { - notImplemented - ( - "Foam::basicSource addSu(Foam::fvMatrix<vector>& Eqn)" - ); + notImplemented("Foam::basicSource addSu(Foam::fvMatrix<vector>& Eqn)"); } void Foam::basicSource::addSu(Foam::fvMatrix<scalar>& Eqn) { - notImplemented - ( - "Foam::basicSource addSu(Foam::fvMatrix<scalar>& Eqn)" - ); + notImplemented("Foam::basicSource addSu(Foam::fvMatrix<scalar>& Eqn)"); } void Foam::basicSource::setValue(Foam::fvMatrix<scalar>& Eqn) { - notImplemented - ( - "Foam::basicSource setValue(Foam::fvMatrix<scalar>& Eqn)" - ); + notImplemented("Foam::basicSource setValue(Foam::fvMatrix<scalar>& Eqn)"); } + // ************************************************************************* // diff --git a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/basicSource/basicSourceIO.C b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/basicSource/basicSourceIO.C index 8b425cf91c1..caec8b58cf7 100644 --- a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/basicSource/basicSourceIO.C +++ b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/basicSource/basicSourceIO.C @@ -77,10 +77,9 @@ void Foam::basicSource::writeData(Ostream& os) const bool Foam::basicSource::read(const dictionary& dict) { - const dictionary& sourceDict = dict.subDict(name_); - active_ = readBool(sourceDict.lookup("active")); - timeStart_ = readScalar(sourceDict.lookup("timeStart")); - duration_ = readScalar(sourceDict.lookup("duration")); + active_ = readBool(dict.lookup("active")); + timeStart_ = readScalar(dict.lookup("timeStart")); + duration_ = readScalar(dict.lookup("duration")); return true; } diff --git a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/basicSource/basicSourceList.C b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/basicSource/basicSourceList.C index e9827409c5a..79af0251430 100644 --- a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/basicSource/basicSourceList.C +++ b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/basicSource/basicSourceList.C @@ -51,12 +51,12 @@ Foam::basicSourceList::basicSourceList forAllConstIter(dictionary, dict, iter) { const word& name = iter().keyword(); - const dictionary& dict = iter().dict(); + const dictionary& sourceDict = iter().dict(); this->set ( i++, - basicSource::New(name, dict, mesh) + basicSource::New(name, sourceDict, mesh) ); } } @@ -108,7 +108,8 @@ bool Foam::basicSourceList::read(const dictionary& dict) bool allOk = true; forAll(*this, i) { - bool ok = this->operator[](i).read(dict); + basicSource& bs = this->operator[](i); + bool ok = bs.read(dict.subDict(bs.name())); allOk = (allOk && ok); } return allOk; @@ -117,12 +118,6 @@ bool Foam::basicSourceList::read(const dictionary& dict) bool Foam::basicSourceList::writeData(Ostream& os) const { - // Write size of list - os << nl << this->size(); - - // Write beginning of contents - os << nl << token::BEGIN_LIST; - // Write list contents forAll(*this, i) { @@ -130,9 +125,6 @@ bool Foam::basicSourceList::writeData(Ostream& os) const this->operator[](i).writeData(os); } - // Write end of contents - os << token::END_LIST << token::END_STATEMENT << nl; - // Check state of IOstream return os.good(); } diff --git a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSetValue/explicitSetValue.C b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSetValue/explicitSetValue.C index 2a14b793a8d..898f2c41c37 100644 --- a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSetValue/explicitSetValue.C +++ b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSetValue/explicitSetValue.C @@ -72,11 +72,9 @@ void Foam::explicitSetValue::setFieldData(const dictionary& dict) } else { - FatalErrorIn - ( - "explicitSetValue::setFieldData" - ) << "header not OK " << io.name() - << exit(FatalError); + FatalErrorIn("explicitSetValue::setFieldData") + << "header not OK for field " << io.name() + << abort(FatalError); } } @@ -96,9 +94,9 @@ Foam::explicitSetValue::explicitSetValue ) : basicSource(name, modelType, dict, mesh), - dict_(dict.subDict(modelType + "Coeffs")) + coeffs_(dict.subDict(modelType + "Coeffs")) { - setFieldData(dict_.subDict("fieldData")); + setFieldData(coeffs_.subDict("fieldData")); } diff --git a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSetValue/explicitSetValue.H b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSetValue/explicitSetValue.H index 643e6b61824..df3d404f1ac 100644 --- a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSetValue/explicitSetValue.H +++ b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSetValue/explicitSetValue.H @@ -89,8 +89,8 @@ protected: // Protected data - //- Sub dictionary for time activated explicit sources - const dictionary& dict_; + //- Coefficients dictionary + dictionary coeffs_; // Protected functions @@ -119,10 +119,7 @@ public: //- Return clone autoPtr<explicitSetValue> clone() const { - notImplemented - ( - "autoPtr<explicitSetValue> clone() const" - ); + notImplemented("autoPtr<explicitSetValue> clone() const"); return autoPtr<explicitSetValue>(NULL); } diff --git a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSetValue/explicitSetValueIO.C b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSetValue/explicitSetValueIO.C index dce0a53ddf6..24e9205606d 100644 --- a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSetValue/explicitSetValueIO.C +++ b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSetValue/explicitSetValueIO.C @@ -29,22 +29,8 @@ License void Foam::explicitSetValue::writeData(Ostream& os) const { - os << indent << name_ << nl - << indent << token::BEGIN_BLOCK << incrIndent << nl; - - if (scalarFields_.size() > 0) - { - os.writeKeyword("scalarFields") << scalarFields_ - << token::END_STATEMENT << nl; - } - - if (vectorFields_.size() > 0) - { - os.writeKeyword("vectorFields") << vectorFields_ - << token::END_STATEMENT << nl; - } - - os << decrIndent << indent << token::END_BLOCK << endl; + os << indent << name_ << endl; + dict_.write(os); } @@ -52,12 +38,8 @@ bool Foam::explicitSetValue::read(const dictionary& dict) { if (basicSource::read(dict)) { - const dictionary& sourceDict = dict.subDict(name()); - const dictionary& subDictCoeffs = sourceDict.subDict - ( - typeName + "Coeffs" - ); - setFieldData(subDictCoeffs.subDict("fieldData")); + coeffs_ = dict.subDict(typeName + "Coeffs"); + setFieldData(coeffs_.subDict("fieldData")); return true; } else diff --git a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSource/explicitSource.C b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSource/explicitSource.C index de01ebb5309..af5555f3fb0 100644 --- a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSource/explicitSource.C +++ b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSource/explicitSource.C @@ -112,8 +112,8 @@ Foam::explicitSource::explicitSource ) : basicSource(name, modelType, dict, mesh), - dict_(dict.subDict(modelType + "Coeffs")), - volumeMode_(volumeModeTypeNames_.read(dict_.lookup("volumeMode"))) + coeffs_(dict.subDict(modelType + "Coeffs")), + volumeMode_(volumeModeTypeNames_.read(coeffs_.lookup("volumeMode"))) { setFieldData(dict_.subDict("fieldData")); } diff --git a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSource/explicitSource.H b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSource/explicitSource.H index 9b88fac753e..05c37822547 100644 --- a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSource/explicitSource.H +++ b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSource/explicitSource.H @@ -110,8 +110,8 @@ protected: // Protected data - //- Sub dictionary for time activated explicit sources - const dictionary& dict_; + //- Coefficients dictionary + dictionary coeffs_; //- Volume mode volumeModeType volumeMode_; diff --git a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSource/explicitSourceIO.C b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSource/explicitSourceIO.C index 3b7b1b7c352..f97ad329067 100644 --- a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSource/explicitSourceIO.C +++ b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/explicitSource/explicitSourceIO.C @@ -29,25 +29,8 @@ License void Foam::explicitSource::writeData(Ostream& os) const { - os << indent << name_ << nl - << indent << token::BEGIN_BLOCK << incrIndent << nl; - - os.writeKeyword("volumeMode") << volumeModeTypeNames_[volumeMode_] - << token::END_STATEMENT << nl; - - if (scalarFields_.size() > 0) - { - os.writeKeyword("scalarFields") << scalarFields_ - << token::END_STATEMENT << nl; - } - - if (vectorFields_.size() > 0) - { - os.writeKeyword("vectorFields") << vectorFields_ - << token::END_STATEMENT << nl; - } - - os << decrIndent << indent << token::END_BLOCK << endl; + os << indent << name_ << endl; + dict_.write(os); } @@ -55,12 +38,8 @@ bool Foam::explicitSource::read(const dictionary& dict) { if (basicSource::read(dict)) { - const dictionary& sourceDict = dict.subDict(name()); - const dictionary& subDictCoeffs = sourceDict.subDict - ( - typeName + "Coeffs" - ); - setFieldData(subDictCoeffs.subDict("fieldData")); + coeffs_ = dict.subDict(typeName + "Coeffs"); + setFieldData(coeffs_.subDict("fieldData")); return true; } else diff --git a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/radialActuationDiskSource/radialActuationDiskSource.C b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/radialActuationDiskSource/radialActuationDiskSource.C index e01a2a57361..0444a9408b3 100644 --- a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/radialActuationDiskSource/radialActuationDiskSource.C +++ b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/radialActuationDiskSource/radialActuationDiskSource.C @@ -53,10 +53,10 @@ Foam::radialActuationDiskSource::radialActuationDiskSource ) : actuationDiskSource(name, modelType, dict, mesh), - dict_(dict.subDict(modelType + "Coeffs")), + coeffsDict_(dict.subDict(modelType + "Coeffs")), coeffs_() { - dict_.lookup("coeffs") >> coeffs_; + coeffsDict_.lookup("coeffs") >> coeffs_; Info<< " - creating radial actuation disk zone: " << this->name() << endl; } @@ -114,14 +114,12 @@ bool Foam::radialActuationDiskSource::read(const dictionary& dict) { if (basicSource::read(dict)) { - const dictionary& sourceDict = dict.subDict(name()); - const dictionary& subDictCoeffs = - sourceDict.subDict(typeName + "Coeffs"); - subDictCoeffs.readIfPresent("diskDir", diskDir_); - subDictCoeffs.readIfPresent("Cp", Cp_); - subDictCoeffs.readIfPresent("Ct", Ct_); - subDictCoeffs.readIfPresent("diskArea", diskArea_); - subDictCoeffs.lookup("coeffs") >> coeffs_; + const dictionary& coeffsDict_ = dict.subDict(typeName + "Coeffs"); + coeffsDict_.readIfPresent("diskDir", diskDir_); + coeffsDict_.readIfPresent("Cp", Cp_); + coeffsDict_.readIfPresent("Ct", Ct_); + coeffsDict_.readIfPresent("diskArea", diskArea_); + coeffsDict_.lookup("coeffs") >> coeffs_; return true; } else diff --git a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/radialActuationDiskSource/radialActuationDiskSource.H b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/radialActuationDiskSource/radialActuationDiskSource.H index 701e752ff40..245f002fa51 100644 --- a/src/finiteVolume/cfdTools/general/fieldSources/basicSource/radialActuationDiskSource/radialActuationDiskSource.H +++ b/src/finiteVolume/cfdTools/general/fieldSources/basicSource/radialActuationDiskSource/radialActuationDiskSource.H @@ -62,7 +62,7 @@ namespace Foam { /*---------------------------------------------------------------------------*\ - Class radialActuationDiskSource Declaration + Class radialActuationDiskSource Declaration \*---------------------------------------------------------------------------*/ class radialActuationDiskSource @@ -71,8 +71,8 @@ class radialActuationDiskSource { // Private data - //- Sub dictionary with model information - const dictionary& dict_; + //- Coefficients dictionary + dictionary coeffsDict_; //- Coeffcients for the radial distribution FixedList<scalar, 3> coeffs_; @@ -123,7 +123,7 @@ public: // Public Functions - //-Source term to fvMatrix<vector> + //- Source term to fvMatrix<vector> virtual void addSu(fvMatrix<vector>& UEqn); -- GitLab