通过命令行在 Abaqus 中运行 Python 脚本的两种方式

有时候只能在没有图形界面的情况下运行 Abaqus,比如在某些高性能计算集群中,又或者仅仅是为了能够通过 Python 批量运行模拟并获取结果等。

初步了解的结果是,可以有两种方式让 Abaqus 运行 Python 脚本。

一种是直接运行,但是加上 python 参数。指令格式,

<abaqus> python <script.py> param1 param2 ...

其中 <abaqus> 指的是 Abaqus 可执行文件(有时候可能需要包含路径),<script.py> 是需要运行的脚本。下同。

后面的 param1 param2 等是需要传递给 <script.py> 的参数。当然脚本中需要定义有函数(function)来接收这些参数。

示例

<abaqus> python <script.py> param1 param2 ...

<script.py> 需要通过 sys 传递参数(这里给了 2 个参数),

import sys

def myFunction(x, y):

    # myFunction code

    return RESULTS


if __name__ == "__main__":  # 获取从命令行传递的参数
   x = sys.argv[1]
   y = sys.argv[2]

   returnedVal = myFunction(x, y)  # 调用前面定义的 myFunction 并使用获取的参数

   print (returnedVal)

另一种是通过无图形界面的 CAE。此种方式的 Abaqus 运行起来会加载 CAE 环境的所有必须组件,只是并不显示到显示终端(显示器)上。指令格式为,

<abaqus> cae noGUI=<script.py>

不过有了前一种方法,后一种还真是比较少用到。有些环境中可能根本不提供运行 CAE 需要的全部组件。

至于通过 Python 操作 cae 以及 odb 的话,就需要参考 Abaqus Scripting User’s Guide 了。©

本文发表于水景一页。永久链接:<https://cnzhx.net/fe/2016/10/27/run-python-script-in-abaqus-from-cli/>。转载请保留此信息及相应链接。

雁过留声,人过留名

电子邮件地址不会被公开。 必填项已用*标注

特别提示:与当前文章主题无关的讨论相关但需要较多讨论求助信息请发布到水景一页讨论区的相应版块,谢谢您的理解与合作!请参考本站互助指南