首发于有所思

如何在OpenFOAM里求雷诺应力

OpenFOAM里有两种雷诺应力,第一种是根据计算好的湍流粘度nu_t套公式算;第二种是直接根据湍动速度算u'v'.但是第二种办法就必须一边跑一边算,这也是非常好理解的,因为输出文件都是按照时间输出的,比如10秒钟输出一个文件,那么这些断断续续的数据肯定是不能用来计算u'v'的了.


这篇文章的目的就是记录一下两种方法的使用过程.


第一种十分简单,就直接打个命令就行了:

R

就这么简单.

需要注意的是

  1. R命令只能用于RANS,不能用于LES.
  2. 输出应力的顺序是Rxx, Rxy, Rxz, Ryy, Ryz and Rzz


第二种麻烦一点,流程如下:

修改controlDict文件,在最后加上下面的命令:

functions
{
    fieldAverage1
    {
        type            fieldAverage;
        functionObjectLibs ( "libfieldFunctionObjects.so" );
        enabled         true;
        outputControl   outputTime;

        fields
        (
            U
            {
                mean        on;
                prime2Mean  on;
                base        time;
            }
        );
    }
}

详细解释看我以前的文章:

陈与论:OpenFOAM中的fieldaveragezhuanlan.zhihu.com图标

然后输出文件里就会出现这些文件:

其中UMean是平均速度,UPrime2Mean就是雷诺应力.

编辑于 2018-12-18

文章被以下专栏收录