找回密码
 注册
Simdroid-非首页
查看: 864|回复: 13

[心得交流] Abaqus批处理步骤精讲

[复制链接]
发表于 2014-6-20 10:03:57 | 显示全部楼层 |阅读模式 来自 陕西
Abaqus批处理步骤精讲
如何实现input文件处理,一直是广大ABAQUS使用者关心的问题。在ABAQUS软件中好像并没有提供一个界面来实现这个功能,所以我们只能通过其它方式去实现,今天我们讨论一种使用dos的方式实现,以后再讨论python实现方法。现在我们开始!
版本说明:如您的电脑只安装了一个abaqus的版本,那么就和下面的实例都完全相同;如果您的电脑安装了两个及以上的abaqus版本,那么请将实例中的abaqus替换成您需要调用的版本,例如abaqus6.11.1、abqus6.12.1等!
问题一、怎么实现批处理
首先,新建一个记事本文件,将后缀改为bat,如run.bat,在里面输入如下内容,然后保存文件,双击bat文件既可以运行计算。
call abaqusjob=jobname1
call abaqusjob=jobname2
说明:这种方式创建的批处理文件,是同时计算所列出来的每项任务,一般不是我们想要的结果,我们想要的应该是计算完第一个后计算第二个,依次计算下去,那么就要使用下面的方法了。
问题二、怎么实现交互式批处理
call abaqusjob=jobname1 int
call abaqusjob=jobname2 int
    说明:这种方式创建的批处理文件每条语句后面带有int(interactive),意为交互式的,这样计算机会计算完第一个job后才开始计算第二个job,达到我们的目的了。但新的问题又来了,我们很多情况下需要调用多个cpu进行计算,那么这时应该怎么办呢?请看下面。
问题三、怎么实现多cpu计算
call abaqusjob=jobname1 cpus=20 int
call abaqusjob=jobname2 cpus=20 int
说明:加上cpus这条语句后,系统会调用指定的cpu的个数进行计算,节约计算时间。
问题四、怎么保留批处理的dos框
call abaqusjob=jobname1 cpus=20 int
call abaqusjob=jobname2 cpus=20 int
    pause
    说明:加上最后一条语句后就算出现错误dos黑框也不会一闪而过自动关掉,有时可以从这里快速知道问题出在哪里,从而进行必要的修改。
问题五、怎么删除文件
call abaqus job=jobname1cpus=20 int
del jobname1.stt    “注释:删除第一个job的stt文件”
call abaqus job=jobname2cpus=20 int
del jobname2.dat    “注释:删除第二个job的dat文件”
    说明:有时生成的一些文件很大,会占用大量硬盘空间,那么就需要在计算完成时使用上面的语句,删除不需要的文件,以便为下一个计算多一些硬盘空间。
问题六、如何restart上一个文件
call abaqusjob=jobname1int
call abaqusjob=jobname2 oldjob=jobname1 int
call abaqusjob=jobname3 oldjob=jobname2 int
说明:有时为节约计算时间,设置重启动文件,那么批处理文件里面就可以像上面的写法,在计算第二个job的时候调用第一个job。当然使用这个的前提是已经确保计算时设置了正确的重启动,并且重启动需要的文件都在。
问题七、计算完成后怎么自动关机
call abaqusjob=jobname1 cpus=20 int
call abaqusjob=jobname2 cpus=20 int
    shutdown–s –f –t 1   “1秒后自动强制关机”
    说明:上面的最后一条语句会在计算完成时执行,强制关闭计算机,如果不指定f的话,有可能在计算机锁定状态下不能关机,因此还是将f加上。
问题八、其它几个不太常用的命令
    callabaqus terminate job=jobname1 int“杀死任务,一般不可恢复”
    call abaqus suspend job=jobname1 int“暂停任务,可恢复”
    call abaqus resume job=jobname1 int   “从上次结束的地方恢复计算”
问题九、abaqus不是内部命令,不能批处理提交
    解决方案:假如你的abaqus.bat在D:\SIMULIA\Abaqus\Commands下,那么在dos下输入命令path=%path%;D:\SIMULIA\Abaqus\Commands即可。
问题十、显式计算怎么修改计算精度
    解决方案:将批处理的调用语句改为call abaqus job=jobname1 double int,则计算时采用双精度,但这比较费时,没有必要的话,就不要加了。
问题十一、怎么查看当前计算状态
    解决方案:根据个人经验,一般通过查看sta文件、dat文件、msg文件就可以把握当前任务的运行状态。
以上为本人亲测完全可以使用,如有不全或不妥之处,还请各位齐心协力,完善abaqus批处理技巧!!!

评分

1

查看全部评分

发表于 2014-7-8 11:52:12 | 显示全部楼层 来自 四川成都
本帖最后由 hou2012 于 2014-7-8 11:53 编辑

楼主总结的不错,和garethz斑竹都是大牛期,待楼主的python方式实现批处理出炉
回复 不支持

使用道具 举报

发表于 2014-9-4 08:50:25 | 显示全部楼层 来自 辽宁大连
楼主,您好,想问一下,批处理命令里面能加abaqus的安装路径吗?会不会有的机器不能自己找到abaqus的求解器
回复 不支持

使用道具 举报

发表于 2014-9-4 09:13:20 | 显示全部楼层 来自 广东深圳
楼主,有关于abaqus二次开发的一些例子么?能否共享一些
回复 不支持

使用道具 举报

发表于 2014-9-4 23:23:14 | 显示全部楼层 来自 陕西西安
十分给力啊,又学到了新东西
回复 不支持

使用道具 举报

发表于 2014-9-5 09:53:14 | 显示全部楼层 来自 陕西西安
有个软件  名为ABAQUS one by one, 在论坛可以找到,能实现批处理
回复 不支持

使用道具 举报

发表于 2014-9-6 20:49:42 | 显示全部楼层 来自 黑龙江哈尔滨
感谢楼主,
保留命令行提示框(运行任务后暂停,保留窗口)命令:
@echo off
pause
新手查错很常用的,很实用
回复 不支持

使用道具 举报

发表于 2014-9-7 06:28:02 | 显示全部楼层 来自 上海宝山区
楼主循环渐进的讲解,赞一个。
回复 不支持

使用道具 举报

发表于 2014-9-7 06:42:58 | 显示全部楼层 来自 山东济南
谢谢提供分享
回复 不支持

使用道具 举报

发表于 2014-9-28 20:46:42 | 显示全部楼层 来自 北京东城
准备学习ABAQUS,很受启发
回复 不支持

使用道具 举报

发表于 2017-5-26 16:41:35 | 显示全部楼层 来自 中国
请问楼主 ,在批处理文件中怎么设置添加子程序??
回复 不支持

使用道具 举报

发表于 2018-5-9 08:15:46 | 显示全部楼层 来自 辽宁沈阳
谢谢楼主的分享
回复 不支持

使用道具 举报

发表于 2021-1-6 19:11:44 | 显示全部楼层 来自 北京科技大学
总结的真好
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-25 06:58 , Processed in 0.043544 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表