【小白的CFD之旅】22 好网格与坏网格
网格的作用如此重要,以至于小白纠结了很久。小白知道网格划分过程很大程度上受制于计算资源的限制,但小白还是不太明白,如果计算资源非常充足,不用顾忌资源限制的情况下,如何判断生成的网格好坏?如何确定自己生成的网格是否合乎要求?如何利用软件来判断网格是否满足要求?
在食堂的餐桌上,小白向小牛师兄询问这些问题。
“在我的眼中,网格和美女一样,只有漂亮的和不漂亮的区别,没有好与坏。”小牛师兄看着不远处一群饭都堵不住嘴巴在那叽叽喳喳的女生,慢悠悠的说。小牛师兄虽然学术搞得不错,可是快奔三的人仍然是光荣的单身狗一条,因此看到漂亮女生总能发表一些与众不同的看法。
“怎么说呢,对于网格好坏,我的做法是用肉眼观察,看着舒服的网格可能是好的,一眼看过去感觉不舒服的,肯定是有问题的不好的网格”。小牛师兄继续补充道。
“有没有科学点的判断方法呢?肉眼观察也太忽悠人了吧!”小白说。
网格疏密
“嘿嘿,的确忽悠了点,那我们就来说点儿正紧的。我们都知道,一般情况下好的网格要根据流场分布来进行布置,那么在流场计算之前就要预估物理量的分布。”小牛师兄补充道。
“都没计算,怎么判断流场分布呢?”小白问。
“在计算之前,需要根据流体力学理论判断流场分布,比如说流体流经障碍物的时候,在障碍物的上游及下游必定会出现较大的扰动,物理量变化极为剧烈,因此在这些区域需要布置更多的网格。”小牛师兄说。
“网格的疏密跟流场物理量梯度直接相关,那么哪些区域流场梯度大呢?”小白问。
“一般来说,这些区域流场梯度大:(1)障碍物上下游附近区域。(2)边界层区域。大梯度的区域都和边界扰动有关。”
“还有种情况需耍加密网格,那就是你需要提高某区域内计算精度时,此时需要提高此区域网格的密度。”
“说到网格疏密,就不得不提网格增长率。一套好的网格是有疏密分布的,那么在粗网格向密网格过渡时,存在一个增长率。CFD网格要求这个增长率不能太大,一般在1.1~1.3之间。”
网格形状
“除了网格疏密需要关注外,还需要关注网格形状,你觉得什么形状的网格是最好的?”小牛师兄问。
“我也不是很明确,很多资料上建议使用四边形和六面体,也有资料上说直接使用三角形和四面体,还有资料说要使用混合网格,也看到有资料说笛卡尔网格是一种发展趋势。众说纷纭,我都被搞迷糊了。”小白说道。
“先来说现在常用的网格形状。目前比较常用的网格形状主要有:三角形、四边形、四面体、六面体、五面体、三棱柱,有些求解器还支持多面体和六边形网格。”小牛师兄说道。
“这些形状是谁规定的呢?有没有球形和圆形的网格?”小白很好奇。
“网格的形状是由求解器决定的,或者更准确的说是由求解器的离散算法所决定。具体的以后有时间再具体探讨,今天要说的是:我们能够使用什么网格形状取决于求解器,像Fluent支持使用多面体网格,而CFX则不支持这种类型的网格。还有笛卡尔网格,很多EFD软件都支持,但支持此类型的CFD求解器并不多。当然如果是自己开发求解器的话,则完全可以开发支持任意形状网格的离散算法。”小牛师兄这样说。
“话虽然可以这样说,但实际上操作性并不强。因为选用网格类型需要考虑两个主要问题:(1)离散精度;(2)几何适应性。而这两方面却是相互矛盾的,某种网格离散精度高,其几何适应性往往不好。”
“再说点儿实际的,都在说四边形和六面体网格好,你觉得它们为什么好?”小牛师兄问。
“我也说不好,是不是离散精度比较高?好多复杂的几何都很难生成六面体网格,我猜它们的几何适应性肯定不会太好。”小白说。
“是的,四边形和六面体网格的离散精度好。这主要得益于其正交性好及相邻结点数较多。具体来讲,完美的四边形网格,其网格边具有完美的正交性(夹角90度),而完美的三角形网格夹角为60度,正交性会影响插值精度和计算收敛性。再说相邻结点数,四边形网格拥有四个相邻结点,六面体网格有六个相邻结点,而三角形网格及四面体网格相邻节点数分别为3个和4个。理论上讲,相邻节点数越多,插值精度越高。因此通常在网格数量相当的情况下,四边形和六面体网格拥有比三角形和四面体网格更高的精度。”小牛师兄解释道。
“有利就有弊,四边形和六面体网格也有其不利的方面,最典型的是几何适应性。对于复杂的几何模型,生成四边形网格或六面体网格常常需要花费极大的时间开销,有时甚至无法生成。”
“还有一种情况不适合使用四边形和六面体网格,那就是当流动与网格流向不一致的时候,此时使用四边形或六面体网格可能会造成较大的伪扩散,严重影响计算精度”
“实际上对于复杂的工程模型,往往同时存在多种类型的计算网格,常见的做法是:分割计算域几何,在简单区域或精度要求高的区域生成四边形或六面体网格,而在复杂区域或精度要求不高的区域生成三角形或四面体网格,不同类型网格之间采用五面体网格进行过度。”小牛师兄总结道。
其他的一些问题
“除了这些问题,划分网格的过程中还有什么其他的问题需要注意呢?”小白问。
“其实还有很多问题需要注意,比如边界层网格,这个我们后面再来探讨。”小牛师兄说。
“关于网格,你只需要记住一点就够了:漂亮的网格才是好网格!”
小白的总结
- 一套好的网格,一定是看起来赏心悦目的
- 好的网格,一定是疏密有间的,要根据流场分布来布置网格
- 四边形和六面体网格拥有好的计算精度和收敛性,但几何适应性不好,对于复杂的模型通常采用混合网格结构
郑重申明
- 本系列根据真实经历改编,如有雷同实属巧合,请勿人肉
- 转载请务必保证文字完整
对系列感兴趣的朋友可微信扫描下方二维码,关注微信公众号第一时间接收文章更新。
【小白的CFD之旅】22 好网格与坏网格的更多相关文章
- 【小白的CFD之旅】小结及预告
这是小白系列的索引,后续会继续更新. 已更新的部分 01 引子02 江小白03 老蓝04 任务05 补充基础06 流体力学基础07 CFD常识08 CFD速成之道09 初识FLUENT10 敲门实例1 ...
- 【小白的CFD之旅】13 敲门实例【续3】
接上文[小白的CFD之旅]12 敲门实例[续2] 4 Results4.1 计算监测图形4.2 Graphics4.2.1 壁面温度分布4.2.2 创建截面4.2.3 显示截面物理量4.2.4 Pat ...
- 【小白的CFD之旅】12 敲门实例【续2】
接上文[小白的CFD之旅]敲门实例[续] 主要内容 3 Solution3.1 Solution Methods3.2 Solution Controls3.3 Monitors3.4 Report ...
- 【小白的CFD之旅】11 敲门实例【续】
主要内容: 接上文[小白的CFD之旅]10 敲门实例 2.4 Materials设置2.5 Cell Zone Conditions2.6 Boundary Conditons2.7 Dynamic ...
- 【小白的CFD之旅】01 引子
小白的CFD之旅 写在前面 CFD是计算流体力学的英文简称,是计算机辅助工程(CAE)的主要分支,目前广泛应用与科学研究.工程设计中.这是一门综合了数学.计算机及流体力学的综合学科,涉及到众多的专业理 ...
- 《小白的CFD之旅》招募写手
<小白的CFD之旅>系列招募写手. 由于工作繁忙,<小白的CFD之旅>系列更新缓慢,现招募志愿者写手.这是一个分享平台,欢迎各位愿意分享自己CFD学习经历的朋友们. <小 ...
- 【小白的CFD之旅】19 来自计算网格的困惑
经过一年的忙碌,终于又到了寒假时间,小白又满状态复活了. 这一年小白学了很多的课程,但是一年下来,小白却感觉脑袋里没留下什么东西,貌似什么东西都在考完试的那一刹那全还回给老师了.这一年学习之余,小白仍 ...
- 【小白的CFD之旅】21 网格划分软件的选择
但是怎样才能获得流体计算网格呢?“工欲善其事必先利其器”,画网格该用什么器呢?小白决定找黄师姐请教一番. 小白找到黄师姐的时候,黄师姐正在电脑上忙着. “黄师姐,我发现网格划分软件有好多种,究竟哪种才 ...
- 【小白的CFD之旅】16 流程
那天听了小牛师兄关于CFD应用的四种境界的说法后,小白发现自己连第一种境界都算不上,自己对于CFD还只是停留在做了少数几个案例的基础上,可以说是对其一无所知.不过小白不是那种遇到挫折就退缩的人,他决定 ...
随机推荐
- Window修改cmd编码
Window默认编码是gbk,对一些字符不支持.需在不同语言上切换,急需要调整字符集编码..chcp 功能: 显示或设置活动代码页编号 chcp [nnn] #nnn 指定的代码页编号 chcp ...
- C# sqlserver 2008 连接字符串
sqlserver 2008 的连接字符串和sql2005的几乎是一样的,但是,他们对于其中的一些配置要求不同.我试着用了很多连接字符串,最后找到了问题的原因,特别记录到这里,如果有相同问题的同学,可 ...
- HanLP自定义词典注意事项
对于词典,直接加载文本会很慢,所以HanLP对于文本文件做了一些预处理,生成了后缀名为.txt.bin的二进制文件. 这些二进制文件相当于缓存,避免了每次加载去读取多个文件. 通过这种txt和bin结 ...
- servlet 中通过response下载文件
public class ResponseDemo3 extends HttpServlet { private static final long serialVersionUID = -52329 ...
- 修改linux 最大文件限制数 ulimit
1)修改当前交互终端的limit值 查询当前终端的文件句柄数: ulimit -n 回车,一般的系统默认的1024. 修改文件句柄数为65535,ulimit -n 65535.此时系统的文件句柄数为 ...
- du命令解决linux磁盘空间满的问题(很不错的哦)
首先你要确定是不是真正的是因为数据空间占满磁盘,经常是因为某个程序的日志占满了空间.当发现磁盘满了以后不要着急,使用以下命令从根目录开始排除查找哪个文件夹最大: du --max-depth=1 找到 ...
- Linux操作系统中文件结构stat中st_size的说明以及对于文件中洞(Holes)的理解
文件stat结构体中st_size成员 对于所有的文件类型,st_size成员对其中的普通文件.目录以及符号链接有实在的意义.其中,对于普通文件而言,st_size记录了该文件的实际大小:对于目录而言 ...
- sudo: add-apt-repository: command not found
错误来啦:sudo: add-apt-repository:command not found 网上解决办法是直接安装工具包 命令:sudo apt-get install python-s ...
- Rplidar学习(三)—— ROS下进行rplidar调试
一.建立工作空间.编译包 mkdir -p ~/catkin_rplidar/src #创建目录 cd ~/catkin_rplidar/src #打开目录 #下载rplidar_ros数据包,进行移 ...
- React(0.13) 定义一个动态的组件(函数作为动态的值)
<!DOCTYPE html> <html> <head> <title>React JS</title> <script src=& ...
