最近看了很多关于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操作,举个笔者的例子:
1 2 3 4 |
@echo off call “C:\Program Files (x86)\Intel\Compiler\Fortran\10.1.021\em64t\bin\ifortvars.bat” call “C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64\vcvarsamd64.bat” abaqus info=system |