OpenFoam 计算颗粒中途停止
-
各位老师,有没有谁遇到过openFoam 计算拉格朗日颗粒计算过程中停止不动的情况
-
这个问题很常见,就是颗粒算丢了找不到了,不知道你网格怎么样,最好尽可能把网格做好一点。
-
这种情况很常见,是不是lagrangian dt 太小?是不是植入的某个模型死循环了?maxCo多少?one-way? two-way?
一个一个排查吧 -
@lys PIMPLE设置是怎么样的?可以先试用小的Euler Co试试,
看是流场的问题还是parcel的问题 -
@李东岳 谢谢老师,网格质量应该没有问题,通过checkMesh后,网格的正交性,长细比质量都挺好的
-
@星星星星晴 这个拉格朗日的maxCo设置大了以后很容易计算停止,设置小了以后会好很多,但是依旧会出现中止计算的情况
-
@lys 那是自然,你maxCo设置过大,每个lagrangian dt 占比过大,可能你的parcel已经碰到了cell壁面或者processor交界处。或者也会导致你有非常非常小的dt,自然造成假死。大致是这么个情况。
建议你具体查一下KinematicCloud.C KinematicParcel.C 具体了解一下时间步的定义以及运算方法,OF从4以后改了计算方法。ESL版不是很了解。 大致应该是一个地方算dt的
-
@星星星星晴 流场计算的很好,就是颗粒有问题,但是不知道到底出现在什么地方,OF的颗粒追踪算法不完善吗
-
也有可能是颗粒数太多,电脑计算资源不够卡死了
-
@lys 不是不完善,是case的设置问题
正常没有离子的模拟还有可能离散呢,那你总不能说离散是of的问题吧在设置case的时候 怎么也要知道设置这些东西背后的意义,不然怎么能收敛的快呢!