
使用达索Abaqus求解器进行仿真计算时,常常需要对一个序列的INP文件进行逐个提交,传统的做法往往是手动写一个批处理文件,匹配其中的文件名来实现。这里提供另一个解法,采用拖放的形式让批处理文件自行遍历文件夹中的所有INP文件,省却每次修改文件名的功夫。

还是新建一个文本文档,在其中写入以下内容后保存,修改扩展名为BAT或者CMD后即可拖放文件夹至其上进行计算,如果拖放的是单文件的话则会计算该文件所在目录下的所有INP文件。

隐式计算:
@echo off
pushd %~n1
for %%i in (*.inp) do (
cmd/c abaqus job=%%i cpus=6 gpus=1 mp_mode=thread int ask_delete=OFF
) 该批处理文件将遍历拖放上来文件夹中的所有INP文件
其中CPUS与GPUS后为数字,mp_mode分为mpi与thread两种,ask_delete设为OFF可以避免手动应答是否覆盖既往计算结果的问题。

显式计算:
@echo off
pushd %~n1
for %%i in (*.inp) do (
cmd/c abaqus job=%%i cpus=4 int double ask_delete=OFF
) 显式计算无法使用GPU加速因此禁止出现GPUS参数,且由于显式计算的特性在大型分析中控制误差需要使用双精度进行计算,加入double参数。

参考信息:

Abaqus 2017参考文献:
https://abaqus-docs.mit.edu/2017/English/SIMACAEEXCRefMap/simaexc-c-analysisproc.htm
Abaqus 6.14参考文献:
http://wufengyun.com:888/v6.14/books/usb/default.htm?startat=pt01ch03s02abx02.html