OpenFOAM中壁面函数问题
-
最近在看壁面函数的相关内容,个人基础比较差,疑问较多,请各位大佬不吝赐教:
- 钝体建筑扰流的大涡模拟讨论中提到OpenFOAM的壁面函数
nutkAtmRounghWallFunction
,这个函数考虑了对数率风剖面地表粗糙度。看了源代码描述是:It is designed to be used in conjunction with the atmBoundaryLayerInletVelocity boundary condition
。疑问是nutkAtmRounghWallFunction
是否只能匹配用于atmBoundaryLayerInletVelocity
速度入口?
nutkAtmRoughWallFunctionFvPatchScalarField.H
Description This boundary condition provides a turbulent kinematic viscosity for atmospheric velocity profiles. It is designed to be used in conjunction with the atmBoundaryLayerInletVelocity boundary condition. The values are calculated using: \f[ U = frac{U_f}{\kappa} ln(\frac{z + z_0}{z_0}) \f] where \vartable U_f | frictional velocity \kappa | Von Karman's constant z_0 | surface roughness length z | vertical co-ordinate \endvartable
- 再查看
atmBoundaryLayerInletVelocity
的文档描述,这个边界的参考文献为《D.M. Hargreaves and N.G. Wright, "On the use of the k-epsilon model in commercial CFD software to model the neutral atmospheric boundary layer", Journal of Wind Engineering and Industrial Aerodynamics 95(2007), pp 355-369.》。疑问是目前atmBoundaryLayerInletVelocity
是否只适用于k-epsilon model
模型?对应地,nutkAtmRounghWallFunction
是否也只能用于k-epsilon model
模型?
- 如果采用
LES
入口加载自定义风场:平均风叠加零均值脉动风,平均风剖面采用对数率风剖面,疑问是nutkAtmRounghWallFunction
是否能用于LES
来实现平均风剖面自保持?
- 根据李老师的《无痛苦NS方程笔记》中关于壁面函数的计算过程,无论是采用公式直接计算或者迭代方式计算$y^+$,第1步都是必须要先得到流场的结果$k_p$或$U_p$。
看《王福军, 计算流体动力学分析:CFD软件原理与应用. 2004: 计算流体动力学分析:CFD软件原理与应用.》中151-152页,描述为如下图所示:
问题:这里没理解第1步的流场信息是如何先得到的。个人理解壁面边界上离散方程源项的构造,由$\tau_w$推导得到,要先知道$\tau_w$后方程才能完成方程的离散,接着迭代求解速度和压力等物理量。但这里是提前要得到$k_p$或$U_p$,根据书上的解释是壁面相邻的第一层网格离散动量方程无需修正就可以求解,想问下这块是如何理解的?以及第一步得到场的信息是否就只有壁面第一层网格的$k_p$或$U_p$? - 钝体建筑扰流的大涡模拟讨论中提到OpenFOAM的壁面函数
-
atmBoundaryLayerInletVelocity
可以用于kOmega模型,参考Yang2017:Consistent inflow boundary conditions for modelling the neutral equilibrium atmospheric boundary layer for the SST k ω model
nutkAtmRounghWallFunction
这个参考的也是HW07的方法。这个能不能用于kOmega,我还没有看相关的sci,你可以看看kOmega那面的sci里面公式跟kEpsilon的一样不一样。LES这个我也还没看相关的sci,目前还不能回复你。这里没理解第1步的流场信息是如何先得到的
之前迭代的值就是初始的值,就是上一步的kp以及Up的值
另外我今天在笔记里面更新了4中湍流动能自保持的方法
个人理解壁面边界上离散方程源项的构造,由$\tau_w$推导得到,要先知道$\tau_w$后方程才能完成方程的离散,接着迭代求解速度和压力等物理量。但这里是提前要得到$k_p$或$U_p$,根据书上的解释是壁面相邻的第一层网格离散动量方程无需修正就可以求解,想问下这块是如何理解的?以及第一步得到场的信息是否就只有壁面第一层网格的$k_p$或$U_p$?
你得这一段描述,我没太看懂。就参考我那个图,依据上一个迭代步获得kp以及Up的值,然后顺序计算就行了,然后进入下一个迭代步。我们并不需要$\tau_w$。并且跟压力速度没有太大的关系。
根据书上的解释是壁面相邻的第一层网格离散动量方程无需修正就可以求解
这个我也没太看懂
-
@李东岳 感谢李老师解惑
- 看了杨老师的文章,Wall设置粗糙壁面,调整$K_s$和$C_s$,这是对应nutkRoughWallFunction吗?另外这篇文章也算了指数率风剖面,那也就是说
nutkRoughWallFunction
同时适用于对数率和指数率风剖面。
Yang2017:
Consistent inflow boundary conditions for modelling the neutral equilibrium atmospheric boundary layer for the SST k ω model
- 粗略搜了下,没有找到
kOmega
用nutkAtmRounghWallFunction
的文章。但看到了ofv2112
中对应的壁面函数名称为atmNutWallFunction
(链接),文档描述中的几篇参考文献也都是用的k-epsilon model
。
你可以看看kOmega那面的sci里面公式跟kEpsilon的一样不一样。
- 这里是否意思是对比用的
k
公式一样?对比Hargreaves2007和Yang2017,两文章用的k
是不一样的。
Hargreaves2007:
On the use of the k-epsilon model in commercial CFD software to model the neutral atmospheric boundary layer
你得这一段描述,我没太看懂。就参考我那个图,依据上一个迭代步获得kp以及Up的值,然后顺序计算就行了,然后进入下一个迭代步。我们并不需要τw。并且跟压力速度没有太大的关系。
- 这里终于理解了,原来是用上一步的kp以及Up,非常感谢李老师
- 另外 Rough wall function vs. atmospheric rough wall function这篇帖子提到了这两种边界的计算结果区别,但没讨论出结果。
I have been looking into homogeneity of atmospheric boundary layer profiles through an empty fetch. I noticed that nutkAtmRoughWallFunction performed slightly worse than nutkRoughWallFunction.
- 看了杨老师的文章,Wall设置粗糙壁面,调整$K_s$和$C_s$,这是对应nutkRoughWallFunction吗?另外这篇文章也算了指数率风剖面,那也就是说
-
I have been looking into homogeneity of atmospheric boundary layer profiles through an empty fetch. I noticed that nutkAtmRoughWallFunction performed slightly worse than nutkRoughWallFunction.
我觉得应该看具体的算例。现在sci里面的算例都是自己的算例肯定没问题。算别的算例就不好说了。我算了一下HW07那个数据。前几天更新到 https://www.cfd-china.com/topic/6231/中性大气环境湍流动能的自保持/7 如果换成粗糙度壁面函数的话,结果特别差。但我觉得还是不能普适性的说某个壁面函数就优于某个壁面函数。
Yang2017那个文章我昨天也植入进去了,Yang2017根Yang2009的植入都很简单,但是结果就是没复现出来。如果你感兴趣,留下邮箱我把算例发你邮箱。但是发给你之后你要debug一下咋回事。