2014-09-04 58 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