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)

通过引用曲线。

ABAQUS添加周期性载荷一般是通过引用幅值曲线来实现的,这样就可以加100次循环荷载。

需要在Amptitude中间多给几个负载点。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存