前几天遇到一件糟心的事,在工作站上提交了一个模拟运算,预计30小时能够算好。
没想到的是,计算了大约25小时马上就能看到结果的时候停电了!
虽然每隔1000步保存了一次,但是没有计算完成,数据不完整,只能重开始,浪费了一整天的时间。
其实这种情况是完全可以避免的,如果随时保存restart文件,也能够在断电或者意外中止时,能够重启计算。
lammps提供了restart、write_restart命令保存模拟文件、read_restart命令读取模拟文件,利用好这三个命令能够最大程度地避免因断电、死机等意外造成的影响。
对于比较大的体系,驰豫时间也比较长,在模型驰豫之后保存restart文件,在后续的模拟过程中(比如不同应变速率的拉伸模拟),直接读取rstart文件进行拉伸即可,不需要再进行驰豫,提高了模拟效率。
1.基本原理
restart、write_restart命令能够把当前模拟的信息保存到一个二进制文件中,如原子的速度、体系的温度、原子的坐标等,下一次读取这个二进制文件可以延续之前的模拟过程继续进行模拟运算。
比如在第1000步保存了restart.1000文件,在运行到第1100步时断电,重新开机之后就可以直接读取restart.1000文件继续运算,结果和正常运算几乎没有差别。<