ABAQUS子程序User Subroutine的处理方式

SIMULIA

最近看了很多关于ABAQUS子程序的文章,网上资料太多太杂,这里记录一点基本的方式,避免以后忘记。

1.关于ABAQUS、IVF和VS三者之间的兼容性关系,可以由下表给出:

ABAQUS 与Intel Fortran及Visual Studio的兼容关系

Abaqus 版本 兼容的Intel Fortran 兼容的Visual Studio
6.8 v9.1, v10.0, v10.1及以上 2005
6.9 v9.1, v10.0, v10.1及以上 2005, 2008
6.10 v10.1, v11.0, v11.1及以上 2008, 2010
6.11 v10.1, v11.0, v11.1及以上 2008, 2010
6.12 v10.1, v11.0, v11.1及以上 2008, 2010

Fortran和Visual Studio的兼容关系

Intel Fortran版本 兼容的Visual Studio
v10.0 2003, 2005
v10.1(10.1.019之后) 2003, 2005, 2008
v11.0, v11.1 2003, 2005, 2008
v12.0, v12.1 (XE2011) 2005, 2008, 2010
v13.0 (XE2013) 2008, 2010, 2012

2.在没有安装ABAQUS的机器上使用子程序Subroutine:

如果你要用的子程序代码文件为usersub.for, 计算模型文件为abc.inp

1). 在未装Intel Fortran的机器上面运行 abaqus make library=usersub

2). 若是Standard模块,则会生成standardU.dll;若是Explicit模块,则会生成ExplicitU.dll和ExplicitU-D.dll

3). 将上述库文件存储到任意目录,比如:D:\abc1\abc2\abc3\abc4

4). 打开abaqus环境变量设置文件abaqus_v6.env, 末尾增加如下语句

usub_lib_dir=”D:\\abc1\\abc2\\abc3\\abc4″

(注意将“\”改成“\\”; 若abaqus安装目录下无法修改abaqus_v6.env文件,则将修改后的环境变量文件存储到inp文件所在目录)

5). 运行计算 abaqus job=abc.inp即可

3. ABAQUS和兼容的Intel Fortran以及Visual Stuido安装完毕后,可以运行Abaqus info=system来检验各组件是否已经被识别,有时候系统环境变量设置不对,每次都要将设置Visual Studio和intel fortran环境变量的批处理文件人为导入。一般来说是这两个文件: vsvars32.bat和ifortvars.bat,如果是64位系统的则是: vsvarsamd64.bat和ifortvars.bat,这两个文件分别存储在Visual Studio和Intel Fortran的安装文件夹下。

为了避免人工导入,可以创建一个批处理文件来替代人工的dos操作,举个笔者的例子:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Are you human? Click the Pineapple...