如何求解一个场的体平均或者一个面的面平均值,比如体平均温度或者面平均温度
-
如果公式是这样的话:$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;//输出结果