命令行提交 Abaqus 任务
Abaqus 早期好像是只有通过命令行提交任务的。即使到了现在,很多人还是喜欢直接通过命令行操作。而且有时候需要用命令行提交 inp 文件进行计算还可能是因为少数 keywords 不为 Abaqus/CAE 识别。
以下假设将运行的 inp 是 jobname1.inp jobname2.inp 等等,也假设这些 inp 是可以运行的。
1. 提交方式
在 WINDOWS 中点击 [开始] → [程序] → [ABAQUS 6.x] → [ABAQUS Command],然后在 DOS 窗口中输入:
提交任务:(int 就是 interactive)
abaqus job=jobname1 int
杀死任务:(一般不可恢复)
abaqus terminate job=jobname1 int
任务暂停:(可恢复)
abaqus suspend job=jobname1 int
恢复运算:(从上次分析结束的地方重新开始分析)
abaqus resume job=jobname1 int
杀死任务不可恢复,但是如果有 restart 文件的话,可以 restart 继续计算。
2. 几点说明
Old job files exist. Overwrite?<y/n> 问是否可以覆盖。
如果是文件重名,应该键入n;把现有 inp 改名,重新提交,以免覆盖以前的文件。如果可以覆盖,键入 y。
abaqus 不是内部命令,也不算可以运行的程序或者批处理文件。
解决方案可见《常见问题2.0》:假如你的 abaqus.bat 是在 d:\ABAQUS\Commands 下面,在dos下输入一下命令:
path=%path%;d:\ABAQUS\Commands
想多 cpu 运算(比如 4cpus):
提交任务:
abaqus job=jobname1 int
改为提交任务:
abaqus job=jobname1 cpus=4 int
有些显式运算,incretment 太多的话(比如多于 30w ),建议用双精度提交任务:
abaqus job=jobname1 int
改为提交任务:
abaqus job=jobname1 double int
但是谁都知道双精度比单精度费时,所以没有如果必要的话,就不需要加这个了。
如果不加int会怎么样呢?
提交任务:
abaqus job=jobname1 int
改为提交任务:
abaqus job=jobname1
后面加了 int,dos 窗口会显示任务进行到哪个阶段。比如是 pre.exe,还是 standard explicit.exe,还是conpleted,都会给你提示。不加 int 就没有这些提示了。
如何看任务进程:
一般就是看 .sta 文件。老手推荐 UltraEditor,能自动更新文件内容,可以试试。
Abaqus warning: The .inp extension has been removed from the job identifirer.
出这个一般是因为有的新手提交 job 的时候添加了 inp 后缀,如
abaqus job=jobname.inp
去掉 inp 后缀即可。即使不去掉,软件也自动忽略这个后缀,这个只是告示说明,不影响计算。
3. 批处理
如果有大批的 inp 文件需要提交,如何节省时间让它们自动连续运算? 一定要看garethz斑竹的精华帖:[原创总结]Windows 系统下实现 input 文件批处理 。
这里还介绍了算完自动关机的命令,我个人非常喜欢,向大家推荐。
garethz斑竹刚刚针对新版本推出新的批处理工具:http://forum.simwe.com/thread-894456-1-1.html,太赞了。
批处理也可以这么处理:建立一个记事本文件 a.txt,打开键入以下几行:
abaqus job=jobname1 intabaqus job=jobname2 intabaqus job=jobname3 intabaqus job=jobname4 int
保存并关闭,右键属性将后缀改为 .bat,双击即可运行。
转自:cmd提交inp文件小结(from lsimwe)。其中一些链接因为年久失修,已清理掉了。©
本文发表于水景一页。永久链接:
<https://cnzhx.net/fe/2015/02/08/cli-submit-abaqus-job/>