钝体建筑扰流的大涡模拟
-
@coolhhh 我之前没有算过风压这类问题,还挺有兴趣的。我对这个u_h,也是非常疑惑。我用的u_h是柱体中心横截面上(u_h)_max。之所以有疑惑,是关于这个u_h的选择位置的,因为我们一般算cp用到是远场处的速度(我之前做过3900圆柱绕流,https://doi.org/10.1063/5.0012358)。事实上,柱体上方会有一个强剪切区,流动分离后会形成回流区。柱体侧边同理。因此,我很疑惑的是u_h 是如何定义的? 是 h高度处的最大速度吗?如果有流动分离,即使在初始边界上设置了u_h,那么这个u_h也会发生变化啊。反倒是都用,2/3高度处的流场数据(pmean-0)/ (0.5* u_0.667 ^2),我觉得更合理。因为不可压流p就是p/rho,可以看一下文件的量纲,所以就不需要在除密度了。
-
@coolhhh 还有,尽量不要用smagorinsky做亚格子模型,因为这个亚格子模型中的系数C是个定值。他会有两个问题,1.边界上,会overestimate边界附近的粘度。2. 是全场是一个固定系数的话,会忽视掉能量的反级串backscatter现象。one-equation或者dynamic的亚格子模型都比smagorinsky要好一些。对于静压力,我试一下你给的那个边界条件跑一下看看。还有就是关于总用时的。我一般分成两部分,一部分是从初识态到流场稳定(200-300个t*)。第二阶段,统计过程,100-300个t*。t*=特征长度/特征速度。比如H/u*,摩擦速度可以用sqrt(压差阻力/横面积)得到。
-
@gtian 在 钝体建筑扰流的大涡模拟 中说:
@coolhhh 什么是脉动风?怎么加的?
师兄这个我回答一下,平均风指的是随着时间风速不发生改变。脉动风指的是随着时间的改变,风速是会发生改变的。脉动风当前有两种主流的生成方法,一种是域前模拟法类似于风洞试验,前面有一个模拟带,好像该种方法是满足纳维斯托克斯方程。再者是合成法,主流的包括傅里叶合成法,常见的如中科大黄教授的DSRFG,西安大略的CDRFG和华南理工的NSRFG,我师兄也做得这个方面。涡合成法,该方向只知道SEM和罗银师兄的MSEM。我们当前的算例是基于CDRFG生成的脉动风速。
-
@gtian 几个问题个人理解如下:
不可压下得到的p是p/rho
这是我们一直犯的初级错误,也导致了找问题花了一个多月,非常感谢指正。推导的量纲如下:
0文件夹的
p
量纲为 $m^2s^{-2}$
$\frac{p}{\rho}$的单位为 $\frac{Pa}{kg/m^3}=\frac{kg/(s^2m)}{kg/m^3}=m^2s^{-2}$因此不可压缩湍流输出的
p
本质是$\frac{p}{\rho}$,希望大家都能避开这个初级错误。我之前没有算过风压这类问题,还挺有兴趣的。我对这个u_h,也是非常疑惑。我用的u_h是柱体中心横截面上(u_h)_max。之所以有疑惑,是关于这个u_h的选择位置的,因为我们一般算cp用到是远场处的速度(我之前做过3900圆柱绕流,https://doi.org/10.1063/5.0012358)。事实上,柱体上方会有一个强剪切区,流动分离后会形成回流区。柱体侧边同理。因此,我很疑惑的是u_h 是如何定义的? 是 h高度处的最大速度吗?如果有流动分离,即使在初始边界上设置了u_h,那么这个u_h也会发生变化啊。反倒是都用,2/3高度处的流场数据(pmean-0)/ (0.5* u_0.667 ^2),我觉得更合理。因为不可压流p就是p/rho,可以看一下文件的量纲,所以就不需要在除密度了。
我们的研究方向为结构风工程,一般计算风压系数用的是无干扰状态下建筑物顶部高度处来流的速度$U_{H}$,在建筑物高度范围内是最大的风速,因此用$U_{H}$计算得到的平均风压系数最大值一般都不超过1。
还有,尽量不要用smagorinsky做亚格子模型,因为这个亚格子模型中的系数C是个定值。他会有两个问题,1.边界上,会overestimate边界附近的粘度。2. 是全场是一个固定系数的话,会忽视掉能量的反级串backscatter现象。one-equation或者dynamic的亚格子模型都比smagorinsky要好一些。对于静压力,我试一下你给的那个边界条件跑一下看看。还有就是关于总用时的。我一般分成两部分,一部分是从初识态到流场稳定(200-300个t*)。第二阶段,统计过程,100-300个t*。t*=特征长度/特征速度。比如H/u*,摩擦速度可以用sqrt(压差阻力/横面积)得到。
(1)目前对湍流模型还只停留在使用阶段,研究不深,非常感谢指导。
(2)现在这个静压力问题找到了,非常感谢。根据我之前的大量尝试,在计算平均风剖面结果时候,基本无论用什么湍流模型、离散格式、矩阵求解器、有无壁面函数,结果基本都是一致的。
(3)计算用时我也没有考虑到那么详细,你的研究非常专业。我之前是这么设置的:前面计算不稳定的时间,设置时间比计算域长度除以参考风速得到的时间再长点,大概让风场能跑完整个计算域;统计时间的长度,用的是模型缩尺比和速度缩尺比,折算到原型大概10min的长度,满足结构风工程一般采样时长要求来定的,当然计算资源足够的话,模拟越长越好。根据之前的计算经验,这么设置计算结果与实验值的吻合程度还算比较好。什么是脉动风?怎么加的?
(1)根据《风工程与结构抗风设计》(武岳, 2014),脉动风定义如下。
(2)脉动风生成方法可参考综述文章:Inflow Turbulence Generation Methods。
我主要研究的是
Synthetic Random Fourier Method
,加载过程例如:先用CDRFG方法生成脉动风速时程数据,用OpenFOAM自带的边界条件timeVaryingMappedFixedValue
,这个边界条件是根据入口坐标插值得到每个时刻的瞬时风速实现脉动风的加载,可参考 LES定义入口速度的问题(DSRFG方法)。还有一个问题是关于inlet边界条件的。一般认为入口处是一条大气边界层的速度型曲线。比如:https://www.openfoam.com/documentation/guides/latest/doc/guide-bcs-inlet-atm-atmBoundaryLayer.html。 为什么入口的速度是一个指数型呢?
我们的研究领域主要是结构风工程。风工程中对平均风剖面主要分为对数率和指数率。《风工程与结构抗风设计》(武岳, 2014)中的相关描述如下。目前大部分结构风工程风洞实验室都采用的是指数率的剖面风场来做风洞实验,TPU数据库也是用的指数率剖面。
最后,再次感谢大家的讨论和帮助,感谢李老师,感谢CFD中文网
-
- 我们目前模拟的是高层建筑大涡模拟,不同地貌的粗糙度,对应不同的平均风剖面和湍流强度剖面形状。目前直接在入口施加平均风叠加脉动风,使用no-slip壁面,不采取其他操作,近壁面的平均风随着发展可能会有增大趋势,如下图所示。总体上这对于高层建筑的风压模拟结果影响不大。
(引自:Chen, L., et al., Consistency improved random flow generation method for large eddy simulation of atmospheric boundary layer. Journal of Wind Engineering and Industrial Aerodynamics, 2022. 229: p. 105147.)
2.有一种保持粗糙度的方式是地表布置粗糙元,如下图所示。对应的另外种方式就是施加浸没边界方式(也就是体积力源项)。我对这块没有研究,个人的疑惑是如何根据不同的粗糙地表直接选择合适的粗糙元或体积力源项来实现平均风的自保持,还是说需要试错的方式来确定?
(引自:Bervida, M., et al., Synthetic generation of the atmospheric boundary layer for wind loading assessment using spectral methods. Journal of Wind Engineering and Industrial Aerodynamics, 2020. 196: p. 104040.)3.也有文章说合适的壁面函数可以实现平均风的自保持。个人理解壁面函数的作用是用半经验公式近似模拟近壁面较粗糙网格的流动情况。OpenFOAM提供了几种壁面函数,觉得是没有考虑到风工程中不同地貌粗糙度问题。同样的疑惑是,当模拟不同粗糙度的风场,壁面函数如果能起到作用,那壁面函数是否得根据模拟的不同粗糙场地对应修改,然后还需要自定义植入?
- 我们目前模拟的是高层建筑大涡模拟,不同地貌的粗糙度,对应不同的平均风剖面和湍流强度剖面形状。目前直接在入口施加平均风叠加脉动风,使用no-slip壁面,不采取其他操作,近壁面的平均风随着发展可能会有增大趋势,如下图所示。总体上这对于高层建筑的风压模拟结果影响不大。
-
@cccrrryyy 试过
LES
计算高层建筑风压,建筑壁面和计算域底面都用nutUSpaldingWallFunction
;以及只有建筑壁面用nutUSpaldingWallFunction
,计算域底面不用壁面函数,设置no-slip wall
。对比的计算结果没有什么明显区别,与实验值对比结果也还好,所以觉得近地面的流动对高层建筑模拟基本没影响。也对比过加密建筑周边网格,使得建筑物壁面Y+
基本小于1,设置no-slip wall
,计算建筑物表面风压结果与nutUSpaldingWallFunction
计算结果也差不多