mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: waveModel - updated restart method
This commit is contained in:
@ -50,7 +50,7 @@ Foam::waveModels::waveAbsorptionModel::waveAbsorptionModel
|
|||||||
{
|
{
|
||||||
if (readFields)
|
if (readFields)
|
||||||
{
|
{
|
||||||
read();
|
read(dict);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,9 +63,9 @@ Foam::waveModels::waveAbsorptionModel::~waveAbsorptionModel()
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * 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
|
// Note: always set to true
|
||||||
activeAbsorption_ = true;
|
activeAbsorption_ = true;
|
||||||
|
|||||||
@ -70,7 +70,7 @@ public:
|
|||||||
// Public Member Functions
|
// Public Member Functions
|
||||||
|
|
||||||
//- Read from dictionary
|
//- Read from dictionary
|
||||||
virtual bool read();
|
virtual bool read(const dictionary& overrideDict);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -92,7 +92,7 @@ Foam::waveModels::shallowWaterAbsorption::shallowWaterAbsorption
|
|||||||
{
|
{
|
||||||
if (readFields)
|
if (readFields)
|
||||||
{
|
{
|
||||||
read();
|
read(dict);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -105,9 +105,12 @@ Foam::waveModels::shallowWaterAbsorption::~shallowWaterAbsorption()
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
bool Foam::waveModels::shallowWaterAbsorption::read()
|
bool Foam::waveModels::shallowWaterAbsorption::read
|
||||||
|
(
|
||||||
|
const dictionary& overrideDict
|
||||||
|
)
|
||||||
{
|
{
|
||||||
return waveAbsorptionModel::read();
|
return waveAbsorptionModel::read(overrideDict);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -94,7 +94,7 @@ public:
|
|||||||
// Public Member Functions
|
// Public Member Functions
|
||||||
|
|
||||||
//- Read from dictionary
|
//- Read from dictionary
|
||||||
virtual bool read();
|
virtual bool read(const dictionary& overrideDict);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -76,7 +76,7 @@ Foam::waveModels::regularWaveModel::regularWaveModel
|
|||||||
{
|
{
|
||||||
if (readFields)
|
if (readFields)
|
||||||
{
|
{
|
||||||
read();
|
read(dict);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -89,9 +89,9 @@ Foam::waveModels::regularWaveModel::~regularWaveModel()
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * 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_;
|
lookup("wavePeriod") >> wavePeriod_;
|
||||||
if (wavePeriod_ < 0)
|
if (wavePeriod_ < 0)
|
||||||
|
|||||||
@ -99,7 +99,7 @@ public:
|
|||||||
// Public Member Functions
|
// Public Member Functions
|
||||||
|
|
||||||
//- Read from dictionary
|
//- Read from dictionary
|
||||||
virtual bool read();
|
virtual bool read(const dictionary& overrideDict);
|
||||||
|
|
||||||
//- Info
|
//- Info
|
||||||
virtual void info(Ostream& os) const;
|
virtual void info(Ostream& os) const;
|
||||||
|
|||||||
@ -56,7 +56,7 @@ Foam::waveModels::solitaryWaveModel::solitaryWaveModel
|
|||||||
{
|
{
|
||||||
if (readFields)
|
if (readFields)
|
||||||
{
|
{
|
||||||
read();
|
read(dict);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,9 +69,9 @@ Foam::waveModels::solitaryWaveModel::~solitaryWaveModel()
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
bool Foam::waveModels::solitaryWaveModel::read()
|
bool Foam::waveModels::solitaryWaveModel::read(const dictionary& overrideDict)
|
||||||
{
|
{
|
||||||
if (waveGenerationModel::read())
|
if (waveGenerationModel::read(overrideDict))
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -81,7 +81,7 @@ public:
|
|||||||
// Public Member Functions
|
// Public Member Functions
|
||||||
|
|
||||||
//- Read from dictionary
|
//- Read from dictionary
|
||||||
virtual bool read();
|
virtual bool read(const dictionary& overrideDict);
|
||||||
|
|
||||||
//- Info
|
//- Info
|
||||||
virtual void info(Ostream& os) const;
|
virtual void info(Ostream& os) const;
|
||||||
|
|||||||
@ -55,7 +55,7 @@ Foam::waveModels::waveGenerationModel::waveGenerationModel
|
|||||||
{
|
{
|
||||||
if (readFields)
|
if (readFields)
|
||||||
{
|
{
|
||||||
read();
|
read(dict);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -68,9 +68,9 @@ Foam::waveModels::waveGenerationModel::~waveGenerationModel()
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * 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("rampTime") >> rampTime_;
|
||||||
lookup("activeAbsorption") >> activeAbsorption_;
|
lookup("activeAbsorption") >> activeAbsorption_;
|
||||||
|
|||||||
@ -80,7 +80,7 @@ public:
|
|||||||
// Public Member Functions
|
// Public Member Functions
|
||||||
|
|
||||||
//- Read from dictionary
|
//- Read from dictionary
|
||||||
virtual bool read();
|
virtual bool read(const dictionary& overrideDict);
|
||||||
|
|
||||||
//- Info
|
//- Info
|
||||||
virtual void info(Ostream& os) const;
|
virtual void info(Ostream& os) const;
|
||||||
|
|||||||
@ -179,7 +179,7 @@ Foam::waveModels::Boussinesq::Boussinesq
|
|||||||
{
|
{
|
||||||
if (readFields)
|
if (readFields)
|
||||||
{
|
{
|
||||||
read();
|
read(dict);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -192,9 +192,9 @@ Foam::waveModels::Boussinesq::~Boussinesq()
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
bool Foam::waveModels::Boussinesq::read()
|
bool Foam::waveModels::Boussinesq::read(const dictionary& overrideDict)
|
||||||
{
|
{
|
||||||
if (solitaryWaveModel::read())
|
if (solitaryWaveModel::read(overrideDict))
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -127,7 +127,7 @@ public:
|
|||||||
// Public Member Functions
|
// Public Member Functions
|
||||||
|
|
||||||
//- Read from dictionary
|
//- Read from dictionary
|
||||||
virtual bool read();
|
virtual bool read(const dictionary& overrideDict);
|
||||||
|
|
||||||
//- Info
|
//- Info
|
||||||
virtual void info(Ostream& os) const;
|
virtual void info(Ostream& os) const;
|
||||||
|
|||||||
@ -155,7 +155,7 @@ Foam::waveModels::StokesI::StokesI
|
|||||||
{
|
{
|
||||||
if (readFields)
|
if (readFields)
|
||||||
{
|
{
|
||||||
read();
|
read(dict);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -168,9 +168,9 @@ Foam::waveModels::StokesI::~StokesI()
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * 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_);
|
waveLength_ = waveLength(waterDepthRef_, wavePeriod_);
|
||||||
|
|
||||||
|
|||||||
@ -120,7 +120,7 @@ public:
|
|||||||
// Public Member Functions
|
// Public Member Functions
|
||||||
|
|
||||||
//- Read from dictionary
|
//- Read from dictionary
|
||||||
virtual bool read();
|
virtual bool read(const dictionary& overrideDict);
|
||||||
|
|
||||||
//- Info
|
//- Info
|
||||||
virtual void info(Ostream& os) const;
|
virtual void info(Ostream& os) const;
|
||||||
|
|||||||
@ -148,7 +148,7 @@ Foam::waveModels::StokesII::StokesII
|
|||||||
{
|
{
|
||||||
if (readFields)
|
if (readFields)
|
||||||
{
|
{
|
||||||
read();
|
read(dict);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -161,9 +161,9 @@ Foam::waveModels::StokesII::~StokesII()
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
bool Foam::waveModels::StokesII::read()
|
bool Foam::waveModels::StokesII::read(const dictionary& overrideDict)
|
||||||
{
|
{
|
||||||
if (StokesI::read())
|
if (StokesI::read(overrideDict))
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -110,7 +110,7 @@ public:
|
|||||||
// Public Member Functions
|
// Public Member Functions
|
||||||
|
|
||||||
//- Read from dictionary
|
//- Read from dictionary
|
||||||
virtual bool read();
|
virtual bool read(const dictionary& overrideDict);
|
||||||
|
|
||||||
//- Info
|
//- Info
|
||||||
virtual void info(Ostream& os) const;
|
virtual void info(Ostream& os) const;
|
||||||
|
|||||||
@ -788,7 +788,7 @@ Foam::waveModels::StokesV::StokesV
|
|||||||
{
|
{
|
||||||
if (readFields)
|
if (readFields)
|
||||||
{
|
{
|
||||||
read();
|
read(dict);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -801,9 +801,9 @@ Foam::waveModels::StokesV::~StokesV()
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * 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 f1;
|
||||||
scalar f2;
|
scalar f2;
|
||||||
|
|||||||
@ -209,7 +209,7 @@ public:
|
|||||||
// Public Member Functions
|
// Public Member Functions
|
||||||
|
|
||||||
//- Read from dictionary
|
//- Read from dictionary
|
||||||
virtual bool read();
|
virtual bool read(const dictionary& overrideDict);
|
||||||
|
|
||||||
//- Info
|
//- Info
|
||||||
virtual void info(Ostream& os) const;
|
virtual void info(Ostream& os) const;
|
||||||
|
|||||||
@ -277,7 +277,7 @@ Foam::waveModels::cnoidal::cnoidal
|
|||||||
{
|
{
|
||||||
if (readFields)
|
if (readFields)
|
||||||
{
|
{
|
||||||
read();
|
read(dict);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -290,9 +290,9 @@ Foam::waveModels::cnoidal::~cnoidal()
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * 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 m parameter and wavelength
|
||||||
initialise
|
initialise
|
||||||
|
|||||||
@ -156,7 +156,7 @@ public:
|
|||||||
// Public Member Functions
|
// Public Member Functions
|
||||||
|
|
||||||
//- Read from dictionary
|
//- Read from dictionary
|
||||||
virtual bool read();
|
virtual bool read(const dictionary& overrideDict);
|
||||||
|
|
||||||
//- Info
|
//- Info
|
||||||
virtual void info(Ostream& os) const;
|
virtual void info(Ostream& os) const;
|
||||||
|
|||||||
@ -51,39 +51,6 @@ Foam::word Foam::waveModel::modelName(const word& patchName)
|
|||||||
|
|
||||||
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
|
// * * * * * * * * * * * * 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<word&>(IOdictionary::typeName) = word::null;
|
|
||||||
|
|
||||||
if (!io.typeHeaderOk<IOdictionary>(false))
|
|
||||||
{
|
|
||||||
io.readOpt() = IOobject::NO_READ;
|
|
||||||
}
|
|
||||||
|
|
||||||
IOdictionary dict(io);
|
|
||||||
|
|
||||||
const_cast<word&>(IOdictionary::typeName) = oldTypeName;
|
|
||||||
|
|
||||||
return dict;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void Foam::waveModel::initialiseGeometry()
|
void Foam::waveModel::initialiseGeometry()
|
||||||
{
|
{
|
||||||
// Determine local patch co-ordinate system given by:
|
// Determine local patch co-ordinate system given by:
|
||||||
@ -274,7 +241,18 @@ Foam::waveModel::waveModel
|
|||||||
const bool readFields
|
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),
|
mesh_(mesh),
|
||||||
patch_(patch),
|
patch_(patch),
|
||||||
g_(mesh.lookupObject<uniformDimensionedVectorField>("g").value()),
|
g_(mesh.lookupObject<uniformDimensionedVectorField>("g").value()),
|
||||||
@ -297,11 +275,9 @@ Foam::waveModel::waveModel
|
|||||||
U_(patch.size(), vector::zero),
|
U_(patch.size(), vector::zero),
|
||||||
alpha_(patch.size(), 0)
|
alpha_(patch.size(), 0)
|
||||||
{
|
{
|
||||||
merge(dict);
|
|
||||||
|
|
||||||
if (readFields)
|
if (readFields)
|
||||||
{
|
{
|
||||||
read();
|
read(dict);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -314,8 +290,16 @@ Foam::waveModel::~waveModel()
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * 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("U", UName_);
|
||||||
readIfPresent("alpha", alphaName_);
|
readIfPresent("alpha", alphaName_);
|
||||||
|
|
||||||
|
|||||||
@ -132,13 +132,6 @@ protected:
|
|||||||
|
|
||||||
// Protected Member Functions
|
// Protected Member Functions
|
||||||
|
|
||||||
//- Initialise dictionary
|
|
||||||
virtual IOdictionary initialiseDict
|
|
||||||
(
|
|
||||||
const fvMesh& mesh,
|
|
||||||
const word& patchName
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Initialise
|
//- Initialise
|
||||||
virtual void initialiseGeometry();
|
virtual void initialiseGeometry();
|
||||||
|
|
||||||
@ -237,7 +230,7 @@ public:
|
|||||||
static word modelName(const word& patchName);
|
static word modelName(const word& patchName);
|
||||||
|
|
||||||
//- Read from dictionary
|
//- Read from dictionary
|
||||||
virtual bool read();
|
virtual bool read(const dictionary& overrideDict);
|
||||||
|
|
||||||
//- Return the latest wave velocity prediction
|
//- Return the latest wave velocity prediction
|
||||||
virtual const vectorField& U() const;
|
virtual const vectorField& U() const;
|
||||||
|
|||||||
Reference in New Issue
Block a user