首页/文章/ 详情

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

1年前浏览2611

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

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

  • Bat文件提交方法;

  • Python提交方法。


Bat文件


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

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

abaqus job=job-name int

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


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

错误示例:

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


正确示例:

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


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

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

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


Python提交方法


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


代码运行方式:

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

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



来源:易木木响叮当
Abaqus
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-07-17
最近编辑:1年前
易木木响叮当
硕士 有限元爱好者
获赞 224粉丝 284文章 355课程 2
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈