25.1.1 User subroutines: overview
Reference
“Execution procedure for ABAQUS/Standard and ABAQUS/Explicit,” Section 3.2.2
Overview
User subroutines: 用户子程序:
are provided to increase the functionality of several ABAQUS capabilities for which the usual data input methods alone may be too restrictive;
当常用数据输入方法受到限制时,可以用来增强ABAQUS在这些方面的功能;
provide an extremely powerful and flexible tool for analysis;
提供一个完备且灵活的分析工具;
are typically written as FORTRAN code and must be included in a model when you execute the analysis, as discussed below;
FORTRAN代码编写,并且当执行分析时必须包含在模型中,下面将详细介绍;
must be included and, if desired, can be revised in a restarted run, since they are not saved to the restart files (see “Restarting an analysis,” Section 7.1.1);
由于用户子程序不存储在重启动文件中,因此用户子程序必须包含在重启动文件中,如果需要可以在重启动运行时进行修改;
cannot be called one from another; and
不能够在用户子程序中调用另外一个用户子程序;
can in some cases call utility routines that are also available in ABAQUS (see “Utility routines: overview,” Section 26.1.1).
在某些情况下可以调用ABAQUS中可以利用的程序
Including user subroutines in a model
在一个模型中包含用户子程序
You can include one or more user subroutines in a model by specifying the name of a FORTRAN source or object file that contains the subroutines. Details are provided in “Execution procedure for ABAQUS/Standard and ABAQUS/Explicit,” Section 3.2.2.
用户可以在一个模型中包含一个或几个用户子程序,具体方法是通过指定FORTRAN程序的文件或者保护用户子程序的目标文件的文件名来实现。
Input File Usage: 
Enter the following input on the command line:
abaqus job=job-name user={source-file | object-file}
ABAQUS/CAE Usage: 
Job module: job editor: General: User subroutine file
Managing external databases in ABAQUS/Standard and exchanging information with other software ABAQUS/Standard中管理外部数据库及其与其它软件竞选信息传递
In ABAQUS/Standard it is sometimes desirable to set up the FORTRAN environment and manage interactions with external data files that are used in conjunction with user subroutines. For example, there may be history-dependent quantities to be computed externally, once per increment, for use during the analysis; or output quantities that are accumulated over multiple elements in COMMON block variables within user subroutines may need to be written to external files at the end of a converged increment for postprocessing. Such operations can be performed with user subroutine UEXTERNALDB (“UEXTERNALDB,” Section 25.2.21). This user interface can potentially be used to exchange data with another code, allowing for stagger between ABAQUS/Standard and another code.
ABAQUS/Standard中有时候需要建立FORTRAN环境来管理用户子程序中使用的外部数据文件的交换。例如,也许会用到外部计算的随时间变化的量;或者输出量为在用户子程序中COMMON块变量的多个单元的累积需要在收敛增量结束时输出到外部文件,以便后处理时使用。这些操作可以通过用户子程序ignore subsequent bad blocksUEXTERNALDB来实现。
Writing a user subroutine 书写一个用户子程序
User subroutines should be written with great care. To ensure their successful implementation, the rules and guidelines below should be followed.
编写用户子程序要非常小心。为保证它们的成功运行,应该遵守下面的惯例和指导原则:
Required INCLUDE statement
必要的 INCLUDE 声名
Every ABAQUS/Standard user subroutine must include the statement
每一个ABAQUS/Standard用户子程序必须保护声名
include 'aba_param.inc'
as the first statement after the argument list.
作为argument列表后的第一个声名。
Every ABAQUS/Explicit user subroutine must include the statement
每个ABAQUS/Explicit用户子程序必须包含声名
include 'vaba_param.inc'
as the first statement after the argument list.
作为argument列表后的第一个声名。
If variables are exchanged between the main user subroutine and subsequent subroutines, the user should specify the above include statement in all the subroutines to
preserve precision.
如果主用户子程序和次用户子程序之间有变量交换,用户应该在所有的用户子程序中指定上面的include声名以保证计算精度。
The files aba_param.inc and vaba_param.inc are installed on the system by the ABAQUS installation procedure and contain important installation parameters. These statements tell the ABAQUS execution procedure, which compiles and links the user subroutine with the rest of ABAQUS, to include the aba_param.inc or vaba_param.inc file automatically. It is not necessary to find the file and copy it to any particular directory; ABAQUS will know where to find it.
aba_param.incvaba_param.inc文件被ABAQUS安装程序安装在系统中,其中包含重要的安装参数。这些声名通知ABAQUS用于在用户子程序和ABAQUS起编译和连接作用的外部程序。不需要查和复制这些文件到任何指定目录,ABAQUS会自动查它。
Naming convention 命名约定
If user subroutines call other subroutines or use COMMON blocks to pass information, such subroutines or COMMON blocks should begin with the letter K since this letter is never used to start the name of any subroutine or COMMON block in ABAQUS.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。