本文主要描述下如何实现在abaqus中采用Fortran自由格式编程。
以帮助文档中的经典塑性UMAT子程序为例:
1)打开Abaqus documentation,点击Abaqus Verification Guide,并进入UMAT AND UHYPER下的input files;
2)下载inp文件及f子程序,用文本编辑器打开umatmst3.f,可以看出其采用的是固定格式编写;
3)修改abaqus的运行环境,加入支持自由格式的设置:找到abaqus环境的配置文件,对于abaqus2020和abaqus2021版本,该文件为以下路径的win86_64.env文件:
对于比较早的abaqus版本如abaqus6.14,该文件可能叫abaqus_v6.env。总之通过搜索等方式找到该文件并打开即可。
4)在.env文件中加入使用自由格式的命令:
5)将子程序修改为自由格式,需要修改的内容主要包括 续航符,注释等。事实上,国内知名的Fortran程序论坛FCODE论坛提供了一个将固定格式转化为自由格式的工具“鹅毛笔”,路径如下:http://quill.fcode.cn/
打开umatmst3.f,复制全部代码粘贴到鹅毛笔的页面,选中“固定格式( .for 或 .f )转自由格式”,再点击“开始转换”,则自动生成了自由格式的代码,将代码复制到umatmst3.f替换原固定格式的代码(不需要修改文件名和文件名后缀),同时手动将代码中的”Invlude”替换成”include”(此处是转化工具鹅毛笔的一个bug,因此需要手动修改)。
转换前的代码
转换后的代码
(6)打开abaqus cae,使用file-import-model导入umatmst3.inp文件,创建job,选择子程序并且提交。
或者采用abaqus command命令提交:
注:修改.env支持自由格式后,则按照固定格式编写的子程序则不能正确使用,如果提交会报语法错误,此时可将代码的固定格式用“鹅毛笔”转自由格式再提交或者重新打开.env文件将“,/FREE,”命令删除使其重新支持固定格式。总之,固定格式和自由格式只能二选一。
【完】
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删