functionObjects::functionObjects: Corrected initial totalTime for cases with variable time-step
Resolves bug-report https://bugs.openfoam.org/view.php?id=2459
This commit is contained in:
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -67,6 +67,16 @@ void Foam::functionObjects::fieldAverage::resetFields()
|
|||||||
|
|
||||||
void Foam::functionObjects::fieldAverage::initialize()
|
void Foam::functionObjects::fieldAverage::initialize()
|
||||||
{
|
{
|
||||||
|
if (!totalIter_.size())
|
||||||
|
{
|
||||||
|
totalIter_.setSize(faItems_.size(), 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!totalTime_.size())
|
||||||
|
{
|
||||||
|
totalTime_.setSize(faItems_.size(), obr_.time().deltaTValue());
|
||||||
|
}
|
||||||
|
|
||||||
resetFields();
|
resetFields();
|
||||||
|
|
||||||
// Add mean fields to the field lists
|
// Add mean fields to the field lists
|
||||||
@ -95,15 +105,11 @@ void Foam::functionObjects::fieldAverage::initialize()
|
|||||||
|
|
||||||
void Foam::functionObjects::fieldAverage::restart()
|
void Foam::functionObjects::fieldAverage::restart()
|
||||||
{
|
{
|
||||||
Log
|
Log << " Restarting averaging at time " << obr_.time().timeName()
|
||||||
<< " Restarting averaging at time " << obr_.time().timeName()
|
|
||||||
<< nl << endl;
|
<< nl << endl;
|
||||||
|
|
||||||
totalIter_.clear();
|
totalIter_.clear();
|
||||||
totalIter_.setSize(faItems_.size(), 1);
|
|
||||||
|
|
||||||
totalTime_.clear();
|
totalTime_.clear();
|
||||||
totalTime_.setSize(faItems_.size(), obr_.time().deltaTValue());
|
|
||||||
|
|
||||||
initialize();
|
initialize();
|
||||||
}
|
}
|
||||||
@ -134,8 +140,7 @@ void Foam::functionObjects::fieldAverage::calcAverages()
|
|||||||
periodIndex_++;
|
periodIndex_++;
|
||||||
}
|
}
|
||||||
|
|
||||||
Log
|
Log << type() << " " << name() << " write:" << nl
|
||||||
<< type() << " " << name() << " write:" << nl
|
|
||||||
<< " Calculating averages" << nl;
|
<< " Calculating averages" << nl;
|
||||||
|
|
||||||
addMeanSqrToPrime2Mean<scalar, scalar>();
|
addMeanSqrToPrime2Mean<scalar, scalar>();
|
||||||
@ -206,12 +211,6 @@ void Foam::functionObjects::fieldAverage::writeAveragingProperties() const
|
|||||||
|
|
||||||
void Foam::functionObjects::fieldAverage::readAveragingProperties()
|
void Foam::functionObjects::fieldAverage::readAveragingProperties()
|
||||||
{
|
{
|
||||||
totalIter_.clear();
|
|
||||||
totalIter_.setSize(faItems_.size(), 1);
|
|
||||||
|
|
||||||
totalTime_.clear();
|
|
||||||
totalTime_.setSize(faItems_.size(), obr_.time().deltaTValue());
|
|
||||||
|
|
||||||
if ((restartOnRestart_ || restartOnOutput_) && log)
|
if ((restartOnRestart_ || restartOnOutput_) && log)
|
||||||
{
|
{
|
||||||
Info<< " Starting averaging at time " << obr_.time().timeName()
|
Info<< " Starting averaging at time " << obr_.time().timeName()
|
||||||
@ -232,8 +231,7 @@ void Foam::functionObjects::fieldAverage::readAveragingProperties()
|
|||||||
|
|
||||||
if (!propsDictHeader.headerOk())
|
if (!propsDictHeader.headerOk())
|
||||||
{
|
{
|
||||||
Log
|
Log << " Starting averaging at time "
|
||||||
<< " Starting averaging at time "
|
|
||||||
<< obr_.time().timeName() << nl;
|
<< obr_.time().timeName() << nl;
|
||||||
|
|
||||||
return;
|
return;
|
||||||
@ -243,6 +241,9 @@ void Foam::functionObjects::fieldAverage::readAveragingProperties()
|
|||||||
|
|
||||||
Log << " Restarting averaging for fields:" << nl;
|
Log << " Restarting averaging for fields:" << nl;
|
||||||
|
|
||||||
|
totalIter_.setSize(faItems_.size(), 1);
|
||||||
|
totalTime_.setSize(faItems_.size());
|
||||||
|
|
||||||
forAll(faItems_, fieldi)
|
forAll(faItems_, fieldi)
|
||||||
{
|
{
|
||||||
const word& fieldName = faItems_[fieldi].fieldName();
|
const word& fieldName = faItems_[fieldi].fieldName();
|
||||||
@ -253,8 +254,7 @@ void Foam::functionObjects::fieldAverage::readAveragingProperties()
|
|||||||
totalIter_[fieldi] = readLabel(fieldDict.lookup("totalIter"));
|
totalIter_[fieldi] = readLabel(fieldDict.lookup("totalIter"));
|
||||||
totalTime_[fieldi] = readScalar(fieldDict.lookup("totalTime"));
|
totalTime_[fieldi] = readScalar(fieldDict.lookup("totalTime"));
|
||||||
|
|
||||||
Log
|
Log << " " << fieldName
|
||||||
<< " " << fieldName
|
|
||||||
<< " iters = " << totalIter_[fieldi]
|
<< " iters = " << totalIter_[fieldi]
|
||||||
<< " time = " << totalTime_[fieldi] << nl;
|
<< " time = " << totalTime_[fieldi] << nl;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user