离散空间直接建模的计算流体力学方法
- 格式:pdf
- 大小:1.32 MB
- 文档页数:12
计算流体力学常用的五大类数值方法简介流体力学数值方法有很多种,其数学原理各不相同,但有二点是所有方法都具备的,即离散化和代数化。
总的来说其基本思想是:将原来连续的求解区域划分成网格或单元子区域,在其中设置有限个离散点(称为节点),将求解区域中的连续函数离散为这些节点上的函数值;通过某种数学原理,将作为控制方程的偏微分方程转化为联系节点上待求函数值之间关系的代数方程(离散方程),求解所建立起来的代表方程以获得求解函数的节点值。
不同的数值方法,其主要区别在于求解区域的离散方式和控制方程的离散方式上。
在流体力学数值方法中,应用比较广泛的是有限差分法、有限元法、边界元法、有限体积法和有限分析法,现简述如下。
一、有限差分法这是最早采用的数值方法,它是将求解区域划分为矩形或正交曲线网格,在网格线交点(即节点)上,将控制方程中的每一个微商用差商来代替,从而将连续函数的微分方程离散为网格节点上定义的差分方程,每个方程中包含了本节点及其附近一些节点上的待求函数值,通过求解这些代数方程就可获得所需的数值解。
有限差分法的优点是它建立在经典的数学逼近理论的基础上,容易为人们理解和接受;有限差分法的主要缺点是对于复杂流体区域的边界形状处理不方便,处理得不好将影响计算精度。
二、有限元法有限元法的基本原理是把适定的微分问题的解域进行离散化,将其剖分成相连结又互不重叠的具有一定规则几何形状的有限个子区域(如:在二维问题中可以划分为三角形或四边形;在三维问题中可以划分为四面体或六面体等),这些子区域称之为单元,单元之间以节点相联结。
函数值被定义在节点上,在单元中选择基函数(又称插值函数),以节点函数值与基函数的乘积的线性组合成单元的近似解来逼近单元中的真解。
利用古典变分方法(里兹法或伽辽金法)由单元分析建立单元的有限元方程,然后组合成总体有限元方程,考虑边界条件后进而求解。
由于单元的几何形状是规则的,因此在单元上构造基函数可以遵循相同的法则,每个单元的有限元方程都具有相同的形式,可以用标准化的格式表示,其求解步骤也就变得很规范,即使是求解域剖分各单元的尺寸大小不一样,其求解步骤也不用改变,这就为利用计算机编制通用程序进行求解带来了方便。
计算流体力学离散化方法
计算流体力学离散化方法是计算流体力学中重要的一种数值解法。
它是将连续的流场分割成有限数量的小体积,然后利用数值方法求解这些小体积中的流动变量。
其中最常用的方法是有限体积法和有限元法。
有限体积法是将控制体积内的守恒方程进行离散化,然后利用迭代方法求解离散后的方程。
有限元法则是将流场分割成许多小单元,然后在每个单元内建立一个离散方程,最终求解整个流场。
这些方法在实际工程中有广泛的应用,例如在航空、汽车、涡旋流等领域中。
- 1 -。
微尺度流体力学问题数值模拟方法微尺度流体力学是研究微小尺度下的流体行为和性质的一门学科。
在微尺度下,介观和纳米尺度下的流体物理现象开始发挥作用,如毛细效应、界面张力和界面流动等。
提供一个准确且高效的数值模拟方法对于理解和预测微尺度流体力学问题至关重要。
本文将介绍几种常用的微尺度流体力学问题数值模拟方法。
首先,格子Boltzmann方法是一种适用于多孔介质流动和微通道流动的数值模拟方法。
该方法基于玻尔兹曼方程,通过对流体分子在离散速度空间上的概率密度函数进行模拟,来计算流体的宏观性质。
格子Boltzmann方法通过将流体分为网格单元,模拟从一个时间步到另一个时间步的碰撞和分布函数的传播。
该方法具有高效、精确和可扩展性的优点,适用于微通道中复杂的流动和传热问题。
其次,分子动力学方法也是一种常用的微尺度流体力学数值模拟方法。
该方法通过对流体分子的运动进行直接模拟,来研究微尺度下的流体行为。
分子动力学方法将流体系统建模为一组相互作用的粒子,并通过求解牛顿运动方程来模拟流体分子的动力学行为。
该方法可以模拟流体的微观行为,并能捕捉到一些重要的纳米尺度效应,如界面张力和毛细效应等。
分子动力学方法可以提供详细的流体结构和动力学信息,但计算成本较高。
第三,无尺度方法是近年来发展起来的一种用于微尺度流体力学数值模拟的方法。
无尺度方法将流体行为建模为微观和宏观尺度的相互作用,通过数值计算来模拟微尺度流体的行为。
无尺度方法是基于连续介质力学和分子动力学的方法,结合了二者的优点。
该方法通过引入无量纲参数来简化模拟,并利用尺度分析来确定重要的物理效应。
无尺度方法可以在较低的计算成本下模拟微尺度下的流体行为,是一种高效且准确的数值模拟方法。
此外,在微尺度流体力学中,还有一些其他的数值模拟方法,如边界元方法、有限元方法和有限差分方法等。
这些方法在不同的问题和条件下具有不同的适用性。
边界元方法适用于具有复杂几何形状的问题,有限元方法适用于高精度和复杂耦合的场景,有限差分方法适用于粗粒度模拟和大规模并行计算。
流体力学模拟和仿真技术流体力学模拟和仿真技术是一种通过数学模型和计算机模拟来研究和预测流体行为的方法。
它在各个领域有着广泛的应用,从航空航天到汽车工业,从医学领域到天气预报。
本文将探讨流体力学模拟和仿真技术的原理、应用以及未来发展趋势。
流体力学模拟和仿真技术的原理基于牛顿运动定律和连续介质假设。
它通过离散化空间和时间,将流体系统分割成小的控制体元,然后根据质量、动量和能量守恒的方程来计算流体在每个控制体元上的状态变化。
这些方程可以通过Navier-Stokes方程来描述,它包含了流体的速度、压力和密度等相关参数。
通过数值方法,如有限差分法或有限元法,结合计算机算力,可以对流体在不同条件下的行为进行模拟和预测。
在航空航天领域,流体力学模拟和仿真技术广泛应用于飞行器的气动性能研究。
例如,利用计算流体力学方法,可以模拟飞机在起飞和降落过程中的气动力状况,以及在高速飞行时的阻力和升力分布。
这些模拟结果可以用于设计优化和飞行性能评估,有助于提高飞机的性能和安全性。
在汽车工业中,模拟和仿真技术可以用于优化车辆的空气动力学性能,以减少阻力和提高燃油效率。
通过模拟不同车型在不同速度下的空气流动,可以识别出造成阻力的关键因素,并设计出相应的改进措施,如改变车身形状或添加空气动力学套件。
这些优化措施可以显著减少燃料消耗,降低排放并提高车辆的稳定性。
在医学领域,流体力学模拟和仿真技术被用来研究血流和气流在人体内的行为。
通过模拟血管内的血流,可以了解血液在各个部位的速度分布和压力变化,对血管堵塞、动脉瘤等疾病的治疗方案提供指导。
此外,在呼吸系统中,模拟气流在肺部的流动可以帮助理解肺疾病的病理机制,并辅助设计更有效的治疗方法。
天气预报也是流体力学模拟和仿真技术的一个重要应用领域。
通过模拟大气中的气流和海洋中的洋流,可以预测天气和气候的变化趋势。
这些模拟结果对于气象学家提供了重要的数据和线索,以便更准确地预测暴风雨、台风或其他极端天气事件。
1 计算流体力学概述计算流体力学(Computational Fluid Dynamics,简称CFD)是以数值离散方法为数学基础,借助于计算机求解描述流体运动的基本方程,研究流体运动规律的学科。
CFD的基本思想可以归结为:把原来在时间域及空间域上连续的物理量的场,如速度场和压力场,用一系列有限个离散点上的变量值的集合来代替,通过一定的原则和方式建立起关于这些离散点上场变量之间关系的代数方程组,然后求解代数方程组获得场变量的近似值。
CFD可以看做是在流动基本方程(质量守恒方程、动量守恒方程、能量守恒方程)控制下对流动的数值模拟。
通过这种数值模拟,可以得到极其复杂问题的流场内各个位置上的基本物理量(如速度、压力、温度、浓度等)的分布,以及这些物理量随时间的变化情况,确定旋涡分布特性、空化特性及脱流区等。
还可据此算出相关的其他物理量,如旋转式流体机械的转矩、水力损失和效率等。
此外,与CAD联合,还可进行结构优化设计等。
CFD可用来进行流体动力学的基础研究,复杂流动结构的工程设计,分析实验结果等。
CFD的特点:给出流体运动区域内的离散解,而不是解析解。
它的发展与计算机技术的发展直接相关。
若物理问题的数学提法(包括数学方程及其相应的边界条件)是正确的,则可在较广法的流动参数(如马赫数、雷诺数、飞行高度、气体性质、模型尺度等)范围内研究流体力学问题,且能给出流场参数的定量结果。
计算流体力学的技术原理任何流体运动的规律都是由以下3个定律为基础的:质量守恒定律,动量守恒定律和能量守恒定律。
这些基本定律可由数学方程组来描述。
如欧拉(Euler)方程,N-S方程。
首先确定了这些能够描述对象流动参量连续变化的微分方程组后,然后采用数值计算方法,通过离散化方法(如有限差分法或有限元法)对连续变化的参量用离散空间和时间的值来表示,使微分方程组转变成代数方程组形式,空间的离散位置可用计算网格上的节点描述,最后这些离散数学方程组通过计算机求解,来研究流体运动特性,给出流体运动空间定常或非定常流动规律,这样的学科就是计算流体力学。
第一部分 计算流体力学(CFD)的基本思想一、什么是计算流体力学(CFD)?计算流体力学(Computational Fluid Dynamics)是流体力学的一个新兴的分支,是一个采用数值方法利用计算机来求解流体流动的控制偏微分方程组,并通过得到的流场和其它物理场来研究流体流动现象以及相关的物理或化学过程的学科。
事实上,研究流动现象就是研究流动参数如速度、压力、温度等的空间分布和时间变化,而流动现象是由一些基本的守恒方程(质量、动量、能量等)控制的,因此,通过求解这些流动控制方程,我们就可以得到流动参数在流场中的分布以及随时间的变化,这听起来似乎十分简单。
但遗憾的是,常见的流动控制方程如纳维-斯托克斯(Navier-Stokes)方程或欧拉(Euler)方程都是复杂的非线性的偏微分方程组,以解析方法求解在大多数情况下是不可能的。
实际上,对于绝大多数有实际意义的流动,其控制方程的求解通常都只能采用数值方法的求解。
因此,采用CFD 方法在计算机上模拟流体流动现象本质上是流动控制方程(多数情况下是纳维-斯托克斯方程或欧拉方程)的数值求解,而CFD 软件本质上就是一些求解流动控制方程的计算机程序。
二、计算流体力学的控制方程计算流体力学的控制方程就是流体流动的质量、动量和能量守恒方程。
守恒方程的常见的推导方法是基于流体微元的质量、动量和能量衡算。
通过质量衡算可以得到连续性方程,通过动量守恒可以得到动量方程,通过能量衡算可以得到能量方程。
式(1)-(3)是未经任何简化的流动守恒微分方程,即纳维-斯托克斯方程(N-S 方程)。
0)(=⋅∇+∂∂V tv ρρ (1) x zx xy xx f zy x x p V u t u ρτττρρ+∂∂+∂∂+∂∂+∂∂−=⋅∇+∂∂)()(v (2a) y yz yy xy f zy x y p V v t v ρτττρρ+∂∂+∂∂+∂∂+∂∂−=⋅∇+∂∂)()(v (2b) z zz yz xz f zy x z p V w t w ρτττρρ+∂∂+∂∂+∂∂+∂∂−=⋅∇+∂∂)()(v (2c) V f w zw yw x v z v y v x u z u y u x z wp y vp x up zT k z y T k y x T k x q V E t E zz yz xz zy yy xy zx yx xx v v &v ⋅+∂∂+∂∂+∂∂+∂∂+∂∂+∂∂+∂∂+∂∂+∂∂+∂∂−∂∂−∂∂−∂∂∂∂+∂∂∂∂+∂∂∂∂+=⋅∇+∂∂ρτττττττττρρρ)()()()()()()()()()()()()()()()()( (3) N-S 方程可以表示成许多不同形式,上面的N-S 方程是所谓的守恒形式,之所以称为守恒形式,是因为这种形式的N-S 方程求解的变量ρ、u ρ、v ρ、w ρ、E ρ是守恒型的,是质量、动量和能量的守恒变量。
作业:已知一流场满足下面的稳态对流扩散方程:()()⎪⎪⎭⎫⎝⎛∂∂+∂∂Γ=∂∂+∂∂2222y xyv xρu ϕϕϕρϕ其中:5=uρ,3=v ρ,5.0=Γ。
下图中,流场为正方形,边长为1,且50=ABϕ,100=BCϕ,300=CD ϕ,200=ADϕ。
用数值解法,计算此流场的ϕ分布。
解:一、离散化:原式代入数据并变形有:⎪⎪⎭⎫⎝⎛∂∂+∂∂⨯=∂∂⨯+∂∂⨯22225.035y xy x ϕϕϕϕ对上式进行数值求解,取各边步长均相等,并分别设0.1,0.05,0.04三种网格,此三种网格的贝克利数:Γ∆∙=∆xu P ρ,均大于零小于2,可以采用中心差分,离散后公式变为:⎪⎪⎭⎫⎝⎛∆+-+∆+-⨯=∆-⨯+∆-⨯++++21-j i,j ,i 1j ,i 2j,1-i j ,i j ,1i 1-j i,1j ,i j,1-i j ,1i 225.02325x x xxϕϕϕϕϕϕϕϕϕϕ整理后有:()()()()1-j ,i j ,1-i 1j ,i j ,1i j ,i 75.025.025.125.075.0-25.025.1-25.0ϕϕϕϕϕx x x x ∆++∆++∆+∆=++二、源程序:根据上式,利用C++进行编程,主要程序如下: float f1[200][200],f2[200][200],x; int i,j,n,a; printf("%s","输入步长x:");scanf("%f",&x);n=1.00/x;for(i=0;i<=n;i++) //给AB边赋值{ j=0;f1[i][j]=50;}for(j=0;j<=n;j++) //给AD边赋值{ i=0;f1[i][j]=200;}for(i=0;i<=n;i++) //给CD边赋值{ j=n;f1[i][j]=300;}for(j=0;j<=n;j++) //给BC边赋值{ i=n;f1[i][j]=100;}for(i=1;i<n;i++){for(j=1;j<n;j++) //给内部节点设初值f1[i][j]=50;}do{ a=0;for(i=0;i<=n;i++){for(j=0;j<=n;j++)f2[i][j]=f1[i][j]; //将f1的值赋给f2}for(i=1;i<n;i++){for(j=1;j<n;j++){f1[i][j]=(0.25-1.25*x)*f1[i][j+1]+(0.25-0.75*x)*f1[i-1][j]+(0.25+1.25*x)*f1[i][j-1]+(0.25+0.75 *x)*f1[i+1][j];}}for(i=1;i<n;i++){for(j=1;j<n;j++){if(fabs(f1[i][j]-f2[i][j])>=1e-3) //保证每个节点值的误差都小于0.001a=1;}}}while(a==1);三、计算结果(1)步长为0.1,则共有11行节点。
cfd仿真的离散方法CFD(Computational Fluid Dynamics,计算流体动力学)是一种通过数值方法模拟流体运动和相互作用的技术。
在CFD仿真中,离散方法是其中一种重要的数值方法。
本文将介绍CFD仿真中离散方法的基本原理和应用。
离散方法是将连续的物理问题转化为离散的数学问题,通过对离散方程进行求解,得到问题的数值解。
在CFD仿真中,离散方法主要包括网格离散和时间离散两个方面。
首先,网格离散是指将流体领域划分为有限数量的小单元,即网格。
每个网格单元内的流体性质被近似为常数,通过在网格节点上建立数值解的逼近函数,将流体性质在整个流场中进行离散化表示。
常用的网格离散方法有结构化网格和非结构化网格。
结构化网格是由规则的矩形或立方体单元组成的网格,每个单元都有相同的形状和大小。
结构化网格的优点是计算效率高,数值精度较高,适用于简单的流动问题。
然而,对于复杂的几何形状,结构化网格的生成和调整较为困难。
非结构化网格是由不规则形状的多边形或多面体单元组成的网格,每个单元的形状和大小可以不同。
非结构化网格的优点是适用于复杂的几何形状,网格生成和调整相对容易。
然而,非结构化网格的计算效率较低,数值精度较差。
其次,时间离散是指将流体问题的时间域划分为一系列离散的时间步长,通过在每个时间步长上求解流体问题的数值解,得到整个时间域上的流体运动情况。
常用的时间离散方法有显式方法和隐式方法。
显式方法是通过已知的边界条件和初始条件,根据离散方程的形式,直接计算下一个时间步长的数值解。
显式方法的优点是计算速度快,适用于稳定流动和较小的时间步长。
然而,显式方法的稳定性条件较为严格,对于不稳定流动和较大的时间步长,可能导致数值解的不稳定。
隐式方法是通过已知的边界条件和初始条件,根据离散方程的形式,通过迭代计算下一个时间步长的数值解。
隐式方法的优点是稳定性较好,适用于不稳定流动和较大的时间步长。
然而,隐式方法的计算速度较慢,需要更多的计算资源。