配置Abaqus2021 + VS2019 + IVF2020编译环境
配置Abaqus2021 + VS2019 + IVF2020编译环境
配置Abaqus2021 + VS2019 + IVF2020编译环境
背景介绍
研三需要对Abaqus进行UMAT二次开发,虽然不喜欢Fortran,但是还是需要进行安装。
本文介绍的是我第二次安装的过程。在我第一次安装的时候(昨天),我的abaqus版本为2018,安装vs2015和IVF2016后,三个subroutine的验证全部pass,但是对Fortran和C++编译的验证没有通过,所以花了一上午时间这个三个软件卸载掉。
之后重新安装了abaqus2021,vs2019和IVF2020。
以下为正文:
软件安装
版本要求
需要安装VS, IVF,与Abaqus三个软件,安装流程如下:
![[Pasted image 20220601105137.png]]
这三个软件的版本有严格要求,且一定要先安装VS再安装IVF,请先查询版本要求后再安装! 版本要求如下:
Abaqus Version | VS Version | IVF Version |
---|---|---|
6.12 | 2008 | 10.0/11.0 |
6.13 | 2008/2010 | 11.0/2011 |
6.14 | 2010/2012/2013 | 2011/2013 |
2016 | 2012/2013 | 2013 |
2017 | 2012/2013 | 2013 |
2018 | 2015 | 2016/2017 |
2019 | 2015 | 2016/2017 |
2020 | 2015 | 2016/2017 |
2021 | 2019 | 2020 |
2022 | 2019 | 2020 |
Aabaqus安装
- 安装版本:2021
- 安装包来源:公众号-小白资源库 网站-盒子部落
- 安装参考: abaqus2022及子程序安装关联全过程_哔哩哔哩_bilibili
流程如下:
- 添加 NOLICENCECHECK: true 系统变量
- 关闭杀毒软件及防火墙
-
- 安装Abaqus,Abaqus2022需要安装JDK,本次安装2021版
- 创建Abaqus安装目录,本机为
D:\Programs\Abaqus2021
# 该目录下文件结构如下:
2022-06-08 13:30 <DIR> Commands
2022-06-08 13:22 <DIR> Document
2022-06-08 13:31 <DIR> plugins
2022-06-08 13:29 <DIR> Products
2022-06-08 13:11 <DIR> SolidSQUAD_License_Servers
2022-06-08 13:30 <DIR> temp
- 安装 license
- 安装 iso 文中的 1/setup
- 分别加载 iso 文件中的5,2,3文件夹:注意,可以把Abaqus的安装文件夹设置为我们事先准备好的文件夹
- 完成安装
VS安装
- 安装版本:2019
- 安装包源:免费的 VS官网 VS2019 Community版本
- 安装参考: abaqus2022及子程序安装关联全过程_哔哩哔哩_bilibili
在官网的下载页面,下拉到最下方,选择更早的版本,进入页面后,选择下载,下载对应版本的VS即可。
必须要安装的是:C++的桌面开发选项
IVF安装
- 安装版本:2020
- 安装包源:Abaqus子程序关联教程-适用于abaqus2022/2021/2020
- 安装参考: abaqus2022及子程序安装关联全过程_哔哩哔哩_bilibili
为了防止出问题,我选择的是I32和X64全部安装。
安装过程一定要耐性等待,我安装的最后一步等了很久,都准备直接关闭安装程序了,显示安装成功了!
根据 朦胧烟雨生 的视频,我发现Abaqus2022是一个很大的改动,安装和关联Fortran的时候一定要注意。
Link Abaqus and IVF
将所有程序都安装好后,就可以对三个软件进行关联。关联很难,有的人很顺利,有的人很难搞定(比如我)。
如果软件版本能够相互关联,一般安装的软件不会有错,关联后报错极大可能是由关联引起的,所以关联一定要多查资料,多尝试。
以下是我的关联历程,仅供参考:
尝试1:修改 launcher.bat (失败)
根据教程朦胧烟雨生的教程,需要在安装完成后修改launcher.bat文件,修改后的launcher.bat文件为:
# ----- 以下为新增 ------
call "D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsamd64_x86.bat"
call "D:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2020.0.166\windows\bin\ipsxe-comp-vars.bat" intel64 vs2019
# ---------------------
# ---- 以下为原始内容 ----
@echo off
call "D:\Programs\Abaqus2021\Commands\abq2021.bat" %*
# ----------------------
改完之后打开cmd,输入以下命令进行验证:
abaqus verify -user_std
发现3个 subroutine 为 Error,而不是Pass,报错内容为:
Abaqus/Standard checked out 5 tokens from Flexnet server DESKTOP-NQDL4ID.
<9994 out of 9999 licenses remain available>.
Begin Compiling Abaqus/Standard User Subroutines
6/8/2022 4:08:47 PM
'ifort' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
Abaqus Error: Problem during compilation - std_user.for
Abaqus/Analysis exited with errors
尝试2:修改 abq2021.bat (失败)
观看 朦胧烟雨生 关于abaqus2022及对应Fortran 安装的视频中,发现他修改的文件为 Commands 文件夹下的 文件。
对该文件进行同样的操作,增加同样的内容,发现仍然报相同的错。
# ----- 以下为新增 ------
call "D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsamd64_x86.bat"
call "D:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2020.0.166\windows\bin\ipsxe-comp-vars.bat" intel64 vs2019
# ---------------------
# ---- 以下为原始内容 ----
@echo off
setlocal
set ABA_COMMAND=%~nx0
set ABA_COMMAND_FULL=%~f0
"D:\Programs\Abaqus2021\Products\2021\win_b64\code\bin\ABQLauncher.exe" %*
endlocal
# ----------------------
改完之后打开cmd,输入以下命令进行验证:
abaqus verify -user_std
发现3个 subroutine 为 Error,而不是Pass,报错内容为:
Abaqus/Standard checked out 5 tokens from Flexnet server DESKTOP-NQDL4ID.
<9994 out of 9999 licenses remain available>.
Begin Compiling Abaqus/Standard User Subroutines
6/8/2022 4:08:47 PM
'ifort' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
Abaqus Error: Problem during compilation - std_user.for
Abaqus/Analysis exited with errors
尝试3:其它方法修改 abq2021.bat (成功)
在网上搜索 ifrot问题 的解决方法时,发现了下面这篇博文:
vs2019+ivf2020+abauqs2021关联验证,子程序Error,‘ifort’ 不是内部或外部命令,也不是 - 哔哩哔哩 (bilibili.com)
按照这篇文章的方法,我只对Commands文件夹下的abq2021.bat文件进行了修改,修改内容如下:
# ----- 以下为新增内容 ------
SET PATH=%PATH%;D:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2020.0.166\windows\bin\intel64;
CALL "D:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2020.0.166\windows\bin\ifortvars" -arch intel64
CALL "D:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2020.0.166\windows\mkl\bin\mklvars" intel64
# -------------------------
# ----- 以下为原始内容 ------
@echo off
setlocal
set ABA_COMMAND=%~nx0
set ABA_COMMAND_FULL=%~f0
"D:\Programs\Abaqus2021\Products\2021\win_b64\code\bin\ABQLauncher.exe" %*
endlocal
# -------------------------
这次没有使用 朦胧烟雨生 的方法,但是在输入
abaqus verify -user_std
验证后,所有的 subroutine 都 Pass 了,而且abaqus cae 可以正常打开。
未尝试的方法
配置ABAQUS2021+VS2019+oneAPI2022编译环境 - 知乎 (zhihu.com)
上述方法看起来也很好,但我未进行尝试
完结撒花~
Reference
- 该博主录制了所有版本Abaqus安装链接IVF的视频,非常棒:朦胧烟雨生的个人空间_哔哩哔哩_bilibili
- 该博主提供了VS2019和IVF2020的安装包:Abaqus子程序关联教程-适用于abaqus2022/2021/2020等_哔哩哔哩_bilibili
- 该博主提供了"‘ifort’ 不是内部或外部命令"的解决方案:vs2019+ivf2020+abauqs2021关联验证,子程序Error,‘ifort’ 不是内部或外部命令-哔哩哔哩
- 该博主介绍了另外一种link方式:配置ABAQUS2021+VS2019+oneAPI2022编译环境 - 知乎
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)