瞬态计算问题



  • 小弟现在算一个瞬态问题,质量入口条件41g/s,然后我步长调的是0.0002s,然后一个步长内迭代100次,每次调了好几次,算到第60个时间步左右时,就不能收敛(也没显示发散,前面每个时间步内都收敛了),然后根据文献调研,我的2D模型30000左右,虽然不说很好,但是应该是足够了的,请问大侠们有什么经验可以增进收敛?我用的是PISO。



  • 问题描述需要很详细才能有人帮你。比如你的网格多大,按你用的时间步长大致的CFL数是多少?你的算例具体是什么问题(有可能你的流体流到了一个网格特别小的地方,然后导致不容易收敛)?按你目前的设置什么都不做可以继续算下去吗,还是算下去会发散?



  • @cccrrryyy 是这样的,网格目前是13107个,然后cfl数说实话我不知道怎么定,因为我的案例是质量入口,然后我的算例就是往一个罐子里充气(没有压力出口,也没有outflow),另外我自己对比一下还是没用PISO,用的SIMPLE,每当flow time到了0.05s的时候,就开始不收敛(我调的每个时间步的最大迭代次数是100),但是很奇怪也没直接显示发散,还能继续算。



  • 然后反复调试之后呢,又出现了一个更为奇怪的问题,比如跑10000个时间步,跑到500步不收敛,可是到了510多又收敛了,然后530多步又不收敛,然后到了550步又收敛



  • Fluent一般每个时间步最大迭代步数在20-25左右,再大的话顶多也就50吧,需要调到100说明你别的地方设置有问题。

    CFL数Fluent可以直接输出,具体我忘了,需要你自己去查。就算是质量入口也可以得到速度,根据速度和网格大小(比如取最小的那个)也可以得到一个满足CFL数小于1的时间步,不知道你有没有详细的测试过不同的时间步,甚至说不同的离散格式(特别是压力)。

    你说的收敛和不收敛是什么意思呢,是指残差降到了特定值就认为收敛,没有就不收敛吗?判断收敛与否需要看很多东西,光看残差是没有意义的,你可以检测一下场内的特征量,比如最大速度的大小、湍动能的大小(如果有湍流)等等等等。至于你提到的跑到多少步收敛,之后又不收敛,这听起来像一些不稳定性的问题,这个在你的case里面即使是物理上特定情况下也确实会有,但我认为你目前的问题不在这里,主要还是在计算的设置上。

    你的问题是单相还是多相,涉及到能量方程吗?如果只是单相的纯流动问题,往一个大的体积内喷气,按道理Fluent应该很容易就可以解决。



  • @cccrrryyy 受教了,谢谢您的指导,您说得对极了,假如要真能收敛,应该最大默认的最大迭代步数是够用的了,问题还是出在格式上,我把格式调成PISO,压力调成standard,然后步长变成0.0001的一半之后,这个问题就解决了,cfl数在fluent里输出的问题我会自己琢磨的,谢谢您!


Log in to reply