0

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

null
    • kenny
    • 1 mth ago
    • Reported - view

    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

    • Mathematical Modelling Consultant
    • Joseph_Elmes.1
    • 1 mth ago
    • Reported - view

    That appears to have worked. Thank you!

Content aside

  • 1 mth agoLast active
  • 2Replies
  • 16Views
  • 2 Following