【小白的CFD之旅】16 流程
那天听了小牛师兄关于CFD应用的四种境界的说法后,小白发现自己连第一种境界都算不上,自己对于CFD还只是停留在做了少数几个案例的基础上,可以说是对其一无所知。不过小白不是那种遇到挫折就退缩的人,他决定沿着黄师姐的方法从软件入手继续学下去。在认真的做完了敲门实例后,小白又认真的做了几个FLUENT实例文档中的案例,虽然说案例都比较简单,但是小白还是在黄师姐的提示下对这些案例的共同点进行了总结,从而了解CFD解决实际问题的基本流程。
1 明确计算目的
从现实世界中提出要解决的问题非常重要。提出的问题必须是清晰具体的。比如说,要研究飞机的飞行,我们提出的问题不能是
“飞机为什么会飞?”,这问题太大而且不方便进一步考虑,如果问题是“这飞机飞行时的升力和阻力多大?”则具体得多,也更方便进行下一步的研究工作。
准确地提出计算目的需要良好的理论背景作支撑。准确地抓住物理现象背后的力学模型,找到流体问题求解的目标,是利用CFD工程应用的基础。
在这一步工作中需要对问题进行简化,保留重要特征忽略一些不重要的细节,如计算传热问题时,当温差不很大时,可以忽略热辐射。
在这一步,需要明确的问题包括:
- 要算什么?有哪些物理量可以用来描述计算目标?
- 这些物理量是否可以直接计算获取?若不能直接获取,是否可以用间接物理量进行替代?
- 当物理模型过于复杂时,是否可以进行一些简化,忽略一些不重要的特征?
- CFD是否适合解决此问题?
2 抽象模型
找到问题求解的目标之后,下一步的工作是建立力学模型,将物理现象以数学语言进行描述。利用流体力学理论建立适合自己问题的控制方程。
建立控制方程,包括:
- 模型理论基础。基于哪些物理基础,进行了哪些假设,都需要明确。
- 确定模型的边界条件及初始条件。对于建立的流体模型,通常都是一些偏微分方程,这些方程的求解必须配合边界条件与初始条件。
3 计算规划
确定了计算目标并建立了力学模型之后,下一步的工作就要开始规划如何进行计算了。流体力学模型通常是非线性的偏微分方程,绝大多数都无法进行解析求解,通常采用数值方法进行求解。利用数值方法求解这些方程可采用手动编制程序,也可以采用已有的一些软件包,至于采用何种方式,取决于当前的研究条件和时间周期要求。
编制程序计算灵活性更高,可以应用最新的研究成果和算法,可能获得更精确的计算结果。但是从头编制程序需要耗费大量的人力物力和时间,在工程上很难满足产品研发的周期要求,因此手动编制程序计算多见于研究机构。
工程产品研发多用成品软件包来进行,CFD商用软件包大多很贵,但是具有良好的人机界面而且经过严格的软件测试,具有良好的鲁棒性,可靠性能够得到保障。利用开源软件包开源节省一大笔软件购买费用,然而开源软件的人机界面通常不如商用软件做得好,软件不一定经过了严格的测试,特别是自己定制的程序。但是开源软件的程序代码是公开的,开源根据实际需要进行修改。
4 创建计算模型
在确定计算方式之后,若选用计算软件进行计算,则下一步工作为创建计算模型。
计算模型包括两部分:几何模型及网格模型。
几何模型可以采用常用的CAD软件创建,在创建几何模型时,对于模型中的一些细节特征,需要仔细的考量,尽可能的忽略一些不重要的特征,这有助于减少网格数量从而减小计算开销。
将几何模型进行网格划分后形成网格模型。网格模型不一定要完全贴合几何模型,但是对于计算过程中一些重要的特征,则需要尽可能的特近真实几何。流体计算网格通常需要沿着流线方向划分,在流动梯度大的区域需要加密网格。一般需要做多套网格进行计算,以评估网格疏密对计算结果的影响。
5 确定物理模型
其实在第一步和第二步中已经涉及到了物理模型,这里说的物理模型指的是在CFD程序中添加的物理模型。对于不同的物理模型,需要设置相应的模型参数,这些模型参数有些依赖于理论,有些则依赖于实验。
6 边界条件及初始条件
边界条件和初始条件直接影响计算结果,确保输入真实的边界条件。
对于瞬态计算,还要求输入真实的初始条件。虽然稳态计算不依赖于初始条件,但是输入相对真实的初始值有助于帮助收敛。
真实的边界条件和初始条件通常都需要通过实验测定获取。
7 计算结果评估
在初步计算后,通常需要通过对比实验结果进行模型标定。
在这一过程中,往往包括网格独立性验证、时间独立性验证以及数值控制参数调整等。
通常需要准备多套网格,进行多组计算,比较计算结果与实验值来获取计算结果与网格、时间步长等的敏感性,从而选择最合适的网格粒度以及时间步长。
8 计算后处理
分析计算结果,获取有用的数据。
【小白的CFD之旅】16 流程的更多相关文章
- 【小白的CFD之旅】小结及预告
这是小白系列的索引,后续会继续更新. 已更新的部分 01 引子02 江小白03 老蓝04 任务05 补充基础06 流体力学基础07 CFD常识08 CFD速成之道09 初识FLUENT10 敲门实例1 ...
- 《小白的CFD之旅》招募写手
<小白的CFD之旅>系列招募写手. 由于工作繁忙,<小白的CFD之旅>系列更新缓慢,现招募志愿者写手.这是一个分享平台,欢迎各位愿意分享自己CFD学习经历的朋友们. <小 ...
- 【小白的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之旅】17 需要编程?
小白经过大半个多月对于CFD的学习,终于对其大概轮廓有了初步的了解,尤其是在与小牛师兄交流之后.小牛师兄毕竟是专业学流体力学的,小白认为在流体力学理论方面自己与牛师兄至少存在5年的差距.不过小白并不气 ...
- 【小白的CFD之旅】09 初识FLUENT
按黄师姐的推荐,小白回头查找起 FLUENT的资料来.通过网络及图书馆查找相关资料,小白对于FLUENT有了基本的认识. FLUENT是一个CFD软件包,目前隶属于ANSYS公司 目前FLUENT的最 ...
- 【小白的CFD之旅】08 CFD速成之道
学了那么一个星期的流体力学,又看了一周的计算流体力学,小白对于如何应用CFD解决工程流体问题,依然是一无所知.眼看一个月的时间已经过半,小白有点着急起来.于是在一个阳光明媚的早晨,小白又找到了黄师姐. ...
随机推荐
- Windows Server配置Jenkins,实现监测SVN提交自动构建.net4.5的项目
1,持续集成 概念:http://baike.baidu.com/view/5253255.htm,对于大多数人而言,自动构建/自动测试/自动部署,已经很发挥它的价值了.选择上: 推荐jenkins, ...
- trace与代码跟踪服务
首先开篇引用<MVC2 2 in action>里面一段关于这个跟踪服务的话 When you called Trace.Write() in Web Forms, you were in ...
- 通过HttpListener实现简单的Http服务
使用HttpListener实现简单的Http服务 HttpListener提供一个简单的.可通过编程方式控制的 HTTP 协议侦听器.使用它可以很容易的提供一些Http服务,而无需启动IIS这类大型 ...
- Hibernate总结(三)
在Hibernate(二)中,简单总结了表与表之间的级联操作,但是并没有总结查询操作,这一篇将总结Hibernate查询所实现的加载策略. 加载策略: 立刻加载:马上去数据库中查询 延迟加载:当使用数 ...
- MyEclipse10查看Struts2源码及Javadoc文档
1:查看Struts2源码 (1):Referenced Libraries >struts2-core-2.1.6.jar>右击>properties. (2):Java Sour ...
- SSH(Struts2+Spring+Hibernate)框架搭建流程<注解的方式创建Bean>
此篇讲的是MyEclipse9工具提供的支持搭建自加包有代码也是相同:用户登录与注册的例子,表字段只有name,password. SSH,xml方式搭建文章链接地址:http://www.cnblo ...
- HTML思维导图
- 使用TopSelf创建自宿主的Windows服务程序
在传统的Windows服务开发过程中,需要添加一个服务安装程序,里面写安装,启动和停止服务等逻辑.现在,使用TopSelf可以简化这个过程. 首先,继承 ServiceControl 写一个应用服务类 ...
- Hibernate 小阶段总结
(一)Hibernate入门 通俗的话来说:Hibernate是用于面向对象操控数据库,对JDBC进行轻量级封装.(在java世界中传统的来说是JDBC访问数据库.) 1)Hibernate定性:对象 ...
- 【UI插件】开发一个简单日历插件(上)
前言 最近开始整理我们的单页应用框架了,虽然可能比不上MVVM模式的开发效率,也可能没有Backbone框架模块清晰,但是好歹也是自己开发出来 而且也用于了这么多频道的东西,如果没有总结,没有整理,没 ...