稳态求解器simpleFoam的迭代问题
-
大神不敢当,我也是和你一样刚接触CFD的小白。
不好意思对于 continuity error 的问题没能讲得很明白,这是因为我对这个问题没有理解到“代码”级别,不过很多时候,这个问题没有给我带来太多麻烦,所以就停留在这个地方。如果有熟悉这方面的朋友,还希望分享一下更好的见解。
对于一个物理用瞬态求解还是稳态求解,也是一个很大的问题。可以说,我至今也没完全搞明白。不过最基本的区分,或许能帮助到你:
-
瞬态: 关注的对象是非常依赖时间的。pisoFoam 和 pimpleFoam 在此类。最好把时间上的离散用二阶以上精度。
-
稳态问题: 关注的物理量和时间无关。
我在用大涡模拟的时候就用的是pisoFoam求解器。因为旋涡脱落过程中,有一个参量叫Strouhal数是我重点考察的一个对象之一。
对于稳态计算,通常可以选择RNAS的湍流模型。一般来讲,时间步长要高于顺态求解,所以计算速度更快,计算消耗资源更小。
个人理解,对于真实的物理世界,或多或少都和时间有关系。只是我们在研究问题的时候,关注点不一样,用不同的方法,高效地处理不同的问题。
至于算法级别,归结到代码上的问题,实在无能为力。我也还在学习中。
:sad: -
-
@random_ran 能花时间写这么多已经很感谢了!
我刚接触的CFD,其实本来不太纠结瞬态稳态问题,目前稳态求解对我要研究的东西够用的。只是这两天发现simpleFoam的每个时间步长里的所有物理量都有个No Iteration,突然困惑了,难道稳态也要每步都收敛?之前看过一些文章,一直理解为时间步长内收敛是瞬态特有的,现在又蒙了... -
@aufalpen 在 稳态求解器simpleFoam的迭代问题 中说:
如果用pimpleFoam是不是差别只在于deltaT需要计算,
和谁的差别?delta t最好自行给定,在
controlDict
里面。关于你说的收敛,收敛非常多的定义,
迭代也分为各种迭代。内迭代,外迭代,矩阵迭代,时间推进,迭代内的迭代,矩阵求解器的内迭代,非常多的迭代、各种迭代。CFD整个就是个迭代。因为直接求解很浪费资源。看得越深,迭代越多。对于
simpleFoam
,最基本的迭代,就是那个时间布推进,也就是SIMPLE算法的迭代。理解到这,初级阶段应该没问题。 -
@aufalpen
感谢支持,希望母语的资料能加快大家学习的进程。不提CFD应用,CFD理论对数学要求很高。在学习的过程中可以从一维单扩散问题开始。比较简单。加上对流之后,就涉及到一些格式带来的稳定性问题了。到后来速度压力耦合就涉及到SIMPLE之类。非常复杂。压力速度算法在上世纪八九十年代非常活跃。在21世纪处,转向了各种稳定性问题。基于SIMPLE算法下各种学科内部的稳定性至今依然是计算物理领域内比较热门的话题。
可看看
Journal of Computational Physics
关注一下前沿,不需要细看。 -
此回复已被删除!