【问题标题】:Control abaqus command prompt from python从 python 控制 abaqus 命令提示符
【发布时间】: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 脚本作为“顶级”控制过程。

标签: python abaqus


【解决方案1】:

我设法使用 unix 终端中的常规 python 命令和以下脚本获得了类似的工作:

文件 1(在 unix 终端中使用 python file1.py 而不是 abaqus python 运行...):

import os
os.system("abaqus viewer nogui=test.py")

文件 2 (test.py):

import sys
print >> sys.__stdout__, 'It worked'

希望类似的东西对你有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-10
    • 1970-01-01
    • 2016-04-18
    • 2018-04-26
    • 2014-08-09
    • 1970-01-01
    相关资源
    最近更新 更多