2019年末,达索公司发布了最新版本的ABAQUS 2020,这次改进的内容主要集中在材料、单元和接触等方面,例如在ABAQUS/Standard模块中提供了模拟固态相变的功能,可以用于增材制造和热处理工艺的分析;并且还极大程度地提高了ABAQUS/Standard中进行线弹性疲劳裂纹扩展分析的计算精度。
笔者最近在工作中恰巧需要完成疲劳裂纹尖端J积分的评估,而此前使用ABAQUS6.14版本进行围线积分计算时一直存在计算结果不稳定的情况,直到6.18版本该问题才得到改进,因此这次索性使用最新的ABAQUS 2020进行计算。相比于ABAQUS 6.14,ABAQUS 2020在安装和子程序关联的过程上有很大的不同,笔者在安装过程中也遇到了很多的困难。鉴于目前网上对ABAQUS 2020科学安装方法和子程序关联的讨论较少,因此本文主要分享安装过程中存在的一些问题及解决方法。
1. 软件准备
本文最开始使用了来源于公众号ABAQUS提供的ABAQUS 2020安装包,下载之后发现该安装包中包含有证书文件和LMTOOLS,因此笔者推测需要首先安装FlexNET License server,随后加载证书文件。但当安装过程进行到输入27011@computername时发现ABAQUS 2020会提示FlexNET License server版本过低,证书无法通过验证,因而安装失败。通过查阅网上的资料发现,ABAQUS2020无需安装FlexNETLicense server即可科学使用。这里笔者提供了完整的ABAQUS 2020安装及科学使用文件,需要安装新版本的朋友可以在公众号回复关键字:ABAQUS2020来获取磁力链接。
参考网上的一些经验,本文选择的Fortran编译环境为Visual Studio 2019和Intel Parallel Studio XE 2020,一些网友也尝试过使用Intel Parallel Studio XE 2019,由于2019不支持VisualStudio 2019,因此必须使用带SP(补丁包)的Intel Parallel Studio XE 2019,笔者建议直接使用最新的Intel Parallel Studio XE2020。Visual Studio2019的社区版本(Community)和Intel Parallel Studio XE 2020的学生版均可免 费 使 用,本文这里仅给出下载链接,需要的朋友可自行下载。
VisualStudio 2019
https://visualstudio.microsoft.com/zh-hans/downloads/
IntelParallel Studio XE 2020
https://software.intel.com/content/www/us/en/develop/tools/parallel-studio-xe/choose-download/student-windows.html
图1.1 Visual Studio 2019下载
图1.2 Intel Parallel Studio XE 2020下载
需要注意的是,在下载Intel Parallel Studio XE 2020时需要首先注册学生帐号,随后软件序列号将会以邮件的形式发送到注册邮箱,如图1.3所示,通过该序列号即可免 费 使 用软件。
图1.3Intel Parallel Studio XE 2020序列号获取
2. 安装
下载完成之后,需要首先安装VS 2019,VS 2019是通过Visual Studio Installer进行在线安装的,在安装时至少应选择C++桌面开发模块,如图1.4所示,否则Intel Parallel Studio XE 2020将无法被正常集成到VS2019上。
图1.4 Visual Studio 2019安装
由于采用在线安装的模式,因此在下载过程中必须保证网络畅通,下载完成之后VS将会自动安装。当然,如果安装完成之后需要添加某些额外的模块,也可以再次使用Visual Studio Installer来添加或删除模块。
VS2019安装完成之后即可安装Intel Parallel Studio XE2020,由于安装过程较为简单,这里不再赘述。安装完成之后可以打开VS2019,检查IntelParallel Studio XE 2020是否已被集成到VS中,如图1.5所示。当然最好可以在VS中编写一个简单的Fortran程序,检查程序是否可以正常编译。
1.5 新建Fortran文件
VS2019和Intel Parallel Studio XE 2020安装完成之后即可安装ABAQUS 2020。若采用本文提供的磁力链接,下载之后应有两个压缩包,一个为ABAQUS 2020的镜像文件(ISO格式,约为8.2G);另一个为科学使用文件,包含有两个压缩包,将两个压缩包解压后,复制Vendors文件夹到SolidSQUAD_License_Servers文件夹下合并文件夹,将该文件夹复制到指定位置,如C盘根目录,随后以管理员运行install_or_update.bat安装服务。
随后,在正式安装之前需要创建环境变量跳过FlexNET License server的安装,如图1.6所示。
图1.6创建环境变量
创建完成之后即可加载ABAQUS 2020的镜像文件进行安装,如图1.7所示,注意在安装时不要选择FlexNETLicense server。
图1.7 选择ABAQUS安装组件
安装过程中,在License Server Configuration许可证配置界面中选择SIMULIAFLEXnet,并在License Server 1中输入27800@localhost,这一点与安装ABAQUS 6.14非常相似。由于软件安装包较大,安装过程中会提示选择不同的包络体,按照提示浏览加载的镜像里的文件夹即可,安装过程不再赘述,安装完成后的软件界面如图1.8所示。
图1.8 ABAQUS 2020软件界面
安装完成后运行Abaqus Verification,ABAQUS将会自动运行不同的计算算例,检查各模块是否正常工作。检查结果显示带有子程序的算例无法 正常允许,意味着安装完成后子程序并没有被正常关联。打开对应带有子程序的ABAQUS/Standard算例的log文件可以得到如图1.9所示的错误信息。
图1.9子程序关联错误信息
在Abaqus Command中输入abaqus info=system可以得到如图1.10所示的错误信息。
图1.10 子程序关联错误信息2
可以看到Linker Version和Fortran Compiler均显示Unable,表明VS2019和Intel Parallel Studio XE 2020均未正常识别。笔者按照安装ABAQUS 6.14的经验,通过打开文件位置找到Abaqus CAE和Abaqus Command的位置,可以发现两个文件均指向一个名为launcher的批处理文件,如图1.11所示。
图1.11launcher文件
与安装ABAQUS 6.14类似,笔者首先尝试在launcher文件中添加VS2019和IntelParallel Studio XE 2020的路径,如图1.12所示。
图1.12修改launcher文件
需要注意的是,笔者使用的VS2019为企业版,因此VS2019的文件夹为Enterprise,如果使用的是社区版,则文件夹为Community。此外,Intel Parallel Studio XE 2020的路径与之前的版本也有所不同,需要关联子程序的朋友可以参考图1.12中的文件路径找到vcvarsall.bat和ifortvars.bat文件所在的路径。
修改launcher文件后,打开ABAQUS 2020可以发现命令行窗口给出了如图1.13所示的信息,表明子程序已经被正常关联。
图1.13子程序正常关联
随后,笔者在Abaqus/CAE中可以成功运行子程序,但使用Abaqus Command运行时仍然给出了如图1.9所示的错误信息,表明在AbaqusCommand中子程序并未正常关联。这里,笔者参考了知乎某位网友给出的解决方案(点击文末阅读原文查看),作者提出了一种与之前关联方式均不同的方法。该方法中,首先需要修改系统path值,增加ifortvars和vsvarsall的文件夹路径,如图1.14所示。
图1.14 修改环境变量Path
随后手动建立一个批处理文件,例如ABAQUS Fortran.bat,编辑该文件并输入如下语句:
@cd C:\Temp
@"C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2020.1.216\windows\bin\ifortvars.bat" intel64 vs2019 & C:\Windows\system32\cmd.exe /k
上面的语句中的第一行表示将工作路径切换到C盘的Temp文件夹,而第二行中的语句与图1.12中的语句是相同的。相比于原始的Abaqus Command,该语句只是提前运行了ifortvars.bat文件。执行ABAQUS Fortran.bat可得到如图1.15所示的信息。
图1.15 Abaqus Command成功关联子程序
利用该批处理文件执行计算可以发现子程序能够正常运行。为了便于使用,可以将该批处理文件同launcher.bat放在相同的文件夹,发送快捷方式到桌面,并将其图标更改为与Abaqus CAE相同的图标。