基于python或者.bat实现abaqus任务批处理

比较简单的一块内容,结合之前python脚本涉及的编程基础,在此插入一段批处理的简单总结。

如题所述,一般有两种常用方法,当然很多其它的处理也是可以基于此进行延伸。首先是通过python编程的批处理实现,可以按照下面的代码编写:

from abaqus import *
from abaqusConstants import *
import job
import winsound

jobname=['Job-1','Job-2','Job-3']
for subjob in jobname:
    mdb.JobFromInputFile(name=subjob,inputFileName=subjob+'.inp',
        numCpus=2,numDomains=2)
    mdb.jobs[subjob].submit()
    mdb.jobs[subjob].waitForCompletion()
    winsound.Beep(1000,1000)

简单的解释下,首先导入所需的模块备用,然后通过for循环遍历使用submit()方法提交所有的任务,其中涉及定义任务名称,cpu和domain数量;waitForCompletion()用于等待计算完成;winsound.Beep()定义每完成一个计算任务做一次提醒,这里可以根据个人情况自由发挥。

通过Abaqus Command提交运行,输入abaqus cae nogui=xxx.py即可,运行结果如图1所示,每完成一个任务可以听到电脑发出一声提醒。

图1 python脚本运行结果

当然也可以直接通过abaqus界面运行run script运行*.py文件,但是这样操作的便利性就没有那么强了,图2是运行结果。

图2 GUI Run Script结果

除了使用python之外,也可以利用Windows的批处理文件(*.bat)执行。编写内容如下:

@echo off
call abq6142 job=Job-1 cpus=2 interactive
call abq6142 job=Job-2 cpus=2 interactive
call abq6142 job=Job-3 cpus=2 interactive
pause

直接将上述文件内容命名xxx.bat,然后执行即可。基本意思很容易看懂,需要输入abaqus的版本,job名称以及cpu参与计算数,interactive用于自动进行下一项任务。双击文件执行结果如图3所示。

图3 Windows批处理文件运行结果

本文是针对批处理计算任务的简单方法介绍,对于熟悉计算机编程和测试的朋友这些内容应该是比得心应手的,咱们仿真工程师能够掌握基本的使用就OK。以上内容觉得有收获的欢迎分享,给作者些许动力和支持~~

发表评论

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