abaqus的Fortran子程序中使用自由格式
发布网友
发布时间:2024-10-01 01:01
我来回答
共1个回答
热心网友
时间:2024-11-26 05:30
在探讨ABAQUS的Fortran子程序时,我们通常发现默认设置仅允许使用固定格式。然而,自由格式提供了更大的灵活性,不再受限于72个字符的*,并允许在同一行中书写多个语句,同时,续行符在使用上更为便捷。本文旨在介绍如何在ABAQUS中采用Fortran自由格式编程。
首先,让我们以ABAQUS提供的经典塑性UMAT子程序为例,该程序通常以固定格式编写。
1. 访问ABAQUS的帮助文档,找到Abaqus Verification Guide,进入UMAT AND UHYPER下的input files部分。
2. 下载INP文件及F子程序,打开umatmst3.f,发现该程序采用固定格式。
3. 调整ABAQUS运行环境,加入支持自由格式的设置。对于ABAQUS2020和2021版本,修改win86_64.env文件。对于较早版本如ABAQUS6.14,文件可能名为abaqus_v6.env。重要的是找到并打开该文件。
4. 在.env文件中加入使用自由格式的命令。
5. 对UMAT子程序进行自由格式转换,涉及修改内容如续行符、注释等。国内的Fortran程序论坛FCODE提供了一个名为“鹅毛笔”的工具,可将固定格式代码转换为自由格式。访问路径:quill.fcode.cn/。
6. 使用鹅毛笔工具,将固定格式的代码粘贴至页面中,选择“固定格式(.for 或 .f)转自由格式”选项,点击“开始转换”。工具将自动生成自由格式的代码,随后复制至原始文件umatmst3.f中,替换原固定格式代码。注意,需手动修复“include”拼写错误,这是鹅毛笔的一个已知bug。
7. 打开ABAQUS CAE,导入转换后的umatmst3.inp文件,创建job,选择子程序并提交任务。
或使用ABAQUS command命令提交。
总结:调整ABAQUS环境以支持自由格式后,任何使用固定格式编写的子程序将无法正确运行,提交时会出现语法错误。解决方法是利用鹅毛笔工具进行转换或在.env文件中删除支持自由格式的命令,使其重新支持固定格式。