如何求解一个场的体平均或者一个面的面平均值,比如体平均温度或者面平均温度



  • 我知道可以通过paraview的integrate variables filter来进行,想知道controlDict中添加functions是否可以实现?



  • @gzh3369

    如果公式是这样的话:$x=\frac{\sum V_i x_i}{\sum V_i}$。可以这样:

            forAll(x, celli)//对所有的体x进行计算
            {	    
                x[celli] = x[celli] *mesh.V()[celli];//此处即为每个网格的x*网格体积
            }
    	
            scalar sumx = gSum(x);//对所有的x*网格体积进行加和
            scalar V = gSum(mesh.V());//计算总网格体积
            scalar Final = sumx/V;//计算体均湍流动能耗散率
            Info << runTime.timeName() <<" volume average x is "<<x<<endl;//输出结果
    

Log in to reply