ENH: {simple|pimple}Control - output on construction controlled by a 'verbose' flag

This commit is contained in:
Andrew Heather
2019-06-18 14:20:55 +01:00
parent e184e1e72c
commit 56547863c1
4 changed files with 70 additions and 42 deletions

View File

@ -138,7 +138,12 @@ void Foam::pimpleControl::setFirstIterFlag(const bool check, const bool force)
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::pimpleControl::pimpleControl(fvMesh& mesh, const word& dictName) Foam::pimpleControl::pimpleControl
(
fvMesh& mesh,
const word& dictName,
const bool verbose
)
: :
solutionControl(mesh, dictName), solutionControl(mesh, dictName),
solveFlow_(true), solveFlow_(true),
@ -151,36 +156,38 @@ Foam::pimpleControl::pimpleControl(fvMesh& mesh, const word& dictName)
{ {
read(); read();
Info<< nl if (verbose)
<< algorithmName_;
if (nCorrPIMPLE_ > 1)
{ {
if (residualControl_.empty()) Info<< nl << algorithmName_;
if (nCorrPIMPLE_ > 1)
{ {
Info<< ": no residual control data found. " if (residualControl_.empty())
<< "Calculations will employ " << nCorrPIMPLE_ {
<< " corrector loops" << nl; Info<< ": no residual control data found. "
<< "Calculations will employ " << nCorrPIMPLE_
<< " corrector loops" << nl;
}
else
{
Info<< ": max iterations = " << nCorrPIMPLE_ << nl;
for (const fieldData& ctrl : residualControl_)
{
Info<< " field " << ctrl.name << token::TAB
<< ": relTol " << ctrl.relTol
<< ", tolerance " << ctrl.absTol
<< nl;
}
}
} }
else else
{ {
Info<< ": max iterations = " << nCorrPIMPLE_ << nl; Info<< ": Operating solver in PISO mode" << nl;
for (const fieldData& ctrl : residualControl_)
{
Info<< " field " << ctrl.name << token::TAB
<< ": relTol " << ctrl.relTol
<< ", tolerance " << ctrl.absTol
<< nl;
}
} }
}
else
{
Info<< ": Operating solver in PISO mode" << nl;
}
Info<< endl; Info<< endl;
}
} }

View File

@ -121,7 +121,12 @@ public:
// Constructors // Constructors
//- Construct from mesh and the name of control sub-dictionary //- Construct from mesh and the name of control sub-dictionary
pimpleControl(fvMesh& mesh, const word& dictName="PIMPLE"); pimpleControl
(
fvMesh& mesh,
const word& dictName = "PIMPLE",
const bool verbose = true
);
//- Destructor //- Destructor

View File

@ -91,33 +91,44 @@ bool Foam::simpleControl::criteriaSatisfied()
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::simpleControl::simpleControl(fvMesh& mesh, const word& dictName) Foam::simpleControl::simpleControl
(
fvMesh& mesh,
const word& dictName,
const bool verbose
)
: :
solutionControl(mesh, dictName), solutionControl(mesh, dictName),
initialised_(false) initialised_(false)
{ {
read(); read();
Info<< nl if (verbose)
<< algorithmName_; {
Info<< nl << algorithmName_;
if (residualControl_.empty()) if (residualControl_.empty())
{
Info<< ": no convergence criteria found. Calculations will run for "
<< mesh_.time().endTime().value() - mesh_.time().startTime().value()
<< " steps." << nl;
}
else
{
Info<< ": convergence criteria" << nl;
for (const fieldData& ctrl : residualControl_)
{ {
Info<< " field " << ctrl.name << token::TAB const scalar duration =
<< " tolerance " << ctrl.absTol mesh_.time().endTime().value()
- mesh_.time().startTime().value();
Info<< ": no convergence criteria found. "
<< "Calculations will run for " << duration << " steps."
<< nl; << nl;
} }
else
{
Info<< ": convergence criteria" << nl;
for (const fieldData& ctrl : residualControl_)
{
Info<< " field " << ctrl.name << token::TAB
<< " tolerance " << ctrl.absTol
<< nl;
}
}
Info<< endl;
} }
Info<< endl;
} }

View File

@ -93,7 +93,12 @@ public:
// Constructors // Constructors
//- Construct from mesh and the name of control sub-dictionary //- Construct from mesh and the name of control sub-dictionary
simpleControl(fvMesh& mesh, const word& dictName="SIMPLE"); simpleControl
(
fvMesh& mesh,
const word& dictName = "SIMPLE",
const bool verbose = true
);
//- Destructor //- Destructor