编程语言
首页 > 编程语言> > Abaqus用户子程序综述

Abaqus用户子程序综述

作者:互联网

------------恢复内容开始------------

          Abaqus提供了相当丰富的单元类型,材料属性等数据库可供用户选择,但是工程问题是千变万化的,为了满足用户的特殊工程要求,ABAQUS为用户提供了强大而又灵活的用户子程序接口(USER SUBROUTINE)和应用程序接口(UTILITY ROUTINE)。用户可以利用子程序接口来编写自己想要实现的特殊功能,以此扩展ABAQUS的功能。ABAQUS 为用户提供了强大而又灵活的用户子程序接口(USER SUBROUTINE)和应用程序接口(UTILITY ROUTINE)。ABAQUS 6.2.5 一共有 42 个用户子程序接口,13 个应用程序接口,用户可以定义包括边界条件、荷载条件、接触条件、材料特性以及利用用户子程序和其它应用软件进行数据交换等等。这些用户子程序接口使用户解决一些问题时有很大的灵活性,同时大大的扩充了 ABAQUS 的功能。例如:如果荷载条件是时间的函数,这在 ABAQUS/CAE 和 INPUT 文件中是难以实现的,但在用户子程序 DLOAD 中就很容易实现。用户自定义子程序(User Subroutine)涵盖了建模、载荷到单元的几乎各个部分。
ABAQUS的用户子程序是根据ABAQUS提供的相应接口,按照FORTRAN语法而自己编写的代码。在一个算例中,用户可以用到多个用户子程序,但必须把它们放在一个以.FOR为扩展名的文件中。运行带有用户子程序的算例时有两种方法,一是在CAE中运行,在EDIT-JOB菜单的GENERAL子菜单的USER SUBROUTINE FILE对话框中选择用户子程序所在的文件即可;二是在ABAQUS COMMAND中运行,语法如下:ABAQUS JON=[JOB] USER=[.FOR]
       
       用户子程序不能嵌套。即任何用户子程序都不能调用任何其他用户子程序,但可以调用用户自己编写的FORTRAN子程序和ABAQUS应用程序。当用户编写FORTRAN子程序时,建议子程序名以F开头,以免和ABAQUS内部程序冲突。当用户子程序中利用OPEN打开外部文件时,要注意以下两点:一是设备号的选用是有限制的,只能取15-18和大于100的设备号。二是用户需提供外部文件的绝对路径而不是相对路径。ABAQUS应用程序必须由用户子程序调用。当用到某个用户子程序时,要关心的主要由两个方面:          下面就选出几个常用的用户子程序和应用程序进行详细解释:
  1. SUBROUTINE DLOAD(F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,COORDS, JLTYP,SNAME)
参数:  
F 为用户定义的是每个积分点所作用的荷载的大小;
KSTEP,KINC 为 ABAQUS 传到用户子程序当前的 STEP 和 INCREMENT 值;
TIME(1),TIME(2)为当前 STEP TIME 和 INCREMENT TIME 的值;
NOEL,NPT 为积分点所在单元的编号和积分点的编号;
COORDS 为当前积分点的坐标;
除 F 外,所有参数的值都是 ABAQUS 传到用户子程序中的。      
功能:  
荷载可以被定义为积分点坐标、时间、单元编号和单元节点编号的函数。
用户可以从其他程序的结果文件中进行相关操作来定义积分点 F 的大小。
例 1:
这个例子在每个积分点施加的荷载不仅是坐标的函数,而且是随STEP变化而变化的。

 

------------恢复内容结束------------

标签:SUBROUTINE,ABAQUS,综述,程序接口,用户,STEP,子程序,Abaqus
来源: https://www.cnblogs.com/dophyliu/p/12495279.html