Skip to content

Commit

Permalink
MIN: rename hEqnResidualP/N as hEqnResidualMax
Browse files Browse the repository at this point in the history
  • Loading branch information
Pierre Horgue committed Jun 21, 2024
1 parent b0920f7 commit 8077651
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 17 deletions.
2 changes: 1 addition & 1 deletion solvers/groundwaterFoam/computeResidualN.H
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ if (!steady)
}

forAll(fixedPotentialIDList, pointi) ResiduN[fixedPotentialIDList[pointi]]=0;
hEqnResidualN = gMax(mag(ResiduN.internalField())());
hEqnResidualMax = gMax(mag(ResiduN.internalField())());
15 changes: 7 additions & 8 deletions solvers/groundwaterFoam/groundwaterFoam.C
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,7 @@ noConvergence :
#include "updateForcing.H"

scalar deltahIter = 1;
scalar hEqnResidualN = 1.00001;
scalar hEqnResidualP = 1.00001;
scalar hEqnResidualMax = 1.00001;
scalar hEqnResidualInit = 1.00001;

//--- 1) Picard loop
Expand All @@ -137,7 +136,7 @@ noConvergence :
#include "hEqnPicard.H"
#include "updateProperties.H"
#include "computeResidualN.H"
Info << "Picard iteration " << Picard.iter() << ": max(deltah) = " << deltahIter << ", residualP = " << hEqnResidualP << ", residualN = " << hEqnResidualN << endl;
Info << "Picard iteration " << Picard.iter() << ": max(deltah) = " << deltahIter << ", max(residual) = " << hEqnResidualMax << endl;
if ( hEqnResidualInit > 10)
{
Warning() << "Non-physical values reached, reducing time step by factor dTFactDecrease" << nl << endl;
Expand All @@ -156,7 +155,7 @@ noConvergence :

//--- 2) Newton loop
Newton.reset();
while ( hEqnResidualN > Newton.tolerance() && Newton.iter() != Newton.maxIter())
while ( hEqnResidualMax > Newton.tolerance() && Newton.iter() != Newton.maxIter())
{
if (Picard.iter() == 0)
{
Expand All @@ -167,16 +166,16 @@ noConvergence :
#include "hEqnNewton.H"
#include "updateProperties.H"
#include "computeResidualN.H"
Info << "Newton iteration : " << Newton.iter() << ": max(deltah) = " << deltahIter << ", residualN = " << hEqnResidualN << endl;
if ( hEqnResidualN > 10)
Info << "Newton iteration : " << Newton.iter() << ": max(deltah) = " << deltahIter << ", max(residual) = " << hEqnResidualMax << endl;
if ( hEqnResidualMax > 10)
{
Warning() << "Non-physical values reached, reducing time step by factor dTFactDecrease" << nl << endl;
Newton.reset(Newton.maxIter());
#include "rewindTime.H"
goto noConvergence;
}
}
if ( !steady && hEqnResidualN > Newton.tolerance() )
if ( !steady && hEqnResidualMax > Newton.tolerance() )
{
Info << endl;
if (MDTM.adjustTimeStep()) Warning() << " Max iteration reached in Newton loop, reducing time step by factor dTFactDecrease" << nl << endl;
Expand Down Expand Up @@ -208,7 +207,7 @@ noConvergence :
runTime.write();
if (writeResiduals)
{
if (Pstream::master()) residualFile << runTime.timeName() << " " << mag(hEqnResidualP) << endl;
if (Pstream::master()) residualFile << runTime.timeName() << " " << mag(hEqnResidualInit) << " " << mag(hEqnResidualMax) << endl;
}
if (hEqnResidualInit < Picard.tolerance()) runTime.writeAndEnd();
}
Expand Down
1 change: 0 additions & 1 deletion solvers/groundwaterFoam/hEqnPicard.H
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
if (fixedPotentialIDList.size() > 0) hEqn.setValues(fixedPotentialIDList,fixedPotentialValueList);

ResiduN.primitiveFieldRef() = hEqn.residual()/mesh.V();
hEqnResidualP = gMax(mag(ResiduN.internalField())());
hEqnResidualInit = hEqn.solve().initialResidual();

if (hEqnResidualInit > Picard.tolerance()) h.relax();
Expand Down
13 changes: 6 additions & 7 deletions solvers/groundwaterTransportFoam/groundwaterTransportFoam.C
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,7 @@ noConvergence :
#include "updateForcing.H"

scalar deltahIter = 1;
scalar hEqnResidualN = 1.00001;
scalar hEqnResidualP = 1.00001;
scalar hEqnResidualMax = 1.00001;
scalar hEqnResidualInit = 1.00001;

//- 1) Richard's equation (Picard loop)
Expand All @@ -137,7 +136,7 @@ noConvergence :
#include "hEqnPicard.H"
#include "updateProperties.H"
#include "computeResidualN.H"
Info << "Picard iteration " << Picard.iter() << ": max(deltah) = " << deltahIter << ", residualP = " << hEqnResidualP << ", residualN = " << hEqnResidualN << endl;
Info << "Picard iteration " << Picard.iter() << ": max(deltah) = " << deltahIter << ", max(residual) = " << hEqnResidualMax << endl;
if ( hEqnResidualInit > 10)
{
Warning() << "Non-physical values reached, reducing time step by factor dTFactDecrease" << nl << endl;
Expand All @@ -157,7 +156,7 @@ noConvergence :

//--- 2) Newton loop
Newton.reset();
while ( hEqnResidualN > Newton.tolerance() && Newton.iter() != Newton.maxIter())
while ( hEqnResidualMax > Newton.tolerance() && Newton.iter() != Newton.maxIter())
{
if (Picard.iter() == 0)
{
Expand All @@ -168,16 +167,16 @@ noConvergence :
#include "hEqnNewton.H"
#include "updateProperties.H"
#include "computeResidualN.H"
Info << "Newton iteration : " << Newton.iter() << ": max(deltah) = " << deltahIter << ", residualN = " << hEqnResidualN << endl;
if ( hEqnResidualN > 10)
Info << "Newton iteration : " << Newton.iter() << ": max(deltah) = " << deltahIter << ", max(residual) = " << hEqnResidualMax << endl;
if ( hEqnResidualMax > 10)
{
Warning() << "Non-physical values reached, reducing time step by factor dTFactDecrease" << nl << endl;
Newton.reset(Newton.maxIter());
#include "rewindTime.H"
goto noConvergence;
}
}
if ( !steady && hEqnResidualN > Newton.tolerance() )
if ( !steady && hEqnResidualMax > Newton.tolerance() )
{
Info << endl;
if (MDTM.adjustTimeStep()) Warning() << " Max iteration reached in Newton loop, reducing time step by factor dTFactDecrease" << nl << endl;
Expand Down

0 comments on commit 8077651

Please sign in to comment.