Abaqus关于用户子程序(simwe)

时间:2025-07-14

关于Abaqus用户子程序难得的资源

序,但可以调用用户自己编写的FORTRAN子程序和ABAQUS应用程序。当用户编
写FORTRAN子程序时,建议子程序名以K开头,以免和ABAQUS内部程序冲突。

2.当用户在用户子程序中利用OPEN打开外部文件时,要注意以下两点:一
是设备号的选择是有限制的,只能取15-18和大于100的设备号,其余的都已
被ABAQUS占用。二是用户需提供外部文件的绝对路径而不是相对路径。

3.ABAQUS 应用程序必须由用户子程序调用。

当用到某个用户子程序时,用户所关心的主要有两方面:一是ABAQUS提供
的用户子程序的接口参数。有些参数是ABAQUS传到用户子程序中的,例如
SUBROUTINE DLOAD中的KSTEP,KINC,COORDS;有些是需要用户自己定义的,例
如F。二是ABAQUS何时调用该用户子程序,对于不同的用户子程序ABAQUS调用
的时间是不同的。有些是在每个STEP的开始,有的是STEP结尾,有的是在每个
INCREMENT的开始等等。当ABAQUS调用用户子程序是,都会把当前的STEP和
INCREMENT利用用户子程序的两个实参KSTEP和KINC传给用户子程序,用户可
编个小程序把它们输出到外部文件中,这样对ABAQUS何时调用该用户子程序就
会有更深的了解。

下面就选出几个常用的用户子程序和应用程序进行详细解释:

一.SUBROUTINE

DLOAD(F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,COORDS, JLTYP,SNAME)

参数:

1. F为用户定义的是每个积分点所作用的荷载的大小;
2. KSTEP,KINC为ABAQUS传到用户子程序当前的STEP和INCREMENT值;
3. TIME(1),TIME(2)为当前STEP TIME和INCREMENT TIME的值;
4. NOEL,NPT为积分点所在单元的编号和积分点的编号;
5. COORDS为当前积分点的坐标;
6. 除F外,所有参数的值都是ABAQUS传到用户子程序中的。


功能:

1. 荷载可以被定义为积分点坐标、时间、单元编号和单元节点编号的函数。


文本框: Home

2. 用户可以从其他程序的结果文件中进行相关操作来定义积分点F的大小。


例1:这个例子在每个积分点施加的荷载不仅是坐标的函数,而且是随STEP
变化而变化的。

SUBROUTINE DLOAD(P,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,COORDS,

1 JLTYP,SNAME)

C

INCLUDE 'ABA_PARAM.INC'

C

DIMENSION TIME(2),COORDS(3)

CHARACTER*80 SNAME

PARAMETER (PLOAD=100.E4)

C

IF (KSTEP.EQ.1) THEN !当STEP=1时的荷载大小

P=PLOAD

ELSE IF (KSTEP.EQ.2) THEN !当STEP=2时的荷载大小

P=COORDS(1)*PLOAD !施加在积分点的荷载P是坐标的函数

ELSE IF (KSTEP.EQ.3) THEN !当STEP=3时的荷载大小

P=COORDS(1)**2*
PLOAD

ELSE IF (KSTEP.EQ.4) THEN !当STEP=4时的荷载大小

P=COORDS(1)**3*PLOAD

ELSE IF (KSTEP.EQ.5) THEN !当STEP=5时的荷载大小

P=COORDS(1)**4*PLOA

关于Abaqus用户子程序难得的资源

D

END IF

RETURN

END



二. UBROUTINE UEXTERNALDB(LOP,LRESTART,TIME,DTIME,KSTEP,KINC)

参数:

用户可以利用LOP开关来控制自己的代码程序何时被ABAQUS调用。LOP=0(3)表示在计算的开始(结束)ABAQUS调用此用户子程序;LOP=1 (2) 表示在
每个INCREMENT的开始(结束)ABAQUS调用此用户子程序;LOP了=4 表示在每
个RESTART的开始ABAQUS调用此用户子程序。这为用户子程序提供了很大的灵
活性。

功能:

1. 可以用来和其它用户子程序及其它软件进行数据通讯。
2. 可以用来在适当的时间打开,关闭外部文件。
3. 用户可以把自己编写的ABAQUS扩充功能的程序代码通过此用户子程序嵌


文本框: Home

入到ABAQUS中。


例2.新建一个与JOB名相同但扩展名(.ALE)不同的文件,此用户子程序用
到了GETENVVAR应用程序来获得ABAQUS的环境变量,用DMKNAME子程序来合成
所需的文件名。

SUBROUTINE UEXTERNALDB(LOP,LRSTART,TIME,DTIME,KSTEP,KINC)

INCLUDE 'ABA_PARAM.INC'



CHARACTER XINDIR*255,XFNAME*80

CHARACTER DMKNAME*255,FNAMEX*80

C

LXFNAME=0

LXINDIR=0

XFNAME =' '

XINDIR =' '

CALL GETENVVAR('FNAME',XFNAME,LXFNAME) !读取input文件名

CALL GETENVVAR ('OUTDIR',XINDIR,LXINDIR) !读取input文件所在的路径



IF(LOP.EQ.0) THEN

FNAMEX=DMKNAME(XFNAME(1:LXFNAME),XINDIR(1:LXINDIR), '.ALE')

!生成所要新建文件的文件名

OPEN(UNIT=17,FILE=FNAMEX,STATUS='UNKNOWN',FORM='FORMATTED')

!打开文件

WRITE(17,*)'Opening new user external file...'

WRITE(17,*)'Writing dummy data to this file...'

END IF

RETURN

END

c

C COMPOSE A FILENAME DIRECTORY/JOBNAME.EXTEN





CHARACTER*(*) FUNCTION DMKNAME(FNAME,DNAME,EXTEN)

C

CHARACTER*(*) FNAME,DNAME,EXTEN

C FNAME I JOBNAME

C DNAME I DIRECTORY

C EXTEN I EXTENSION

C DMKNAME O DIRECTORY/JOBNAME.EXTEN



LTOT = LEN(FNAME)

LF = 0

DO K1 = LTOT,2,-1

文本框: Home
…… 此处隐藏:4039字,全部文档内容请下载后查看。喜欢就下载吧 ……

Abaqus关于用户子程序(simwe).doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219