经过一年的忙碌,终于又到了寒假时间,小白又满状态复活了。
这一年小白学了很多的课程,但是一年下来,小白却感觉脑袋里没留下什么东西,貌似什么东西都在考完试的那一刹那全还回给老师了。这一年学习之余,小白仍然坚持着做案例,做大量不同的案例,虽然有一些案例做起来并没有太大的作用,但是至少可以熟练软件操作过程。

最近小白对于网格产生了一些困惑,正巧的是中午在食堂吃饭的时候碰到了小牛师兄,这一学期忙着上课,有一阵子没见着小牛师兄了。
“嘿,师兄,好久不见了耶”,小白上去打招呼。
“是啊小白,最近忙些啥子呢?”小牛师兄的眼神永远那么犀利的盯着面前的那盘红烧肉。
“上课啊,考试啊,整天学这些基础理论也不知道后面用不用得到。唉呀妈呀终于结束了,终于可以安心做点事儿了。”小白很无奈的说。
“哈哈,这不是都学完了嘛,以后就会知道有没有用了。对了,最近还在学CFD么?老蓝还等着你接班呢,嘿嘿”。小牛师兄说。
“开什么玩笑哦,接班?接谁的班?我还没入门呢,就我学的那点儿假把式,估计还得半年,等研二了再说吧。”小白心里有点发虚。

“不开玩笑了,说真的,到底学怎样了?估计没那么多时间留给你学习了,最近有新的项目来了,急需人手,我建议你跟老蓝商量进组学习吧,这样比较快。”小牛师兄放下筷子说道。
“恩,其实软件操作、计算流程都掌握得差不多了,但是总觉得缺点什么,遇到新的问题也还是把握不住。就最近来说吧,就对于计算网格比较困惑,你说在计算的过程中,到底是网格质量重要还是网格数量重要?"小白问道。

“怎么会有这种问题呢,当然都重要啊”,小牛师兄说。
“那总有个优先级吧,比如说在为一个新的计算准备模型的时候,我是要优先考虑网格质量还是网格数量?虽然说很多时候网格数量多了网格质量也跟着变好,但是我那破电脑实在无法承受太多的计算网格,稍多一点就死机啊。那网格数量少了,计算结果还有用么?”小白问。

“其实很多时候,人们往往走入一个误区,他们认为网格数量多就意味着计算精度的提高。但其实并非是这样,对于变化梯度小的区域,你网格数量的增加对于计算精度的贡献其实并不明显,反而对于就计算时间的影响是显而易见的。而网格质量,则在很大程度上会影响计算的精度以及计算收敛过程,要知道收敛过程是直接影响计算时间的,我个人的观点,网格质量要比网格数量重要。高质量的计算网格,哪怕网格数量少点儿,但肯定不会影响计算趋势,但如果网格质量很差,则出现错误计算结果的概率可就比较大了。”小牛师兄说。

“嗯,懂了,在保证计算网格质量的基础上,再来根据计算机资源来考虑网格数量,对吧?”小白说。
“根骨不错呀,骚年”,小牛师兄笑道。

“那问题又来了,网格数量要到什么程度才算合适呢?比如说我要考虑这食堂的环境质量,要画多少网格才行呢?”小白接着问。
“这问题我没法回答你。首先,你没说你拥有的计算资源有多少。用笔记本和用巨型机,所能考虑的计算网格数量是很不一样的。其次,你没说你要考虑哪些问题。因为不同的物理模型和物理细节,对于网格的精密程度要求也是很不一样的。再次,你也没说你的计算时间有多少,一年的时间和一天的时间,所能接受的网格数量肯定有巨大的区别。但是我要说的是,在目前私人拥有的计算资源条件下,计算精度一般是与计算网格数量成正比的。也就是说,网格数量越多,计算精度越高。因此,如果计算时间充足,可以尽可能的提高网格数量。在工程上还有一种称之为”网格独立性“验证的说法,就是为了说明这一问题。”小牛师兄说。

“什么叫网格独立性?”小白很好奇的问。
“所谓的网格独立性,只是一个近似的说法,实际的数值计算,绝对不可能做到网格独立的。网格独立性的做法是这样的:做N套不同密度的计算网格,在相同的工况条件下进行计算,考虑相关物理量的变化率。当网格密度达到一定程度后,继续增加网格密度对于计算结果的影响非常小,此时可以认为计算网格数量的增加对于计算结果的影响可以忽略,在后续的计算过程中,采用计算结果不再发生变化位置的计算网格数量作为网格数量基准。其实说白了就是在计算精度与计算时间之间进行一个折中而已。而这里所说的计算结果不再发生变化,也取决于个人的判断,你觉得变化量在1%以内叫不变化,我也可以认为在5%以内叫不变化,自己确定,但是可以肯定的是,计算结果随着网格数量的增加肯定会有变化的。你想,计算结果怎么可能与网格数量无关嘛。"小牛师兄说。

“网格独立性验证要求我们的计算网格疏密对计算结果的影响在可以接受的范围之内,但是如果计算资源充足的话,的确可以再提高网格的数量以增加精度。但要记住的一点是:增加网格数量不一定能提高计算精度,但是高精度的计算结果一定来自于高密度的网格。说起来很拗口,你可以这样思考,影响计算结果精度的因素除了计算网格之外还有很多,比如计算模型,边界条件,初始条件,残差标准等等,因此网格数量的增加不一定就能够提高计算精度,但是如果网格数量过少,肯定得不到精确的计算结果。”

“那么问题来了,多少网格叫粗多少网格叫密呢?通常我们并不说某某模型需要多少网格,网格数量通常取决于你拥有的计算资源和时间资源。打个很简单的比方,比如你要设计某个产品,设计周期是一个月,你利用CFD来帮助进行设计,如果你每一个模型的计算时间需要一周,那时间资源肯定不够,你只能使用低密度的网格,每个计算时间在一天之内的网格模型来进行计算。或者你可以换用更高级的计算机,但一定要确保每个模型的计算时间不能超过一天。很简单的道理对不对。”

“还有个很容易被忽略的问题,那就是网格的分布。初学者划分的网格常常是均匀分布的,这其实是一种资源浪费。要记住的一点是只有梯度大的区域才需要高密度的网格。在流场计算过程中,只有一些物理量变化剧烈的场合才需要更精细的网格。因此在划分网格之前就需要对流体域内流动特征有一个初略的估计,在物理量梯度大的区域布置更加细密的网格,这是一个很重要的网格划分规则。”

小白的总结

  • 一般情况下,网格质量必须得到保证,否则会影响计算收敛过程,甚至导致错误的计算结果。
  • 在保证网格质量的前提下,根据计算资源来考虑网格数量
  • 网格独立性并非表示数值计算结果与计算网格数量无关,而只是在计算精度与计算网格数量之间的一个折衷
  • 增加网格数量不一定能提高计算精度,但是高精度的计算结果一定来自于高密度的网格
  • 梯度大的区域才需要划分更精细的网格,尺寸均匀的网格不一定是好的网格

【小白的CFD之旅】19 来自计算网格的困惑的更多相关文章

  1. 【小白的CFD之旅】20 计算区域的构建

    计算域是什么计算域如何创建常用的建模软件计算域几何的特殊之处具体的计算域提取方法小白总结 自从上次在食堂听了小牛师兄关于计算网格的一些问题后,小白决定在寒假期间好好的补习一下关于计算网格的划分内容.在 ...

  2. 【小白的CFD之旅】22 好网格与坏网格

    网格疏密网格形状其他的一些问题小白的总结郑重申明 网格的作用如此重要,以至于小白纠结了很久.小白知道网格划分过程很大程度上受制于计算资源的限制,但小白还是不太明白,如果计算资源非常充足,不用顾忌资源限 ...

  3. 【小白的CFD之旅】小结及预告

    这是小白系列的索引,后续会继续更新. 已更新的部分 01 引子02 江小白03 老蓝04 任务05 补充基础06 流体力学基础07 CFD常识08 CFD速成之道09 初识FLUENT10 敲门实例1 ...

  4. 【小白的CFD之旅】13 敲门实例【续3】

    接上文[小白的CFD之旅]12 敲门实例[续2] 4 Results4.1 计算监测图形4.2 Graphics4.2.1 壁面温度分布4.2.2 创建截面4.2.3 显示截面物理量4.2.4 Pat ...

  5. 【小白的CFD之旅】12 敲门实例【续2】

    接上文[小白的CFD之旅]敲门实例[续] 主要内容 3 Solution3.1 Solution Methods3.2 Solution Controls3.3 Monitors3.4 Report ...

  6. 【小白的CFD之旅】11 敲门实例【续】

    主要内容: 接上文[小白的CFD之旅]10 敲门实例 2.4 Materials设置2.5 Cell Zone Conditions2.6 Boundary Conditons2.7 Dynamic ...

  7. 《小白的CFD之旅》招募写手

    <小白的CFD之旅>系列招募写手. 由于工作繁忙,<小白的CFD之旅>系列更新缓慢,现招募志愿者写手.这是一个分享平台,欢迎各位愿意分享自己CFD学习经历的朋友们. <小 ...

  8. 【小白的CFD之旅】01 引子

    小白的CFD之旅 写在前面 CFD是计算流体力学的英文简称,是计算机辅助工程(CAE)的主要分支,目前广泛应用与科学研究.工程设计中.这是一门综合了数学.计算机及流体力学的综合学科,涉及到众多的专业理 ...

  9. 【小白的CFD之旅】16 流程

    那天听了小牛师兄关于CFD应用的四种境界的说法后,小白发现自己连第一种境界都算不上,自己对于CFD还只是停留在做了少数几个案例的基础上,可以说是对其一无所知.不过小白不是那种遇到挫折就退缩的人,他决定 ...

随机推荐

  1. Reading CheckBoxes and Radio Buttons

    Input tags with the type attribute checkbox can be grouped like radio buttons so that several checkb ...

  2. JQuery动态给table添加、删除行 改进版

    复制代码 代码如下: <html> <head> <title> </title> <script src="js/jquery-1.4 ...

  3. vijos 1006 晴天小猪历险记之Hill——数字三角形的终极变化

    题目链接:https://vijos.org/p/1006 数字三角形原题看这里:http://www.cnblogs.com/huashanqingzhu/p/7326837.html 背景 在很久 ...

  4. Uploadify in ASP.Net

    和分页类似,文件上传是web开发标配的技能之一.下面介绍Uploadify的配置和使用. 一.配置 首先到Uploadify官网下载,然后在项目中添加相应引用.前台代码如下: 1.jquery.js2 ...

  5. Android API之android.content.BroadcastReceiver

    android.content.BroadcastReceiver Base class for code that will receive intents sent by sendBroadcas ...

  6. 项目更改版本号之后打包失败 resolution will not be reattempted until the update interval of nexus has elapsed or updates are forced

    在修改项目的版本号之后,如pom.xml中<version>1.2.0-SNAPSHOT</version>替换为<version>1.0.0-RELEASE< ...

  7. 自己开发Visual studio插件-一个nvelocity高亮插件

    首先,有一个项目用到了nvelocity模板引擎,但是用vs开发模板的时候,没有高亮效果,所以非常不方便,鉴于这个,于是有了自己开发插件的念头,但是在vs sdk开发上面,这方面的资料真是少之又少,网 ...

  8. 回到顶部bug

    参考自一博客(https://www.cnblogs.com/abao0/p/6642288.html)内有慕课网教程(后发现有bug, 弃置不用了) 以下有问题, 当滚动条处于顶部时, 刷新页面, ...

  9. 看过这两张图,就明白 Buffer 和 Cache 之间区别

    Buffer常见的是这个: 对,就是铁道端头那个巨大的弹簧一类的东西.作用是万一车没停住,撞弹簧上减速慢,危险小一些.叫缓冲. Cache常见的是这个: 没错,就是一种保管箱.看到右边那个被锈掉的Fo ...

  10. 如何使用SetTimer

    1.SetTimer定义在那里? SetTimer表示的是定义个定时器.根据定义指定的窗口,在指定的窗口(CWnd)中实现OnTimer事件,这样,就可以相应事件了. SetTimer有两个函数.一个 ...