Abaqus子程序运行:“ifort命令未找到”解决办法

(1)问题描述

  • 已经成功关联abaqus和fortran,通过了abaqus中的子程序verification;
  • 也能够在abaqus GUI界面运行含subroutine的job文件;
  • 但是通过abaqus command命令无法运行含subroutine的job文件,会报“ifort问题”

        问题报错信息如图1所示,图1中Begin Compiling Abaqus...之后才开始出现“ifort问题”,根据网络资料,这是由于subroutine编译时发生的错误,因此着重解决与subroutine编译有关的问题。

图1 subroutine报错信息一览

(2)解决办法

        在abaqus的安装路径下找到abaqus.bat文件,以文本方式打开,添加如图2路径。视个体电脑安装路径不同有所差异,可分别用everything查找,如图4a和图4b。该方法是在CSDN社区上查找方法后仍然无法解决我的困境时而形成的方法,相关解决办法均来源于网络,笔者只作搬运工作和试错测试。

        私以为,CSDN社区添加ifortvars.bat的路径主要解决fortran与abaqus关联不成功问题,而本文第一部分的问题描述已经指出,笔者的电脑是成功verification的,所以关联没问题,因此,主要解决通过abaqus command命令行的方式调用subroutine不成功问题。(以上只是笔者的猜想,非业内人士,根据现象而作出的猜想)

图2 本文提供的解决办法

图4a everything查找vcvarsal.bat文件

图5 subroutine运行成功

(3)问题延伸

        部分abaqus使用人员在运行subroutine时希望能够随时输出中间参数,替代debug,以验证程序能够按照预定想法进行运算。笔者在解决"ifort问题"时,碰巧在subroutint中通过write函数输出中间参数,但是不知道输出的位置在哪里。目前的一个可行的解决办法是,将subroutine文件和子程序放在一个文件夹中,通过windows powershell窗口打开,可见图1右上角,然后按照图1的方式运行job文件,即abaqus job=job-1 user=subroutine int,然后运行结果如图5所示,图5上面的1.0、5.0和123正是笔者在子程序中通过write函数输出的中间参数(应该通过abaqus command命令也能实现)。不过,输出数据有点多,应该有途径控制输出,暂时没找到解决办法。

cut-off

希望广大读者在评论中提意见和讨论解决办法,多多提供解决问题的思路,谢谢。

QR Code
微信扫一扫,欢迎咨询~

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

* 公司名称:

姓名不为空

手机不正确

公司不为空