UTL-ATS

Structure of Blocks

FOR EACH SIMULATION

    BEGIN DIMENSIONS
      MAXATS <maxats>
    END DIMENSIONS

FOR ANY STRESS PERIOD

    BEGIN PERIODDATA
      <iperats> <dt0> <dtmin> <dtmax> <dtadj> <dtfailadj>
      <iperats> <dt0> <dtmin> <dtmax> <dtadj> <dtfailadj>
      ...
    END PERIODDATA

Explanation of Variables

Block: DIMENSIONS

  • maxats is the number of records in the subsequent perioddata block that will be used for adaptive time stepping.

Block: PERIODDATA

  • iperats is the period number to designate for adaptive time stepping. The remaining ATS values on this line will apply to period iperats. iperats must be greater than zero. A warning is printed if iperats is greater than nper.

  • dt0 is the initial time step length for period iperats. If dt0 is zero, then the final step from the previous stress period will be used as the initial time step. The program will terminate with an error message if dt0 is negative.

  • dtmin is the minimum time step length for this period. This value must be greater than zero and less than dtmax. dtmin must be a small value in order to ensure that simulation times end at the end of stress periods and the end of the simulation. A small value, such as 1.e-5, is recommended.

  • dtmax is the maximum time step length for this period. This value must be greater than dtmin.

  • dtadj is the time step multiplier factor for this period. If the number of outer solver iterations are less than the product of the maximum number of outer iterations (OUTER_MAXIMUM) and ATS_OUTER_MAXIMUM_FRACTION (an optional variable in the IMS input file with a default value of 1/3), then the time step length is multiplied by dtadj. If the number of outer solver iterations are greater than the product of the maximum number of outer iterations and ATS_OUTER_MAXIMUM_FRACTION, then the time step length is divided by dtadj. dtadj must be zero, one, or greater than one. If dtadj is zero or one, then it has no effect on the simulation. A value between 2.0 and 5.0 can be used as an initial estimate.

  • dtfailadj is the divisor of the time step length when a time step fails to converge. If there is solver failure, then the time step will be tried again with a shorter time step length calculated as the previous time step length divided by dtfailadj. dtfailadj must be zero, one, or greater than one. If dtfailadj is zero or one, then time steps will not be retried with shorter lengths. In this case, the program will terminate with an error, or it will continue of the CONTINUE option is set in the simulation name file. Initial tests with this variable should be set to 5.0 or larger to determine if convergence can be achieved.

Example Input File

    # ATS input file
    
    BEGIN dimensions
      MAXATS  2
    END dimensions
    
    BEGIN perioddata
    # per    dt0   dtmin   dtmax  dtadj  dtfailadj
        2  100.0  1.0E-5  1000.0    2.0        5.0
        7   10.0  1.0E-5   100.0    1.7        2.0
    END perioddata