diff --git a/integration/OpenCFD/code/waveModel/waveAbsorptionModels/base/waveAbsorptionModel/waveAbsorptionModel.C b/integration/OpenCFD/code/waveModel/waveAbsorptionModels/base/waveAbsorptionModel/waveAbsorptionModel.C index 6bb712abd6..b0b21c1d2f 100644 --- a/integration/OpenCFD/code/waveModel/waveAbsorptionModels/base/waveAbsorptionModel/waveAbsorptionModel.C +++ b/integration/OpenCFD/code/waveModel/waveAbsorptionModels/base/waveAbsorptionModel/waveAbsorptionModel.C @@ -50,7 +50,7 @@ Foam::waveModels::waveAbsorptionModel::waveAbsorptionModel { if (readFields) { - read(); + read(dict); } } @@ -63,9 +63,9 @@ Foam::waveModels::waveAbsorptionModel::~waveAbsorptionModel() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -bool Foam::waveModels::waveAbsorptionModel::read() +bool Foam::waveModels::waveAbsorptionModel::read(const dictionary& overrideDict) { - if (waveModel::read()) + if (waveModel::read(overrideDict)) { // Note: always set to true activeAbsorption_ = true; diff --git a/integration/OpenCFD/code/waveModel/waveAbsorptionModels/base/waveAbsorptionModel/waveAbsorptionModel.H b/integration/OpenCFD/code/waveModel/waveAbsorptionModels/base/waveAbsorptionModel/waveAbsorptionModel.H index e77a4f9fce..9e66d9e87f 100644 --- a/integration/OpenCFD/code/waveModel/waveAbsorptionModels/base/waveAbsorptionModel/waveAbsorptionModel.H +++ b/integration/OpenCFD/code/waveModel/waveAbsorptionModels/base/waveAbsorptionModel/waveAbsorptionModel.H @@ -70,7 +70,7 @@ public: // Public Member Functions //- Read from dictionary - virtual bool read(); + virtual bool read(const dictionary& overrideDict); }; diff --git a/integration/OpenCFD/code/waveModel/waveAbsorptionModels/derived/shallowWaterAbsorption/shallowWaterAbsorption.C b/integration/OpenCFD/code/waveModel/waveAbsorptionModels/derived/shallowWaterAbsorption/shallowWaterAbsorption.C index 9fb497d04e..471ac164bc 100644 --- a/integration/OpenCFD/code/waveModel/waveAbsorptionModels/derived/shallowWaterAbsorption/shallowWaterAbsorption.C +++ b/integration/OpenCFD/code/waveModel/waveAbsorptionModels/derived/shallowWaterAbsorption/shallowWaterAbsorption.C @@ -92,7 +92,7 @@ Foam::waveModels::shallowWaterAbsorption::shallowWaterAbsorption { if (readFields) { - read(); + read(dict); } } @@ -105,9 +105,12 @@ Foam::waveModels::shallowWaterAbsorption::~shallowWaterAbsorption() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -bool Foam::waveModels::shallowWaterAbsorption::read() +bool Foam::waveModels::shallowWaterAbsorption::read +( + const dictionary& overrideDict +) { - return waveAbsorptionModel::read(); + return waveAbsorptionModel::read(overrideDict); } diff --git a/integration/OpenCFD/code/waveModel/waveAbsorptionModels/derived/shallowWaterAbsorption/shallowWaterAbsorption.H b/integration/OpenCFD/code/waveModel/waveAbsorptionModels/derived/shallowWaterAbsorption/shallowWaterAbsorption.H index 8db9d45cc3..bbc31f7878 100644 --- a/integration/OpenCFD/code/waveModel/waveAbsorptionModels/derived/shallowWaterAbsorption/shallowWaterAbsorption.H +++ b/integration/OpenCFD/code/waveModel/waveAbsorptionModels/derived/shallowWaterAbsorption/shallowWaterAbsorption.H @@ -94,7 +94,7 @@ public: // Public Member Functions //- Read from dictionary - virtual bool read(); + virtual bool read(const dictionary& overrideDict); }; diff --git a/integration/OpenCFD/code/waveModel/waveGenerationModels/base/regularWaveModel/regularWaveModel.C b/integration/OpenCFD/code/waveModel/waveGenerationModels/base/regularWaveModel/regularWaveModel.C index 1d877175ea..44e87c3dc5 100644 --- a/integration/OpenCFD/code/waveModel/waveGenerationModels/base/regularWaveModel/regularWaveModel.C +++ b/integration/OpenCFD/code/waveModel/waveGenerationModels/base/regularWaveModel/regularWaveModel.C @@ -76,7 +76,7 @@ Foam::waveModels::regularWaveModel::regularWaveModel { if (readFields) { - read(); + read(dict); } } @@ -89,9 +89,9 @@ Foam::waveModels::regularWaveModel::~regularWaveModel() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -bool Foam::waveModels::regularWaveModel::read() +bool Foam::waveModels::regularWaveModel::read(const dictionary& overrideDict) { - if (waveGenerationModel::read()) + if (waveGenerationModel::read(overrideDict)) { lookup("wavePeriod") >> wavePeriod_; if (wavePeriod_ < 0) diff --git a/integration/OpenCFD/code/waveModel/waveGenerationModels/base/regularWaveModel/regularWaveModel.H b/integration/OpenCFD/code/waveModel/waveGenerationModels/base/regularWaveModel/regularWaveModel.H index fe7f192287..3eed94b0c6 100644 --- a/integration/OpenCFD/code/waveModel/waveGenerationModels/base/regularWaveModel/regularWaveModel.H +++ b/integration/OpenCFD/code/waveModel/waveGenerationModels/base/regularWaveModel/regularWaveModel.H @@ -99,7 +99,7 @@ public: // Public Member Functions //- Read from dictionary - virtual bool read(); + virtual bool read(const dictionary& overrideDict); //- Info virtual void info(Ostream& os) const; diff --git a/integration/OpenCFD/code/waveModel/waveGenerationModels/base/solitaryWaveModel/solitaryWaveModel.C b/integration/OpenCFD/code/waveModel/waveGenerationModels/base/solitaryWaveModel/solitaryWaveModel.C index 4ea1bf7212..5c0f1e3e96 100644 --- a/integration/OpenCFD/code/waveModel/waveGenerationModels/base/solitaryWaveModel/solitaryWaveModel.C +++ b/integration/OpenCFD/code/waveModel/waveGenerationModels/base/solitaryWaveModel/solitaryWaveModel.C @@ -56,7 +56,7 @@ Foam::waveModels::solitaryWaveModel::solitaryWaveModel { if (readFields) { - read(); + read(dict); } } @@ -69,9 +69,9 @@ Foam::waveModels::solitaryWaveModel::~solitaryWaveModel() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -bool Foam::waveModels::solitaryWaveModel::read() +bool Foam::waveModels::solitaryWaveModel::read(const dictionary& overrideDict) { - if (waveGenerationModel::read()) + if (waveGenerationModel::read(overrideDict)) { return true; } diff --git a/integration/OpenCFD/code/waveModel/waveGenerationModels/base/solitaryWaveModel/solitaryWaveModel.H b/integration/OpenCFD/code/waveModel/waveGenerationModels/base/solitaryWaveModel/solitaryWaveModel.H index 4ac086f5f4..e880e2fc33 100644 --- a/integration/OpenCFD/code/waveModel/waveGenerationModels/base/solitaryWaveModel/solitaryWaveModel.H +++ b/integration/OpenCFD/code/waveModel/waveGenerationModels/base/solitaryWaveModel/solitaryWaveModel.H @@ -81,7 +81,7 @@ public: // Public Member Functions //- Read from dictionary - virtual bool read(); + virtual bool read(const dictionary& overrideDict); //- Info virtual void info(Ostream& os) const; diff --git a/integration/OpenCFD/code/waveModel/waveGenerationModels/base/waveGenerationModel/waveGenerationModel.C b/integration/OpenCFD/code/waveModel/waveGenerationModels/base/waveGenerationModel/waveGenerationModel.C index daed9a9138..3dba0c3b4c 100644 --- a/integration/OpenCFD/code/waveModel/waveGenerationModels/base/waveGenerationModel/waveGenerationModel.C +++ b/integration/OpenCFD/code/waveModel/waveGenerationModels/base/waveGenerationModel/waveGenerationModel.C @@ -55,7 +55,7 @@ Foam::waveModels::waveGenerationModel::waveGenerationModel { if (readFields) { - read(); + read(dict); } } @@ -68,9 +68,9 @@ Foam::waveModels::waveGenerationModel::~waveGenerationModel() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -bool Foam::waveModels::waveGenerationModel::read() +bool Foam::waveModels::waveGenerationModel::read(const dictionary& overrideDict) { - if (waveModel::read()) + if (waveModel::read(overrideDict)) { lookup("rampTime") >> rampTime_; lookup("activeAbsorption") >> activeAbsorption_; diff --git a/integration/OpenCFD/code/waveModel/waveGenerationModels/base/waveGenerationModel/waveGenerationModel.H b/integration/OpenCFD/code/waveModel/waveGenerationModels/base/waveGenerationModel/waveGenerationModel.H index e0e2048334..c0ed643e7b 100644 --- a/integration/OpenCFD/code/waveModel/waveGenerationModels/base/waveGenerationModel/waveGenerationModel.H +++ b/integration/OpenCFD/code/waveModel/waveGenerationModels/base/waveGenerationModel/waveGenerationModel.H @@ -80,7 +80,7 @@ public: // Public Member Functions //- Read from dictionary - virtual bool read(); + virtual bool read(const dictionary& overrideDict); //- Info virtual void info(Ostream& os) const; diff --git a/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/Boussinesq/BoussinesqWaveModel.C b/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/Boussinesq/BoussinesqWaveModel.C index d4e13db390..0956ccbd44 100644 --- a/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/Boussinesq/BoussinesqWaveModel.C +++ b/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/Boussinesq/BoussinesqWaveModel.C @@ -179,7 +179,7 @@ Foam::waveModels::Boussinesq::Boussinesq { if (readFields) { - read(); + read(dict); } } @@ -192,9 +192,9 @@ Foam::waveModels::Boussinesq::~Boussinesq() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -bool Foam::waveModels::Boussinesq::read() +bool Foam::waveModels::Boussinesq::read(const dictionary& overrideDict) { - if (solitaryWaveModel::read()) + if (solitaryWaveModel::read(overrideDict)) { return true; } diff --git a/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/Boussinesq/BoussinesqWaveModel.H b/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/Boussinesq/BoussinesqWaveModel.H index 10ff402446..e0ece2d750 100644 --- a/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/Boussinesq/BoussinesqWaveModel.H +++ b/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/Boussinesq/BoussinesqWaveModel.H @@ -127,7 +127,7 @@ public: // Public Member Functions //- Read from dictionary - virtual bool read(); + virtual bool read(const dictionary& overrideDict); //- Info virtual void info(Ostream& os) const; diff --git a/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/StokesI/StokesIWaveModel.C b/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/StokesI/StokesIWaveModel.C index 79342d182b..8a67ea2a2d 100644 --- a/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/StokesI/StokesIWaveModel.C +++ b/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/StokesI/StokesIWaveModel.C @@ -155,7 +155,7 @@ Foam::waveModels::StokesI::StokesI { if (readFields) { - read(); + read(dict); } } @@ -168,9 +168,9 @@ Foam::waveModels::StokesI::~StokesI() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -bool Foam::waveModels::StokesI::read() +bool Foam::waveModels::StokesI::read(const dictionary& overrideDict) { - if (regularWaveModel::read()) + if (regularWaveModel::read(overrideDict)) { waveLength_ = waveLength(waterDepthRef_, wavePeriod_); diff --git a/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/StokesI/StokesIWaveModel.H b/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/StokesI/StokesIWaveModel.H index 6e991c09f4..10d06b9727 100644 --- a/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/StokesI/StokesIWaveModel.H +++ b/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/StokesI/StokesIWaveModel.H @@ -120,7 +120,7 @@ public: // Public Member Functions //- Read from dictionary - virtual bool read(); + virtual bool read(const dictionary& overrideDict); //- Info virtual void info(Ostream& os) const; diff --git a/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/StokesII/StokesIIWaveModel.C b/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/StokesII/StokesIIWaveModel.C index c50e80c6da..b867959f8c 100644 --- a/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/StokesII/StokesIIWaveModel.C +++ b/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/StokesII/StokesIIWaveModel.C @@ -148,7 +148,7 @@ Foam::waveModels::StokesII::StokesII { if (readFields) { - read(); + read(dict); } } @@ -161,9 +161,9 @@ Foam::waveModels::StokesII::~StokesII() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -bool Foam::waveModels::StokesII::read() +bool Foam::waveModels::StokesII::read(const dictionary& overrideDict) { - if (StokesI::read()) + if (StokesI::read(overrideDict)) { return true; } diff --git a/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/StokesII/StokesIIWaveModel.H b/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/StokesII/StokesIIWaveModel.H index f1f6317270..a16f29ace7 100644 --- a/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/StokesII/StokesIIWaveModel.H +++ b/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/StokesII/StokesIIWaveModel.H @@ -110,7 +110,7 @@ public: // Public Member Functions //- Read from dictionary - virtual bool read(); + virtual bool read(const dictionary& overrideDict); //- Info virtual void info(Ostream& os) const; diff --git a/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/StokesV/StokesVWaveModel.C b/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/StokesV/StokesVWaveModel.C index c67b9e7ab1..e7273e91c3 100644 --- a/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/StokesV/StokesVWaveModel.C +++ b/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/StokesV/StokesVWaveModel.C @@ -788,7 +788,7 @@ Foam::waveModels::StokesV::StokesV { if (readFields) { - read(); + read(dict); } } @@ -801,9 +801,9 @@ Foam::waveModels::StokesV::~StokesV() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -bool Foam::waveModels::StokesV::read() +bool Foam::waveModels::StokesV::read(const dictionary& overrideDict) { - if (regularWaveModel::read()) + if (regularWaveModel::read(overrideDict)) { scalar f1; scalar f2; diff --git a/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/StokesV/StokesVWaveModel.H b/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/StokesV/StokesVWaveModel.H index 7b9291b463..1c127d703e 100644 --- a/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/StokesV/StokesVWaveModel.H +++ b/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/StokesV/StokesVWaveModel.H @@ -209,7 +209,7 @@ public: // Public Member Functions //- Read from dictionary - virtual bool read(); + virtual bool read(const dictionary& overrideDict); //- Info virtual void info(Ostream& os) const; diff --git a/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/cnoidal/cnoidalWaveModel.C b/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/cnoidal/cnoidalWaveModel.C index 972ef9c94a..98c3873451 100644 --- a/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/cnoidal/cnoidalWaveModel.C +++ b/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/cnoidal/cnoidalWaveModel.C @@ -277,7 +277,7 @@ Foam::waveModels::cnoidal::cnoidal { if (readFields) { - read(); + read(dict); } } @@ -290,9 +290,9 @@ Foam::waveModels::cnoidal::~cnoidal() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -bool Foam::waveModels::cnoidal::read() +bool Foam::waveModels::cnoidal::read(const dictionary& overrideDict) { - if (regularWaveModel::read()) + if (regularWaveModel::read(overrideDict)) { // Initialise m parameter and wavelength initialise diff --git a/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/cnoidal/cnoidalWaveModel.H b/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/cnoidal/cnoidalWaveModel.H index be15105454..dd4e1a169c 100644 --- a/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/cnoidal/cnoidalWaveModel.H +++ b/integration/OpenCFD/code/waveModel/waveGenerationModels/derived/cnoidal/cnoidalWaveModel.H @@ -156,7 +156,7 @@ public: // Public Member Functions //- Read from dictionary - virtual bool read(); + virtual bool read(const dictionary& overrideDict); //- Info virtual void info(Ostream& os) const; diff --git a/integration/OpenCFD/code/waveModel/waveModel/waveModel.C b/integration/OpenCFD/code/waveModel/waveModel/waveModel.C index e314476d66..2ad9700931 100644 --- a/integration/OpenCFD/code/waveModel/waveModel/waveModel.C +++ b/integration/OpenCFD/code/waveModel/waveModel/waveModel.C @@ -51,39 +51,6 @@ Foam::word Foam::waveModel::modelName(const word& patchName) // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // -Foam::IOdictionary Foam::waveModel::initialiseDict -( - const fvMesh& mesh, - const word& patchName -) -{ - IOobject io - ( - modelName(patchName), - Time::timeName(mesh.time().startTime().value()), - "uniform", - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ); - - const word oldTypeName = IOdictionary::typeName; - - const_cast(IOdictionary::typeName) = word::null; - - if (!io.typeHeaderOk(false)) - { - io.readOpt() = IOobject::NO_READ; - } - - IOdictionary dict(io); - - const_cast(IOdictionary::typeName) = oldTypeName; - - return dict; -} - - void Foam::waveModel::initialiseGeometry() { // Determine local patch co-ordinate system given by: @@ -274,7 +241,18 @@ Foam::waveModel::waveModel const bool readFields ) : - IOdictionary(initialiseDict(mesh, patch.name())), + IOdictionary + ( + IOobject + ( + modelName(patch.name()), + Time::timeName(mesh.time().startTime().value()), + "uniform", + mesh, + IOobject::NO_READ, + IOobject::AUTO_WRITE + ) + ), mesh_(mesh), patch_(patch), g_(mesh.lookupObject("g").value()), @@ -297,11 +275,9 @@ Foam::waveModel::waveModel U_(patch.size(), vector::zero), alpha_(patch.size(), 0) { - merge(dict); - if (readFields) { - read(); + read(dict); } } @@ -314,8 +290,16 @@ Foam::waveModel::~waveModel() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -bool Foam::waveModel::read() +bool Foam::waveModel::read(const dictionary& overrideDict) { + readOpt() = IOobject::READ_IF_PRESENT; + if (headerOk()) + { + IOdictionary::regIOobject::read(); + } + + merge(overrideDict); + readIfPresent("U", UName_); readIfPresent("alpha", alphaName_); diff --git a/integration/OpenCFD/code/waveModel/waveModel/waveModel.H b/integration/OpenCFD/code/waveModel/waveModel/waveModel.H index 484d96685a..a7330ce703 100644 --- a/integration/OpenCFD/code/waveModel/waveModel/waveModel.H +++ b/integration/OpenCFD/code/waveModel/waveModel/waveModel.H @@ -132,13 +132,6 @@ protected: // Protected Member Functions - //- Initialise dictionary - virtual IOdictionary initialiseDict - ( - const fvMesh& mesh, - const word& patchName - ); - //- Initialise virtual void initialiseGeometry(); @@ -237,7 +230,7 @@ public: static word modelName(const word& patchName); //- Read from dictionary - virtual bool read(); + virtual bool read(const dictionary& overrideDict); //- Return the latest wave velocity prediction virtual const vectorField& U() const;