LES和RANS在代码中实现过程是怎样的?
-
这两天通过论坛提问和翻阅书籍了解到,LES和RANS两种方式对守恒方程的处理方式不同,一个是时均,一个是过滤,导致被处理后的方程的样子也不一样,现在我的问题是这样的:
我所用的MFIX(一个专门计算两相流的开源软件)里面默认的是用k-epsilon方程封闭湍流下的N-S方程,如果现在想改为用大涡模拟的方法,需要修改的内容大概有哪些呢?
目前我个人的理解是这样的:通过查阅书籍发现,RANS和LES处理后的N-S方程只有产生的应力项不同,所以开始的时候觉得只用把代码中离散对象稍微改动一下就行。但是后来仔细想想这么做好像行不通,因为这两种方法对原方程的处理机制不同,在代码中具体是怎么体现这种处理机制又不太了解,所以一时思路断掉了。还请有经验的大牛指点,不甚感激!
-
@李东岳 在 LES和RANS在代码中实现过程是怎样的? 中说:
no. 不会是稍微改动一下就可以了。rans和les是俩个派系,MFIX不支持les?MFIX什么语言写的?如果已经植入了kepsilon,你要变成其他rans方法是稍微简单点的。要做les,你得写滤波器和,例如,Smagotinky模型。
大神你好,我在 OpenFOAM 看到,可以使用隐式滤波啊,就是把网格本身当作一个空间滤波,并且 OF 里边大部分LES模型都是这么做的,除了 dynamic 型之外。
假设我是用 Smagorinsky model ,这样的话,代码中,就只有 mut 的区别了,另外还有网格疏密不一样。
这样的话,怎么理解 LES 和 RANS 之间的差别呢? -
在Chalmers大学的Lars Davidson教授的讲义《Fluid mechanics, turbulent flow and turbulence modeling》
里边提到,RANS 代码改成 LES,需要做的就是,1.加入SGS模型,2.修改对流项离散格式,3.修改时间离散格式。
修改这两个格式是因为不能引入额外的 numerical dissipation。
他还给了一个例子,把对流项离散格式改成中心差分,时间离散改成Crank-Nicolson 格式。
另外, Davidson提到,SIMPLE算法也是允许的:
-
@浪迹天大 是这样的,我最近也在读OpenFOAM中LES模型,发现Lund提到
The nearly universal approach is to simply write down the filtered Navier-Stokes equations together with an assumed model for the subgrid-scale stresses and then apply the desired spatial discretization to this “filtered” system. Although it is rarely mentioned, what one is doing by adopting this procedure is to imagine that the finite support of the computational mesh together with the low-pass characteristics of the discrete differentiating operators act as an effective filter. One then directly associates the computed velocity field with the filtered velocity. This procedure will be referred to as implicit filtering since an explicit filtering operation never appears in the solution procedure.
也就是说OpenFOAM程序除了动态模型外都没有对N-S方程进行显式的滤波操作,那么我们在方程植入中只要修改$\nu_{sgs}$就OK了,我在后面会做几个滤波函数的选择的对比,看看最后结果一样不一样