yPlus在openfoam代码里面的实现
-
@东岳 代码里面公式在nutLowReWallFunciton.C的yPlus()体现
计算公式就是: -
@东岳 那从一个壁面函数的代码里面引用yplus到湍流模型的代码里不知道怎么操作
-
那从一个壁面函数的代码里面引用yplus到湍流模型的代码里不知道怎么操作
代码倒不是问题。我觉得构成问题的,是如何在非壁面处求yPlus,目前我还没找到相应的公式,有公式就不难处理
不知道有没有人见到过如何在非壁面处求yPlus的数学公式?
-
van Driest 也是施加 damping function,跟你这个比较类似,van Driest damping function 的定义可以参考这里。
-
最近算了几个验证壁面函书的LES,可能加van Driest会更准。有空把这个算立整理整理发上来
另外得知:
@东岳 在 yPlus在openfoam代码里面的实现 中说:
如何在非壁面处求yPlus的数学公式?
自我回答,跟常规方法一样。程序里:
#include "wallDist.H" int main() { volScalarField Dist(wallDist::New(mesh).y()); dimensionedScalar uTau("uTau", dimVelocity, 1.003); volScalarField yPlus(Dist*uTau/turbulence->nu()); }
-
@东岳 谢谢老师!这里面的uTau为何直接取1.003呢?不需要植入它的公式吗?
-
如果要植入MK湍流模型的话,里面有一项
其中y+我按照了东岳老师提供的方法,那就是如下图:
编译成功,但按这个湍流模型跑的结果不对。uTau为何设成1.003呢?如果要植入uTau的公式,那tauw这个如何得到呢?源代码里面相关的有tauw跟wallshearstress,但是不知道怎么引用。还望赐教。
-
@Calf-Z-DNS 我那个是我自己写哒,计算出来之后是1.0003,具体我有点忘了下周回办公室给你看看
-
@东岳 好的谢谢!
-
@东岳 老师 ,请问uTau不应该用公式植入吗?在沿管方向的壁面上,uTau应该是变化的吧。如果用初始值计算出来的uTau定值植入,我试了下,湍流模型没有达到自己预想的效果。
-
@Calf-Z-DNS 对,是用公式计算的,明天去办公室给你看看
-
@东岳 谢谢老师。uTau的公式我知道,但不用把这个公式植入代码里面吗?如果需要的话,有点不太清楚怎么写入代码,还望赐教。
DNS圆管的算例目前还在算呢,所需要的资源太大了,算比较慢。 -
forAll(xxx, patchi) { utau.boundaryFieldRef()[patchi] = sqrt(nut.boundaryField()[patchi]*u.boundaryField()[patchi].snGrad()); }