团子良 发表于 2022-9-20 13:34:52

abaqus子程序的调试方法

在程序编写过程中,很大一部分时间是在调试。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 tempvarif(firstrun) thenwrite(*,*)"please input an integer:"read(*,*)tempvarfirstrun = .false.endiftempvar =1234 !设置断点
页: [1]
查看完整版本: abaqus子程序的调试方法