空气动力学基础讲义实战指南:从量纲检查到边界层估算 简介这份资源是北京航空航天大学北京市精品课《空气动力学基础》的完整授课课件面向航空航天、流体力学等专业的学生及自学者用于系统建立空气动力学知识框架、理解飞行器绕流与受力分析的基本原理。压缩包内为1个PDF文件约19.65MB按章节组织成讲义形式便于课堂同步学习与课后复习。内容从绪论中的物质形态、流体力学定义、研究对象与研究方法讲起依次覆盖流体基本属性与流体静力学、流体运动学与动力学基础、不可压缩无粘流体平面势流、粘性流体动力学基础、边界层理论及其近似、可压缩高速流动基础并穿插风洞、机翼绕流流场、边界层分离及亚声速与跨声速战斗机等实例图示。已有689人学习适合希望借助精品课讲义打牢理论根基、对照课堂进度梳理概念与公式的读者。1. 从一份 2010 年的课程讲义说起空气动力学基础到底能拿来干什么翻到这份《空气动力学基础》讲义的时候我第一反应是年份——2010 年版本某高校空气动力学精品课的完整课件从第零章绪论一路排到第六章可压缩高速流动基础。很多人看到“课程讲义”四个字就划走了觉得那是给学生考试用的跟手上正在做的无人机桨叶选型、翼型初步估算、风洞实验预习没半毛钱关系。恰恰相反这类成体系的讲义最大的价值在于它把“从流体属性到边界层再到高速可压流”这条主线一次铺完中间没有为了凑篇幅塞进去的碎片知识你顺着目录走一遍等于把整门课的知识骨架先立起来后面查任何一本专著都知道该往哪个格子里放。这份资源适合三类人一是做飞行器总体、气动初步设计需要快速把概念和公式对齐的从业者二是带课程设计、毕业设计需要一份结构完整、章节清晰的参考讲义来对照进度的人三是自学 CFD 或做风洞实验理论底子薄、想补一遍经典推导的工程师。它不教你用软件也不给你现成算例但它把“为什么这么算”讲得比较老实这一点在后面对参数、对量纲、对边界层假设做判断时特别管用。下面我按“这份讲义怎么读、每一章落到什么操作、哪些地方容易翻车”的顺序拆开讲。2. 讲义的知识骨架六章主线与三种研究方法的对应关系2.1 从物质形态到流体定义的逻辑起点讲义第零章花了不小篇幅讲固态、液态、气态的微观差别落脚点是一句话流体在静止状态下不能承受剪力。这句话看着像常识但它是后面所有推导的地基。固体能扛拉压剪液体只能扛压气体连固定体积都没有所以流体力学里“应力张量只剩压力项”这个简化不是拍脑袋是从物质形态推出来的。很多新手直接跳到伯努利方程回头遇到粘性项就懵就是因为跳过了这一步。讲义把流体力学定义成“研究流体处于平衡和机械运动规律及其应用的学科”再把空气动力学定位成它的分支研究对象是空气的平衡与机械运动。这个层级关系要记住空气动力学不是另一套体系它是流体力学在空气这个介质、在飞行器这个场景下的具体化。你后面看到“不可压缩无粘”“粘性”“可压缩”这些限定词其实都是在给一般流体力学方程加约束条件约束越少方程越难解讲义按约束从少到多排章节这个顺序本身就是一条解题路线。2.2 相对飞行原理与风洞实验的等效性第零章里我觉得最实用的一段是“相对飞行原理”飞行器以速度 V 在静止空气中飞和飞行器固定不动、空气以同样大小相反方向的速度流过它两者等效。这条原理直接解释了风洞为什么能干活——把模型固定人工造直匀气流吹过去观察流动、测气动力。讲义还补了一句只要远前方气流速度 V 是常数绕流图画就不随时间变化也就是定常。这个等效性在做实验预习和 CFD 边界条件设置时天天用到。你给仿真设入口速度、出口压力本质上就是在复现“远前方直匀来流”这个条件你在风洞报告里写“来流速度 30 m/s”对应的就是飞行器以 30 m/s 前飞。把这条原理吃透后面看翼型绕流流场图、看边界层分离的图就不会把“气流吹模型”和“模型在空气中飞”当成两回事。2.3 三种研究方法的适用边界讲义把研究方法分成实验、理论、数值模拟三类这个分类不是摆设它决定了你遇到问题时该先动哪只手。理论方法适合拿量纲分析、势流叠加做快速估算比如初步估一个翼型的升力斜率实验方法风洞适合验证和标定尤其是分离、转捩这类数值模拟容易算飘的现象数值模拟适合在方案筛选阶段跑参数扫描但前提是理论框架清楚不然边界条件设错都不知道错在哪。我一般的顺序是先用理论把量级算出来心里有个数再用数值模拟做几组对比最后有条件就上风洞验证关键工况。讲义把这三条并列讲其实是在提醒你别迷信单一手段。下面这张表是我按讲义章节整理的“每章对应哪种方法更吃重”做项目排期时可以直接对照。章节核心内容理论实验数值第零章 绪论定义、相对飞行原理、量纲单位强中弱第一章 流体属性与静力学物性、压强分布强中弱第二章 运动学与动力学连续方程、动量方程强中中第三章 不可压无粘势流势函数、流函数、叠加强弱强第四章 粘性流体动力学N-S 方程、粘性效应强中强第五章 边界层理论边界层方程、分离中强强第六章 可压缩高速流马赫数、激波、膨胀波强强强表格里“强”不代表其他方法没用而是说这一章的知识在那种手段里出现频率最高。比如第三章势流理论推导占大头但数值模拟里势流求解器也是常用工具只是实验很难单独把无粘势流分离出来测。3. 把讲义落到实操量纲检查、势流叠加与边界层估算3.1 量纲与单位先做一遍量纲检查再动手算讲义第零章最后一节讲量纲与单位很多人翻得快但这是后面所有公式不出错的第一道闸门。空气动力学里常见量长度 L、时间 T、质量 M导出量速度 L/T、加速度 L/T²、力 ML/T²、压强 M/(LT²)、密度 M/L³、动力粘度 M/(LT)。你写任何一个经验公式之前先把两边量纲对一遍对不上就说明公式记错了或者单位混了。举个我常做的检查动压 q 0.5ρV²ρ 是 kg/m³V 是 m/s算出来 kg/(m·s²)正好是 Pa对得上。再比如雷诺数 Re ρVL/μ分子 kg/m³ · m/s · m kg/(m·s)分母动力粘度也是 kg/(m·s)无量纲对得上。这种检查花不了两分钟但能挡掉一大类“算出来数不对”的问题。下面这段 Python 是我平时用来做批量量纲核对的简化脚本把常用量的基本量纲写成字典公式两边各算一次指数向量不相等就报错。# 量纲检查小工具基本量纲用 (M, L, T) 指数表示 from fractions import Fraction BASE { length: (0, 1, 0), time: (0, 0, 1), mass: (1, 0, 0), velocity: (0, 1, -1), acceleration: (0, 1, -2), force: (1, 1, -2), pressure: (1, -1, -2), density: (1, -3, 0), dynamic_viscosity: (1, -1, -1), } def dim_of(expr): expr 是 {量名: 指数} 的字典返回合成量纲向量 total [Fraction(0), Fraction(0), Fraction(0)] for name, power in expr.items(): base BASE[name] for i in range(3): total[i] Fraction(base[i]) * Fraction(power) return tuple(total) # 动压 q 0.5 * rho * V^2常数无量纲只看 rho * V^2 q_dim dim_of({density: 1, velocity: 2}) print(动压量纲:, q_dim, 应为压力:, BASE[pressure]) assert q_dim BASE[pressure], 动压量纲不匹配 # 雷诺数 Re rho * V * L / mu re_dim dim_of({density: 1, velocity: 1, length: 1, dynamic_viscosity: -1}) print(雷诺数量纲:, re_dim, 应为无量纲:, (0, 0, 0)) assert re_dim (0, 0, 0), 雷诺数应为无量纲这段脚本的关键在dim_of函数它把每个物理量的基本量纲指数按幂次累加最后得到一个三元组。Fraction是为了避免整数除法把指数截断比如粘度指数是 -1用浮点也能跑但分数更稳。实际用的时候把你要核对的公式拆成“量名 指数”的字典传进去就行常数系数不用管量纲检查只看指数。跑通这两条断言说明你手上的动压和雷诺数公式没记反。3.2 不可压无粘势流用叠加法快速估一个翼型绕流第三章讲不可压无粘流体平面势流核心工具是势函数和流函数以及点源、点汇、涡、均匀流的叠加。讲义里这部分推导比较完整落到实操上最常用的是“均匀流 点源 点汇”拼出类似翼型的绕流图案或者用涡模拟环量。新手容易卡在“叠加为什么成立”——因为势流方程是线性的线性方程的解可以相加这是势流理论能用手算的根本原因。我一般用下面这段代码做叠加演示均匀流加一个位于原点的点源看流线怎么偏折。参数里U_inf是来流速度strength是源强网格范围按你要看的区域调。这段不是要替代 CFD而是让你在跑仿真之前先对流动图案有个直觉。import numpy as np import matplotlib.pyplot as plt # 均匀流 点源的流函数叠加二维不可压无粘 U_inf 1.0 # 来流速度m/s strength 2.0 # 点源强度m^2/s x np.linspace(-3, 3, 400) y np.linspace(-3, 3, 400) X, Y np.meshgrid(x, y) # 均匀流流函数 psi U_inf * y psi_uniform U_inf * Y # 点源流函数 psi strength/(2*pi) * thetatheta 用 arctan2 保证象限正确 theta np.arctan2(Y, X) psi_source strength / (2 * np.pi) * theta psi_total psi_uniform psi_source plt.figure(figsize(6, 5)) plt.contour(X, Y, psi_total, levels30, cmapviridis) plt.title(Uniform flow source: streamline pattern) plt.xlabel(x (m)) plt.ylabel(y (m)) plt.axis(equal) plt.show()逻辑说明流函数等值线就是流线两条流线之间的流量差等于流函数差所以画等值线就能看流动图案。arctan2必须用普通arctan在第二、三象限会差 π流线会断。参数上strength调大源的影响范围变大驻点往上游移U_inf调大均匀流占主导源附近才看得出偏折。这个叠加结果里会出现一个驻点位置在 x 轴负方向距离原点的远近由strength/(2πU_inf)决定你可以改这两个数看驻点怎么动这就是势流叠加最直观的参数手感。3.3 边界层估算先算厚度再决定网格第五章边界层理论及其近似讲义从边界层概念讲到方程近似实操上最常被问的是“边界层厚度大概多少网格第一层该给多高”。平板湍流边界层厚度常用经验式 δ ≈ 0.37x/Re_x^(1/5)层流是 δ ≈ 5x/√Re_x。这两个式子不是精确解但用来定网格量级足够。比如弦长 1 m、来流 30 m/s、空气运动粘度 1.5e-5 m²/sRe 约 2e6尾缘处湍流边界层厚度大概几毫米量级第一层网格高度要往这个厚度的几分之一去给不然 y 控不住。# 平板边界层厚度快速估算用于定 CFD 第一层网格高度 def bl_thickness(x, U_inf, nu1.5e-5, modeturbulent): Re_x U_inf * x / nu if mode laminar: return 5.0 * x / (Re_x ** 0.5) return 0.37 * x / (Re_x ** 0.2) x_list [0.1, 0.5, 1.0] # 沿弦长位置m U_inf 30.0 # 来流速度m/s for x in x_list: d_t bl_thickness(x, U_inf, modeturbulent) d_l bl_thickness(x, U_inf, modelaminar) print(fx{x:.1f} m 湍流δ≈{d_t*1000:.2f} mm 层流δ≈{d_l*1000:.2f} mm)这段代码里nu是运动粘度常温空气取 1.5e-5 左右温度变了要改。mode切换层流湍流两套经验式注意层流式在转捩点之后不适用实际平板前缘一段是层流、后面转湍流估算时按最保守的湍流值给网格更稳。算出来的厚度乘 1000 转成毫米方便和网格设置界面对。我一般会把第一层网格高度设成当地边界层厚度的 1/10 到 1/20再根据 y 目标反调这一步讲义不会手把手教但边界层厚度的量级判断是从第五章来的。4. 避坑与排查读这份讲义最容易翻车的四个地方4.1 把“不可压”当成“低速都行”现象做低速无人机气动估算直接套不可压势流结果在桨尖附近误差明显偏大。原因不可压假设的边界不是“速度低”而是马赫数低到密度变化可忽略一般 Ma 0.3 才比较稳桨尖局部速度可能已经接近这个门槛。解决先算当地马赫数超过 0.3 的局部区域要么切到可压缩章节的公式要么在仿真里开可压缩求解器别一刀切。4.2 量纲没对齐就代经验公式现象升力系数算出来是几百明显离谱。原因经验公式里长度单位用了毫米、速度用了 km/h密度却是 kg/m³量纲混了。解决所有输入先统一到 SI长度 m、速度 m/s、密度 kg/m³、粘度 Pa·s代公式前用 3.1 的脚本过一遍量纲。血泪经验是单位混用比公式记错更难查因为数字看着“像那么回事”。4.3 边界层厚度估完不校核 y现象按估算给了第一层网格跑出来壁面 y 几百壁面摩擦阻力完全不可信。原因边界层厚度只是量级参考y 还跟壁面法向网格增长率、求解器壁面处理方式有关。解决先按估算给一版跑一两步看 y 分布再按目标值壁面函数通常 30 到 300解析到壁面要小于 1反调第一层高度别一次定死。4.4 势流叠加时角度函数用错现象流线图在 x 轴负半轴出现断裂或跳变。原因用了普通 arctan 而不是 arctan2第二、三象限角度差了 π。解决凡是涉及极角的地方一律 arctan2(y, x)并且注意它的返回值范围是 (-π, π]叠加多个源汇时角度参考系要统一。5. 进阶用法把讲义章节映射成一条自学与项目排期路线讲义的价值不只在单章内容更在于它给了一条可以照着排期的路线。我的习惯是把六章拆成三个阶段第一阶段第零到第二章目标是建立“流体属性—静力学—运动学动力学”的连续框架配套动作是把连续方程和动量方程在简单控制体上手推一遍再用 3.1 的量纲脚本把常用公式过一遍第二阶段第三到第五章重点是势流叠加和边界层配套动作是跑 3.2 的叠加脚本、用 3.3 的估算定一版网格第三阶段第六章可压缩高速流配合马赫数、激波膨胀波的概念把前面不可压的结论逐条检查适用边界。下面这张表是我自己用的章节—产出对照做课程设计或项目预研时直接往里填进度。阶段章节应产出验证方式一第零至二章公式量纲核对表、控制体手推稿量纲脚本全过、量级估算与文献对比二第三至五章势流叠加图、边界层厚度表、首版网格流线图案合理、y 初查三第六章可压缩适用性检查清单当地马赫数逐点核对具体到操作上我建议每读完一章就做一件“能留下文件”的事第零章留一张量纲核对表第一章留一份物性参数取值说明温度、密度、粘度怎么取的第二章留一个控制体推导第三章留一张叠加流线图第四章留一份粘性项取舍的判断记录第五章留一张边界层厚度随位置变化的表第六章留一份“哪些工况不能用不可压”的清单。这些文件攒下来后面写报告、做评审、带新人直接拿出来用比回头翻讲义快得多。还有一个容易被忽略的用法把讲义目录当成检索索引。遇到具体问题比如“翼型失速前缘分离怎么判断”先定位到第五章边界层分离再顺着讲义给的近似方程去查更专门的文献比漫无目的搜关键词效率高。讲义本身是 2010 年的版本具体数值例子可能旧但章节骨架和推导逻辑没过时用它当索引、用新文献补数据是我觉得最稳的用法。从那以后我每次拿到一份课程讲义类资源都强制先做一遍“章节—产出”映射再动手读不然很容易读完就忘、用的时候找不到。这份《空气动力学基础》我按上面的路线走过一遍量纲脚本和边界层估算这两段代码现在还在我的常用工具目录里。希望帮到你。本文还有配套的精品资源点击获取