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批处理技巧!!!
|