Abaqus 6.12下Fortran编译器的配置(VS 2010)
目前Abaqus的最新版本已经是6.12-1,Intel Fortran编译器的最新版本也已经到了IntelParallel Studio XE 2013 Fortran Compiler, visual studio的版本也有2012了。但是根据:http://www.hiyip.com/?p=321的介绍,VS2012不支持Abaqus6.12-1,这也难怪,VS 2012发布的时间要比Abaqus6.12的晚,Abaqus支持的最高VS版本是VS2010。
目前流行的搭配是:
Abaqus 6.9+VS2005+Intel Fortran 9.1/10.0/10.1
Abaqus 6.10/6.11/6.12+VS2008+Intel Fortran 10.1
本文想要实现的是将 Abaqus6.12-1与Intel Fortran Compiler XE 2013以及visualstudio 2010连接起来,以实现在Abaqus6.12-1中调用subroutine子程序。
操作系统:win 7 x64 ;CPUintel i3
Abaqus版本: Abaqus6.12-1 x64
Fortran版本:Intel Parallel Studio XE 2013 Intel CompilerXE
VS版本:Visual studio 2010 ultimate en
(1)Fortran
Intel Fortran Compiler XE 2013的ifortvars.bat批处理文件与10.1有较大的不同,在调用ifortvars.bat时,需要设定两个参数:1-arch;2-vs,第一个参数为系统架构,第二个参数为vs的版本。
格式为: ifortvas.bat <arch>
在我的电脑上,提供两种模式:
C:\Windows\SysWOW64\cmd.exe /E:ON /V:ON /K ""C:\Program Files (x86)\Intel\Composer XE 2013\bin\ipsxe-comp-vars.bat" ia32 vs2010"
C:\Windows\SysWOW64\cmd.exe /E:ON /V:ON /K ""C:\Program Files (x86)\Intel\Composer XE 2013\bin\ipsxe-comp-vars.bat" intel64 vs2010"
可以查看开始菜单->所有程序->IntelParallel Studio XE 2013 ->CommandPrompt->Parallel Studio XE with Intel Compiler XE v13.0->{IA-32mode;intel 64mode; }鼠标右击查看属性,从目标中可以看到以上调用方式。
在本系统下,选择64位系统archtechture,调用方式为:
ifortvas.bat intel64 vs2010
即系统架构为intel64,vs版本为 vs2010。。。
(2)VS 2010
VS2010的vcvarsall.bat批处理文件在调用时,也需要指定参数
同样,通过commandprompt中可以看到有如下几种参数调用方式。。。。
%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"" x86
%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"" x86_ia64
%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"" x86_amd64
%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"" amd64
本文选择第二种,即x86_ia64
(3)Abaqus6.12-1的设置
上面废话了那么多,现在才是正题
记事本打开批处理文件: abq6121.bat
我的电脑上默认位置为:C:\SIMULIA\Abaqus\Commands\abq6121.bat
将abq6121.bat中的内容由
@echo off
"C:\SIMULIA\Abaqus\6.12-1\code\bin\abq6121.exe" %*
修改为
call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86_ia64
call "C:\Program Files (x86)\Intel\Composer XE 2013\bin\ifortvars.bat" intel64 vs2010
@echo off
"C:\SIMULIA\Abaqus\6.12-1\code\bin\abq6121.exe" %*
然后通过: 程序->SIMULIA FLEXnet Licensing->Licensing utilities打开lmtools,启动Abaqus的License
再运行AbaqusVerification
查看verify.log文件
Abaqus Product Install Verification...
Fri May 10 18:08:08 2013
Running system requirement checks.
Requirement: Windows Server 2003, Windows Server 2008,Windows Server
2008 R2, Windows HPC Server2008, Windows XP, Windows Vista,
or Windows 7
Product: All Abaqus Products
Status: Pass - Found Windows 7 UltimateService Pack 1 (Build 7601)
(x64).
Requirement: Microsoft Visual C++ 9.0 (2008), or 10.0(2010)
Product: Abaqus make utility with C++ and Abaquswith user
subroutines
Status: Pass - Found Microsoft Visual C++10.0.30319.1.
Requirement: Intel Fortran Compiler 10.1 or 11.1
Product: Abaqus make utility with Fortran andAbaqus with user
subroutines
Status: Warning - Found Intel Fortran Compiler13.0, which is newer
than the published Abaqusrequirement at the time this
version was released.Later minor releases of a published
requirement are generallycompatible with Abaqus.Please
check the system requirementsweb page for the latest
information on supportedconfigurations.
Requirement: MS-MPI 2.0, 3.0 or greater
Product: Abaqus analyses using MPI-basedparallelization and
Abaqus/CFD
Status: Pass - Found MS-MPI 3.0.2369.0.
Requirement: Internet Explorer 8.0 or 9.0 or greater,Firefox 3.0 or 3.5
or greater
Product: Abaqus Documentation
Status: Pass - Found Internet Explorer8.0.7601.17514
WARNING: Verification for all selectedproducts will be attempted, but some
products may fail because of the indicated system deficiencies.
Found C:\D\AbaqusTemp\verify.All verification files will reside in this
directory.
上述方法为解决方案之一,我试过是行得通的,也可以不用改abq6121.bat批处理文件,只需在启动目标中加入fortran和vs的bat,不过同样要传递参数。
有什么问题大家可以留言,一起讨论看该怎么解决。
------------------------------------------------------------------------
参考内容:
关于ABAQUS和User Subroutine的若干问题
http://www.hiyip.com/?p=321
succeed in installing ABAQUS subroutine
http://polymerfem.com/showthread.php?910-succeed-in-installing-ABAQUS-subroutine
How to link the fortran compiler with Abaqus?
http://imechanica.org/node/11219
abaqus verification------link abaqus with fortran
http://blog.renren.com/share/1393531270/7448777700
abaqus子程序安装过程详解
http://hi.baidu.com/xiaomingbing/item/5de5a5f9f8e5540885d27800
ABAQUS子程序验证时Microsoft Visual C++无法通过问题的解决【原创,已测试】
http://blog.163.com/scut_yumin/blog/static/1404680092010102974120563/
Abaqus user subroutine in c++ running on 64 bit machine
http://polymerfem.com/showthread.php?2168-Abaqus-user-subroutine-in-c-running-on-64-bit-machine
转自:http://blog.sciencenet.cn/home.php?mod=space&uid=68420&do=blog&id=688599
页:
[1]