abaqus怎么用fortran怎么编写子程序?

abaqus怎么用fortran怎么编写子程序?,第1张

第一种方法: \x0d\x0a1. 建立工作目录/ ]"\x0d\x0a2. 将ABAQUS安装目录\6.4-pr11\site下的aba_param_dp.inc 或 aba_param_sp.inc拷贝到工作目录,并改名为aba_param.inc;\x0d\x0a3. 将脊答编译的fortran程序拷贝到工作目录;\x0d\x0a4. 将.obj文件拷贝到工作目录;\x0d\x0a5. 建立好输入返野团文件.inp;\x0d\x0a6. 运行abaqus job=inp_name user=fortran name即可。\x0d\x0a第二种方法:\x0d\x0a在Job模块里,创建工作,在Edit Job对话框中选择General选项卡,在User subroutine file中点击Select按钮,从d出对话框中选择你要调用的子程序文件漏橘(后缀为.for或.f)。

运行一下fortran安装文件夹中的 \Intel\Compiler\11.1\038\bin\ia32\ifortvars_ia32.bat

或者ifortvars_ia64.bat先盯烂,设置一下fortran环境。

首先介绍几个子程序:

一.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. 荷载可以被定义为积分点坐标、时间、单元编号和单元节点编号的函数。

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

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

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

1 JLTYP,SNAME)

INCLUDE 'ABA_PARAM.INC' C

DIMENSION TIME(2),COORDS(3)

CHARACTER*80 SNAME

PARAMETER (PLOAD=100.E4)

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*PLOAD

END IF

RETURN

END


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12520424.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存