2014-09-04 57 views
2

我有一个需要迭代运行的Abaqus脚本,并且即使提交的作业不收敛也会继续运行。如果脚本命令行提交如下这是没有问题的:当作业不收敛时,Abaqus过早终止python脚本

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 ... 

回答

1

当从NOGUI选项捉迷藏,脚本没有访问MDB对象。你可能想尝试包括以下行后运行该脚本:

from abaqus import * 

包括上述线路,ABAQUS进口所有模块和将获得MDB对象。

1

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

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