LES直流槽道边界层模拟,如何得到正则化速度u+以及正则化坐标y+?
-
以OpenFOAM自带的channel395算例为例,我这里有4种计算
的方法。方法一:
得
。方法二:
过计算出来的速度-高度曲线,实际地进行计算。其中
和 分别是第一个输出点的流向速度和到壁面距离。
得到 。方法三:
通过paraview的filter - integrate variables - 查看 cellData,得到wallShearStress的和以及面积Area,计算固壁面上的wallShearStress平均值,再使用计算摩擦速度
。注意不可压缩求解器中没有密度,则认为 。
结果是 。方法四:
在完全发展的槽道流中也就是 压力梯度 乘以 槽道半高 等于 壁面摩擦应力。给定平均速度的情况下,OpenFOAM会调节压力梯度使得平均速度达到设定值。在channel395的算例中到计算快结束时候,选择了某一时刻的压力梯度
。代入计算,
得到 。
你看这种方式计算出来的
跟你的区别大么可以看到方法一是一种结果,方法二、三、四的结果很接近。
现在的问题就是实际计算出来的摩擦速度和由 给出的摩擦速度不一样,但方法一的结果才是正确的。自带的channel395也对不上么?
channel395算例的结果
方法一的摩擦速度归一化结果是方法二(方法三和四也是这样子的图)摩擦速度归一化结果是
channel1000的结果在一楼。
现在感觉是槽道流动还是没算对。 -
channel395的平均yPlus是1.5910。channel1000的平均yPlus是0.8471。
channel395的fvScheme格式是下面这个,channel1000也没改fvScheme。FoamFile { version 2.0; format ascii; class dictionary; location "system"; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { default backward; } gradSchemes { default Gauss linear; } divSchemes { default none; div(phi,U) Gauss linear; div(phi,k) Gauss limitedLinear 1; div(phi,B) Gauss limitedLinear 1; div(B) Gauss linear; div(phi,nuTilda) Gauss limitedLinear 1; div((nuEff*dev2(T(grad(U))))) Gauss linear; } laplacianSchemes { default Gauss linear corrected; } interpolationSchemes { default linear; } snGradSchemes { default corrected; } wallDist { method meshWave; }
-
是的,LES就得算三维的,然后还需要时间平均,这一算起来debug起来就需要时间了。网格这个问题,我看EugeneDeVilliers说没问题。应该不是网格的事。channel395是EugeneDeVilliers做的。这个是他的博士论文。
-
对,我最开始做槽道流算例的时候,用的他的初始化流场的方法,不然一直算的都是层流。不过chanel1000的这个不用特地初始化也可以。
下面这个是我的channel1000的算例,LES,就是在channel395的基础上改的,OpenFOAM版本是v2012。Allrun脚本可以直接运行,画图用matlab文件夹里面的boundary_layer_profile_2.m就行,改一下要画哪个时刻的就行。
各位老师同学有兴趣可以算一算,看看是哪里出问题了。帮帮我吧🙏
https://jbox.sjtu.edu.cn/l/L1Asg4 (提取码:1234) -
找到一个帖子,对channel395分析很多
https://www.cfd-online.com/Forums/openfoam-solving/155534-les-channel-flow-data-case-files-technical-report.html
我下载了他的数据,他是三套网格,我都用方法二画了速度分布图,M1的结果和我画出来的问题类似,M2和M3就都比较好了。
为什么 算不对?结论:还是网格不够细。 -
@学流体的小明 你好,这个下载链接需要校内VPN,外校无法下载,想问下能提供个外校人员可下载链接吗?
对,我最开始做槽道流算例的时候,用的他的初始化流场的方法,不然一直算的都是层流。不过chanel1000的这个不用特地初始化也可以。
下面这个是我的channel1000的算例,LES,就是在channel395的基础上改的,OpenFOAM版本是v2012。Allrun脚本可以直接运行,画图用matlab文件夹里面的boundary_layer_profile_2.m就行,改一下要画哪个时刻的就行。
各位老师同学有兴趣可以算一算,看看是哪里出问题了。帮帮我吧🙏
https://jbox.sjtu.edu.cn/l/L1Asg4 (提取码:1234) -
-
@coolhhh 不好意思哈,以前也没怎么用过学校的网盘,不知道还需要VPN。放到百度网盘了。
这次画的网格更细了,应该会有一个比较好的结果,我也正在算。链接:https://pan.baidu.com/s/1C89EfgcZAxFhADNkMEqSNA?pwd=tzkd
提取码:tzkd -
@coolhhh @李东岳
昨天仔细读了一下下面的这个文章,作者对OpenFOAM计算LES槽道进行了比较系统的分析。我发现他的图也是,只有最细的那套网格才算出了非常好的速度剖面,比较粗的两套网格都没算好,形状也和我的问题一样。
这篇文章还是在https://www.cfd-china.com/topic/2121/q-dns计算槽道流遇到了一些问题-求大神们指点看到的。之前读过,但是没仔细读😂。然后就浪费了好多好多时间。
确实是网格不够细的问题。https://www.sciencedirect.com/science/article/pii/S0021999117304059?via%3Dihub
-
@学流体的小明 先前我做过这个工作,用于大涡模拟入口的前置算例,我当时画u+--y+使用的你说的方法二得到的,效果还行
-
对于此,我想请问,Um即平均速度如何给定,雷诺数的计算,假如我是在半宽通道中跑的,即下表面为wall,上表面为symmetry,此时,雷诺数公式里面应该把2h换成水力半径吗
-
@李东岳 在 LES直流槽道边界层模拟,如何得到正则化速度u+以及正则化坐标y+? 中说:
Komen那个是的
但是我看EugeneDeVilliers博士论文那个用的6万网格计算的u+y+还可以(图5.5)
我觉得这个是很重要的内容,如果openfoam官方的算例,出现了网格分辨率不够导致的错误,这个bug必须应该处理
李老师,EugeneDeVilliers博士论文图5.5,图名写
normalised by the DNS shear velocity
,是否有可能正则化用的 不一样?
-
@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的预设值。
之后我是打算用给定的动量方程源项,相当于给定 ,通过vectorSemiImplicitSource实现。也是在fvOptions中调用。4800是随便给的,和上面0.4m/s的平均速度没有联系哈。 和 的关系见方法四。
有一些参考:
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 } } }
16/110