python - 从 python 启动 Abaqus 作业

标签 python subprocess abaqus

我尝试从 Python 脚本启动 Abaqus 作业:

subprocess.call(['/opt/Abaqus/Commands/abq6132', 'job=test.inp'])

以下警告消息按预期出现:

Abaqus Warning: The .inp or .sim extension has been removed from the job identifier

此外,还创建了 .com 文件,并创建了一个空的 .log 文件。但随后什么也没有发生,abaqus pre 和 standard 也没有启动。

尝试使用 subprocess.call() 启动其他软件效果很好,例如启动 Matlab;只有 Abaqus 没有按预期启动。有人知道为什么它不能与 Abaqus 一起工作吗?

顺便说一句,还有其他可能性,例如subprocess.call(['/opt/Abaqus/Commands/abq6132 job=test.inp'], shell=True) 给出相同的结果。

最佳答案

最后我在以下地方找到了解决这个问题的办法:

Abaqus-Python misbehavior

要解决这个问题,需要去掉某个环境变量:

    import os
    try:
        os.environ.pop('PYTHONIOENCODING')
    except KeyError:
        pass
    subprocess.call(['/opt/Abaqus/Commands/abq6132 job=test.inp'], shell=True)

关于python - 从 python 启动 Abaqus 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41681409/

相关文章:

python-3.x - 如何使用具有管理员权限的子进程停止和启动 Windows 服务?

python - 超时时杀死或终止子进程?

visual-studio-2013 - 如何更改 Abaqus 求解器可执行文件名

python - Abaqus python 脚本 - 在 .mdb 中创建的元素集无法在 .odb 中访问

python - 太多值无法解包

python - Pandas:将数据 append 到 pandas 数据框中的问题

python - 为什么添加 scipy.sparse.dia_matrix 实例这么慢?

python: pysal对权重函数的解释

python - 声明子类而不传递 self

python - 从python中的子进程返回一个变量值