Windows 系统中生成 ABAQUS 批处理计算文件

提交命令方式

  • 方式一

在 Windows 中点击[开始]→[程序]→[ABAQUS 6.x]→[ABAQUS Command],然后在 Dos 窗口中输入命令提交

  • 方式二

将命令写入 bat 文件,双击提交

  • 方式三

Win+R–>cmd,然后在 Dos 窗口中输入命令提交

对于批处理文件,最好采用方式二,即生成 bat 文件。

**注意:**三种方式都需要将路径“C:\ABAQUS\Commands”加入环境变量,该路径是 abaqus.bat 或 abq201x.bat 所在的文件夹

提交任务命令格式

  • 在 bat 文件中写入以下代码,双击即可提交作业。常用命令格式如下:
1
2
3
4
5
call abaqus job=jobname1 cpus=5 int ask_delete=OFF
call abaqus job=jobname2 cpus=5 int ask_delete=OFF
call abaqus job=jobname3 cpus=5 int ask_delete=OFF
call abaqus job=jobname4 cpus=5 int ask_delete=OFF
...
  • abaqus:根据安装版本不同而变化,常见的有 abq6144、abq6143、abaqus 等,具体是什么可以在 C:\ABAQUS\Commands 文件夹中查看;一台电脑上装有多个版本时,需要注意改这里。如 ABAQUS2016 与 ABAQUS6.14.4 同时存在,需要调用 ABAQUS6.14.4 进行计算时,提交命令为:
1
2
3
4
5
call abq6144 job=jobname1 cpus=5 user=xxx.obj int ask_delete=OFF
call abq6144 job=jobname2 cpus=5 user=xxx.obj int ask_delete=OFF
call abq6144 job=jobname3 cpus=5 user=xxx.obj int ask_delete=OFF
call abq6144 job=jobname4 cpus=5 user=xxx.obj int ask_delete=OFF
...
  • jobname:即需要计算的 inp 的文件名,注意后面不能加后缀名.inp,会报错

  • cpus:用于计算的处理个数

  • user: 调用子程序的名称,如果不调用子程序,去掉user命令即可

  • int:这里的 int 其实就是计算执行中的命令参数 interactive;在加上 int 后,只有在当前计算完成后,才会转入下一个模型的计算

  • ask_delete=OFF:表示允许覆盖写入,如果不加这句,需要手动删除旧文件才可以分析

  • 有些显式运算,incretment 太多的话(比如多于 30w),建议用双精度提交任务,提交命令为:

1
2
3
4
5
call abaqus job=jobname1 cpus=5 double int ask_delete=OFF
call abaqus job=jobname2 cpus=5 double int ask_delete=OFF
call abaqus job=jobname3 cpus=5 double int ask_delete=OFF
call abaqus job=jobname4 cpus=5 double int ask_delete=OFF
...

其他常用命令

  • 杀死、暂停、恢复任务

在dos 窗口输入以下代码可以杀死、暂停、恢复当前任务

1
2
3
4
5
6
7
8
杀死任务:(一般不可恢复)
abaqus terminate job=jobname1 int

任务暂停:(可恢复)
abaqus suspend job=jobname1 int

恢复运算:(从上次分析结束的地方重新开始分析)
abaqus resume job=jobname1 int
  • 计算机自动关机

在 dos 命令行关闭计算机的命令是:

1
2
3
4
5
6
7
shutdown –s –f –t 60

-s 关闭本地计算机。

-f 强制关闭计算机。

-t xx将用于系统关闭的定时器设置为xx 秒。上面的设置是60 秒。

需要说明的两点是,-f 参数是用在计算机锁定的时候关闭计算机,如果只使用-s 在锁定的时候就不能自动关闭计算机了。另外一点是,如果你看到关机的提示,但又不想马上关闭计算机的话,那只有进入命令行窗口,输入 shutdown –a 解除关闭命令。

查看任务进程

  • 一般就是看 .sta 文件,推荐 UltraEditor,能自动更新文件内容

Python 生成 bat 文件代码

以下代码可以自动获取指定目录下的所有 inp 文件,并生成批处理 bat 文件。此外,该 bat 文件会记录每个任务计算开始的时间和计算结束的时间,可用于分析计算成本。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import os
import time

# 获取指定目录下所有inp后缀名的文件
def file_name(file_dir):
File_Name = []
for files in os.listdir(file_dir):
if os.path.splitext(files)[1] == '.inp':
# File_Name.append(files) # 后缀名一起保存
File_Name.append(os.path.splitext(files)[0]) # 去掉后缀名
return File_Name


path = input("请输入存放inp文件的路径:")
cpus = input("请输入要使用的CPU数量:")
abaqusVertion = input("请输入调用的ABAQUS版本(例如abaqus、abq6144、abq6143等):")

os.chdir(path)
nowpath = os.getcwd()
inp_file_name = file_name(nowpath)
nowtime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
jobnumber = len(inp_file_name)

headinformation = """echo off
echo.
echo.
echo ------This file is made by Python
echo ------This software is programmed by He Xiaoteng
echo ------This file is made at {0}
echo ------Total {1} jobs in current directory {2}
echo ------Job begins!
echo.
echo.
""".format(nowtime, jobnumber, nowpath)



solveinformation = """
echo ------------------------------------Job{a} ------------------------------------ Job{a}
echo ----------Start time of {b}---------- >>{d}.txt
echo %date% >>{d}.txt
echo %time% >>{d}.txt
echo.
call {e} job={b} cpus={c} interactive ask_delete=OFF
echo.
echo.
echo ----------End time of {b}---------- >>{d}.txt
echo %date% >>{d}.txt
echo %time% >>{d}.txt
"""


endinformation = """
echo off
echo.
echo.
echo ------Job ends! Thank you for using ABAQUS-Bat-HXT
echo ------Any problems please Call me(公众号:何小藤)
"""

fp = open(path + '\\ABAQUS-Bat-HXT.bat', mode='w', encoding='ANSI')
fp.write(headinformation)
for job in range(1, jobnumber + 1):
fp.write(solveinformation.format(a=job, b=inp_file_name[job - 1], c=cpus,d=inp_file_name[job - 1]+'_AanlyseTime',e=abaqusVertion))
fp.write(endinformation)
fp.close()

结语

将以上代码打包成了 exe 文件,可以在公众号何小藤并在后台回复
bat
获取下载链接(免费无套路),链接中包括 Python 安装包、UltraEditor、 Python 生成 bat 文件代码和可执行 exe 文件;也可以自行安装 Python,直接运行即可。