Abaqus用户子程序安装、开发、调试
引言
Abaqus为用户提供了大量的用户子程序,用户可以通过子程序接口开发Abaqus原本不具备的单元、材料、载荷等。此外,利用子程序能帮助我们去理解、推测Abaqus的计算过程,这对国产自主软件对标Abaqus功能开发具有一定的参考意义。
一、安装Abaqus,并配置使用用户子程序
Win10(x64)成功安装VisualStudio2012+Intel Visual Fortran Composer XE 2013+Abaqus6.13-1
准备工具:Win10(x64)、英文版的VisualStudio2012、Intel Visual Fortran Composer XE 2013、Abaqus6.13-1
软件准备:英文版的VisualStudio2012、 Intel Visual Fortran Composer XE 2013、Abaqus6.13-1
安装步骤:
1.安装英文版的visual studio 2012,选择自定义安装,然后选择所有与64位相关的软件包;
2.使用intel_2013.lic管理员安装Intel Visual Fortran Composer XE 2013;
3.管理员身份安装abaqus6.13-1;
4.查看”VS2012 x64 Cross Tools Command Prompt”属性;
5.复制“快捷方式”选项卡中“目标”;
6.管理员运行”Intel Composer XE 2013 Intel(R) 64 Visual Studio 2012 mode”;
7.粘贴第五步复制的内容,运行(以上4-7可能不成功不要着急可手动添加);
8.打开abq6131.bat添加内容,添加完之后的样子应该是这样的:
@call “C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat” x86_amd64 注意call后有一个空格(引号内是vcvarsall.bat的位置)
@call “C:\Program Files (x86)\Intel\Composer XE 2013\bin\ifortvars.bat” intel64 vs2012 引号里是intel composer xe 2013的ifortvars.bat位置,后面是系统版本和VS版本
@echo off
“C:\SIMULIA\Abaqus\6.13-1\code\bin\abq6131.exe” %*
运行abaqus verification :user subroutine通过验证。
添加或更改系统环境变量:
PATH:
E:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE;
E:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin;
E:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools;
E:\Program Files (x86)\Microsoft Visual Studio 11.0\SDK\v3.5\Bin;
E:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcpackages;
LIB:
E:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib;
E:\Program Files (x86)\Microsoft Visual Studio 11.0\SDK\v3.5\Lib;
INCLUDE:
E:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include;
E:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\PlatformSDK\Include
如若运行abaqus verification 闪现的话,修改或删除多余的系统环境变量。
二、用户子程序调试方法
在编写完成子程序后,难免会出现语法、逻辑、算法等方面的错误,从而需要进行调试,一般调试时间远远会大于开发时间。Abaqus将子程序接口开放给我们,同样也开放了调试的接口,但是一般情况下是不被允许的,需要进行环境文件修改才能达到此目的。下面对交互界面下调试子程序进行简要介绍:
编辑环境文件“abaqus_v6.env”.
找到参数“compile_fortran”,将“/Od”和“/Zi”前面的“#”去掉,即将注释去除,使得Intel Visual Fortran Compiler在编译期间生成调试符号信息。
找到参数“link_sl”,将“/debug”前面的“#”去掉,即将注释去除,使得Intel Visual Fortran Compiler在链接期链接调试符号信息到“.obj”文件。
找到参数“link_exe”,将“/debug”前面的“#”去掉,即将注释去除,使得Intel Visual Fortran Compiler在链接期链接相关信息。
需要修改的环境文件为:
将修改的“*.inp”文件,和“*.for”文件放置在同一目录下,采用Abaqus命令行窗口进行命令行提交:
Abaqus job= JobName user = SubroutineName int
此外,为使得Abaqus在执行过程中能在子程序中停下来,我们需要在子程序中添加可以使程序暂停的语句,例如:
Integer itempvar
Logical DebugFlag
DebugFlag = .true.
If ( DebugFlag ) then
Write(*,*) “Please input a number:”
Read(*,*) itempvar
DebugFlag = .false.
Endif
当提交命令行后,程序运行出现“Standard.exe”或者“explicit.exe”后,在Visual studio界面点击“工具”->“附加到进程”,选择“Standard.exe”或者“explicit.exe”单击“附加”按钮,进入调试过程。