无需Fortran环境运行Abaqus子程序的方法

(此贴只针对abaqus用户)

对于需要使用子程序进行分析计算的用户来说,配置子程序环境较为繁琐,并且有时要在一台没有fortran运行环境的机器上运行子程序(例如云计算等等),这时要怎么做?

abaqus官方为我们提供了make的方法:

abaqus make library=usd.for/.f90/.cpp/...

该方法将会把子程序进行预编译并生成相应的共享库(share library)文件。

.obj文件就是我们子程序经过预编译得到的二进制文件。

.dll文件就是相应的共享库文件,其中包含了我们所用子程序中所用的全部执行信息(像算法信息,+,-,*,/之类的)

若是Standard模块,则会生成standardU.dll;若是Explicit模块,则会生成ExplicitU.dll和ExplicitU-D.dll(加D的是双精度,没的是单精度)

如果想要在没有Fortran的计算机上运行子程序,需要分两部分进行,接下来将详细说明:

First(该部分需要在已经配置好fortran运行环境的计算机中完成):

首先准备好要使用的子程序,建议将其直接放置在abaqus的工作目录(一般情况下abaqus command和abaqus CAE的工作目录相同)下,也可以将其放置在任意一个文件夹中,后期可以通过cd索引。

这里就按放在工作目录下来说明。

将子程序放在工作目录后,打开abaqus command,并输入abaqus make library=usd.for/.f90/.cpp/...(这里的usd要替换为自己的子程序的文件名,并加上扩展名)

稍等后生成.obj以及.dll文件(std2个,ex共4个)

至此,这部分完成。

Second(该部分在目标并没配置fortran运行环境的计算机中完成):

将上述生成的库文件(.dll结尾的文件)存储到任意目录(文件夹中)。

找到abaqus环境变量设置文件abaqus_v6.env, 末尾增加如下语句(要用英文字符)

usub_lib_dir="_:\\_\\..."

引号中的是储存共享库文件的路径。要将\改为\\。

到此,基本配置结束。

然后就是建立模型并施加约束、划分网格之类的等等。

最后全部弄完之后,创建job,并指定目标文件(.obj文件),如图所示:

如何在没有fortran的机器上运行子程序的图1

然后写出.inp文件,不可以直接提交运算,不然回报错。

通过abaqus命令行进行提交运算:

abaqus job=...

提交成功后只需要等待结果就行。

亲测成功有效(已经在自己的笔记本上实验过,没有问题,我的笔记本没有fortran)。



对于已经配置好fortran的用户来说,.dll文件(共享库文件)是不必要的,可以使用.obj文件直接提交运算,也不需要写出inp文件,再通过命令行运行这么麻烦。

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

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

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

* 公司名称:

姓名不为空

手机不正确

公司不为空