UEXTERNALDB

User subroutine to manage user-defined external databases and calculate model-independent history information.

User subroutine UEXTERNALDB:

  • is called once each at the beginning of the analysis, at the beginning of each increment, at the end of each increment, and at the end of the analysis (in addition, the user subroutine is also called once at the beginning of a restart analysis);

  • can be used to communicate between other software and user subroutines within Abaqus/Standard;

  • can be used to open external files needed for other user subroutines at the beginning of the analysis and to close those files at the end of the analysis;

  • can be used to calculate or read history information at the beginning of each increment. This information can be written to user-defined COMMON block variables or external files for use during the analysis by other user subroutines; and

  • can be used to write the current values of the user-calculated history information to external files.

This page discusses:

User subroutine interface

      SUBROUTINE UEXTERNALDB(LOP,LRESTART,TIME,DTIME,KSTEP,KINC)
C
      INCLUDE 'ABA_PARAM.INC'
C
      DIMENSION TIME(2)
C
      user coding to set up the Fortran environment, open files, close files, 
      calculate user-defined model-independent history information,
      write history information to external files,
      recover history information during restart analyses, etc.
      do not include calls to utility routine XIT


      RETURN
      END

Variables to be defined

None.

Variables passed in for information

LOP

LOP=0 indicates that the user subroutine is being called at the start of the analysis.

LOP=1 indicates that the user subroutine is being called at the start of the current analysis increment. The user subroutine can be called multiple times at the beginning of an analysis increment if the increment fails to converge and a smaller time increment is required.

LOP=2 indicates that the user subroutine is being called at the end of the current analysis increment. When LOP=2, all information that you need to restart the analysis should be written to external files.

LOP=3 indicates that the user subroutine is being called at the end of the analysis.

LOP=4 indicates that the user subroutine is being called at the beginning of a restart analysis. When LOP=4, all necessary external files should be opened and properly positioned and all information required for the restart should be read from the external files.

LOP=5 indicates that the user subroutine is being called at the start of a step. The KSTEP argument contains the current step number.

LOP=6 indicates that the user subroutine is being called at the end of a step. The KSTEP argument contains the current step number.

LRESTART

LRESTART=0 indicates that an analysis restart file is not being written for this increment.

LRESTART=1 indicates that an analysis restart file is being written for this increment.

LRESTART=2 indicates that an analysis restart file is being written for this increment and that only one increment is being retained per step so that the current increment overwrites the previous increment in the restart file (see Restarting an Analysis).

TIME(1)

Value of current step time.

TIME(2)

Value of current total time.

DTIME

Time increment.

KSTEP

Current step number. For LOP=0 or LOP=4, KSTEP is 0.

KINC

Current increment number. For LOP=0 or LOP=4, KINC is 0.