LES直流槽道边界层模拟,如何得到正则化速度u+以及正则化坐标y+?
-
@coolhhh @李东岳
昨天仔细读了一下下面的这个文章,作者对OpenFOAM计算LES槽道进行了比较系统的分析。我发现他的图也是,只有最细的那套网格才算出了非常好的速度剖面,比较粗的两套网格都没算好,形状也和我的问题一样。
这篇文章还是在https://www.cfd-china.com/topic/2121/q-dns计算槽道流遇到了一些问题-求大神们指点看到的。之前读过,但是没仔细读😂。然后就浪费了好多好多时间。
确实是网格不够细的问题。https://www.sciencedirect.com/science/article/pii/S0021999117304059?via%3Dihub
-
@hongjiewang
Um是通过在动量方程中直接添加源项实现的,在v2012版本中是:/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: v2012 | | \\ / A nd | Website: www.openfoam.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "constant"; object fvOptions; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // momentumSource { type meanVelocityForce; selectionMode all; fields (U); Ubar (0.4 0 0); } // ************************************************************************* //
程序会自动调整压力梯度以达到Ubar的预设值。
之后我是打算用给定的动量方程源项,相当于给定$\partial p / \partial x$,通过vectorSemiImplicitSource实现。也是在fvOptions中调用。4800是随便给的,和上面0.4m/s的平均速度没有联系哈。$\partial p / \partial x$和$\tau_w$的关系见方法四。
有一些参考:
http://xiaopingqiu.github.io/2016/03/20/fvOptions2/
https://caefn.com/openfoam/fvoptions-semiimplicitsourcemomentumSource { type vectorSemiImplicitSource; active on; vectorSemiImplicitSourceCoeffs { selectionMode all; volumeMode specific; //absolute injectionRateSuSp { U ( (4800 0 0) 0); //partial p / partial x } } }
-
-
@李东岳 我用OpenFOAM-8也算了channel395,用tutorial算例计算,采用 @学流体的小明 提供的MATLAB程序中method2算的$U_\tau$:
- tutorial算例用的WALE模型,0文件夹其实不需设置
k
和nuTilda
,只需要设置p
、U
和nut
。 - tutorial算例是给定了一个湍流初始场。一开始没注意删掉了,没有初始场到1000s计算不出湍流。初始湍流场的不同对结果是否影响会比较大?
- 一般认为开始计算的一段时间的湍流还没充分发展,计算平均场是都会剔除。tutorial算例提供的统计是从0时刻就开始统计。不过我尝试从1000s才开始统计,共计算5000s,结果与默认算例结果一致。
同时还提取了EugeneDeVilliers博士论文图5.5中6万网格的结果,其实跟我们的计算结果一致的,都是有偏差!推测他也是用method2算的。他的论文没有给出参考线,导致看起来结果很好。 图中Spalding曲线是根据《无痛苦NS方程笔记》中提到的公式画出对比。
(1)tutorial算例默认设置结果:从0秒开始统计
(2)从1000秒开始统计。1000s的结果其实是1000s这个时刻的瞬时结果,但对整个底面平均后,与后面时刻的结果基本一致。
4. tutorial算例默认设置,method2计算结果都是在粘性子层结果较好,log区结果不吻合。尝试$U_\tau$按照method1取值,即$U_\tau=0.0079$,结果如下。说明了目前算例结果,改变$U_\tau$,只能满足粘性子层或者log区之一,是无法同时满足这两个区。想要同时满足,可能需要尝试加密网格之类方式
- tutorial算例用的WALE模型,0文件夹其实不需设置
-
http://dyfluid.com/boundaryFoam.html 我顺着这个里面的方程2,在y方向做积分,继续推了一下:
$$
\int\left(-\frac{\partial \tau_{xy}}{\partial y}\right)\rd y=-\int\left(\frac{\partial p}{ \partial x}\right)\rd y
$$$$
\tau_{xy}^h -\tau_{w}=-\tau_{w}=\frac{\partial p}{ \partial x}h
$$所以充分发展的管道,如果壁面剪切力知道的话,应该这样给一个压力梯度。
也不是不能大、不能小,设置得大了,槽道流速增加,会达到新的平衡的。
对,应该是。 还得持续学习啊!