abaqus子程序的调试方法

来源:ABAQUS  › 资源  › 倒序浏览
  • 回答数

    0

  • 浏览数

    640

  • 收藏数

    0

作者:团子良 发表于 2022-9-20 13:34:52
跳转到指定楼层
在程序编写过程中,很大一部分时间是在调试。abaqus子程序中如何能够更方便的调试呢,经过摸索,大致有两种方法:1、可以将变量输出到文本中;2、Visual studio直接进行调试
方法一:输出到文本中调试在help文件中的有相应的说明:
       Abaqus Analysis User's Guide>>Analysis Techniques>> 18 Extending Abaqus Analysis Functionality>>18.1 User subroutines and utilities>>Writing a user subroutine


standard中可以在子程序中加入write命令,6端口对应dat文件,7端口对应msg文件,也输出到指定路径下的txt文件中,端口为15-18或者大于100(explicit中类似),命令如下


注意:在输出的文本中,是按照时间步输出,对于输出应力、应变信息的每个积分点都有一个数据,可以与单元数对应来查找。

方法二 visual studio中调试

具体设置可以参考《VS环境下调试ABAQUS 2016子程序的处理办法》以及《Abaqus Fortran子程序调试攻略(二)——VS环境下直接调试》,需要注意的是,在abaqus/cae交互界面调试中不能加入暂停类语句,所以小规模的程序会瞬间结束,在abaqus command提交任务可以加入read或者pause之类的暂停语句。

暂停语句可以采用

logical :: firstrun = .true.
integer tempvar
if(firstrun) then
write(*,*)"please input an integer:"
read(*,*)tempvar
firstrun = .false.
endif
tempvar =1234 !设置断点

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册 微信登录

x
分享:
回复

使用道具

成为第一个回答人

高级模式 评论
您需要登录后才可以回帖 登录 | 立即注册 微信登录