当前位置: 服务支持 >  技术文档 >  Linux下批量提交Abaqus作业

Linux下批量提交Abaqus作业

阅读数 70
点赞 39
copyright 著作权
article_banner

实验室新的服务器组开始使用Scientific Linux release 7.9 (Nitrogen)作为操作系统,传说中Abaqus求解器在Linux下资源利用效率更高,不过对我们这坨从小学开始学微软的老用户就有些不友好了……幸好带GUI的Linux用起来与Windows差异不大,但之前在Windows下用来批量提交的那坨脚本显然就没法用了,不得已开始用Bash写新的批处理,好消息是代码改动并不多。

在Linux似乎拖放提交这种操作是不简单了,考虑下来主要采用两种方法进行批量提交,同样还是写文本文档将下方代码写入后保存sh格式文件。

cut-off

方案一:终端调用该sh脚本来进行批量提交

#!/bin/bash

export PATH=/var/DassaultSystemes/SIMULIA/Commands/:$PATH
pushd $1
for file in `ls $1/*.inp`;
do
abaqus job=`basename $file` cpus=6 gpus=1 mp_mode=thread int ask_delete=OFF;
done
  • 保存该文本文档为sh脚本文件,在终端输入 sh+该文件名+INP文件所在的目录地址 即可进行计算,例如脚本文件名为“批量提交.sh”,在终端输入“sh 批量提交.sh /home/Spectrum/Downloads”则将会遍历计算“/home/Spectrum/Downloads”下的所有INP文件
  • 第三行“PATH=”到“:$PATH”之间为Abaqus Command的目录位置,这一行命令是用于添加临时PATH来调用Abaqus的
  • 模版代码中的计算配置为隐式计算,如运行显示计算可按照上上期作适当修改,如涉及联合仿真则可参照上期作适当修改

cut-off

方案二:双击sh脚本提交该脚本所在文件夹中的所有INP文件

#!/bin/bash

export PATH=/var/DassaultSystemes/SIMULIA/Commands/:$PATH
pasway=`dirname $0`
pushd $pasway
for file in `ls $pasway/*.inp`;
do
abaqus job=`basename $file` cpus=6 gpus=1 mp_mode=thread int ask_delete=OFF;
done
echo 计算结束,按任意键退出
read -n 1
  • 保存该文本文档为sh脚本文件,放置在INP文件所在的文件夹中,双击运行将遍历计算此文件夹中所有INP文件
  • 第三行“PATH=”到“:$PATH”之间为Abaqus Command的目录位置,这一行命令是用于添加临时PATH来调用Abaqus的
  • 同样这是隐式计算配置,运行显示计算可按照上上期作适当修改、涉及联合仿真则可参照上期作适当修改

cut-off

补充:双击sh脚本提交该脚本所在目录下所有子文件夹中的INP文件

#!/bin/bash

export PATH=/var/DassaultSystemes/SIMULIA/Commands/:$PATH
pasway=`dirname $0`
cd $pasway
for dire in `ls -d */`;
do
cd $dire
for file in `ls *.inp`;
do
abaqus job=`basename $file` cpus=6 gpus=1 mp_mode=thread int ask_delete=OFF;
done
cd ..
done
echo 计算结束,按任意键退出
read -n 1
  • 同样保存为sh文件,双击运行将遍历计算此脚本所在目录子文件夹中的所有INP文件

也可以通过简单修改将这个代码匹配联合仿真:

#!/bin/bash

export PATH=/var/DassaultSystemes/SIMULIA/Commands/:$PATH
pasway=`dirname $0`
cd $pasway
for dire in `ls -d */`;
do
cd $dire
abaqus cosimulation cosimjob=Co-execution-1 job=Co-execution-1-Project_01,Co-execution-1-CSF-2 configure=Co-execution-1_config.xml cpus=6,6 double=both,off int ask_delete=OFF;
cd ..
done
echo 计算结束,按任意键退出
read -n 1

补充信息:

  • 突然想起来Linux下脚本一定要先赋予“可执行”属性,否则将不可以运行,方法是使用“chown +x 文件名”来赋予可执行性,在图形界面下属性→权限中也有该设置
  • 此外linux下通过命令行提交显式计算并不会显示计算情况,不过可以通过在脚本中加入tail -f命令来让终端实时显示sta文件的内容,这样可以实现类似的效果,命令用法示例:“tail -f ***.sta”
  • 如果Linux下运行abaqus cae出现大量图像方面的报错,可以添加-mesa来解决显卡不支持问题,用法示例:abaqus cae -mesa

参考资料同前两次文章。

相关文章
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空