那天听了小牛师兄关于CFD应用的四种境界的说法后,小白发现自己连第一种境界都算不上,自己对于CFD还只是停留在做了少数几个案例的基础上,可以说是对其一无所知。不过小白不是那种遇到挫折就退缩的人,他决定沿着黄师姐的方法从软件入手继续学下去。在认真的做完了敲门实例后,小白又认真的做了几个FLUENT实例文档中的案例,虽然说案例都比较简单,但是小白还是在黄师姐的提示下对这些案例的共同点进行了总结,从而了解CFD解决实际问题的基本流程。

1 明确计算目的

从现实世界中提出要解决的问题非常重要。提出的问题必须是清晰具体的。比如说,要研究飞机的飞行,我们提出的问题不能是

“飞机为什么会飞?”,这问题太大而且不方便进一步考虑,如果问题是“这飞机飞行时的升力和阻力多大?”则具体得多,也更方便进行下一步的研究工作。

准确地提出计算目的需要良好的理论背景作支撑。准确地抓住物理现象背后的力学模型,找到流体问题求解的目标,是利用CFD工程应用的基础

在这一步工作中需要对问题进行简化,保留重要特征忽略一些不重要的细节,如计算传热问题时,当温差不很大时,可以忽略热辐射。

在这一步,需要明确的问题包括:

  • 要算什么?有哪些物理量可以用来描述计算目标?
  • 这些物理量是否可以直接计算获取?若不能直接获取,是否可以用间接物理量进行替代?
  • 当物理模型过于复杂时,是否可以进行一些简化,忽略一些不重要的特征?
  • CFD是否适合解决此问题?

2 抽象模型

找到问题求解的目标之后,下一步的工作是建立力学模型,将物理现象以数学语言进行描述。利用流体力学理论建立适合自己问题的控制方程。

建立控制方程,包括:

  • 模型理论基础。基于哪些物理基础,进行了哪些假设,都需要明确。
  • 确定模型的边界条件及初始条件。对于建立的流体模型,通常都是一些偏微分方程,这些方程的求解必须配合边界条件与初始条件。

3 计算规划

确定了计算目标并建立了力学模型之后,下一步的工作就要开始规划如何进行计算了。流体力学模型通常是非线性的偏微分方程,绝大多数都无法进行解析求解,通常采用数值方法进行求解。利用数值方法求解这些方程可采用手动编制程序,也可以采用已有的一些软件包,至于采用何种方式,取决于当前的研究条件和时间周期要求。

编制程序计算灵活性更高,可以应用最新的研究成果和算法,可能获得更精确的计算结果。但是从头编制程序需要耗费大量的人力物力和时间,在工程上很难满足产品研发的周期要求,因此手动编制程序计算多见于研究机构。

工程产品研发多用成品软件包来进行,CFD商用软件包大多很贵,但是具有良好的人机界面而且经过严格的软件测试,具有良好的鲁棒性,可靠性能够得到保障。利用开源软件包开源节省一大笔软件购买费用,然而开源软件的人机界面通常不如商用软件做得好,软件不一定经过了严格的测试,特别是自己定制的程序。但是开源软件的程序代码是公开的,开源根据实际需要进行修改。

4 创建计算模型

在确定计算方式之后,若选用计算软件进行计算,则下一步工作为创建计算模型。

计算模型包括两部分:几何模型及网格模型。

几何模型可以采用常用的CAD软件创建,在创建几何模型时,对于模型中的一些细节特征,需要仔细的考量,尽可能的忽略一些不重要的特征,这有助于减少网格数量从而减小计算开销。

将几何模型进行网格划分后形成网格模型。网格模型不一定要完全贴合几何模型,但是对于计算过程中一些重要的特征,则需要尽可能的特近真实几何。流体计算网格通常需要沿着流线方向划分,在流动梯度大的区域需要加密网格。一般需要做多套网格进行计算,以评估网格疏密对计算结果的影响。

5 确定物理模型

其实在第一步和第二步中已经涉及到了物理模型,这里说的物理模型指的是在CFD程序中添加的物理模型。对于不同的物理模型,需要设置相应的模型参数,这些模型参数有些依赖于理论,有些则依赖于实验。

6 边界条件及初始条件

边界条件和初始条件直接影响计算结果,确保输入真实的边界条件。

对于瞬态计算,还要求输入真实的初始条件。虽然稳态计算不依赖于初始条件,但是输入相对真实的初始值有助于帮助收敛。

真实的边界条件和初始条件通常都需要通过实验测定获取。

7 计算结果评估

在初步计算后,通常需要通过对比实验结果进行模型标定。

在这一过程中,往往包括网格独立性验证、时间独立性验证以及数值控制参数调整等。

通常需要准备多套网格,进行多组计算,比较计算结果与实验值来获取计算结果与网格、时间步长等的敏感性,从而选择最合适的网格粒度以及时间步长。

8 计算后处理

分析计算结果,获取有用的数据。

【小白的CFD之旅】16 流程的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

  7. 【小白的CFD之旅】17 需要编程?

    小白经过大半个多月对于CFD的学习,终于对其大概轮廓有了初步的了解,尤其是在与小牛师兄交流之后.小牛师兄毕竟是专业学流体力学的,小白认为在流体力学理论方面自己与牛师兄至少存在5年的差距.不过小白并不气 ...

  8. 【小白的CFD之旅】09 初识FLUENT

    按黄师姐的推荐,小白回头查找起 FLUENT的资料来.通过网络及图书馆查找相关资料,小白对于FLUENT有了基本的认识. FLUENT是一个CFD软件包,目前隶属于ANSYS公司 目前FLUENT的最 ...

  9. 【小白的CFD之旅】08 CFD速成之道

    学了那么一个星期的流体力学,又看了一周的计算流体力学,小白对于如何应用CFD解决工程流体问题,依然是一无所知.眼看一个月的时间已经过半,小白有点着急起来.于是在一个阳光明媚的早晨,小白又找到了黄师姐. ...

随机推荐

  1. 关于本月第一天,本月最后一天的SQL代码

    DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)  --返回本月第一天 dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate() ...

  2. 【转】单例模式(Singleton)

    首先来明确一个问题,那就是在某些情况下,有些对象,我们只需要一个就可以了, 比如,一台计算机上可以连好几个打印机,但是这个计算机上的打印程序只能有一个, 这里就可以通过单例模式来避免两个打印作业同时输 ...

  3. jQuery弹出美女大图片

    效果:http://hovertree.com/texiao/jqimg/2/ 效果图: 下载:http://hovertree.com/h/bjaf/jdaqepet.htm HTML代码: < ...

  4. [WCF编程]12.事务:事务传播

    一.事务传播概述 WCF可以跨越服务边界传递事务.这可以让服务参与到客户端事务里,客户端还可以在同一个事务里调用多个服务.客户端本身不一定是WCF服务.客户端事务是否传播到服务端可以通过绑定和操作契约 ...

  5. [WCF编程]7.实例上下文模式

    一.实例上下文模式概述 实例上下文(IntanceContext Mode)表示服务端的服务实例与客户端的服务代理的绑定方式. 在实例化服务器对象时,WCF采用了3种不同的模式:单调(Per-Call ...

  6. 流行ORM产品优缺点分析--EntityFramework、NHibernate、PetaPoco

    什么是ORM? ORM的全称是Object Relational Mapping,即对象关系映射.它的实现思想就是将关系数据库中表的数据映射成为对象,以对象的形式展现,这样开发人员就可以把对数据库的操 ...

  7. 前端 angular 和 bootstrap 的安装步骤

    1.安装bower模块: npm install -g bower --registry=http://registry.npm.taobao.org 2.创建.bowerrc 文件存放 前端相关的模 ...

  8. C++_系列自学课程_第_7_课_数组_《C++ Primer 第四版》

    说到数组,大家应该都很熟悉,在C.Pascal.Java等语言中,都有数组的概念.在C++中也提供了对数组的支持.数组简单来说就是一堆相同 数据类型对象的集合. 这里要把握住两个要点: 相同的数据类型 ...

  9. python征程1.3(初识python)

    1.字典. 字典是python中的映射的数据类型,由键值对构成,几乎所有类型的python对象都可以用作键,不过一般还是以数字或是字符串最为常见.值可以是任意类型的python对象,字典元素用{}来包 ...

  10. Javascript对象

    这次的分享,主要还是想跟大家聊聊Javascript语言中很重要的概念之一,对象.为什么说之一呢?因为Javascript其他重要概念还包括:作用域 作用域链 继承 闭包 函数 继承 数组 ..... ...