Abaqus子程序关联问题的解决策略

主要出现问题如下:

  • abaqus verification 验证全部通过,但是在command 中运行带子程序的命令时报错。错误主要分为两种:
  1. ifort 没找到;
  2. LINK 找到。

cut-off

最近因为要用到子程序,所以就打算装个Visual Studio 和IVF进行计算。因为电脑里面已经装了Abaqus2021,所以就选了配套的VS2019 和IVF2020,按照 B站up主视频教程进行了关联。将两个call语句写在了launcher.bat文件中,完成后点击abaqus verification 进行验证全部pass。但是、但是、在cmd中进行abaqus job=jobname user=umatname int 的时候,就出现了LINK is not found in the system的错误。在排查错误期间,各种环境变量的修改,注册表的修改,甚至把VS和IVF重新装了一遍都没有用!!!折腾了一天

就在我大失所望,以为一天的努力最终付诸东流的时候,第二天检索为什么abaqus verification 验证全部通过而 abaqus command不通过的时候看到了这篇文章(https://blog.csdn.net/shanxing200/article/details/118920070),突然间恍然大悟。跟着这位up进行操作确实会出问题。为什么会出问题呢?

在cmd中输入如下命令:

where abaqus

可以得到如下结果。这个结果的意思是在command中输入abaqus命令就相当于运行了abaqus.bat批处理文件。

图1 abaqus 命令查询结果

接着继续查看abaqus.bat的详细内容,找到文件,右键打开后结果如下。这个文件的含义就是abaqus.bat调用了abq2021.bat文件。

图2 abaqus.bat的内容

打开abq2021.bat文件,这个里面有调用VS和IVF的语句吗,没有,因为调用语句写在了launcher.bat文件中。

总结一下:

为什么abaqus verification验证通过了?因为abaqus verification调用的是launcher.bat,launcher.bat引用完VS和IVF后指向了abq2021.bat,所以引用fortran和VS成功了。

为什么命令行输入报错呢?因为输入命令调用关系如下abaqus -> abaqus.bat -> abq2021.bat 绕过了引用VS和IVF的launcher.bat,当然无法成功运行子程序了。

cut-off

最好还是将调用语句(call dirname\vcvarsall.bat x64 call dirname\ifortvars.bat intel64 vs2019 两行语句)写在abq2021.bat中,因为所有的文件最终都调用的是这个批处理文件。其他版本同理。

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

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

* 公司名称:

姓名不为空

手机不正确

公司不为空