Abaqus 6.9中的Python代码总是在一小时后崩溃。

大家好,
我已经用Python语言编写了一个程序,该程序在ABAQUS 6.9中运行逆分析。
该程序基本上以不同的材料属性多次运行相同的作业,以确定正确的材料设置。
该程序看起来运行得很好,但只要运行时间达到一个小时,ABAQUS就会发出消息"正在断开与ABAQUS许可服务器的连接",并同时退出PYTHON程序和ABAQUS。
它总是在为新作业写入输入文件之后发生,然后在作业实际启动之前退出。
有一个崩溃转储文件,其中写道:
"ABQcaeK.exe在模块ABQCAE_ModKerHigh.dll中的001B:100DF066,ajbK_JobIntObj::ParseOptionalArguments1()+9158字节中导致EXCEPTION_ACCESS_VALUATION"
我不确定这是否相关。
提前感谢任何我能得到的帮助,因为我现在完全被困住了。
丹尼

# 回答1


你好,
我认为问题是由于许可证的重新检查,以及当这种情况发生时Abaqus处理运行作业的方式很糟糕。至少其他用户是这么认为的。
Http://old.nabble.com/ABAQUS-crashes...d29303851.html
最简单的解决方案是创建两个脚本,一个重复调用ABAQUS来运行该脚本,另一个是您实际想要使用的脚本。
例如:

选择 | 换行 | 行号
  1. from os import system
  2. from time import sleep, ctime
  3. ## her u can define sleeping time
  4. sleeppingTime=3## 3 sec before trying the second attempt
  5. ##---------------------
  6. count      = 100
  7. scriptName = 'myScript.py'
  8. print 'Attempting to call ABAQUS CAE at:',ctime().split()[3]
  9. print '                      Attempt No: ', count
  10. a=system('Abaqus cae script='+scriptName)
  11. while count<100000000:
  12.    if a==1:
  13.        sleep(sleeppingTime)
  14.        print 'Attempting to call ABAQUS CAE at:',ctime().split()[3]
  15.        print '                      Attempt No: ', count+1
  16.        a=system('Abaqus cae script='+scriptName)
  17.    count=count+1

这是改编自
Http://abaqusscript.blogspot.com/
。不过,剧本还不能完美地发挥作用。
MyScrip将不得不写入和读取日志文件,以防最终崩溃。此外,环路程序还需要检查完成的分析。这一过程应该会自动进行分析,即使ABAQUS经常崩溃。

标签: python

添加新评论