ABAQUS批量提交任务的两种方法

相信大家在研究过程中都会有这个需求,进行大量工况的批量运算时,怎么让其自动的一个一个进行提交,而无需手动提交?

这里介绍两种方法,两种方法各有优劣,可以根据自己实际情况进行选择:

  • Bat文件提交方法;

  • Python提交方法。

Bat文件

Abaqus command中有一些基本的程序调取命令,经常使用服务器的小伙伴估计都不陌生。在帮助文档《Abaqus Analysis User's Guide》的3.2.2节中详细介绍了inp文件提交过程中的关键字用法,如下图所示:

ABAQUS批量提交任务的两种方法的图1

这里给出一个最简单的inp文件提交格式如下:

abaqus job=job-name int

其中int 为 interactive的缩写,帮助文档解释:在运行过程中反馈进程,隐式求解输出log文件;显式求解则输出status和log文件。Interactive还有一个重要功能是:让任务一个一个提交,而不是一次性提交运算

ABAQUS批量提交任务的两种方法的图2

为了批量提交计算,我们可以将任务提交语句写入bat文本文件,双击bat文件即可提交运算;但经常会由于输入格式错误而无法实现预期效果。

错误示例:

ABAQUS批量提交任务的两种方法的图3

这也是网上经常遇到的错误答案:使用call作为开始关键字,或没有采用int关键字。运行后会发现多个任务同时提交,且仅前几个任务被提交;

正确示例:

ABAQUS批量提交任务的两种方法的图4

cmd/c为开始,并包含int或interactive关键字,此时任务可以顺序提交。

【注意1】如果需要多cpu提交,将每行内容增加cpus=4,如下:

ABAQUS批量提交任务的两种方法的图5

【注意2】bat文件和inp文件放置到相同目录下,则可以采用相对路径引用,如果非相同目录,job文件则需要采用绝对路径;

【注意3】提前将原有计算结果删除,否则将提示“old job files exsit. overwrite?<y/n>”,为了避免此类手动操作,请先将原有计算结果文件删除。

Python提交方法

这里主要讲解ABAQUS/CAE界面下,使用Python代码批量提交任务,代码量很少,正文内容仅十行,可以实现:Job模块下任务状态为None时,顺序批量的提交计算,并统计每个任务所耗费的时间

ABAQUS批量提交任务的两种方法的图6

代码运行方式:

方式1:菜单栏File->Run Script...

方式2:在底部命令输入窗口中粘帖上述代码

ABAQUS批量提交任务的两种方法的图7

来源:CAE爱联盟

作者:陈佳敏cn 

(3条)
默认 最新
学习了!
评论 点赞
学习了
评论 点赞

查看更多评论 >

点赞 4 评论 3 收藏 5
关注