1

time step control

Hi! 

Is there any way to make a simulation going on even if convergance occured on the first itteration for 10 time steps in a row ? 

2replies Oldest first
  • Oldest first
  • Newest first
  • Active threads
  • Popular
  • Youhanna,

    Try to diagnose why this happens (note that you won't get any change in primary variables if ITER=1, so it does not make sense to continue the simulation).

    Your initial or maximum time steps may be too small, or you request too many printout times, or your convergence criterion (RE1) is too loose, or you simply do not have proper initial and boundary conditions or sink/source terms.

    If you have access to the source code, it would be very easy to increase the number from 10 to whatever you think is appropriate (but again, it is better to diagnose the problem first). If you have iTOUGH2, set MOP2(1)=2.

    Stefan

    Like
  • Youhanna,
    understanding the reasons for the code behaviour is of course the best choice.
    Sometime the problem can be overcome if the code performes always at least one iteration.
    You can modify one statement (cold) into subroutine CYCIT to ask the code performing at least one iteration. Of course, with this modification the risk is to continue a 'wrong' simulation without the conventional check to stop it.
    ....sub CYCIT
    C
    C-----CHECK FOR CONVERGENCE.
    cold IF(RERM.LE.RE1) GOTO51
    c
    c..... optional if FE(9)>0. : force at least 1 iteration even when
    c convergence is achieved at ITER=1
    IF( FE(9).le. 0.) then
    IF(RERM.LE.RE1) GOTO51
    else
    IF(RERM.LE.RE1 .and. iter.gt.1) GOTO51
    endif
    C
    Like
Like1 Follow
  • 1 Likes
  • 8 yrs agoLast active
  • 2Replies
  • 935Views
  • 4 Following