许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Abaqus子程序调试:将变量写入文件的实用方法

Abaqus子程序调试:将变量写入文件的实用方法

阅读数 1832
点赞 0
article_banner

在UMAT或VUMAT中,想追踪某个变量(比如应力、状态变量)的变化过程,直接写入文件是最简单的手段。具体做法:

  1. 在子程序开头声明一个文件路径,注意要用绝对路径,避免工作目录混乱。fortranOPEN(888, FILE='D:\temp\stress_output.txt', STATUS='UNKNOWN', ACCESS='APPEND')
  2. 在每个增量步或材料点需要记录时,用WRITE命令输出你关心的变量。例如输出当前步的应力分量:fortranWRITE(888, *) 'Step time=', TIME(2), ' S11=', STRESS(1), ' S22=', STRESS(2)
  3. 注意文件句柄不要与其他单元冲突。建议在子程序开头用INQUIRE检查文件是否已打开,或者用SAVE属性保持句柄。
  4. 算完后记得CLOSE(888)。不过UMAT每个增量步都会调用,频繁开关会影响速度,所以可以在第一步打开,最后一步关闭(通过KSTEP判断)。

一个小技巧:输出时加上时间、单元号、积分点号,方便后期筛选。调试完毕记得删除或注释掉写文件代码,避免正式计算时拖慢速度。

图片


 理论上,上述语句应当会在工作路径下生成一个a.txt文件。然而,实际操作的时候,最终却没有生成相应的文件,真是个麻烦的问题呢!

 问题原因:a.txt使用的文件号为6,而在abaqus中,文件号6为job.dat文件的文件号,由于a.txt使用了与dat文件冲突的文件号,则自然不会成功生成。因此最终解决方式:使用不与abaqus自带文件文件号冲突的文件号。

 abaqus中自带文件使用的文件号一览表:

图片

图片

 总结:abaqus/standard和explicit自身的文件分别会占用不同的文件号,在子程序中实际需要写入新的文件时,应当使用区别于这些文件号的文件号,例如:

图片

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

武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks 等。

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

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

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空