许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  abaqus中VUMAT子程序调试方法

abaqus中VUMAT子程序调试方法

阅读数 1
点赞 0
article_banner

Abaqus子程序调试主要有两种常见方法。核心概念包括:环境文件修改法、写入文件法、单步调试、断点语句、进程附加。

环境文件修改法是通过修改Abaqus安装目录下的环境文件(如win86_64.env或abaqus_v6.env),启用调试模式。在子程序中加入断点语句(如read(*,*)语句)后,通过命令行提交作业,使Abaqus暂停执行。随后在Visual Studio中附加进程进行单步调试。这种方法的优点是可以追踪代码执行流程、观察变量数值、检查条件和循环、定位错误和异常,从而提高排查和修复错误的速度。但其缺点是操作繁琐,需修改环境文件,且通常只能调试一个增量步内的内容,不同版本的Abaqus、VS和Fortran组合可能出现报错或不显示问题,因此不被推荐。

写入文件法是在子程序中直接使用open和write语句将需要监控的变量值输出到指定文件中。例如,在子程序中加入`open(unit=10,file='output.txt',status='replace',access='append')`和`write(10,*) variable_name`语句,即可将变量值实时写入output.txt文件。这种方法避免了环境文件的修改和进程附加的复杂步骤,能直接输出整个计算过程中输出量的值,便于调试逻辑错误和观察数据变化。背景上,Abaqus子程序调试常面临模型错误、语法错误和逻辑错误,其中逻辑错误较为隐秘。写入文件法通过打印变量,帮助开发者根据输出数据逐个检查,判断错误位置。高阶调试技巧还包括利用Abaqus提供的错误处理机制(如Python的try-except)和参考官方文档及教程。总结来说,写入文件法因其简便性和有效性,成为调试Abaqus子程序的推荐方法。

本人各个软件版本:

Abaqus2016+vs2013+Fortran2013

模型  是一个1mm*1mm*1mm的立方体,顶部施加了位移载荷,底部进行了约束,整个模型只划分一个网格。子程序是vumat编写的。

写入文件法也大致分为两 类  ,直接输入log文件和指定文件。

第一种: log  文件直接输入

通过在子程序代码中直接加入语句write(*,*)+要输出的值,就可以在log文件中显示,效果图如下:

子程序语句:

Log文件显示:

PS:1.write语句中的*号一定要同时按shift和*一起输入的,并非直接按*的。

       2.vs中单引号没有‘这样是因为vs中设置了默认 字体  为微软雅黑而非宋体。

       3.楼主只是划分了一个网格,实际情况可能会划分多个网格,输出某个网格的数据的办法后续会更新

       4.关于输出到某个特定的文件夹楼主进行过试验,但似乎好像是因为vumat的原因,总是报错(识别不了f语言中open语句的 关键字  ),此后会继续试验,如果成功会继续发布。


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

相关文章
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
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空