小白最近逛图书馆,发现最近关于Fluent的书是越来越多了,而且还发现这些关于Fluent教材中的案例都大同小异。小白接受小牛师兄的建议,找了一本结构比较鲜明的书照着上面的案例就练了起来。不过当练习的案例多了,小白却发现了一个问题“在建立计算模型时,为什么有时候采用二维模型,而有时候又采用三维模型?二维模型和三维模型的差异在哪里?二维代替三维到底有没有问题?”带着这些问题,小白找到了小牛师兄。

“师兄,你说Fluent中计算的二维模型到底有没有意义呢?”小白问。

“怎么会没有意义呢,当然有意义啊,当你计算机性能不行的时候,你就会知道能算二维是一件多么有意义的事情了。”小牛师兄说。

“可是,现实世界中不可能存在二维的物体啊。”小白说。

“嗯,这倒是真的,现实世界的任何物体都是三维的,不存在没有厚度的面,也不存在没有截面积的线,更不存在没有体积的点,所有的这一切都是近似的。但是近似并不表示一定就不行,实际上在很多时候利用这些近似,可以获得不错的结果。”小牛师兄说。

“那什么时候可以利用这种简化呢?比如说用二维代替三维模型。”小白问。

“我们常说的以二维模型来近似模拟三维模型,只是针对某一维尺寸远小于另外两维的情况下。这时候需要注意的是,采用二维模型时无法考虑法向方向的物理信息,在进行二维几何模型计算过程中,常常将面法向方向简化为常数,即总是认为面几何体的厚度为定值(通常默认为1 m)。在CFD中,二维模型一般都为平面模型。”小牛师兄说。

“我在做案例的时候,碰到过很奇怪的问题。比如说计算一个管道内部流动,有的案例采用三维几何模型,如图1所示;有的案例用半个三维几何,如图2所示;有的案例采用四分之一模型,如图3所示;有的案例采用管道纵剖面几何(二维矩形),如图四所示;而有的案例又采用二维的半剖面几何(矩形),如图5所示。这个到底该怎么选呢?”小白问。



“通常来说,采用全三维模型自然是不存在任何问题的,对于比较简单的几何模型强烈建议使用全三维模型,因为其能提供所有的信息。在流场对称的情况下可利用对称性采用半模型或四分之一模型,当然严格意义上的流场对称是不存在的,不过有时候这种简化是可以认可的。比如图2所示的模型,如果沿对称面法向方向没有外部力作用则可以使用,但如果有外部力(如重力等)沿法向方向,则不可使用。图3也是一样,对称面法向法向不允许有外部力存在。至于图4和图5的简化,则除了要求外部力方向不能沿面法向之外,还必须假设流场特性在任意方向截面分布一致。”小牛师兄说。

案例测试

分别测试以上五种模型的差异。

计算模型为图1所示的直管道,截面直径10mm,长度100mm。入口面流速 0.1 m/s,出口采用静压 0 Pa。流体介质为水。雷诺数约为1000,采用层流计算。

计算模型分别采用上述的五种模型。

计算结果

以下采用相同计算条件得到的速度云图分布(从左至右分别对应上图1-5模型)。

分析:从图中看出,五种不同模型计算得到的速度分布趋势基本保持一致,但是利用模型4计算得到的最大速度明显小于其他四种模型计算得到的结果。



根据理论计算结果,充分发展的核心最大速度应为平均速度的2倍,即 0.2 m/s。

改进计算

将计算区域延长,从当前的0.1m延长至0.4m重新计算。从上图可以看出,采用轴对称方式计算结果能够与3D模型相吻合,因此改进计算只采用两种平面模型。

下图为延长至0.4m后的两种模型计算结果,可以看到最大速度已经非常接近理论值 0.2m/s。而2D平面模型计算的最大值小于0.15m/s,距离理论值相去甚远。



总结:对于类似直管流动问题,采用全3D模型,半3D模型、四分之一3D模型以及轴对称二维模型都可接受,但是2D平面模型是不可接受的。

原因分析:2D平面模型实际上是当做拉伸体而不是旋转体计算,拉伸厚度默认为1m。在计算过程中对于平面法向方向的考虑与真实的圆柱体不相符。

其他问题

实际上很多的模型都存在这样的限制,在使用2D平面模型时需要格外注意,其只适用于厚度相对于其他两个维度非常小的拉伸体的简化,对于回转体则不适用。

如下图中的弯管模型及弯道模型。



【小白的CFD之旅】25 二维还是三维的更多相关文章

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

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

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

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

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

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

  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之旅】01 引子

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

  7. 【转载】ArcBall二维控制三维旋转

    原文:http://oviliazhang.diandian.com/post/2012-05-19/40027878859 由于目前大多的显示器是二维的,要控制三维物体的旋转就显得不那么直接了.Ar ...

  8. C语言malloc函数为一维,二维,三维数组分配空间

    c语言允许建立内存动态分配区域,以存放一些临时用的数据,这些数据不必在程序的声明部分定义,也不必等到函数结束时才释放,而是需要时随时开辟,不需要时随时释放,这些数据存储在堆区.可以根据需要,向系统申请 ...

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

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

随机推荐

  1. Qt5.9静态库编译VS2015-x64

    不多说. 编译配置参数如下 configure.bat -static -no-openssl -release 不支持OpenSSL,也没有安装各个数据库的Driver,所以数据库方面也只支持了SQ ...

  2. Linux 安全密钥验证

    [root@rhel7 ~]# ssh-keygen --在客户端主机中生成“密钥对” Generating public/private rsa key pair. Enter file in wh ...

  3. 关于通信的关键词UDP/(TCP/IP)/IPC/RPC/.NET Remoting/WebService/WCF/Http 系列

    OSI七层和TCP/IP四层的关系 1.1 OSI引入了服务.接口.协议.分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型. 1.2 OSI先有模型,后有协议,先有标准,后进行实践: ...

  4. Arduino通过I2C(SSD1306)驱动0.96寸12864OLED

    I2C驱动的128x64 OLED I2C (Inter-Integrated Circuit) 集成电路总线是I2CBus的简称, 是一种串行通信总线, 使用多主从架构. 飞利浦公司在1980年代为 ...

  5. JAVA微信扫码支付模式二功能实现完整例子

    概述 本例子实现微信扫码支付模式二的支付功能,应用场景是,web网站微信扫码支付.实现从点击付费按钮.到弹出二维码.到用户用手机微信扫码支付.到手机上用户付费成功.web网页再自动调整到支付成功后的页 ...

  6. NSDictionary的分类

    @implementation NSDictionary (extra) //根据key值的到字典中的object - (id)getObjectByKey:(NSString*)key { NSAr ...

  7. 详解iOS多图下载的缓存机制

    1. 需求点是什么? 这里所说的多图下载,就是要在tableview的每一个cell里显示一张图片,而且这些图片都需要从网上下载. 2. 容易遇到的问题 如果不知道或不使用异步操作和缓存机制,那么写出 ...

  8. Android上面通过URL来启动本地应用

    <application android:allowBackup="true" android:icon="@drawable/ic_launcher" ...

  9. 【转载】Eclipse中.setting目录下文件介绍

    原文:http://blog.csdn.net/huaweitman/article/details/52351394 Eclipse在新建项目的时候会自动生成一些文件.这些文件比如.project. ...

  10. [转]什么是C++虚函数、虚函数的作用和使用方法

    我们知道,在同一类中是不能定义两个名字相同.参数个数和类型都相同的函数的,否则就是“重复定义”.但是在类的继承层次结构中,在不同的层次中可以出现名字相同.参数个数和类型都相同而功能不同的函数.例如在例 ...