许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  2026年ABAQUS子程序环境配置,新版改动注意这几点

2026年ABAQUS子程序环境配置,新版改动注意这几点

阅读数 11
点赞 0
article_banner

前言:VS2026+ABAQUS2024新环境

上一次配置子环境,还是在VS2022的版本。在2026年,我们已经用上了VS2026 Community,这一免费的正版,但环境的更新也带来了一些新的问题。现在就这一篇文,记录并传播本次配置成功的心得。

现在,你花钱去找淘宝安装,如果遇到半吊子,可能他会给你装一个老版本的ABAQUS+VS2019+Intel Parallel Studio XE,后两者都已经停止维护,前者会弄乱你装好的ABAQUS环境。搞乱系统环境让我非常不爽,这便是我此次自己重装的契机。

此前有一篇专栏,分析了OneAPI取代Intel Parallel Studio XE后的环境安装变化。但那篇专栏还是以理论分析为主,实操需要门槛。这次,做一个易于理解的文档,便于后来回看和理解。

1. 基本环境的配置:VS2026+OneAPI+Abaqus2024

这其实没啥好说的,按照傻瓜式官方标准流程安装就行。

进入官网,安装免费的VS2026,记得把C++和科学计算相关的勾上,装好。默认路径:C:\Program Files\Microsoft Visual Studio\18\Community。其实你看出来了,2026之后版本号是18,跟之前的年份编号不一样了,记一下,这里后面要考。

进入官网,安装免费的Intel OneAPI HPC Toolkit. 这个HPCToolkit里面包含了Fortran编译器,其实理论上只需要Fortran编译器就行了。默认路径:C:\Program Files (x86)\Intel\oneAPI。

Abaqus2024,安装我就不说了。默认路径:C:\SIMULIA。

2. 理解Abaqus调用编译Fortran的逻辑

这里很多人不成功,主要是因为不理解这个编译的逻辑:

你写好的 Fortran 源文件会由 Intel 的 Fortran 编译器进行编译,转换成计算机可以识别的目标文件,随后再通过链接器将这些目标文件与 Abaqus 提供的标准接口库组合起来,最终打包生成一个动态链接库文件。

这里有一个容易被忽视的关键细节,那就是在 Windows 操作系统上,Intel 编译器本身只负责把 Fortran 代码翻译成机器语言,它并不自带能够把不同代码模块拼接成完整程序的工具,因此它必须借助微软 Visual Studio 提供的链接器和系统底层库来完成最后的组装工作,这也是为什么在编译之前必须同时配置好 Intel oneAPI 和 Visual Studio 环境的原因。

当所有编译工作完成后,Abaqus 在运行计算任务时,会读取输入文件中的用户子程序指令,然后在内存中动态加载你生成的动态链接库,找到对应的入口函数并执行其中的计算逻辑,待整个分析过程结束后,再释放这些外部资源,至此一次完整的用户子程序调用流程才算结束。

所以我们必须要让Abaqus知道如何去调用Fortran编译器(OneAPI),又如何进一步使用MSVC(VS2026)生成链接库。

3. 告诉Abaqus怎么做

首先解决在哪儿写这些代码的问题。分析Abaqus的文件调用关系,你会发现无论有无CAE的gui,所有命令都经过了"C:\SIMULIA\Commands\abq2024.bat",所以写在这里准没错。

先说结论,我加入了如下两行,在这个bat的前面,下面来解释原因:

代码块

bat


     自动换行
   


     复制代码
   

12


set "VS2022INSTALLDIR=C:\Program Files\Microsoft Visual Studio\18\Community"
@call "C:\Program Files (x86)\Intel\oneAPI\setvars.bat"

      复制成功
     
     
     
     

关键:第二行,告诉Abaqus去调用OneAPI的环境,这个setvars.bat很明显,是变量设定的意思,命名还是很直观的。这个bat其实调用了不止编译器,理论上讲没有必要,但省去了根据版本修改路径的麻烦。

关键:第一行,如果你使用了VS2022,VS2019,VS2017这些版本,根本不需要这一行,只要你系统环境变量配置正确(一般默认安装就正确了)。但是,VS2026,正如上面讲的,路径命名方式变了,且目前的OneAPI还没录入这个路径(我相信后面的版本会录入的),所以要手动设置。可以看出,这是个很暴力的“指鹿为马”——我把VS2026强行告诉Abaqus,这是VS2022,无所谓了,能找到MSVC就行。

修改好这个bat后,可以尝试运行验证命令了,这两个分别是验证两个求解器的子模型的:

代码块

bat


     自动换行
   


     复制代码
   

12


abaqus verify user_std
abaqus verify user_exp

      复制成功
     
     
     
     

但是,Abaqus还是没找到编译器。

4. ifort与ifx之争

Intel Fortran 编译器经历了一次从经典架构到现代架构的全面换代。传统的 ifort(Intel Fortran Compiler Classic)是 Intel 基于自家专有技术栈开发的编译器,历史悠久,代码成熟,但底层架构相对老旧;而 ifx(Intel Fortran Compiler)则是 Intel 基于 LLVM 开源项目重新构建的新一代编译器,代表了 Fortran 编译技术的未来方向。从 Intel oneAPI 2025.0 版本开始,ifort 已被彻底移除,不再提供下载和更新,这意味着所有新用户和在 Windows 平台上进行 Abaqus 二次开发的用户,都必须转向 ifx。但是,Abaqus默认还没转向。

关键:找到文件"C:\SIMULIA\EstProducts\2024\win_b64\SMA\site\win86_64.env",打开它,你能找到Fortran编译器的词条。赫然写着'ifort',不要犹豫,改成'ifx',拥抱新时代吧。

现在你的子程序应该能测试通过了。



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空