2015-08-28 350 views
0

我想在MATLAB中循環使用ABAQUS宏。宏的最後一位是保存CAE文件,提交INP文件。我在MATLAB中使用'system'命令來循環這些宏。ABAQUS錯誤:文件打開失敗(utl_File:OpenFrite中的CreateFile)錯誤:T?

在MATLAB中,ABAQUS分析作業完成,但隨後出現以下錯誤發生:

的Abaqus JOB L2H1_dynamics竣工 ***錯誤:(:在OpenWrite的CreateFile UTL_FILE) 錯誤:文件打開失敗牛逼 文件:C:\ Temp \ L2H1_dynamics.cae

Abaqus錯誤:cae退出時出現錯誤。

ANS =

什麼是OpenWrite?錯誤:T是什麼意思?

謝謝!

+0

你有寫權限和「C:\ temp」上有足夠的空間嗎?否則,沒有代碼示例,這裏沒有太多要繼續。作爲一個旁白的abaqus python腳本是非常強大的。除非你確實需要matlab功能,否則我會建議讓abaqus/cae/python執行主循環。 – agentp

+0

嗨agentp,我確實有這個位置的權限和足夠的空間。如果可能,我會在這裏粘貼代碼。我這樣做是因爲我需要將MATLAB與ABAQUS鏈接起來。 – thinkvantagedu

回答

0

碼的最後一位看起來是這樣的:

session.writeXYReport(fileName='abaqus.rpt', xyData=(x0, x1, x2, x3, x4, x5, 
    x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20)) 
mdb.saveAs(pathName='C:/Temp/L2H1_dynamics') 
a = mdb.models['Model-1'].rootAssembly 
session.viewports['Viewport: 1'].setValues(displayedObject=a) 
mdb.JobFromInputFile(name='L2H1_dynamics', 
    inputFileName='C:\\Temp\\L2H1_dynamics.inp', type=ANALYSIS, 
    atTime=None, waitMinutes=0, waitHours=0, queue=None, memory=90, 
    memoryUnits=PERCENTAGE, getMemoryFromAnalysis=True, 
    explicitPrecision=SINGLE, nodalOutputPrecision=SINGLE, 
    userSubroutine='', scratch='', parallelizationMethodExplicit=DOMAIN, 
    numDomains=1, activateLoadBalancing=False, multiprocessingMode=DEFAULT, 
    numCpus=1) 
mdb.jobs['L2H1_dynamics'].submit(consistencyChecking=OFF) 

相信發生,因爲該位的錯誤。

+0

你應該用這個信息編輯你的問題,不要將它作爲答案發布。無論如何,另一個可能的原因是該名稱的文件已經打開。你可以在這裏使用普通的python工具進行調試,'import os; os.path「,」os.access「等。 – agentp

+0

也與錯誤無關,但您知道'saveas'不會創建inp文件,它只會保存cae文件。希望你也有'mdb.writeInput()'某個地方.. – agentp

0

文件名應該用雙斜槓書寫,就像您對輸入文件名所做的那樣。

>>> mdb.saveAs(pathName='C:\\temp\\test.cae') 
The model database has been saved to "C:\temp\test.cae". 

你可以在matlab外部運行py腳本,以便可以隔離問題。即當CAE已經打開時,在abaqus中使用「運行腳本」。

相關問題