【问题标题】:Abaqus prematurely terminates a python script when the job does not converge当作业不收敛时,Abaqus 过早终止 python 脚本
【发布时间】:2023-03-16 10:09:01
【问题描述】:

我有一个需要迭代运行的 Abaqus 脚本,即使提交的作业没有收敛也要继续运行。如果脚本是从命令行提交的,这没有问题:

abaqus cae script=script.py

但是,当在 Abaqus 中从命令行执行 python 脚本时,例如:

abaqus cae nogui=script.py

python 脚本本身在作业中止后立即终止运行。使用 nogui 调用其中的作业时中止后,有什么方法可以继续运行脚本?

谢谢,

安德鲁

我的脚本的相关部分如下所示:

import os 
from odbAccess import * 
from job import *  
from abaqusConstants import * 

cjob = mdb.JobFromInputFile(name='abaqus_opt_rd',inputFileName='../FEM_in_out/abaqus_opt_rd.inp',numCpus=4,numDomains=4) 
cjob.submit() 
cjob.waitForCompletion() 
ef = cjob.status 
conv = ef != ABORTED 

if conv == True: 
    # perform desired operations ...
else:
    # perform operations for aborted job ...

【问题讨论】:

    标签: python abaqus


    【解决方案1】:

    从 noGUI 选项运行时,脚本无权访问 mdb 对象。您可能想在包含以下行后尝试运行脚本:

     from abaqus import *
    

    通过包含上述行,abaqus 导入所有模块,并将获得对 mdb 对象的访问权限。

    【讨论】:

      【解决方案2】:

      我使用 try 语句解决了这个问题。

      try: 
          cjob.submit() 
          cjob.waitForCompletion()
          conv = True
      exept AbaqusException, message: 
          conv = False
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-11-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-31
        • 2011-09-24
        • 1970-01-01
        相关资源
        最近更新 更多