LIGGGHTS中的restart命令

1.之前介绍了CFDEM计算中断后怎样继续计算,以及CFDEM中的writeLiggghtsProps命令,但是还是有一定的问题:

在“CFDEM计算中断后怎样继续计算”方法中,出现的问题是DEM保存的时间步长似乎是与CFD保存的writeInterval并不一致。

在writeLiggghtsProps中出现的问题是,修改了src下的源文件之后,在集群里面计算时,发现并没有DEM的.restart文件写入。

2.在CFDEM的官网论坛上,有人讨论过这件事,Alexander Podlozhnyuk提出了直接在in.liggghts文件中使用restart命令来保存.restart文件的方法:

Alexander Podlozhnyuk特别指出restart命令必须用在“run” 有关的命令之前:This must appear before the first "run" command.

3.关于restart命令,官网解释在这个链接上

另外,我感觉我们常用到的restart命令主要也就下面两种:

1 restart 200 ../DEM/post/liggghts.restart
2 restart 200 ../DEM/post/liggghts.restart.1 ../DEM/post/liggghts.restart.2

第一种:每隔200个DEM时间步长保存一次,保存路径为case/DEM/post/,不覆盖之前的.restart文件,即在case/DEM/post/下有liggghts.restart.200、liggghts.restart.400、liggghts.restart.600、、、等文件。还可以和通配符"*"一起用:比如 restart 200 ../DEM/post/liggghts.*.restart ,那么保存的数据就会使liggghts.200.restart、liggghts.400.restart、liggghts.600.restart、、、等等。

第二种:每隔200个DEM时间步长保存一次,保存路径为case/DEM/post/,需要保存liggghts.restart.1和liggghts.restart.2两个文件,会覆盖之前的.restart文件,即在case/DEM/post/下只有这两个文件。根据推测的话,这两个文件应该是距离CFDEM计算中断之前所能保存的最近的时间步长的.restart文件,什么意思呢?就是如果CFDEM在第LIGGGHTS的950步的时候计算中断的话,那么这两个.restart文件中保存的数据分别为第600步和第800的数据。

4.这样,我们可以不必理会case/CFD/constant/liggghtsCommand中的内容了,而是在第一次计算之前就直接使用in.liggghts中的restart命令,并尽量将restart中的保存间隔调整至与case/CFD/system/controlDict中的writeInterval相一致。这样中断计算后,可以按照如下操作:

4.1.在caseCFD/路径中,将已经计算并保存的流场数据进行整合,打开终端并输入:

reconstructPar -noLagrangian

4.2.在case/CFD/system/controlDict文件夹中的startTime改为继续计算的时间,比如:

startTime       0.5;

4.3.在case/DEM/in.liggghts_run文件中做如下修改:

4.3.1.注释掉:

#region        domain block -3.4 2.1 -0.1 0.1 -0.1 0.1 units box
#create_box    2 domain 

4.3.2.在后面添加:

read_restart    ../DEM/post/liggghts.restart.XXX

4.3.3注销掉创建颗粒的相关命令:

如果使用的cfdemSolvePiso求解器,后面还要注释掉:

#group  nve_group region domain

如果使用的是IB,后面要注释掉

#create_atoms 1 single 0.0 0.0 0.5 units box
#set atom 1 diameter 0.01 density 1200 vx 0 vy 0 vz 0

便可以继续计算了。

另外,如果有更新保存文件的代码,比如下面的这种:

fix   extra1 all print 100 "${time} ${vx1} ${vy1} ${vz1}" file ../DEM/post/velocity_particle_1.txt title "%" screen no
fix   extra2 all print 100 "${time} ${vx2} ${vy2} ${vz2}" file ../DEM/post/velocity_particle_2.txt title "%" screen no
fix   extra3 all print 100 "${time} ${x1}  ${y1}  ${z1}"  file ../DEM/post/position_particle_1.txt title "%" screen no
fix   extra4 all print 100 "${time} ${x2}  ${y2}  ${z2}"  file ../DEM/post/position_particle_2.txt title "%" screen no

一定要重命名保存的文件,不然重新开始计算之后,原来的文件velocity_particle_1.txt会被覆盖掉,新的velocity_particle_1.txt文件中将不会包含原来的数据。

5.最后,值的注意的是,LIGGGHTS中保存的.restart文件是二进制文件,一般情况下是无法直接用文本编辑器打开的。

posted @ 2021-08-31 15:00  希望先生  阅读(678)  评论(0编辑  收藏  举报