【问题标题】:Launch Abaqus job from python从 python 启动 Abaqus 作业
【发布时间】:2017-05-31 14:06:34
【问题描述】:

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

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

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

Abaqus 警告:.inp 或 .sim 扩展名已从作业标识符中删除

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

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

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

【问题讨论】:

  • 你只想要job=test
  • 这并没有改变任何东西......无论如何,与此同时,我发现它在从命令窗口启动时工作,但从 Eclipse 内部启动时却没有
  • 可能问题类似于:stackoverflow.com/questions/3460130/… ...(IDE中的路径变量)但是,我仍然不知道如何解决问题
  • 删除inp 应该会取消有关需要删除它的警告!我想这并不是真正的核心问题。

标签: python subprocess abaqus


【解决方案1】:

最后我找到了解决这个问题的方法:

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 向 Abaqus 发出暂停和恢复命令。您的解决方案完全解决了它!
猜你喜欢
  • 2021-01-20
  • 2023-01-23
  • 1970-01-01
  • 2012-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
相关资源
最近更新 更多