Use of AMRES in TOUGH3
It appears that the `AMRES` parameter is defunct in TOUGH3 (see Main_Comp.f90). However, I am having issues of exceesive residuals which break PETSc. Are there any plans to implement a fix for `AMRES` such that the time step is reduced and iteration is increased. I tried the following and it wasn't quite working:
IF (AMRES.NE.0..AND.RERM.GT.AMRES) THEN
WRITE(36,150) RERM
150 FORMAT(/,' !!!!!!!!!!!!!! EXCESSIVE RESIDUAL = ',ES12.5)
nonlinear_converged = .false.
IGOOD = 1
timestep_is_good = .false.
ENDIF
Any thoughts on this?
2 replies
-
The AMRES is used to control the exiting of Newton iteration when mass/energy residual is large. It was commented out by someone for some reason. I guess it may not be significant on convergence behavior. If excessive residuals cause PETSc to break, it may be worth turning on.
The original implementation may not work probably. Please try the following changes. It has not been tested, please let me know if it works.
IF (AMRES.NE.0..AND.RERM.GT.AMRES) THEN
WRITE(36,150) RERM
150 FORMAT(/,' !!!!!!!!!!!!!! EXCESSIVE RESIDUAL = ',ES12.5)
timestep_is_good = .false.
IGOOD = 1
EXIT
ENDIF -
That appears to have worked. Thank you!