范文一:计算流体力学入门
计算流体力学入门
第一章 基本原理和方程
1( 计算流体力学的基本原理
1(1 为什么会有计算流体力学
1(2 计算流体力学是一种科研工具
1(3 计算流体力学是一种设计工具
1(4 计算流体力学的冲击,其它方面的应用
1(4(1 汽车和发动机方面的应用
1(4(2 工业制造领域的应用
1(4(3 土木工程中的应用
1(4(4 环境工程中的应用
1(4(5 海军体形中的应用(如潜艇)
在第一部分,作为本书的出发点,首先介绍计算流体力学的一些基本原理和思想,同时也导出并讨论流体力学的基本控制方程组,这些方程组是计算流体力学的物理基础,在理解和应用计算流体力学的任何一方面之前,必须完全了解控制方程组的数学形式和各项的物理意义,所有这些就是第一部分的注意为什么有计算流体力学
时间:21世纪早期。
地点:世界上任何地方的一个主要机场。
事件:一架光滑美丽的飞机沿着跑道飞奔,起飞,很快就从视野中消失。几分钟之内,飞机加速到音速。仍然在大气层内,飞机的超音速燃烧式喷气发动机将飞机推进到了26000ft/s,轨道速度,飞行器进入地球轨道的速度。
这是不是一个充满幻想的梦,这个梦还没有实现,这是一个星际运输工具的概念,从20世纪八十年代到九十年代,已经有几个国家已经开始这方面的研制工作。特别的,图1.1显示的是一个艺术家为NASD设计的飞行器的图纸。美国从八十年代中期开始就进行这项精深的研究。对航空知识了解的人都知道,象这种飞行器,这样的推进力使飞机飞的更快更高的设想总有一天会实现。但是,只有当CFD发展到了一定程度,能够高效准确可靠的计算通过飞行器和发动机周围的三维流场的时候,这个设想才能实现,不幸的是地球上的测量装置,风洞,还不存在这种超音速飞行的飞行体系。我们的风洞还不能同时模拟星际飞行器在飞行中所遇到的高Ma和高的流场温度。在21世纪,也不会出现这样的风洞,因此,CFD就是设计这种飞行器的主要手段。为了设计这种飞行器和其它方面的原因,出现了CFD,本书的主要内容。CFD在现代实际流体力学中非常重要。
CFD组成了流体力学理论研究和发展的“第三中方法”。17世纪在英国和法国,奠定了试验流体力学的基础,18世纪和19世纪,主要也是在在欧洲,逐渐出现了理论流体动力学(参考书3,5是有关流体动力学和航空动力学发展历史的)。结果,整个20世纪,流体动力学的研究和实践包括两个方面(所有物理科学和工程问题),一方面是纯理论方面,另一
个方面是纯实验方面。如果是在60年代学习流体力学,你需要在理论和实验方面进行学。随着高速数字数字计算机的到来,以计算机为基础的解决物理问题的数字代数也发展的很精确,这些对我们今天研究和实践流体动力学提供了革命性的方法,这引入了流体动力学研究中基本的第三种方法,CFD方法。正如图
1.2所表明的,在分析解决流体动力学问题中,CFD和纯理论以及纯实验研究同等重要。这并不是灵光一显,只要人类高级文明存在,CFD就要发挥作用。因此,现在通过学习CFD,你就会参与一场令人敬畏的,历史性的革命中,这就是本书的重要性所在。
但是,CFD虽然不能代替其它方法,它毕竟提供了一个新的研究方法,非常有前景。CFD对纯理论和纯实验研究有非常好的协调补充作用,但是并不能替代这两种计算方法(有时有建议作用)。经常需要理论和试验方法。流体动力学的发展依赖于这三种方法的协调发展。CFD有助于理解和解释理论和试验的结果,反过来,CFD的结果也需要理论计算来验证。最后需要注意,CFD现在非常普通,CFD是计算流体力学的缩写,在本书中,也将使用这一缩写。
1(2 计算流体力学是一种研究工具
在不同马赫数和雷诺数下给定流体条件,CFD的结果累死于实验室中风洞的结果。风洞一般来说是一种沉重、笨拙的装置,CFD和此不同,它通常是一个计算程序(以软盘为例),可以随身携带。更佳的方法是,可以将程序存储在一个指定的计算机上,在千里之外,在任何一个终端设备上就可以使用程序进行计算,也即是说CFD是一个随身携带的工具,或者随身携带的风洞。
更深一步对比,可以以此计算程序为工具来做数字实验。例如,假设有个程序可以计算如图1.3所示的流过机翼的粘性、亚音速可压缩流体的运动(这个计算程序是有Kothari和Anderson所写,参考书6)。这些计算程序采用有限差分法来求解粘性流体运动的完整N-S方程。N-S方程和其它的流体控制方程在第二章中导出,在参考书6中,Kothari和Anderson采用的是标准的计算方法,这些标准计算方法贯穿本书的各个章节中,也就是说当学习完本书后,具备了求解流过机翼表面的可压缩流体的运动,这些内容在参考书6中都有介绍。现在假设已经有了这样一个程序,那么现在就可以做一些有趣的实验,这些实验在文字描述上和风洞实验完全相同,只是用计算机所做的实验是数字的。为了更具体的了解数字实验的原理,从参考书6中摘录一个实验进行说明。
这个例子是一个数字实验,在一定程度上可以阐明流场的物理作用,而真实实验却不能做到。例如,图1.3所示为亚音速可压缩流体流过Wortmam机翼的流动。问题是:在Re,100,000时,流体机翼的层流和湍流的区别是什么,对于计算机程序来说,这是一个正问题。层流状态下计算一次,湍流状态下计算一次,计算以后比较两种情况下的结果。在这种情况下,仅仅通过控制程序中的开关量就可以改变真实流体的自然特征,这在风洞实验中是做不到的图1.9所示的为层流运动,即使在攻角为0的情况下,计算结果表明在机翼上下表面都出现分离流动,在参考书6和7中,分离流对应于低雷诺数流动(Re,100,000)。CFD的计算结果也显示这种层流状态下的分量流是不稳定的。计算这种流动采用的方法是时间匹配法,使用的是————————————(有关时间匹配法的原理和数值细节在随后章节中会有介绍)。图1.3a显示的是该不稳定流动在给定时刻下流线的瞬态图。与此相反,图1.3b显示的是采用湍流模型计算时所计算出的流线图。计算得到的湍流是附着流动,而且计算结果表明流动是稳定的,并且CFD的数字实验可以分析在其它参数相同的情况下,层流和湍流的区别,而这在实验室中是做不到的。
在实验室中,物理实验和数字实验同时进行,数字实验有时可以有助于解释物理实验,
甚至可以确定物理实验不能确定的表面现象。图1.3a和b中层流和湍流的对比就是一个例子。这种比较还有更深层的含义:图1.4显示的是风洞实验中Wortmam机翼的升力系数和攻角的函数关系,实验数据是有托马斯博士和他的同事在————大学获得的(见参考书
7),与参考书6中描写的一样,图1.4显示的0度攻角的实验结果和CFD计算结果象匹配。这里显示了两个截然不同的计算结果,实心圆代表的一种层流结果,立方体代表的是在不稳定分离流下升力系数的振幅。这在图1.3a中已经表明过。注意在0度处,层流流动的升力系数a和实验结果相差比较大,图中立方体代表的是湍流状态下的结果,对应于图1.3b所示的稳定流动,湍流情况下举力系数Cl和实验结果符合的较好。图1.5是和攻角相对的机翼拉力系数图,此图更进一步表明了这种对比的结果。空心方块显示的是MIELLER的实验数据,实心的方块是CFD在的情况下的计算结果,实心圆和振幅栏给出层流状态下计算的振幅值,和实验结果相比,差别较大。而实心方块代表的是稳定湍流下的结果,这种情况和实验结果符合的很好。计算结果和实验结果的重要性不仅仅在于比较。在风洞实验中,由于观测本身存在一些不确定的因素,因此不能确定流动是层流还是湍流,但是通过比较图
1.4和1.5所示的CFD的计算结果,可以得出结果,在风洞试验中,流过机翼表面的流动确实是湍流,因为湍流模型计算的结果和实验相符而层流却不相等。这是一个CFD和实验完美和谐统一的例子。这不仅仅提供数字上的比较,在这种情况下也能提供一种实验条件下解释基本现象的方法。这是一个以CFD为框架进行数字实验的图例。
1(3 计算流体力学是一种设计工具
在20世纪50年代,还没有我们今天想象的CFD,到了70年代,出现了CFD,但那时的计算机和代数模型局限于解决理论问题,特别是二维流动。真正的流体机械,压缩机、透平机,管道流动,飞机等主要都是三维流动。在70年代,数字计算机的存储能力和计算速度还不能用来计算任何实际的三维流动。到了90年代,情况开始逐渐发生变化。现在CFD对三维流动的计算已经很丰富了,在一定程度上,三维流动计算并不是经常做的,因为如果要成功的对实际应用的三维流动进行分析计算,如对飞机飞行中的整个流场进行分析,需要很多的人力和计算机资源。但是三维计算方法在工业和市政设施中越来越盛行。的确,有些三维流动的计算程序已经成为工业标准,有人在设计工程中就采用这样的程序。在这一部分中,用一个例子来强调这一点。
现代告诉飞行器,如图1.6所示的F-20,在接近音速的时候空气动力学模型复杂,这是一个应用CFD作为设计工具的丰富示例。图1.6显示的是在马赫数为0.95和攻角为8度的情况下,F-20在接近音速时候自由流表面压力系数的分布情况,这些数值是BUSH和BERGMAN采用JAMESON发展的有限体积直接数值方法计算出来的结果。图1.6a显示的是过F-20表面的的等压系数线图,一条等压线对应于一个固定的压力轨迹,等压线密集的地方压力梯度大,特别是机翼尾部和包围机身的外部,等压线特别密集,在这些地方包含接近声波的振动。包括局部振动和扩展振动的区域也显示在图中1.6中,另外图1.6中还清楚的表明,CFD提供了一种计算完整飞机周围流场的方法,包括表面三维压力分布。结构工程师了解这一点非常重要,他们只有清楚的了解到飞行器的空气动力受力的分布细节才能够正确的设计飞行器的结构。这一点对空气动力学家也很重要,结合表面压力分布,他们可以得到升力和推进力的情况(关于这方面的细节详见参考
书8)————。而且,CFD计算结果也提供了有关机身和机翼交界处涡旋的生成情况,图1.7显示了这一点,此图取自参考书9,马赫数和攻角分别为0.26和25度。了解这些涡旋的运动情况和它们和飞行器的其它部分如何相互作用,对飞行器的整体空气动力设计非常重要。
总之,CFD是一个非常有力的设计工具,正如在第二部分介绍的,作为一种设计工具,
CFD对流体动力学和空气动力学的发展影响很大,因此本书介绍CFD的发展和应用。
1(4 CFD的冲积,其它应用实例
历史上,航空事业的发展推动了CFD的早期发展,因此1.1和1.3中的例子也是直接摘自航空领域。但是,现在CFD设计到流体的各个领域,并且都非常重要。这部分就重点突出CFD在其它非航空领域的应用。
1(4(1 汽车和发动机领域的应用
为了提高现代汽车和卡车的性能(环保、节油等),汽车工业加速使用高级研发工具,CFD就是其中之一,无论是流过车体表面的流动,还是发动机内部的流动,CFD可以帮助汽车工程师更好的物理流动的进程,设计出更好的车子。下面来看几个例子。
图1.8显示的是放大了的汽车外部空气流动的计算结果,汽车左部表面的网格分布如图示,白色条纹代表空气粒子从左到右流过汽车表面的情况,这是应用有限体积代数法计算得出的结果,采用的示汽车外部空间的三维不连续网格。汽车中心对称平面内的网格划分情况如图所示,这里的网格线自动和汽车想适应,采用的示边界自适应坐标系(本书5.7中将介绍这种坐标系统)。图1.8和1.9摘自C.T Show对美洲虎汽车的研究(参考书58),另一个例子是NATSUNGAGE对汽车内部流动的计算结果(参考书59)。图1.10显示的流过汽车的流场的速度线图,是用参考书59所述的有限差分法获得的(有限差分法从第四章开始介绍,贯穿全书),这里采用的是三维立方体,一部分显示在图1.11中,网格划分基础,CFD的一个重要内容,在第五章中讲述,特别是在笛卡尔坐标下划分四边形,以及围绕复杂三维流体的网格划分技术在5.10中讲述。
Grittin等人(参考书60)的工作证实了汽车用发动机内部流动的计算结果,采用的是时间匹配有限差分法来计算四冲程发动机气缸内部的不稳定流动情况。图1.12显示了气缸内部的有限差分网格,图1.12中气缸底部的阴影部分就是活塞。在吸气、压缩、做功和排气四个过程中,活塞在气缸内上下运动,在气缸内形成了不稳定的循环流场。图1.13显示的是在压缩过程中,当活塞接近气缸底部的时候计算出的叶片表面的速度图,这种早期的计算是第一次采用CFD技术研究发动机内部的流场。现在,汽车工程师采用强有力的现代CFD技术研究发动机内部流动各个方面的细节,包括燃烧,湍流以及吸排管内部流场的耦合作用。
作为CFD应用的例子,图1.14显示的是采用有限体积网格法计算的空气发动机的例子。有限体积网格包括发动机外部区域和发动机内部区域,如压缩机,燃烧室和透平等。这种复杂的网格是由密西西比州立大学计算仿真研究小组生成的。这种网格是对空气发动机内外完整流动情况进行耦合计算的第一步。笔者认为这是一个复杂有趣的CFD网格生成数据的例子,这清楚的表明了CFD对汽车和发动机的重要性。
1(4(2 工业制造领域的应用
这里仅列举制造领域无数CFD应用的两个例子。
图1.15显示的是液态钢填充模具的过程,液体流场作为时间的函数来计算。液态钢通过两个入口流入模腔,在个腔体中部,一个在腔体底部,图中显示的是用有限体积代数法计算的速度场。计算结果对铸造过程中与时间有关的量有三个方面的价值:一个是刚开始两个
入口都打开的情况,一个是稍过一段时间后两股流体流入模腔,另一个就是随后两流体在腔体内相遇。Mampey和XU在BELGIUM的WICM的基础研究中心计算出了结果,这些CFD的计算结果,对于深入了解液态金属在铸造过程中流动的细节情况,设计更好的模具有指导作用。
另一个制造过程中应用CFD的例子与生产陶瓷符合材料有关。一种生产方法是化学蒸气渗透技术,蒸气材料流过多孔渗水的基层,在基层纤维上沉积材料并最终形成连续的沉积物,在此过程中主要对SIC在纤维基层的沉积速度和方式感兴趣。最近,SHEIJET等人采用CFD来模拟SIC化学蒸气沉积反应器中的沉积过程。图1.16显示的是反应器中计算网格的分布。计算出的反应器内的流线图如图1.17所示,这里,CH3SICL3和H2的混合物通过底部的管子流入反应器,反应产生的sic沉积在反应器壁面上。图1.17显示的是采用有限体积法求解流体控制方程的计算结果。这是应用CFD作为研究工具,直接应用于生产的例子。
1(4(3 土木工程中的应用
有关河流、湖泊、河口的流变学问题也是应用CFD的例子。其中之一就是从泥沙沉积池中抽取水面以下的泥沙。如图1.18所示,泥沙层上面是水,一部分泥沙落入左边底部的井中被抽走,此图是一半示意图,通过沿着中心线对称就得到沉积池全貌。对称线是图1.18所示的垂直线。底部泥沙抽走后就形成一个充满水的坑,水的运动就是由于填充这个坑形成的。图1.19是在某一个时刻计算出来的水和泥浆的速度场,图纸速度向量的比例尺是1cm/s,这些计算结果取自参考书63中TOORMAN和BERLAAN的计算结果。这些可以用来指导水下挖泥,如90年代马里兰在海洋城实施的海底挖泥和海岸改造工程。
1(4(4 环境工程中的应用
暖气,空调以及通过楼宇内的的空气流动规律也采用CFD进行研究,例如考虑图1.20所示的丙烷燃烧炉(取自参考书64),计算出来的速度场如图1.21所示。图中所示的是穿过燃烧炉垂直正交平面内的从网格节点发出的速度向量,这些结果是有BAI和FUCHS采用有限差分法计算得到的(参考书64)。应用CFD提供的信息设计燃烧炉,可以提高热效率,降低污染的扩散。
图1.22和1.23显示的是计算出来的空调流动的流场情况,图1.22显示的是一个房间的模型,空气从天花板的缝隙中流出,天花板边上有废气出口,图1.23显示的是采用有限体积CFD法计算出的空气流动的速度场,这是有MCGRUIK和WHITTLE计算出来的(参考书65)。
CFD的一个有趣的应用是气流流过楼宇的流动,ALANDARI等人计算了这种流动。图
1.24显示的是一个写字楼的截面图,写字楼有一个走廊连接的对称部分组成。每一个部分有一个装有玻璃的前厅,这适应于现代建筑设计的潮流。这些前厅地方适当,便于空气流通,成为自然的通风系统,既经济又节能。典型的,模拟冬天环境下,大厅入口截面处的速度场,CFD采用有限体积代数法,图1.25显示了这一典型情况。
1(4(5 海军工程中的应用(以潜艇为例)
CFD也是解决水力学问题的一个主要工具,如船、潜艇、鱼雷等。图1.26和1.27显示
的是CFD在潜艇中的应用。应用科学国际合作组织作了这方面的计算,NILSSALVESON博士向作者提供了计算结果。图1.26显示的是计算出来的普通潜艇周围的流场情况,采用的多重网格技术(5.9中将讲述这种带状网格)。对于流过潜艇的流体,采用湍流模型,计算三维不可压缩N-S方程,计算出的潜艇尾部当地流线图显示在图1.27中,流动从左向右。这是采用1.2节讲述的原理做数字实验的例子。图中上半部分显示的流线是有螺旋桨的情况,下半部分是没有螺旋桨的情况。在后一种情况下,在第一个角落有流动分离,而有螺旋桨的时候流动不分离。
1(5 计算流体力学:究竟是什么,
问题:什么是CFD,要回答这个问题,我们注意到任何流体的流动都要符合三个基本的物理规律:(1)质量守恒(2)牛顿第二定律(3)
能量守恒。这三个基本的物理定律可以用基本的数学方程,借助于积分或差分方程表达出来。这些方程的推导详见第二章。计算流体力学实质就是利用离散差分格式代替方程中的积分或偏微分,通过计算得到流动区域内时间和空间离散点的值。CFD的最终结果是整理这些离散值近似方程的解析解。不论怎样,最后对于大多数实际的工程分析,近似格式或别的格式都是对问题的定量描述,也就是,数值解。(正如本章前面引用Maxwell的阐述。)
当然,高速电子计算的为CFD提供了有力工具使之在实践中快速发展。CFD通常需要迭代成千上万的数据,如果没有计算机,人力是不可能完成的,因此,CFD的发展,和与之涉及的尖端问题,越来越和计算机的硬件发展紧密联系。特别是存储量和计算速度。这就是为什么CFD研究机构强烈要求发展新的超级计算机的原因。事实上,在过去的三十年,大型主机得到显著发展。根据Chapman的调查,图1.28清楚的描述了这种在过去计算机的计算能力变化发展。
图中每一个点对应一计算机,从1953年IBM650开始,超级计算机不断的发展,1976年(美国)国家空气动力仿真实验室的CRAY I ,到后来(美国)国家航空和宇宙航行局Ames研究实验室的计算机,今天还有更先进的超级计算机正在建设。图1.29展示了 CREY Y-MP,这个机器有32M的内存和512M的扩展内存,峰值速度达到每秒10,这相当于1970年的一百万个计算机。此外,新概念的计算机正在出现。早期的高速计算机是一系列的机器,一次兼容一个计算机,因此,所有的计算机都串联排列,速度受这一系列计算机本身最慢的限定。为了消除这种限制,两种计算机结构现在被使用:
1. 向量处理器,这种结构允许一系列数字中的一串数据同时处理,这样节约了时间和空间。
2. 并行处理器,这种结构是真正的两个或更多CPU处理,每个分别处理不同的结构和数据
串并且精确区分程序,可以独立工作或配合本机其他CPU共同工作。
向量处理器已被广泛使用,并且并行处理器也很快实现。举一个例子,包含有大量并行处理器的新连接器正在被许多单位使用,今后,许多你专业中的问题你可以试着解决,虽然这些问题非常复杂和尖端,但使用向量机或并行机处理是可能的。
为什么CFD在现在的研究和处理流体机械中的问题显得如此重要,为什么你被激发去学习CFD,本质上,1.1和1.4部分已经试着回答了这一问题,但我们在这里要更明确提出这个问题为了引出另外一个CFD在现代流体力学中的例子—这将是接下来几章要讨论的焦点。
特别的,假设一个钝头的物体以超音速或高超音速在流动区域内移动,如图1.30。有趣的是,比较尖头的物体,钝头能更好的降低空气对物体的加热作用,这就是为什么水星号和阿波罗号宇宙飞船是钝型,航天飞机有一个钝头和机翼曲
9 线为钝角的原因。如图1.30,
在钝头前方称之为激波脱落距离的 ,有一条很强的激波曲线这个区域本书的目的
先前的讨论为了给读者关于CFD的一个整体框架,引导读者继续本书其他章节的阅读,随着读书的深入,你将发现这本书是关于CFD基础的,初步的指导书。强调基础的,全局性的数值求解技术,介绍处理从低速不可压缩流动到高速可压缩流动的方法。这本书是一本真正的CFD介绍,适用于那些从没学过CFD或很少的读者参考了几种关于CFD的经典教材,如参考文献13和最近的专著如Fletcher的参考文献14,15和Hirsch的参考文献16,17。本书主要针对水平低
17的读者。我们假设读者具有关于流体力学一般的物理了解或于参考文献13,
同等初级水平的机械和宇航工程了解。并且了解基本的数值和差分方程计算知识。使之成为你CFD入门的第一本书并为你介绍如下方面:
1. 洞察CFD的主要精髓和哲学思想。
2. 理解CFD的流体力学控制方程和与之适应的格式。
3. 一些常用的求解技术。
4. 学科的专用词汇。
当你学完本书,作者希望你已经对今后的学习做好准备,如参考文献13,17,阅读CFD的论文,适应现阶段的技术工作,开始处理你所关心的CFD问题。如果以上的一个或多个是你所希望,那么你就和作者有同样的目的—从第二章开始往下读。
图1.31给出了本书内容的路径图。目的是帮助读者了解和思考这些知识的逻辑结构。
作者的经验是,当学习一门新的课程是,经常会沉迷于一些具体的细节问题,而失去全局的思考。图1.31就是我们讨论的全局图。在接下来的各章,我们将经常涉及到这张图,从而提醒我们这些细节问题在整个CFD中所处的位置。如果你有时感到对你所做的工作不知所措时记得参考一下图1.31。此外,图还提供了大多数章节的内容导引,按同样的思想图1.31也是全书的内容导引。特别的,参考图1.31,注意到A框到C框是基本的思想和方程,这和一般的CFD是相同的。A框介绍了基本素材。在了解和掌握这些基本方面,我们将讨论分辨这些方程的基本方法,修正数值解(框D—F)还有一个重要的方面是网格的生成(框G)。在描述了一些流行的数值解法后(框H),为了清楚的描述这些技术,我们将介绍一些细节方面特殊的应用(框I,M)。最后,我们将讨论现阶段的状况并展望未来CFD的发展(框N)。让我们现在就开始按照全局图,找到框B,进入下一章。
最后,图1.32a,f所包含图表介绍了流动的各种概念,从第一第二部分讨论到
第三部分的应用的介绍。在这阶段,我们只要注意到这些图表的存在,在适当的
时候我们将在讨论中涉及到,列在这里不只为了方便,也是提醒你从第一第二部
分到第三部分应用的逻辑过程。
范文二:计算流体力学
数值计算一维非稳态导热,长度一米,两端初始温度分别为 0度和 300度 的不锈钢棒,采用显示差分方法和 Crank-Nicolson 方法,分别计算不锈钢棒内 的温度分布变化情况,显示差分方法的时间步长选取符合稳定性条件和非稳定 性条件两种,观察计算结果并分析。
首先, 我们做出假设:令不锈钢棒的初始温度为 0度, 两端的热源为恒温热 源,热量不断地从两端进行热传导过程;棒的导热系数设定为 1,棒为均匀的导 热系数保持不变的不锈钢棒。
我们可以由题意和假设条件,给出棒的初始和边界条件:
010
273.15573.15
T T T ===
(1) 空间一维的热传导方程:
22T T t x α??=?? (2)
显示差分方法为:
111() n n n n n i i i i i t T T T T T x α++-?=+-+? (3)
克兰克 -尼克尔森的隐式差分方法为:
111111112() n n n n n n i i i i i i n n i i T T T T T T T T t x α+++++--++++-+-=?? (4)
从两个种差分格式的表达上, 我们明显看出差分格式的不同, 在显示方法中, 每一个差分方程只包含一个未知数, 因此这个未知数可以用直接计算的方式显示 的求解, 在隐式方法中, 我们必须对排列在同一时间层上的所有网格点上的未知 参量, 必须将他们联立起来同时求解, 才能求出这些未知量, 这种方法定义为隐 式方法。
本文的主要工作是通过 Matlab 编程, 将计算得到的矩阵数据进行整理分析, 并在 Matlab 中画出特定的图像。对显示差分方法和隐式差分方法进行比较,给 出显示差分方法分稳定性和不稳定性两种结果的对比, 画出不稳定性条件下的震 荡曲线, 证明出隐式差分格式有着更好的时间上的稳定性, 对时间步长要求不严
格,有很好的计算效率。
图 1
通过 MATLAB 将数据进行三维的展示,我只将隐式的最后分布图表示出来, 主要是因为, 显示和隐式的最终分布基本一致。 如上图 1所示, 红色代表高温区, 蓝色代表低温区, 最后的温度分布趋近于一条斜线, 这与我们所设想的是一致的, 高温区向低温热传导, 并且对于在高温区附近的温度变化来看, 在开始的时候呈 现快速而又复杂的变化情况。
(a ) (b )
图 2显示(a )和隐式(b )中点温度变化情况
不锈钢棒的中点温度都是由初始条件的 273.15k ,慢慢升到最后的平衡温度 423.15度,隐式差分格式计算时,数值略小于 423.15k ,但是误差极小。如图 2所示,证明了两种差分格式的一致正确性。
图 3不稳定条件下的震荡
在之前用显示计算的时候都是保证了稳定性条件, 即 21() 2
t x α?≤?, 我们改变 时间的步长, 将时间步长从 0.001增加到 0.01, 这就导致稳定系数超过稳定条件, 即 2
1() t x α?=?的时候,会出现计算不稳定的情况,如图 3所示,这就证明了,对 于显示有限差分格式来说, 稳定性要求对推进变量有所限制。 要保证时间步长很 小,才能保持稳定。
(a ) (b )
(c ) (d )
图 4 对于隐式计算时间步长 0,001(a ) ,时间步长 0,01(b ) ,时间步长 0.05(c )和时间步长 0.1(d )中点
的温度变化。
我们可以发现,隐式的差分格式,用大的多的时间步长也能够保持稳定性, 要将时间变量计算到给定的时间值, 只需要较少的时间步, 这样, 计算机的运行 程序时间更短。但是,对于隐式的差分格式,它的计算程序略有复杂,对于复杂 的运算情况,我们应该自己做出最佳的判断。
本文从实际问题出发, 对热传导方程的显示差分格式和隐式差分格式进行编 程计算, 提高了对有限差分计算的认识。 并且比较了两种差分格式的优缺点, 为 之后的学习, 提供了很好的铺垫。 也能够更好的熟悉商业化软件的计算特点, 给 之后的 fluent 模拟打下基础。
附录:
显示差分格式分 MATLAB 计算程序:
dx=0.1; %设定空间步长
dt=0.001; %设定时间步长
m=10;
n=2000;
t=zeros(n+1,m+1);
t(1,:)=273.15; %设定边界条件
t(:,1)=273.15;
t(:,m+1)=573.15;%设定初始条件
arf=1;
stable=arf*dt/dx^2; %稳定性条件
for j= 1:n+1 %进行循环计算
for i=2:m
t(j+1,i)=stable*(t(j,i-1)+t(j,i+1))+(-2*stable+1)*t(j,i); end
end %最后得到矩阵 T ,可以再通过 Matlab 进行画图 隐式差分格式的 MATLAB 计算程序:
dx=0.1; %设定空间步长
dt=0.001; %设定时间步长
arfa=1;
N=1/dx+1; %设定空间计算点位
n=2000; %设定时间计算点位
T=zeros(n,N);
K=zeros(n,N);
D=zeros(n,N);
T(1,:)=0; %设定边界条件
T(:,1)=273.15; %设定初始条件
T(:,N)=573.15;
A=(arfa*dt)/(2*dx*dx);
B=1+(arfa*dt)/(dx*dx);
for j=1:n %进行循环计算(托马斯算法)
for i=2:(N-1)
K(j,i)=-T(j,i)-((arfa*dt)/(2*dx*dx))*(T(j,i+1)-2*T(j,i)+T(j,i-1)); end
K(j,2)=K(j,2)-A*T(j,1);
K(j,N-1)=K(j,N-1)-A*T(j,N);
for i=1:N
D(j,i)=-B;
end
for i=2:(N-1)
D(j,i)=D(j,i)-(A*A)/D(j,i-1);
K(j,i)=K(j,i)-(K(j,i-1)*A)/(D(j,i-1)); end
T(j,N-1)=K(j,N-1)/D(j,N-1);
for i=(N-1):-1:2
T(j,i)=(K(j,i-1)-A*T(j,i+1))/D(j,i-1); end
end %最后得到矩阵 T ,可以再通过 Matlab 进行画图
范文三:计算流体力学
计算流体力学
Computational Fluid Dynamics
类型:
属性:专业基础课 课时 /学分:60/3
一、 预修课程
流体力学;空气动力学;偏微分方程数值解法
二、 内容简介和教学要求
本课程包含基础及应用两个部分。基础部分讲述流体力学方程组及其物理含义, 双曲型方程组的数理性质, 有限差分法及有限体积法的理论基础及计算方法等; 应用部 分介绍国内外当前流行的高速流动和不可压缩流动的主要解法, 网格生成技术, 计算流 体力学当前的主要问题、 最新计算方法、 及发展动向等。 此外还介绍了并行计算的基础 知识及湍流计算方法等。
本课程的特点是强调基础、突出应用,希望学生通过学习这一课程,对计算流体 力学有一个系统深入的理解,具有一定的理论基础和较强的解决实际问题的能力。 同 时, 在这一课程中也注意把课程学习和研究所的工作结合起来, 使学生到研究所后能立 即开展和计算流体力学有关的研究工作。 本课程还将讲授并行程序设计的基本内容, 使得学生们能够了解并行程序设计的基本思想及编程方法, 并能编制基本的并行计算程 序。
为培养学生独立思考和独立工作的能力,本课程采用启发的课程讲习方法,鼓励 学生在掌握基础知识的基础上自己动手编制程序, 以便加深对计算流体力学本质的理解 和增强对实际问题的感性认识。 力求学生们学完该课程后, 能够独立编写计算流体力学 程序。
三、 简要目录
第一章 引论
1.1 计算流体力学及其特征
1.2 计算流体力学的发展
第二章 流体力学方程组及模型方程
2.1 流体力学基本方程
2.2 模型方程及其数学性质
2.3 双曲型方程组的初边值问题
2.4 Riemann 间断解
第三章 有限差分方法
3.1 差分方法基本概念
3.2 差分方程的有效性及稳定性分析
3.3 数值解的精度及分辨率分析
3.4 数值解中的耗散效应、色散效应及群速度控制
第四章 有限体积法
4.1有限体积法的基本思
4.2 表面积近似及体积积分近似
4.3 插值算法
4. 4 边界条件处理
第五章 代数方程的数值求解
5.1 直接法
5.2 迭代法
5.3 分裂算法
5.4 近似因式分解算法
5.5 多重网格法
第六章 激波处理与高速流动的数值方法
6.1 捕获激波的主要方法
6.2 激波捕获精度分析及提高捕获激波精度的方法
6.3 Godunov类算法
6.4 TVD方法
6.5 NND算法
6.6 紧致格式及其应用
6.7 WENO方法简介
6.8 群速度控制格式简介
第七章 不可压缩粘性流动数值解法
7.1 不可压缩流动基本方程组特点和困难
7.2 涡量流函数算法
7.3 原始变量算法
第八章 网格生成技术
8.1 网格生成技术的基本思想
8.2 代数网格法
8.3 微分方程法
8.4 自适应网格
8.5 无结构网格简介
第九章 MPI并行程序设计初步
9.1 MPI并行程序设计的基本概念
9.2 MPI并行程序设计的主要方法
9.3 CFD程序的并行优化
第十章 湍流的数值模拟
10.1 工程湍流模式方法
10.2 大涡模拟方法
10.3 直接数值模拟方法
10.4 分离涡模拟方法
10.5 转捩的计算
四、 教材
1. 计算流体力学 (傅德薰、马延文) 高等教育出版社, 2002
2. 计算空气动力学 (傅德薰、马延文) 国防工业出版社, 1996 五、 参考书
1. 计算流体力学方法及应用 (阎超) 北京航空航天大学出版社 2006
2. 计算流体力学 (祈孝康、刘儒动、蒋伯诚)国防科大出版社 1989
3. 一维流体力学差分方法 (水鸿寿)国防工业出版社 1998
教学方式
课堂讲授为主 , 配合课程内结合实例进行编程练习
六、 考核方式
闭卷考试与开卷考试结合。
撰写人:李新亮 2009-12
范文四:计算流体力学
计算流体力学
第一节
各位老师好,我叫黄灿,今天我讲授的课程是计算流体力学这门课程。我参考的教材是《计算流体力学基础及其应用》,由美国John D. Anderson 编著,由吴颂平、刘赵淼翻译,出版社是“机械工业出版社”。今天是我讲的是计算流体力学的第一节课,内容主要包含三方面。
1、 计算流体力学的原理及应用。
2、 这门课程的目的和任务。
3、 两个概念物质导数和速度散度定理。
1.1. 计算流体力学的原理及应用。
在计算机出现以前,流体力学的研究方法主要是:
17世纪的时候,法国和英国奠定了实验流体力学的基础;18、19世纪理论流体力学在欧洲开始发展起来。可以说这两种方法在整个流体力学的发展过程中有巨大的贡献。
理论分析方法的有点在于所得的结果具有普遍性,各种因素的影响清晰明确,是指导实验和计算流体力学的理论基础。但是,如果采用理论方法研究问题,需要将复杂的流体控制方程简化到我们能利用现有的数学知识能进行求解的方程,通常只有少数的简单流动才能抽象简化到这样的数学方程。不能用于研究复杂的流动问题。
实验方法得到的实验结果真实可信,可以用于研究复杂问题,然而实验往往受到模型尺寸、环境干扰、人身安全和测量精度的限制,因此有时侯可能很难通过实验方法得到结果。此外,实验通常要求大量的经费、人力和物力,以及遭遇周期长等问题。
随着计算机的诞生,计算机成为研究流体问题一种新的而且非常重要的方法,成为流体
这种方法称为数值计算方法,也可以简称为数值方法,现在这种方法已经发展成为一门独立学科——也就是我们今天上的这门课,计算流体力学。数值方法能方便快速的研究各种
复杂问题,克服了理论方法只能研究少数简单问题这一缺陷;而且数值方法可以看做像是在计算机上进行的一次实验,不需要购买高价的实验设备,而且能快速方便的重复实验,大大的缩短了周期,因此也有效的克服实验方法中遇到的问题。除此以外,数值模拟可以观察和监测到流场的各种细节,这能帮我们更好的理解物理问题。
随着计算机的发展,计算流体力学也迅速的发展。现在所有涉及流体流动、热交换、分子输运等现象的问题几乎都可以通过计算流体力学的方法进行模拟和分析,应用的场合非常广泛,比如水利工程、土木工程、环境工程、食品工程、海洋工程、工业制造、航空航天、汽车发动机。
利用计算流体力学对流动问题进行数值模拟时,通常包括如下四个步骤:
1) 建立能正确反映物理问题的数学模型。流体的基本控制方程是质量守恒方程,动量
守恒方程,能量守恒方程。对于不同的物理问题可能还需要考虑其它相关方程,比如对于燃烧问题,需要考虑化学方程式。
2) 建立物理模型,离散数学方程,处理边界条件。这一部分是计算流体力学的核心内
容。
3) 编写程序和进行计算。这是一个技术工作,需要通过长期的反复练习。
4) 显示和分析计算结果。
经过这四个步骤我们就完成了利用数值方法对物理问题的研究工作。
1.2. 本课程的目的和任务。
本课程的目的是:
1) 了解计算流体力学的基本原理和能力。
2) 理解流体力学的控制方程,尤其是形式适合于计算流体力学的控制方程,能够利用
有限差分方法离散流体力学控制方程。
3) 对于某些简单问题能够编写出解算程序,并对这些问题进行数值模拟,学会使用后
处理软件对数值结果进行分析。
4) 学习Fluent 软件,掌握利用Fluent 软件解决工程问题的步骤。
5) 掌握计算流体力学的术语。
本课程的任务安排如下:
接下来我们讲两个概念,这两个概念为下节课推到流体控制方程做准备。
1.3.1. 物质导数
第一个概念物质导数。连续介质力学对物质导数有详细的阐述和说明,这里将不采用连续介质力学中那种方式讲解物质导数,因为我个人认为连续介质力学讲解物质导数的思路虽然能够很好的反映物理意义,但是相对来讲比较抽象不易理解。这里以比较数学的形式来讲解物质导数。
对任意物理量来讲都可以表示为空间和时间的函数f (x , y , z , t ) ,如果将函数在空间某一点(x 0, y 0, z 0) ,某一刻t 0进行泰勒展开,我们可以得到这样的表达式: ??f ???f ???f ???f ?f =f 0+ ?(t -t 0)+ ?(x -x 0)+ ?(y -y 0)+ ?(z -z 0)+(高阶项) ??t ?0??x ?0??z ?0??y ?0(1-1)
移项,并让等式两边同时除以(t - t0) ,可得: f -f 0??f ???f ?(x -x 0)??f ?(y -y 0)??f ?(z -z 0)= ?+ ?+ ?+ ?+(高阶项) t -t 0?t ?x t -t ?y t -t ?z t -t ??0??0??0??0000(1-2)
我们可以将这个式子左边的这一项看做当时间从t 0变化到t ,且流体微团从点(x 0, y 0, z 0) 运动到点(x , y , z ) 时,物理量f 在时间?t =t - t0的平均变化率。如果我们让这个时间段?t →0,那么这一项就变为物理量f 在t 0时刻的瞬时变化率,我们将取极限后的表达式记为: f -f 0?Df ? ?=t lim →t 0t -t Dt ??00(1-3)
注意观察式(1-2)右边的第二项,在时间段?t 内,当点的x 方向坐标从x 0变化到x 时,位移x 方向的变化量除以时间的变化量,那么就是该点在x 方向的平均速度u ,取极限后就是点(x 0, y 0, z 0) 在t 0时刻的速度u 0。第三、四项同理有y 、z 方向的速度v 0、w 0。将(1-3)式和u 0、v 0、w 0代入(1-2)中可以得到(去掉高阶项) : ??f ??Df ???f ???f ???f ? ?= ?+u 0 ?+v 0 ?+w 0 ? ?Dt ?0??t ?0??x ?0??z ?0??y ?0(1-4)
因为(x 0, y 0, z 0) 和t 0具有任意性,我们可以去掉上式的下角标0,最终得到: Df ?f ?f ?f ?f =+u +v +w Dt ?t ?x ?y ?z (1-5) 上式左边Df /Dt 就是物理量f 的物质导数,?f /?t 是物理量的当地导数。或许大家可能对物质导数求解公式(1-3)与高数中学的?f /?t 的求解公式稍有疑问,认为这两个表达式的求解结果相同,这里必须指出事实上物质导数Df /Dt 和当地导数?f /?t 在式(1-3)中的主要区别在于f 的表达式不同,物质导数的表达式要同时包含?f /?t 和(1-5)式右边的其它三项。
(1-5)式中的f 表示任意物理量,因此我们可以得到这样的表达式:
进一步可以写为: D ?=+V ?? Dt ?t D ????=+u +v +w Dt ?t ?x ?y ?z (1-6) (1-7) 上式中的是?是微分算子,表示对某一物理量求梯度,实际上就是对物理在空间上求导数。这个式充分反映了物质导数和当地导数的关系,即速度矢量与物理量空间导数的内积之后加上当地导数就该物理量的物质导数。
这些解释基本上是从数学角度进行的,事实上物质导数、当地导数和迁移导数都具有
实际的物理含义。物质导数在物理上表示跟踪一个运动的流体微团的时间变化率;当地导数表示物理量在固定点处的时间变化率;迁移导数表示由于流体微团从流场中的一点运动到另一点时,由于流场在空间的不均匀性而引起的时间变化率。举一个例子:设想你在山上行走,看到一个洞,试图进入这个洞,如果洞内比洞外冷,当你向洞内行走时会感到温度降低,这就好比式(1-6)中的迁移导数,假设这个时候有一个人突然丢到你身上一个雪球,你会感到瞬间的寒冷,这就是式(1-6)中的当地导数。如果这两件事情同时进行,那么总的温降就是式(1-6)的物质导数。
1.3.2. 速度散度
第二个概念是速度散度??V 。这个表达式以后我们会经常遇到,因此需要弄清楚它的物理意义。我们看到我手里有一瓶水,无论我怎样晃动这个瓶子或挤压这个瓶子,里面水的质量都不会发生变化,但是我们可以看到这瓶水表面的速度发生了变化,以及水的形状发生了变化。我们假定水的表面是这个形状,我们在这个表面上画出一个无穷小的面元ds ,这个面元内的水的速度是V ,面元的法向量是n ,这个小面元在?t 时间内走过的距离是V ?t ,我们看到这个小面元从1位置走到2位置时,水的体积发生这么多的变化,这个体积可以计算出来的,首先我们计算出小微元面在速度方向的投影面积ds n ?V /|V |,然后在利用柱体体积计算公式底×高,即可以得到这个体积为: ?Q =ds n ?V |V |?t =(V ?t ) ?n ds |V |(1-8) 整瓶水的体积的变化等于整个表面对上式进行求和,这个和写成连续的形式,就是在整个表面上对上式进行积分:
(V ?t ) ?n ds ??s (1-9)
将上式除以?t ,然后取极限就是体积变化的时间变化率:
V ?n ds ??s (1-10)
我们将上式用符号D Q/Dt 来表示,这里采用了物质导数的符号,因为我们刚才推到公式的时候一开始就是在随流体运动的控制体上进行的,也就说控制体是运动的。利用散度定理(高斯定理) 可以将(1-10)中的面积分转换到体积分上,写为: DQ =(??V )dQ Dt ???Q (1-11)
我在将这个控制体Q 进行缩小以至于趋于零,用δQ 来表示,那么上式表示成:
D (δQ )
Dt =???(??V )dQ
(δQ )(1-12)
因为δQ 非常小,因此可以近似的认为在整个δQ 上??V 都相等,因此利用积分中值定理式(1-12)可以表示为:
D (δQ ) (1-13) =(??V )δQ Dt
最后我们可以得到速度散度的表达式:
D (δQ )??V = (1-14) δQDt
上式的右边就是速度散度的物理意义。即速度散度是每单位体积运动着的流体微团,体积相对变化的时间变化率。
范文五:CFD计算流体力学
CFD
计算流体力学或计算流体动力学,英文 Computational Fluid Dynamics,简称 CFD, 是用电 子计算机和离散化的数值方法对流体力学问题进行数值模拟和分析的一个分支。
计算流体力学是目前国际上一个强有力的研究领域 , 是进行传热、传质、动量传递及燃 烧、多相流和化学反应研究的核心和重要技术,广泛应用于航天设计、 汽车设计、 生物医学 工业、化工处理工业、涡轮机设计、半导体设计、 HAVC&R 等诸多工程领域,板翅式换热器 设计是 CFD 技术应用的重要领域之一。
商业软件
自从 1981 年英国 CHAM 公司首先推出求解流动与传热问题的商业软件 PHOENICS 以 来,迅速在国际软件产业中形成了通称为 CFD 软件的产业市场。到今天,全世界至少已有 50余种这样的流动与传热问题的商业软件,在促进 CFD 技术应用于工业实际中起了很大的 作用。下面介绍当今世界上应用较广的 CFD 商业软件。
(1) CFX
该软件采用有限容积法、拼片式块结构化网络,在非正交曲线坐标 (适体坐标 ) 系上进 行离散, 变量的布置采用同位网格方式。 对流项的离散格式包括一阶迎风、 混合格式、 QUICK 、 CONDIF 、 MUSCI 及高阶迎风格式。压力与速度的耦合关系采用 SIMPLE 系列算法 (SIMPLEC),代数方程求解的方法中包括线迭代、代数多重网络、 ICCG 、 STONE 强隐方法及块隐式 (BIM)。 软件可计算不可压缩及可压缩流动、耦合传热问题、多相流、化学反应、气体燃烧等问题。
(2) FIDAP
这是英语 Fluid Dynamics Analysis Package 的缩写,系于 1983年由美国 Fluid Dynamics International Inc. 推出, 是世界上第一个使用有限元法 (FEM) 的 CFD 软件。 可以接受如 I-DEAS 、 PATRAN 、 ANSYS 和 ICEMCFD 等著名生成网格的软件所产生的网格。该软件可以计算可压缩 及不可压缩流、层流与湍流、单相与两相流、牛顿流体及非牛顿流体的流动问题。
(3) FLUENT
这一软件由美国 FLUENT Inc.于 1983年推出,是继 PHOENICS 软件之后的第二个投放市 场的基于有限容积法的软件。 它包含有结构化及非结构化网格两个版本。 在结构化网格版本 中有适体坐标的前处理软件, 同时也可以纳入 I- DEAS、 PATRAN 、 ANSYS 和 ICEMCFD 等著名 生成网格的软件所产生的网格。速度与压力耦合采用同位网格上的 SIMPLEC 算法。对流项
差分格式纳入了一阶迎风、 中心差分及 QUICK 等格式。 软件能计算可压缩及不可压缩流动、 含有粒子的蒸发、燃烧过程、多组分介质的化学反应过程等问题。
(4) PHOENICS
这是世界上第一个投放市场的 CFD 商业软件,可以算是 CFD 商用软件的鼻祖。这一软 件中所采用的一些基本算法,如 SIMPLE 方法、混合格式等,正是由该软件创始人 D. B. Spalding 及其合作者 S. V. Patankar 等所提出的, 对以后开发的商业软件有较大的影响。 近年 来, PHOENICS 软件在功能上与方法方面做了较大的改进,包括纳入拼片式多网格及细密网 格嵌入技术,同位网格及非结构化网格技术 ; 在湍流模型方面开发了通用的零方程、低 Reynolds k-E模型、 RNG k-E模型等。应用这一软件可计算大量的实际工作问题,其中包括:城市污染预测、叶轮中的流动、管道流动。
(5) STAR-CD
这一软件名称是英语 Simulation of Turbulent Flow in Arbitrary Region 的缩写,连字符后 的 CD 是开发商 Computational Dynamics Ltd 的简称。 这是基于有限容积法的一个通用软件。 在网格生成方面,采用非结构化网格,单元的形态可以有六面体、 四面体、 三角形截面的棱 柱体、 金字塔形的锥体及六种形状的其它多面体。 应用这一软件可以计算稳态与非稳态流动、 牛顿流及非牛顿流体的流动、 多孔介质中的流动、 亚音速及超音速流动, 并且这一软件在世 界汽车工业中应用的十分广泛。