微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

缺少用户子程序 - Intel Fortran OneAPI with Abaqus

如何解决缺少用户子程序 - Intel Fortran OneAPI with Abaqus

如何在使用 Abaqus 配置和验证 Intel Fortran (oneAPI) 期间修复“***错误:USER SUbroUTINE disP IS MISSING”?

背景:英特尔已停止提供并行工作室,现在已转向 oneAPI。它似乎是免费的,但如果您是学生或教育工作者,当您的旧许可证到期(一年后)时,您必须转移到 oneAPI。

这个新平台的用户子程序的 Abaqus 验证失败,MSG 文件中包含以下内容

***ERROR: USER SUbroUTINE disP IS MISSING

由于验证文件是由 Abaqus 提供的,所以应该不会因为这个错误而失败。

解决方法

确保安装了正确的 Visual Studio (2019) 或更高版本的组件 - 只需要安装“使用 C++ 进行桌面开发”。

enter image description here

安装 oneAPI HPC 工具包(不需要基础工具包)。只需要 fortran 编译器(我认为 MPI 是可选的)。 enter image description here

英特尔安装程序应选择 Visual Studio 安装。确保您正在从“Intel oneAPI command prompt for Intel 64 for Visual Studio 2019”运行验证。

未找到子例程的错误是由区分大小写的问题引起的(请参阅 u\Ubuntz 对 reddit thread 的评论)。 将以下行添加到 FORTRAN 源文件的顶部(本例中为验证文件夹中的 std_user.for)。

!DEC$ ATTRIBUTES ALIAS:"disp"::DISP

对于实际使用/开发中的所有其他子程序,将 disp 替换为您的子程序名称,例如,对于 umat 写入

!DEC$ ATTRIBUTES ALIAS:"umat"::UMAT

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。