CFDEM中writeLiggghtsProps命令

我们都知道,如果想要在计算中断后,重新开始计算需要用到case/CFD/constant/liggghtsCommands文件,主要内容如下:

liggghtsCommandModels
(
    runLiggghts
    writeLiggghts
);

runLiggghtsProps
{
    preNo false;
}

writeLiggghtsProps
{
    writeLast off;     //是否只保存整个计算过程的最后一个restart文件
    writeName "post/restart/liggghts.restartCFDEM";    //restart文件保存路径
    overwrite off;     //是否对restart文件进行覆盖
}

我们如果将writeLiggghtsProps中的overwrite设置为off的话,CFDEM将会按照CFD/system/controlDict中的writeIterval频率来保存每一个restart文件。

但是3.8版本中的这个命令出现了bug,overwrite设置为off之后,只有第一个restart文件时按照writeIterval频率来保存的,之后的restart文件则是按照controlDict中的deltaT来保存的,产生了大量的无效文件。

解决办法:

将文件/CFDEM/CFDEMcoupling-PUBLIC-5.x/src/lagrangian/cfdemParticle/cfdemCloud/cfdemCloud.C中的709行内容改为:

if(!writeTimePassed_ && mesh_.time().outputTime())
{
    writeTimePassed_=true;
}
else
{ 
    writeTimePassed_=false;
}

然后使用命令

cfdemCompCFDEMsrc

重新编译CFDEM,即可解决问题。

原文地址:https://www.cnblogs.com/Xiwang-Sun/p/15188449.html