如何解决缺少用户子程序 - 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++ 进行桌面开发”。
安装 oneAPI HPC 工具包(不需要基础工具包)。只需要 fortran 编译器(我认为 MPI 是可选的)。
英特尔安装程序应选择 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 举报,一经查实,本站将立刻删除。