abaqus2016子程序安装及简单实例验证.docx
《abaqus2016子程序安装及简单实例验证.docx》由会员分享,可在线阅读,更多相关《abaqus2016子程序安装及简单实例验证.docx(15页珍藏版)》请在冰点文库上搜索。
Abaqus2016+vs2012+IntelFortran2013
(由abaqus6.13+vs2012+IntelFortran2013改编)
(abaqus2016中Fortran编译器的配置)
目前Abaqus的最新版本已经是2016,IntelFortran编译器的最新版本不清楚
想要在Abaqus里用子程序,必须安装Intel Visual Fortran,而安装Intel Visual Fortran前需要安装Microsoft Visual Studio,做好相关设置后通过Abaqus Verification测试子程序以及其他Abaqus功能是否能正常使用。
一、ABAQUS与IntelFortran及VisualStudio的兼容性介绍:
大家知道ABAUQS如果需要用UserSubroutine必须有IntelFortran,而IntelFortran又必须在VisualStudio的环境下运行。
三者之间存在的两两兼容问题,必须引起注意。
ABAQUS与IntelFortran及VisualStudio的兼容关系
Abaqus版本
兼容的IntelFortran
兼容的VisualStudio
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
6.13
v10.1,v11.0,v11.1及以上
2008,2010,2012
Fortran和VisualStudio的兼容关系
IntelFortran版本
兼容的VisualStudio
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
目前用的配搭:
Abaqus2016+VS2012+IntelFortranXE2013(我所使用的)
二、ABAQUS、IntelFortran、VisualStudio的安装顺序及安装方法:
(1)、安装顺序:
step1、安装visualstudio(VS)(必须在IntelFortranXE2013安装之前):
一般而言安装VS没有任何难度,需要注意的一点是对于64位系统需要安装64位支持,而在有些版本中该模块是默认安装中没有选中的。
为了避免漏装可以在安装时选择完全安装(complete)。
此外,为了避免因为非英文版VS产生的各种不可预料的整合问题,建议使用英文版VS。
step2、安装intelvisualfortran(IVF)。
为了实现IVF和VS的整合(integrationtovisualstudio),step2需要在step1之后进行。
一般情况下,IVF会在安装时自动检测支持的VS版本并进行整合;对于64位系统同样需要安装64位系统支持,推荐完全安装(ForAdvancedUser)。
在VS的help中查看”aboutMicrosoftVisualStudio”,整合成功的话可以在已安装组件列表中找到”Intel(R)FortranCompilerIntegration”
step3、安装ABAQUS。
step3相对前两步相对独立,甚至可以先于1、2进行。
(2)、安装方法及下载地址:
1、Abaqus2016
2、visualstudio2012
安装方法:
提供VisualStudio2012Ultimate旗舰版序列号:
YKCW6-BPFPF-BT8C9-7DCTH-QXGWC
RBCXF-CVBGR-382MK-DFHJ4-C69G8
YQ7PR-QTHDM-HCBCV-9GKGG-TB2TM
点击帮助(help)-注册产品(RegisterProduct)-输入Key就可以了
3、IntelFortranXE2013
安装方法及注册方法:
a、运行w_fcompxe_novsshell_2013.2.149.exe
b、点击extract,这时运行安装向导
c、在第三步(Activation)中选择Choosealternativeactivation,点击下一步
d、选择Usealicensefile
e、选择下载到的lib文件
f、继续安装过程
注:
a、安装IntelVisualFortranComposer前,请确保已经安装了MicrosoftVisualStudio2008/2010/2012
b、安装过程中没有加以详细说明的步骤,请直接点击下一步。
三、ABAQUS2016、IntelFortranXE2013、VisualStudio2012全部安装成功后的关联设置(重点)
(1)FortranIntelFortranXE2013
IntelFortranCompilerXE2013的ifortvars.bat批处理文件与10.1有较大的不同,在调用ifortvars.bat时,需要设定两个参数:
1-arch;2-vs,第一个参数为系统架构,第二个参数为vs的版本。
格式为:
ifortvas.bat[vs]
在我的电脑上,提供两种模式:
对于VisualStudio2012:
C:
\Windows\SysWOW64\cmd.exe/E:
ON/V:
ON/K""C:
\ProgramFiles(x86)\Intel\ComposerXE2013\bin\ipsxe-comp-vars.bat"ia32vs2012"
C:
\Windows\SysWOW64\cmd.exe/E:
ON/V:
ON/K""C:
\ProgramFiles(x86)\Intel\ComposerXE2013\bin\ipsxe-comp-vars.bat"intel64vs2012"
记下这个!
注:
如果是VisualStudio2010,则为:
C:
\Windows\SysWOW64\cmd.exe/E:
ON/V:
ON/K""C:
\ProgramFiles(x86)\Intel\ComposerXE2013\bin\ipsxe-comp-vars.bat"ia32vs2010"
C:
\Windows\SysWOW64\cmd.exe/E:
ON/V:
ON/K""C:
\ProgramFiles(x86)\Intel\ComposerXE2013\bin\ipsxe-comp-vars.bat"intel64vs2010"
可以查看开始菜单->所有程序->IntelParallelStudioXE2013->CommandPrompt->ParallelStudioXEwithIntelCompilerXEv13.0->{IA-32mode;intel64 mode; }鼠标右击查看属性,从目标中可以看到以上调用方式。
如下图:
在本系统下,选择64位系统archtechture,调用方式为:
ifortvas.batintel64vs2012
即系统架构为intel64,vs版本为 vs2012。
。
。
(2)VisualStudio2012
VS2012的vcvarsall.bat批处理文件在调用时,也需要指定参数
同样,通过commandprompt中可以看到有如下几种参数调用方式:
%comspec%/k""C:
\ProgramFiles(x86)\MicrosoftVisualStudio11.0\VC\vcvarsall.bat""x86
%comspec%/k""C:
\ProgramFiles(x86)\MicrosoftVisualStudio11.0\VC\vcvarsall.bat""arm
%comspec%/k""C:
\ProgramFiles(x86)\MicrosoftVisualStudio11.0\VC\vcvarsall.bat""x86_arm
%comspec%/k""C:
\ProgramFiles(x86)\MicrosoftVisualStudio11.0\VC\vcvarsall.bat""x86_amd64
%comspec%/k""C:
\ProgramFiles(x86)\MicrosoftVisualStudio11.0\VC\vcvarsall.bat""amd64
C:
\ProgramFiles(x86)\MicrosoftVisualStudio11.0\VC
打开:
开始所有程序->IntelParallelStudioXE2013->CommandPrompt->ParallelStudioXEwithIntelCompilerXEv13.0->{IA-32mode;intel64 mode; }
如果是64位系统,打开intel64 mode:
输入:
%comspec%/k""C:
\ProgramFiles(x86)\MicrosoftVisualStudio11.0\VC\vcvarsall.bat""x86_amd64,然后Enter运行
(3)Abaqus2016的设置
开始菜单DassaultSystemesSIMULIAAbaqusCAE2016cae\ AbaqusVerification
右键属性目标为C:
\SIMULIA\CAE\2016\win_b64\resources\install\cae\launcher.bat-verify-all-log&¬epad.exeverify.log||notepad.exeverify.log
说明verification运行的是launcher.bat。
确认运行的哪个bat文件非常重要,因为如果版本不一样
commonds文件夹中有可能还会有不同的bat文件。
所以需要首先check
记事本打开批处理文件:
launcher.bat和abq2016.bat(或者右键编辑)
默认位置为:
C:
\SIMULIA\Abaqus\Commands\abq2016.bat
C:
\SIMULIA\CAE\2016\win_b64\resources\install\cae\launcher.bat
将abq2016.bat和launcher.bat中的内容由
@echooff
"C:
\SIMULIA\CAE\2016\win_b64\code\bin\ABQLauncher.exe"%*
修改为
call"C:
\ProgramFiles(x86)\MicrosoftVisualStudio11.0\VC\vcvarsall.bat"x86_amd64
call"C:
\ProgramFiles(x86)\Intel\ComposerXE2013\bin\ifortvars.bat"intel64vs2012
@echooff
"C:
\SIMULIA\CAE\2016\win_b64\code\bin\ABQLauncher.exe"%*
打开:
开始->所有程序->DassaultSystemesSIMULIAAbaqusCAE2016cae\ AbaqusVerification
运行AbaqusVerification
查看verify.log文件
AbaqusProductInstallVerification...
Subroutine部分:
pass,则关联成功
简单实例
长1m、界面尺寸为0.03m×0.03m、壁厚0.003m的悬臂梁,一端固支,另一端施加位移载荷如下:
U1=0.03m,U2=0.04m,U3=0.05m,UR1=0.1,UR2=0.15,UR3=0.2。
来源于用户子程序简单入门实例详细步骤——DISP的应用百度文库中可搜索
Inp如下
*Heading
**Jobname:
Job-subroutlineModelname:
Model-1
**Generatedby:
Abaqus/CAE2016
*Preprint,echo=NO,model=NO,history=NO,contact=NO
**
**PARTS
**
*Part,name=Part-1
*Node
1,0.,0.,0.
2,0.100000001,0.,0.
3,0.200000003,0.,0.
4,0.300000012,0.,0.
5,0.400000006,0.,0.
6,0.5,0.,0.
7,0.600000024,0.,0.
8,0.699999988,0.,0.
9,0.800000012,0.,0.
10,0.899999976,0.,0.
11,1.,0.,0.
12,0.0500000007,0.,0.
13,0.150000006,0.,0.
14,0.25,0.,0.
15,0.350000024,0.,0.
16,0.449999988,0.,0.
17,0.550000012,0.,0.
18,0.649999976,0.,0.
19,0.75,0.,0.
20,0.850000024,0.,0.
21,0.949999988,0.,0.
*Element,type=B32
1,1,12,2
2,2,13,3
3,3,14,4
4,4,15,5
5,5,16,6
6,6,17,7
7,7,18,8
8,8,19,9
9,9,20,10
10,10,21,11
*Nset,nset=Set-1,generate
1,21,1
*Elset,elset=Set-1,generate
1,10,1
*Nset,nset=Set-2,generate
1,21,1
*Elset,elset=Set-2,generate
1,10,1
**Section:
Section-1Profile:
Profile-1
*BeamSection,elset=Set-1,material=Material-1,temperature=GRADIENTS,section=BOX
0.03,0.03,0.003,0.003,0.003,0.003
0.,0.,-1.
*EndPart
**
**
**ASSEMBLY
**
*Assembly,name=Assembly
**
*Instance,name=Part-1-1,part=Part-1
*EndInstance
**
*Nset,nset=Set-1,instance=Part-1-1
1,
*Nset,nset=Set-2,instance=Part-1-1
11,
*EndAssembly
**
**MATERIALS
**
*Material,name=Material-1
*Elastic
1.92e+11,0.3
**
**BOUNDARYCONDITIONS
**
**Name:
BC-1Type:
对称/反对称/完全固定
*Boundary
Set-1,ENCASTRE
**----------------------------------------------------------------
**
**STEP:
Step-1
**
*Step,name=Step-1,nlgeom=NO
*Static
1.,1.,1e-05,1.
**
**BOUNDARYCONDITIONS
**
**Name:
BC-2Type:
位移/转角
*Boundary,user
Set-2,1,1
Set-2,2,2
Set-2,3,3
Set-2,4,4
Set-2,5,5
Set-2,6,6
**
**OUTPUTREQUESTS
**
*Restart,write,frequency=0
**
**FIELDOUTPUT:
F-Output-1
**
*Output,field,variable=PRESELECT
**
**HISTORYOUTPUT:
H-Output-1
**
*Output,history,variable=PRESELECT
*EndStep
子程序编写
开始菜单打开vs2012
新建项目
右侧新建项
选择for添加
代码编辑
代码如下
SUBROUTINEDISP(U,KSTEP,KINC,TIME,NODE,NOEL,JDOF,COORDS)
C
INCLUDE'ABA_PARAM.INC'
C
DIMENSIONU(3),TIME
(2),COORDS(3)
C
if(JDOF==1)then
u
(1)=0.03
elseif(JDOF==2)then
u
(1)=0.04
elseif(JDOF==3)then
u
(1)=0.05
elseif(JDOF==4)then
u
(1)=0.1
elseif(JDOF==5)then
u
(1)=0.15
elseif(JDOF==6)then
u
(1)=0.2
endif
RETURN
END
保存名为u.for
退出
子程序调用
运行查看结果