记录一下Abaqus2020+VS2019+IVF2020链接经历

本文讲述了作者在安装并配置Abaqus2021与VisualStudio2019及IntelParallelStudioXE2020Update4之间的过程,涉及系统变量PATH设置、VS和IVF相关路径添加到launcher.bat,以及解决编译器链接错误和缺失文件的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很久很久以前,出于不同的考虑,分别安装了Abaqus 2020和VS2019,但是并没有建立二者之间的联系。最近想试一下Abaqus子程序,看到网上Abaqus 2020和VS2019刚好可以搭配,就顺便下载了一个IVF2020来搭建环境。

我所用的VS是Visual studio 2019 Enterprise,IVF是Intel Parallel Studio XE 2020 Update 4。

安装顺序神马的,完全忘记了之前是先装的Abaqus还是VS,但是从网上的资料来看,似乎是无所谓的。只要注意装VS2019的时候选择桌面C++开发环境,然后IVF的安装是要在VS之后的。

安装好以后,链接过程遇到了一些麻烦。

综合参照以下几篇文章进行了设置:

VS2019安装+IVF2020安装+abaqus2021安装+关联(亲测有效附安装包)_ivf2019安装包_luzongbaqi的博客-CSDN博客

Abaqus 2020 连接 Fortran (ivf2020, vs2019) 的一个成功案例 - 知乎 (zhihu.com)

abaqus子程序运行出现:LINK不是内部或外部命令,也不是可运行的程序 - 知乎 (zhihu.com)

设置包括:

1. 在系统变量的PATH中添加内容:

(1)ifort.exe的路径:

D:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2020.4.311\windows\bin\intel64

(2)abq2020.bat的路径:

D:\SIMULIA\ABAQUS2021\commands

(3)ifortvars的路径:

D:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2020.4.311\windows\bin

(4)vcvarsall的路径:

D:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build

2. 修改abaqus启动用的bat文件

找到launcher.bat,在以前的内容上面加上以下的东西:

@call "D:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" X64
@call "D:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2020.4.311\windows\bin\ipsxe-comp-vars.bat" intel64 vs2019

注意:直接在abq2020.bat文件中添加以上内容,会导致CAE中无法提交job(用bat命令操作inp可以提交,但是CAE导入inp再提交就不行,报错“Unable to start analysis job”),参照以下文章,在launcher.bat中添加VS和IVF的相关路径就可以解决。

安装问题:abaqus Unable to start analysis job - 知乎 (zhihu.com)

但是此时在cmd中运行abaqus info=system时,会显示没有找到linker。只需要找到abaqus.bat文件,也在开头添加这两行路径即可。

3. 运行测试

运行abaqus verification,standard模块和explicit模块都能pass,就可以了。

此时,在cmd中输入 abaqus info=system,得到的系统信息中,仍然显示没有C++编译器,但是貌似不影响子程序的正常运行

4. 另外的一些bug

4.1 verification无法运行

在运行Abaqus verification的时候,打开了一个记事本程序,并显示文件名、目录名或卷标语法不正确。

查看了一下verification这个程序的属性,发现它的目标直接指向了记事本,这个应该是abaqus安装程序的一个bug

修改成以下内容,指向abq2020.bat即可:

D:\SIMULIA\Commands\abq2020.bat -verify -all -log&epad.exe verify.log || notepad.exe verify.log

4.2 Include file "aba_param.inc" required for compilation is not found. This may indicate a problem with the Abaqus installation.

用Everything在电脑里搜aba_param.inc,发现确实没有。但是写的用户子程序里,每一个subroutine都会有一个include 'aba_param.inc',所以如果电脑里都没有这个文件的话,程序是铁定运行不了的。

解决方法:参考以下文章的评论,安装Abaqus的时候可能少选了一个CAA API。卸载重装,把这个选上就可以了。

Abaqus 2020 连接 Fortran (ivf2020, vs2019) 的一个成功案例 - 知乎 (zhihu.com)

### 关于Abaqus 2021与Visual Studio 2019集成及兼容性 在工程仿真开发领域,Abaqus 2021与Visual Studio 2019的集成对于那些希望扩展Abaqus功能的人来说至关重要。为了实现两者的无缝协作,确保正确安装并配置相关组件是必不可少的。 #### 安装与配置指南 当计划使用C++或Fortran编写用户子程序时,如UMAT、VUMAT、UEL等,Visual Studio 2019提供了必要的编译器支持工具来处理这些编程需求[^1]。具体来说: - **Visual Studio 2019**:应选择带有C++开发工作负载的工作选项,在安装过程中勾选此选项可以获取所需的编译器其他构建工具。 - **Intel Visual Fortran (IVF)**:作为Fortran编译器的选择之一,IVF2020能很好地配合VS2019一起工作,允许开发者创建高效的数值算法,并通过VS界面管理整个项目生命周期。 一旦完成了上述两个主要软件包的设置,下一步就是调整环境变量以便让Abaqus识别到外部编写的库文件。通常情况下,这意味着要编辑系统的PATH路径以及其他可能影响链接过程的关键参数[^2]。 此外,值得注意的是,虽然官方文档推荐了特定版本组合以获得最佳体验——例如Intel oneAPI 2022.1及以上版本或者Intel Parallel Studio XE 2019更新版5至10之间的Fortran编译器,以及Visual Studio 2019/2022——但在实际操作中,只要遵循正确的配置流程,其他相近版本也可能正常运作。 最后,为了让自定义模块能够在Abaqus环境中顺利加载执行,还需要按照产品手册指示修改相应的输入文件(.inp),指定所使用的外部函数名称及其位置信息。 ```cpp // 示例代码片段展示如何在Visual Studio中为Abaqus准备一个简单的Fortran UMAT子程序接口声明 extern "C" { voidumat_(double* statev, double* props, int* nprops, double* time, double* dtime, double* temp, double* predef, int* npred, double* coords, int* jblock, int* noel, int* npt, double* layer, int* kspt, double* dt, char* cmname, int* ndi, int* nshr, int* ntens, int* nstatv); } ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值