计算结果如下图所示
以上就以一个简单的分析,讲解,对于大型复杂的分析避免浪费时间 重启动分析是个不错选择。
最近碰到一个计算时间比较长的Explicit模型,分析步4个,每个分析步计算时间都超过8小时,由于用笔记本计算,下班就得中断计算关机走人,这样就不得不考虑重启动的问题。
经过这几天的摸索,发现对于这种计算时间长的Explicit模型,要想是实现意外中断以后继续计算,最好的方法就是用recover。
方法其实很简单:
要想在中断以后实现无缝连接(接着上一个increment继续计算),必须在计算之前做一个Restart的设定,CAE:step模块,output->restart
requests->intervals,默认为1,将这个数据改大一点,我改为100,与field output的inteval对应起来。有了这个前提,不管什么时候中断,只需把该job type改为recover,然后提交就会接着中断的部分继续算。再中断再提交就行了,不需要做任何改动,直至计算完成。 Command命令:abaqus job=jobname recover int。 解释:
restart前提条件的设定,Explicit默认的会写出各种重启动需要的文件,只不过默认的interval=1,就是说只有在每个分析步的开始和结尾才有重启动点,这样不能实现哪中断哪重启。要实现无缝连接,理论上这个数据越大越好,只要不超过一个分析步increment总数。但是大了会增加数据写入量,也没必要。这个前提设定和restart一样。 好处:
只需要在第一次重启动的时候改job type为recover,提交就ok了,当然要记得删除lck文件。后面中断了就只需提交就行了,不需做任何改动,方便。而且odb,sta等文件都是在原文件的基础上续写,不存在合并odb文件的问题。用这个方法,甚至可以人为中断后再接着计算。
一点体会,供参考。
1、首先需要重启动的case计算时有设置重启动输出,即inp中以下类似代码关键有write:
*Restart, write, number interval=8, time marks=YES
2、查看计算结果后缀为.sta的文件,观察最后restart number数值,如Restart Number 8 at 3.0600;
3、合并原计算结果文件,jobname为断电前使用的文件名(需先删除原文件后缀为.lck的文件) abq6101 job=jobname convert=all int
4、设置重启动读入值,interval等于最后restart number减去1,例 *RESTART, READ, STEP=4, END STEP, INTERVAL=7
5、设置重启动inp文件,新建一个AMPLITUDE文件,时间设置为计算总时间,
*Amplitude, name=Amp-3,TIME=total time
3.0, 0., 3.06, 1.
6、改变相应边界条件; 断电前使用
*Boundary, amplitude=Amp-2, type=VELOCITY
改为
*Boundary, amplitude=Amp-3, type=VELOCITY
7、分析计算,restartname为新建的重启动inp文件名称,jobname为断电前使用的文件名 abq6101
job=restartname
oldjob=jobname
cpus=12
int
mp_mode=threads double 注意:
默认使用的AMPLITUDE中time=step time,跟AMPLITUDE相关的边界条件都需要改变;
相关推荐: