Y+的查看及FLUENT壁面函数的选择
y+的查看
其实,我们关心的应该是壁面y+值。那么我们看云图的话,是可以直接看到的,但是个人感觉,如果case大的话,也不是很方便。此外,你要是看云图的话,要用filled的方式,而且把node value选上,不然显示的是插值结果,那样不对。
推荐你用plot图看,在Plot里面,有xy-plot和histogram两个。这两个都要选择统计位置,请把所有的壁面选上,注意里面有内部体的boundary名称,如那些interior,就不要选。y+的值在turbulence/Wall Y plus里面。然后进行historam或plot。
histogram里面能告诉你不同y+的网格个数都有几个,其中最右边那个就是你最大的y+值。但是xy-plot里面,你是可以直接看到具体y+值的,也能通过曲线特点分出来是哪个面的。
壁面函数问题
1、 无论是标准k—ε模型、RNGk—ε模型,还是Realizable k—ε模型,都是针对充分发展的湍流才有效的,也就是说,这些模型均是高Re数的湍流模型。它们只能用于求解处于湍流核心区的流动。而壁面函数是对近壁区的半经验描述,是对某些湍流模型的补充(近壁区对整体流动影响较大和低雷诺数Re的情况),通过壁面函数法和低Re数k—ε模型与标准k—ε模型和RNGk—ε模型配合,成功解决整个整个管道的流动计算问题。
2、在壁面区,流动情况变化很大。
解决这个问题目前有两个途径:
一、是不对粘性影响比较明显的区域(粘性底层和过渡层)进行求解,而是用一组半经验的公式(即壁面函数)将壁面上的物理量与湍流核心区内的相应物理量联系起来。这就是壁面函数法。在划分网格的时候,不需要在壁面区加密,只需要把第一个节点布置在对数律成立的区域内,即配置在湍流充分发展区域。
如果要用到壁面函数的话,在define---modle--viscous面板里有near wall treatment一项。可以选择标准壁面函数、不平衡壁面函数等。
二、是采用低Re数的k—ε模型来求解粘性底层和过渡层,此时需要在壁面区划分比较细密的网格,越靠近壁面,网格越细。当局部湍流的Re数小于150时,就应该使用低Re数的k—ε模型。
总结:相对于低Re数的k—ε模型,壁面函数法计算效率高,工程实用性强。但当流动分离过大或近壁面流动处于高压之下时,不是很理想。在划分网格的时候,需要在壁面的位置设置边界层网格,原因也是如此。
==================================================================================================
为什么要用壁面函数??就是因为,k-epsilon模型中,k的boundary condition已知,在壁面上为零,而epsilon的boundary condition 在壁面上为一未知的非零量,如此如何来解两方程模型???所以,我们就需要壁面函数来确定至少第一内节点上的值,当然也包括壁面上的值。实际上就是把epsilon方程的boundary condition放到了流体内部。至于壁面函数的应用范围,要看它是如何获得的,简单说,他们都是由于,靠近壁面,雷诺应力在粘性底层内基本消失,所以,navier-stokes变为可解,而求得。所以,凡是应用壁面函数求得的节点,都应设置在粘性底层(y+<5-8)或者至少为线性底层(y+<30?具体数值忘记了),当然你放得越低,精度越高,但是网格越小。我在matlab内自己写的code,在y+<5-8内放10层,fluent应该可以更高。放在fully developed region是完全错误的。
-------这短话理解得有问题
==================================================================================================
为什么要使用壁面函数呢?
首先,在CFD中应用湍流模型并不一定需要使用壁面函数,在粘性支层中可以对N-S方程直接求解。在粘性支层中,速度梯度很大,vorticity不为零,所以要直接求解,就必须在粘性支层中布置较多节点,一般要10层以上,这就是一般的低Re数湍流模型。当然这样将占用较多的计算资源。
而在边界层中,是存在解析解的,如果在粘性支层内不求解三维N-S方程,而用一维数学模型代替,将大大降低计算资源的使用,这就是壁面函数。一般高Re数湍流模型都使用壁面函数。第一层网格节点布置在粘性支层之外。那么你如何判断你的边界层网格节点布置是否合适呢?这就要检查你的y+,y+就是第一层网格质心到壁面的无量纲距离,与速度、粘度、剪应力等等都有关系。对于y+的值,各个学者推荐的范围是不一样的,但一般在30-60之内肯定是没有问题的。也有推荐10-110甚至200的。y+的值合理,意味着你的第一层边界网格布置比较合理,如果y+不合理,就要调整你的边界层网格。
==================================================================================================面函数:
在划分网格时,把第一个内节点布置在对数律成立的范围内,即配置到旺盛湍流区域,11..5~30< y+<200~400。
流场计算完后,查看:Display>Contours…> Contours of /Turbulence…/Wall Yplus
如果y+ 的值大于该范围,应该加密该区域网格,重新计算,再查看y+ ,如果仍不在其范围,继续加密网格。
壁面网格加密可采用自适应网格:
Adapt>Y+/Y*…,Options选项,只选Refine ;Type选Y+;点击Mark,再点击Adapt;及完成网格加密。
非平衡壁面函数(Non-Equilibrium Wall Function)主要应用于以下情况:
涉及分离、再附着、冲击等受压力梯度影响的远离平衡的复杂流动
Enhanced Wall Treatment要求y+ <4~5。
=================================================================================
一个成功的湍流计算离不开好的网格。在许多的湍流中,空间的有效粘性系数不同,是平均动量和其它标量输运的主要决定因素。因此,如果需要有足够的精度,这就需要保证湍流量要比较精确求解。由于湍流与平均流动有较强的相互作用,因此求解湍流问题比求解层流时候更依赖网格。对于近壁网格而言,不同的近壁处理对网格要求也不同。下面对常见的几种近壁处理的网格要求做个说明。采用壁面函数时候的近壁网格:第一网格到壁面距离要在对数区内。对数区的y+ >30~60。FLUENT在y+ <12.225时候采用层流(线性)准则,因此网格不必要太密,因为壁面函数在粘性底层更本不起作用。对数区与完全湍流的交界点随压力梯度和雷诺数变化。如果雷诺数增加,该点远离壁面。但在边界层里,必须有几个网格点。 壁面函数处理时网格划分采用双层模型时近壁网格要求当采用双层模型时,网格衡量参数是y+ ,并非y* 。最理想的网格划分是需要第一网格在y+ =1位置。如果稍微大点,比如 =4~5,只要位于粘性底层内,都是可以接收的。理想的网格划分需要在粘性影响的区域内(Rey<200 )至少有十个网格,以便可以计算粘性区域内的平均速度和湍流量。 采用双层区模型时网格划分采用Spalart-Allmaras 模型时的近壁网格要求该模型属于低雷诺数模型。这就要求网格能满足求解粘性影响区域内的流动,引入了阻尼函数,用以削弱粘性底层的湍流粘性影响。因此,理想的近壁网格要求和采用双层模型时候的网格要求一致。采用大涡模拟的近壁网格要求对于大涡模拟,壁面条件采用了壁面法则,因此对近壁网格划分没有太多限制。但是,如果要得到比较好的结果,最好网格要细,最近网格距离壁面在 y+=1的量级上。 for Hexa mesh, ==>Y+是第一层高度一半和 viscous length scale 的比值 for Tetra mesh==>Y+是第一层高度1/3和 viscous length scale 的比值。
壁面函数要求第一点布置在湍流旺盛区(就是确定y+,有推导出来的表达式),而对数分布的成立也是有范围的,所以壁面处网格的划分才是最关键的,一般通过试算搞出来。
这就个大概思想,主要的理论你还得看看陶的书,peric的书在怎么推讲得更细致一些。希望大家补充。
在划分网格时,把第一个内节点布置在对数律成立的范围内,即配置到旺盛湍流区域,11..5~30< y+<200~400。
流场计算完后,查看:Display>Contours…> Contours of /Turbulence…/Wall Yplus
如果y+ 的值大于该范围,应该加密该区域网格,重新计算,再查看y+ ,如果仍不在其范围,继续加密网格。
壁面网格加密可采用自适应网格:
Adapt>Y+/Y*…,Options选项,只选Refine ;Type选Y+;点击Mark,再点击Adapt;及完成网格加密。
非平衡壁面函数(Non-Equilibrium Wall Function)主要应用于以下情况:
涉及分离、再附着、冲击等受压力梯度影响的远离平衡的复杂流动
Enhanced Wall Treatment要求y+ <4~5。
1.基本思想
对于湍流充分发展的核心流动区域使用标准的K-epsilon模型或其改进模型求解;对壁面分子粘性影响明显的区域,直接用半经验公式将壁面上的物理量与湍流核心区内的求解量联系起来,而不对壁面区内流动求解。也就是将求解的第一个内节点布置在近壁区域的对数律成立的区域里,即湍流充分发展的区域,其内不再配置任何节点,如下图所示: 2. 第一个内节点动量方程中u 和能量方程中T 与壁面函数值间的关联
在湍流充分发展的对数律层,无量纲速度和温度服从对数律分布。流体力学理论所得到的速度表达式为:
Y+的查看及FLUENT壁面函数的选择的更多相关文章
- 查看jquery绑定的事件函数
作为技术狂热分子的职业本能,看到一个技术产品的功能,总会忍不住想知道它是怎么被实现的.比如我每每看到别人网站一个很炫的界面或者很酷的功能,就忍不住打开了浏览器的控制台... 好,不扯远,说说当你想看到 ...
- 查看SQL SERVER 加密存储过程,函数,触发器,视图
原文:查看SQL SERVER 加密存储过程,函数,触发器,视图 create PROCEDURE sp_decrypt(@objectname varchar(50))ASbeginset noc ...
- Linux服务器查看PHP是否支持mail()函数方法
PHP的Mail函数可以用来发送邮件,如查看Linux服务器PHP是否支持Mail函数? PHP查看是否支持Mail函数的方法 Linux系统下的服务器,查看PHP是否支持Mail函数的方法有很多种: ...
- SQL Server 2008 R2——PIVOT 行转列 以及聚合函数的选择
==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...
- 如何查看Python的内置函数
经常调用的时候不知道python当前版本的内置函数是哪些,可以用下面的指令查看: C:\Users\Administrator>python Python 2.7.11 (v2.7.11:6d1 ...
- gdb查看虚函数表、函数地址
1. 查看函数地址 看函数在代码的哪一行,使用info line就可以看到类似下面这中输出 点击(此处)折叠或打开 (gdb) info line a.cpp:10 Line 10 of &q ...
- APP安全之代码混淆防止反编译查看真实的头文件函数声明
现在有的公司对自己的爱屁屁(APP)安全上有重视,所以本篇讲一下代码混淆,即使别人反编译出来,也看不出来头文件的信息. 上菜: 1.首先安装class-dump,下载地址:http://steveny ...
- 破解 Rith's CrackMe #1(对比IDA查看动态分析中的MFC函数名)
系统 : Windows xp 程序 : Rith's CrackMe #1 程序下载地址 :http://pan.baidu.com/s/1gecW9Qr 要求 : 注册机编写 使用工具 : IDA ...
- PostgreSQL psql中如何查看快捷功能的对应函数
在psql中,我们可以通过一系列的的快捷命令查看数据库元素,如:\d 查看当前搜索路径下的表,那么内部用到的SQL语句是什么呢,可以通过命令来设置是否打印出来: apple=# \set ECHO_H ...
随机推荐
- ie6、7 下input的边框问题 ?
input的border设置为none,ie8及以上border都兼容,ie6和7的border还继续存在,将border设为0时所有浏览器上都不存在了,但是border为0时还是会继续的渲染. 将i ...
- Android Studio -修改LogCat的颜色
Android Studio -修改LogCat的颜色 author:Kang,Leo weibo:http://weibo.com/kangyi 效果图 设置 Preference->Edit ...
- Google Maps地图投影全解析(3):WKT形式表示
update20090601:EPSG对该投影的编号设定为EPSG:3857,对应的WKT也发生了变化,下文不再修改,相对来说格式都是那样,可以到http://www.epsg-registry.or ...
- 概率dp专场
专题链接 第一题--poj3744 Scout YYF I 链接 (简单题) 算是递推题 如果直接推的话 会TLE 会发现 在两个长距离陷阱中间 很长一部分都是重复的 我用 a表示到达i-2步的概率 ...
- JavaScript中绑定事件监听函数的通用方法addEvent() 和 事件绑定之bindEvent()与 unBindEvent()函数
下面绑定事件的代码,进行了兼容性处理,能够被所有浏览器支持: function addEvent(obj,type,handle){ try{ // Chrome.FireFox.Opera.Safa ...
- mysql复制一列到另一列
mysql复制一列到另一列 UPDATE 表名 SET B列名=A列名 需求:把一个表某个字段内容复制到另一张表的某个字段. 实现sql语句1: 复制代码代码如下: UPDATE file_man ...
- Js数组排序函数sort()
JS实现多维数组和对象数组排序,用的其实就是原生sort()函数,语法为:arrayObject.sort(sortby)(sortby 可选.规定排序顺序.必须是函数.) 返回值为对数组的引用:请注 ...
- Jmeter压测环境准备
Jmeter性能监控 配置好测试机器上的jmeter环境:http://jmeter-plugins.org/downloads/all/ 网站下载两个东西: JMeterPlugins-Standa ...
- python——初识django的template
这周听了老师讲关于django的框架问题,第一次比较透彻的了解了mtv框架.也是第一次接触模板的概念,研究了一下,现在就记录下来好嘞... 首先要介绍一点关于django的模板:我们为什么要使用模板呢 ...
- Android NDK 项目依赖简单示例
目录文件结构如图, 进入main目录执行命令 .ndkbuild NDK_MODULE_PATH=../ 说明 .ndkbuild请替换成有效的ndk-build的命令 所有文件下载 http://p ...