【发布时间】:2017-11-23 23:48:27
【问题描述】:
几天来,我正在寻找一种方法来从 Python 脚本控制 abaqus 命令提示符以运行 .py 文件以用于 abaqus。实际上,我的主要目的是从 .odb 文件中提取 vonMises 数据。
我可以使用下面的代码运行我的主代码来运行 abaqus 分析;
import subprocess
subprocess.call(['C:\SIMULIA\Abaqus\Commands\\abq6131.bat cae noGUI=C:\Users\\acer\Desktop\GereksizDosyalar\macro7.py'], shell=True)
此代码只需使用“abq6131.dat”打开 abaqus 命令提示符并运行分析。
我用python从.odb文件中提取数据的第二个代码是;
subprocess.call(['C:\SIMULIA\Abaqus\Commands\\abq6131.bat abaqus python odbMaxMises.py -odb Job-1.odb'], shell=True)
但它给出错误:错误:***错误:“odbMaxMises.py”不是 Abaqus 数据库文件。
其实如果我手动打开abaqus命令提示符并写
abaqus python odbMaxMises.py -odb Job-1.odb
我可以得到结果。那么你知道如何通过python控制abaqus命令吗?例如,我想在 python 上写一些东西,然后在 abaqus 命令提示符下查看。提前谢谢..
【问题讨论】:
-
"abq6131.bat abaqus python odbMaxMises.py" 额外的
abaqus不应该在那里,只有abq6131.bat python odbMaxMises.py..。此外,当命令行测试使用与您尝试在子进程调用中使用的完全相同(完整路径)时。 -
正如我常说的,不同的观点太有益了。谢谢! @agentp。但是你对从 python 控制 abaqus 命令行有什么想法吗?
-
我个人使用 abaqus cae 脚本作为“顶级”控制过程。