简介:《空气动力学基础》北航精品课程课件——刘沛清教授版,以单个PDF文件形式发布,共19.65MB。这套资料面向航空航天专业本科生、相关领域工程师与自学空气动力学基础的学习者,完整覆盖绪论、流体基本属性、流体静力学、流体运动学、不可压缩无粘流体平面势流、粘性流体动力学基础、边界层理论及其近似、可压缩高速流动基础等核心模块。课件采用演示文稿式编排,包含大量图示与公式推导,有助于理解飞行器绕流、边界层分离、跨声速气动现象等关键概念。包体结构紧凑,仅含1个PDF文档,方便在电脑、平板等多种设备上直接阅读与检索。目前已有679人学习下载,适合用于课程同步复习、考研备考或工程入门参考。通过该课件可系统梳理空气动力学知识框架,获取北航精品课程的完整教学脉络,是一份实用的基础学习资料。
1. 空气动力学基础:一份老课程课件为什么值得从头读一遍
做外流场分析时,最怕的不是残差降不下去,而是模型用错了地方——拿无粘势流公式去估失速攻角附近的升力,结果和风洞数据差了近一倍;或者雷诺数少算了两个数量级,层流与湍流转捩的位置整体错位。这类问题在气动分析里相当常见,根子往往不在CFD设置,而在最基础的概念边界没划清。这份《空气动力学基础》课程课件,把绪论、流体属性、流体静力学、运动学、平面势流、粘性流动、边界层和可压缩高速流动按一条完整线索串起来,正好是补这些基础空缺的教材。它适合刚入门飞行器设计、流体机械的人系统搭框架,也适合做了几年CFD、想回头核对理论前提的从业者。
2. 课程结构与绪论基石:相对飞行原理、三态对比、量纲分析一起说清
拿到一份课程课件,我习惯先看目录,再看绪论,最后才翻具体章节。原因很简单:空气动力学是一门层层递进的学科,前几章的概念没立住,后面算出来的数再漂亮也是建立在沙地上。课件把内容切成绪论、流体属性与静力学、流体运动学与动力学、平面势流、粘性流动、边界层、可压缩流动几个大块,绪论相当于整门课的工具箱。
2.1 六章知识结构:每章在气动问题里扮演什么角色
课件目录看似是七个部分,实际是一条完整的逻辑线:先搞清楚“流体是什么”(物质形态),再建立“静止和运动怎么描述”(静力学、运动学),然后给出第一个可解的理想模型(无粘势流),再逐步往真实世界靠近(粘性、边界层、可压缩)。
| 课程章节 | 核心内容 | 在工程里对应什么 |
|---|---|---|
| 第0章 绪论 | 研究对象、发展进程、分类、研究方法、量纲单位 | 建立全局坐标系,决定后续该用理论、实验还是数值方法 |
| 第1章 流体基本属性与静力学 | 固液气三态、密度、粘性、静压分布 | 油箱底压计算、大气压随高度变化、压力传感器标定 |
| 第2章 运动学与动力学基础 | 速度分解、连续性方程、欧拉方程、伯努利方程 | 管道流速计算、机翼绕流速度场定性判断 |
| 第3章 不可压缩无粘流体平面势流 | 位函数、流函数、叠加原理、圆柱绕流 | 升力理论的基础,翼型环量与库塔条件 |
| 第4章 粘性流体动力学基础 | 牛顿粘性定律、纳维-斯托克斯方程、雷诺数 | 摩擦阻力来源、层流与湍流的判别 |
| 第5章 边界层理论及其近似 | 边界层厚度、位移厚度、分离现象 | 压差阻力来源、失速攻角判断 |
| 第6章 可压缩高速流动基础 | 声速、马赫数、正激波与膨胀波 | 高速飞行器波阻、进气道设计的基础 |
这张表也是我复习时的索引。做某类问题之前先想清楚它落在哪一章:算升力主要看第3章,算阻力要看第4和第5章,算高速流动的激波位置就看第6章。别指望一章解决所有问题。
2.2 固液气三态对比:流体为什么不能承受静止剪切力
课件绪论里有一段关于物质三态的论述,看似常识,其实暗含判断准则。固体有固定形状和体积,静止时能同时承受拉力、压力和剪切力;液体有固定体积但无固定形状,静止时只能承受压力,几乎不能承受拉力和剪切力;气体既无固定体积也无固定形状,静止时同样只能承受压力。
| 状态 | 固定形状 | 固定体积 | 静止时可承受的应力 |
|---|---|---|---|
| 固体 | 有 | 有 | 拉力、压力、剪切力 |
| 液体 | 无 | 有 | 压力为主,几乎无剪切力 |
| 气体 | 无 | 无 | 压力为主,几乎无剪切力 |
流体的判据就是“易流动性”:在静止状态下不能承受剪切力。这句话听着简单,实际做工程判断时容易出错。比如有人觉得凡士林或沥青这种很稠的东西应该算固体,但长期荷载下它们会持续蠕变,本质上仍是流体。
我一般会用一个简单的判断方法:看材料在恒定剪切力作用下是否持续变形。持续变形的就是流体,不管它多稠;只变形到一定阈值就停住的,才算是固体。这个区分在做结构载荷分析和流体仿真初判时非常有用。
2.3 相对飞行原理:风洞实验和数值模拟的合法性来源
课件里专门讲了一个关键概念:相对飞行原理。飞行器以速度V在静止空气中运动时,飞行器与空气之间的相对运动规律和作用力,与飞行器固定不动、让空气以同样大小和相反方向的速度流过飞行器的情况是等效的。
这个等效是风洞实验的根基。飞行器模型用支架固定在天平上,风洞风扇制造均匀气流吹过模型,测到的力和力矩就是飞行器运动时受到的空气动力。理论上也是同理:观察者固接在飞行器上,看到的是远前方来流以速度V流向飞行器;只要远前方来流速度V是常数,绕流图画就不随时间变化。
这里有个容易被忽略的边界条件:V必须是常数。如果来流速度随时间变化,比如阵风、颠簸气流,绕流图画变成非定常问题,相对飞行原理的简单等效就不再成立。实际做CFD时,设置速度入口边界的时候,我习惯把远场速度的扰动幅度控制在1%以内,否则算出来的就不是定常绕流,需要改用非定常求解器。
2.4 量纲与单位:雷诺数算错一个数量级有多离谱
课件第0章最后一节专门讲量纲与单位,很多学习者直接跳过。跳过的人往往会在后面某个时刻翻车。工程问题里量纲分析的意义有两个:一是检查公式是否物理一致,二是构造无量纲数来对比不同工况。
以常用的量纲系统M-L-T为基准,质量、长度、时间分别用M、L、T表示。速度的量纲是[LT⁻¹],加速度是[LT⁻²],力是[MLT⁻²],压强是[ML⁻¹T⁻²],密度是[ML⁻³]。把这些量纲列成一张表,写计算脚本时对照检查,能拦住大量低级错误:
| 物理量 | 量纲 | SI单位 |
|---|---|---|
| 速度 | [LT⁻¹] | m/s |
| 加速度 | [LT⁻²] | m/s² |
| 力 | [MLT⁻²] | N |
| 压强/应力 | [ML⁻¹T⁻²] | Pa |
| 密度 | [ML⁻³] | kg/m³ |
| 动力粘度 | [ML⁻¹T⁻¹] | Pa·s |
| 运动粘度 | [L²T⁻¹] | m²/s |
雷诺数Re=ρVL/μ,把量纲代入后M、L、T全部消掉,得到无量纲数,这正是它能在不同介质、不同尺寸之间做相似换算的原因。单位换算则更现实:1 kgf约等于9.8 N,1 atm等于101325 Pa,1 bar等于100 kPa。动力粘度和运动粘度又是一个常见翻车点,两者差一个密度量纲,换算时忘记除密度会让雷诺数差出几个数量级。
3. 从静力学到运动学:欧拉静平衡、速度分解与连续性方程的推导脉络
课程前两章看起来是“基础中的基础”,实际是后面所有公式的前提。流体静力学建立压力场的概念,运动学建立速度场的描述方式,动力学把两者用牛顿定律连接起来。我对这部分课程的复现方式,是亲手把每个方程推一遍,而不是只记结论。
3.1 流体静力学:压强随高度分布的欧拉静平衡方程
考虑静止流体中一个微元六面体,水平方向压力相互抵消,竖直方向只有重力和上下表面的压力差。设z轴竖直向上,则平衡条件为:
p dx dy - (p + ∂p/∂z dz) dx dy - ρg dx dy dz = 0
化简得到欧拉静平衡方程:
∂p/∂z = -ρg
对均质不可压缩流体,密度ρ为常数,直接积分得到:
p = p0 + ρgh
其中p0是参考高度处的压强,h是从参考面往下的深度。这个公式在工程里用得极广:油箱底部压力、水下设备外壳承压、水坝闸门受力。注意它只适用于静止流体,流场中某点的真实压强是静压与动压之和,不能简单套这个公式。
等温大气模型中密度随压强变化,需要把密度写成ρ=p/(RT)再积分,得到p=p0exp(-gz/(RT))。这个公式在算高空飞行器外部压力边界时常用,课件里虽然没给完整推导,但基础知识是够的。
3.2 速度分解定理:为什么无旋条件是势流的前提
第二章里最重要的一步是把流体微团的运动拆成三部分:平动、旋转、变形。用速度梯度张量∂ui/∂xj描述,它可以分解成对称部分和反对称部分:
∂ui/∂xj = 1/2(∂ui/∂xj + ∂uj/∂xi) + 1/2(∂ui/∂xj - ∂uj/∂xi)
第一项是应变率张量,决定流体微团的拉伸和剪切变形;第二项是旋转张量,对应流体微团的整体旋转。旋转张量不为零意味着流场中存在涡量。涡量ω=rot(V),它的三个分量用速度分量的空间导数表示。
无旋条件rot(V)=0是下一章势流理论的前提。流动无旋时,速度场可以表示为某个标量函数的梯度,求解一个拉普拉斯方程就能得到整个流场。我在实际项目中判断“能不能用势流模型”,第一个问题永远是“这个流场的涡量可以忽略吗”,而不是“粘性大不大”。
3.3 连续性方程:从积分到微分,不可压缩假设的边界
连续性方程是质量守恒的数学表达。对固定控制体,单位时间内流入的质量减去流出的质量,等于控制体内质量的增加率。积分形式写作:
∂/∂t ∫ρdV + ∮ρV·n dA = 0
用高斯散度定理把面积分换为体积分,得到微分形式:
∂ρ/∂t + div(ρV) = 0
对不可压缩流动,密度沿流线的物质导数Dρ/Dt=0,连续性方程简化为:
div(V) = 0
即速度场的散度为零。这里有个容易混淆的点:不可压缩并不等于流场内密度处处相等。分层大气中温度变化导致密度随高度变化,但沿流线看单个流体微团的密度可以不变,仍然满足不可压缩条件。判断能不能用不可压缩模型,标准是马赫数是否足够低、流场温度变化是否足够小,而不是看密度绝对值是否统一。这个边界会在后面避坑章节再展开。
4. 不可压缩无粘势流:位函数、流函数、叠加原理与圆柱绕流
平面势流是整门课程里第一个能直接算升力的模型。它假设流动无粘、无旋、不可压缩,听起来条件苛刻,但大量附着流动在小攻角下的行为确实可以用它解释。学这一章的关键不是背住圆柱绕流的解,而是理解“为什么”能这样算,以及叠加原理的边界在哪里。
4.1 位函数与流函数:无旋流动为什么能简化成拉普拉斯方程
无旋流动中rot(V)=0,满足这个条件的矢量场可以写成某个标量函数φ的梯度:
u = ∂φ/∂x, v = ∂φ/∂y
这个φ叫速度位函数。因为无旋,速度位函数一定存在。把它代入不可压缩条件div(V)=0,立刻得到:
∂²φ/∂x² + ∂²φ/∂y² = 0
这就是拉普拉斯方程。求解无旋不可压流动,转化成求解满足边界条件的拉普拉斯方程,线性方程可以叠加,这是整个势流理论的地基。
二维情况下还有一个工具:流函数ψ。对于不可压平面流动,速度分量可以写成:
u = ∂ψ/∂y, v = -∂ψ/∂x
流函数存在的条件是满足div(V)=0,与无旋无关。ψ取常数的曲线就是流线。在等势线族上φ为常数,流线族上ψ为常数,两族曲线处处正交。
4.2 叠加原理:均匀流加偶极子模拟圆柱绕流
势流求解的一个核心技巧是叠加。均匀流、点源/点汇、偶极子、点涡都有各自的解析解,线性叠加之后仍然满足拉普拉斯方程,只要组合出来的边界条件符合实际流动即可。
均匀流加偶极子可以模拟无环量圆柱绕流。势函数和流函数分别为:
φ = V∞(r + R²/r)cosθ ψ = V∞(r - R²/r)sinθ
其中R是圆柱半径,V∞是远场来流速度,r和θ是极坐标。在柱面r=R上,流函数ψ=0,说明圆柱表面是一条流线,满足物面不可穿透条件。表面速度分布为Vθ=-2V∞sinθ,速度在圆柱前后驻点为零,上下两侧最大为2V∞。
由伯努利方程得到表面压强系数:
Cp = 1 - (Vθ/V∞)² = 1 - 4sin²θ
这个分布前后对称,积分后升力为零。要产生升力,需要在圆柱上叠加环量——点涡。加上环量Γ后,表面速度变为:
Vθ = -2V∞sinθ - Γ/(2πR)
表面压强分布变得上下不对称,积分得到单位展长的升力:
L = ρV∞Γ
这就是库塔-茹科夫斯基升力定理。工程上的意义是:升力本质上来自绕翼型的环量,而环量的大小又由翼型后缘的库塔条件决定。课件里这一章虽然没有给出完整推导,但思路链是从圆柱绕流到任意翼型绕流的核心桥梁。
4.3 用Python可视化圆柱绕流:从公式到流线图的复现
把公式转成可视化的流线图,是检验自己是否真正理解叠加原理的快速方法。我用一个简单的Python脚本复现圆柱绕流,并把环量Γ作为一个可调参数,直接观察它对流场的影响。
import numpy as np import matplotlib.pyplot as plt def cylinder_stream(R=1.0, V_inf=1.0, Gamma=0.0, nx=401, ny=401): """计算绕圆柱的无粘势流流函数。 参数: R: 圆柱半径 V_inf: 远前方均匀来流速度 Gamma: 点涡环量(负值为顺时针环量,产生正升力) """ x = np.linspace(-5, 5, nx) y = np.linspace(-5, 5, ny) X, Y = np.meshgrid(x, y) r = np.sqrt(X**2 + Y**2) theta = np.arctan2(Y, X) # 组合流函数:均匀流 + 偶极子 + 点涡 psi = V_inf * (r - R**2 / np.maximum(r, 1e-6)) * np.sin(theta) psi += (Gamma / (2 * np.pi)) * np.log(np.maximum(r, 1e-6) / R) # 圆柱内部没有物理流动,置为 nan 避免画图时显示 cyl_mask = r < R psi[cyl_mask] = np.nan return X, Y, psi R = 1.0 V_inf = 1.0 Gamma = -3.0 # 负值产生顺时针环量,按库塔-茹科夫斯基定理对应正升力 X, Y, psi = cylinder_stream(R, V_inf, Gamma) fig, ax = plt.subplots(figsize=(7, 5)) ax.contour(X, Y, psi, levels=25, cmap='viridis') ax.add_patch(plt.Circle((0, 0), R, color='gray', zorder=2)) ax.set_aspect('equal') ax.set_xlim(-5, 5) ax.set_ylim(-5, 5) ax.set_title(f"Potential Flow around Cylinder, Gamma = {Gamma}") plt.show()代码逻辑分三步:先生成二维网格,然后计算每个网格点上的流函数值,最后用等高线画流线。关键点在第三行函数定义里np.maximum(r, 1e-6),它的作用是防止r=0时出现除零错误,在圆柱中心产生数值奇异点。圆柱内部用np.nan赋值,让Matplotlib跳过无效区域,否则圆柱内会出现人为的等值线污染图像。
参数上,V_inf=1.0和R=1.0是把问题归一化,所有长度和速度都按圆柱半径与来流速度无量纲化。Gamma取负值是因为在这个坐标系约定下,顺时针环量配合来自左侧的来流会产生向上的升力。把Gamma改成0运行一次,再改成-3运行一次,对比流线图就能直观看到环量如何改变驻点位置和上下流线的对称性。驻点从圆柱前后移动到下方,升力由此产生。
5. 避坑手册:学习气动基础与做计算时最容易踩的五个坑
理论学过和用对是两个维度,这章把我在复现课程内容和实际计算中踩过的坑整理成五条,每条按“现象-原因-解决”的格式写,方便以后遇到同类问题时快速对照。
5.1 把无粘势流结果直接当失速攻角附近的升力
现象:用圆柱或翼型势流公式估算大攻角升力系数,结果比风洞数据高出50%以上,甚至趋势都反了。
原因:势流模型假设无粘、无旋、流动始终附着在物面上。这个假设在小攻角附着流动下成立,但攻角超过失速角后,边界层在上表面发生分离,流动形态彻底改变,库塔条件失效,理论环量不再对应实际环量。
解决:先判断使用边界。如果攻角接近或超过失速范围,直接放弃势流公式,改用粘性CFD求解器或者实验数据。如果工位里只有势流可用,就必须把结果解释限制在“附着流动范围内的趋势参考”,不能用于结构载荷定值。
5.2 混淆来流马赫数与当地马赫数
现象:算某高速翼型的压力分布,用远场速度除以远场声速得到马赫数,再拿这个固定值去做等熵关系换算,结果和可压缩CFD对不上。
原因:马赫数M=V/a中的声速a是当地值,不是来流值。可压缩流场中温度会随速度变化,当地静温不同,当地声速也不同。远场来的马赫数只在远场有意义,物面附近流速变化后当地马赫数已经完全不是这个数。
解决:用等熵关系从总温T0推算当地静温,公式是T=T0/(1+(γ-1)/2·M²),再算当地声速a=sqrt(γRT),然后迭代求解当地马赫数。跨声速区间这一步必须做,不做就把激波位置算偏。
5.3 忽略边界层分离对压差阻力的量级影响
现象:估算钝体绕流阻力时只算壁面摩擦阻力,算出来比实测小一个数量级;改成只算压差阻力,又高估很多。
原因:总阻力等于摩擦阻力与压差阻力之和。流线型物体边界层附着时摩擦阻力占主导,钝体绕流在背面形成大分离区,分离区内部压力近似常数且明显低于前方驻点压力,压差阻力占主导。边界层课件的核心工程价值就在这:判断分离点在哪,决定压差阻力有多大。
解决:先做边界层诊断,用动量积分关系式估算位移厚度和动量厚度,判断逆压梯度区是否达到分离条件;分离位置一旦确认,压差阻力按分离区前后压差积分来估算。不要省略任何一个阻力源。
5.4 量纲单位混用,结果差出两个数量级
现象:同事给了一个阻力系数曲线,自己代入密度时用了工程单位,速度用了km/h,面积用了dm²,算出来的力要么大得离谱,要么小到不可信,还找不到原因。
原因:课件第0章就强调了量纲与单位的概念,但实操中多单位混用仍然是最常见的坑。kgf和N差9.8倍,动压½ρV²里密度用kg/m³、速度用m/s才能得出Pa,任何一项漏转换都会让力偏离一个或两个数量级。
解决:写脚本之前先把所有物理量列一张表,每个量统一成SI:长度用m、速度用m/s、密度用kg/m³、压强用Pa。写代码时给每个变量加单位注释,算完结果再做一次量纲检查,力的量纲必须是kg·m/s²,压强必须是kg/(m·s²)。这一步花两分钟,省的是几小时的排错时间。
5.5 把不可压缩等同于密度处处不变
现象:在温度变化大的低速加热流场或者高空气球绕流中,直接假设密度为常数,算出来的流量和升力与实测偏离明显。
原因:不可压缩的严格定义是Dρ/Dt=0,即沿流线密度不变,而不是流场内所有位置密度统一。温度场变化、大气分层都会让密度在空间上分布不均匀,但只要单个流体微团密度保持恒定,仍然是不可压缩流动。
解决:先用两个判据确认不可压缩假设是否成立:马赫数低于0.3且流场温度变化不大。如果温度变化明显,要么改用于密度可变但低速的模型,比如布辛涅斯克近似,要么直接上可压缩求解器。判断顺序永远是“先看马赫数,再看温度梯度”,不要让惯性假设替你决定模型。
6. 把课件公式变成工程校验工具:一个两分钟估升力系数的脚本
学完平面势流和边界层之后,我一直保留一个习惯:任何新机翼或叶片的气动分析,启动之前先用一个两分钟脚本做出理论预估,作为后续CFD结果的参照基准。这个脚本基于薄翼理论的小攻角升力线斜率,再叠加一个有限翼展修正。
薄翼理论给出无限翼展情况下升力线斜率为每弧度2π,也就是Cl随攻角的线性段斜率。真实机翼展弦比有限,翼尖下洗会削弱有效攻角,升力线斜率要打折。常见的估算公式是把无限翼展斜率除以(1+2/AR),AR是展弦比。写成Python函数就是:
import math def thin_airfoil_cl(alpha_deg, AR): """薄翼理论+有限翼展修正,估算小攻角升力系数。 参数: alpha_deg: 几何攻角(单位:度) AR: 展弦比,机翼展长平方除以参考面积 返回: 升力系数Cl(只适用于附着流动,失速攻角附近不适用) """ alpha_rad = math.radians(alpha_deg) cl_infinite = 2 * math.pi * alpha_rad # 无限翼展升力线斜率 cl_finite = cl_infinite / (1 + 2 / max(AR, 1e-6)) return cl_finite # 示例:展弦比8的机翼,5度攻角 print(round(thin_airfoil_cl(5.0, 8.0), 3))输出约0.68,这个量级可以作为后续CFD对比的参考。参数说明:alpha_deg直接传几何攻角,不需要转弧度;AR通常取值5到12之间,AR越小修正越大。1e-6是防止传0时除零错误。使用时只适合小攻角附着流动,超过失速角这个公式给出的数值整体失效。
我的工作流固定成三步。第一步,拿这个脚本估算升力系数,记下量级。第二步,用CFD或风洞数据得出现实结果,与理论预估值对比。第三步,如果偏差超过20%,优先回头查量纲、参考面积、来流条件这三项,而不是怀疑求解器。有一次我用某高升力翼型做分析,CFD结果和风洞差很远,翻课程笔记才发现自己直接套了无限翼展的2π斜率,完全没考虑展弦比修正。从那以后,我每次启动新模型都强制先跑一遍这个校验脚本,理论结果和数值结果对不上的时候,问题往往在最基础的定义上。希望帮到你。
本文还有配套的精品资源,点击获取