有时候只能在没有图形界面的情况下运行 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/>。转载请保留此信息及相应链接。