📚 流体力学理论文档
本文件提供了对 Python 类 FluidMechanics 中实现的流体力学原理的理论概述。它旨在作为用户和开发人员的综合指南,帮助他们理解计算流体动力学 (CFD) 应用库中所使用的基础物理和数学模型。
1. CFD 流体力学导论
流体力学是物理学的一个分支,研究流体(液体、气体和等离子体)的力学及其受力。它在航空、土木工程、气象学和生物医学工程等领域有着广泛的应用。在计算流体动力学 (CFD) 的背景下,流体力学原理被离散化并通过数值求解来模拟流体流动现象。FluidMechanics 类封装了设置和分析 CFD 模拟至关重要的几个基本概念和经验关联式,特别是关于网格生成和边界条件。
CFD 模拟严重依赖于理解流体在各种尺度和条件下的行为。这包括表征流动状态、预测能量损失和分析传热机制。FluidMechanics 类提供了量化这些方面的工具,使工程师和研究人员更容易准备模拟输入并解释其结果。流体属性、流动参数和无量纲数的正确选择对于准确和稳定的 CFD 计算至关重要。
2. 流体力学中的无量纲数
无量纲数在流体力学中至关重要,因为它们允许对物理现象进行缩放,并提供对作用于流体上的不同力的相对重要性的洞察。它们在 CFD 中特别有用,用于比较不同的流动场景以及验证模拟结果与实验数据或解析解。FluidMechanics 类计算了几个关键的无量纲数,每个数都提供了关于流动状态的独特信息。
2.1. 雷诺数 (Re)
雷诺数是流体动力学中最重要、最常用的无量纲量之一,用于预测不同流体流动情况下的流动模式。它被定义为惯性力与粘性力之比,其公式为:
其中: * \(\rho\) 是流体密度 (kg/m³) * \(v\) 是特征流速 (m/s) * \(L\) 是特征线性尺寸 (m) * \(\mu\) 是流体的动力粘度 (Pa·s)
对于内部流动(如管道流动),特征线性尺寸通常是管道直径。对于外部流动,它可以是平板的长度或圆柱体的直径。雷诺数有助于确定流动是层流、过渡流还是湍流。通常,对于管道流动,\(Re < 2300\) 表示层流,\(2300 \le Re \le 4000\) 表示过渡流,而 \(Re > 4000\) 表示湍流 [1]。
2.2. 普朗特数 (Pr)
普朗特数是一个无量纲数,近似于动量扩散率(运动粘度)与热扩散率之比。它用于表征水动力和热边界层的相对厚度。它被定义为:
其中: * \(\mu\) 是动力粘度 (Pa·s) * \(c_p\) 是定压比热容 (J/(kg·K)) * \(k\) 是热导率 (W/(m·K))
对于气体,Pr 通常在 0.7-1.0 左右,表明动量和热量以相似的速率扩散。对于液体,Pr 可能有显著差异。例如,室温下的水 Pr 约为 7,意味着动量比热量扩散快得多 [2]。
2.3. 努塞尔数 (Nu)
努塞尔数是对流传热与跨越边界的传导传热之比。它是一个无量纲的传热系数,量化了相对于流体层内传导而言,由于对流而增强的表面传热。它被定义为:
其中: * \(h\) 是对流传热系数 (W/(m²·K)) * \(L\) 是特征长度 (m) * \(k\) 是流体的热导率 (W/(m·K))
更高的努塞尔数表示更有效的对流传热。对于纯传导,\(Nu = 1\)。经验关联式常用于确定各种几何形状和流动条件下的努塞尔数 [3]。
2.4. 格拉晓夫数 (Gr)
格拉晓夫数是流体动力学和传热中的一个无量纲数,近似于作用于流体上的浮力与粘性力之比。它主要用于自然对流问题,其中流体运动由温度变化引起的密度差异驱动。它被定义为:
其中: * \(g\) 是重力加速度 (m/s²) * \(\beta\) 是热膨胀系数 (1/K) * \(\Delta T\) 是温差 (K) * \(L\) 是特征长度 (m) * \(\nu\) 是运动粘度 (m²/s)
格拉晓夫数在自然对流中的作用类似于雷诺数在强制对流中的作用,它指示了浮力驱动流中从层流到湍流的转变 [4]。
2.5. 瑞利数 (Ra)
瑞利数是与浮力驱动流(自然对流)相关的无量纲数。当瑞利数低于流体的临界值时,传热主要通过传导进行;当它超过临界值时,传热主要通过对流进行。它被定义为格拉晓夫数和普朗特数的乘积:
其中: * \(\alpha\) 是热扩散率 (m²/s)
临界瑞利数因几何形状和边界条件而异。例如,对于从下方加热的水平流体层,当 \(Ra > 1708\) 时,对流通常开始 [5]。
2.6. 佩克莱数 (Pe)
佩克莱数是与流体流动中输运现象研究相关的无量纲数。它被定义为物理量随流动平流(对流)的速率与由适当梯度驱动的同一物理量扩散速率之比。它由以下公式给出:
其中: * \(Re\) 是雷诺数 * \(Pr\) 是普朗特数
或者,它可以表示为:
其中: * \(v\) 是流速 (m/s) * \(L\) 是特征长度 (m) * \(\alpha\) 是热扩散率 (m²/s)
大的佩克莱数表示平流占主导地位,而小的佩克莱数则表明扩散更重要。该数在传热和传质问题中尤为重要 [6]。
3. 边界层计算
边界层是与固体表面相邻的薄层流体,其中粘性效应显著。理解和准确地建模边界层在 CFD 中至关重要,特别是对于预测阻力、升力和传热。FluidMechanics 类提供了估算边界层特征的工具,这对于 CFD 模拟中适当的网格生成至关重要。
3.1. y+ 值
y+ 值(读作 "y-plus")是距壁面的无量纲距离,由粘性长度尺度归一化。它是湍流建模中的一个关键参数,特别是对于壁面约束流。y+ 值决定了不同湍流模型在壁面附近合适的网格划分策略。它被定义为:
其中: * \(u_\tau\) 是摩擦速度 (m/s),定义为 \(\sqrt{\tau_w / \rho}\) * \(y\) 是距壁面的物理距离 (m) * \(\nu\) 是运动粘度 (m²/s) * \(\tau_w\) 是壁面剪切应力 (Pa) * \(\rho\) 是流体密度 (kg/m³)
对于许多湍流模型,第一个靠近壁面的单元中心应放置在一个特定的 y+ 范围内。FluidMechanics 类根据提供的壁面剪切应力和特征长度计算 y+ [7]。
3.2. 湍流边界层厚度
边界层厚度 (\(\delta\)) 通常定义为流体速度达到自由流速度 99% 的距离。对于平板上的湍流边界层,经验关联式常用于估算其厚度。湍流的一个常用关联式是:
其中: * \(L\) 是特征长度 (m) * \(Re_L\) 是基于特征长度的雷诺数
此关联式为湍流边界层提供了合理的估计,但它是一个近似值 [8]。
3.3. 网格尺寸确定的边界层单元数
在 CFD 中,准确解析边界层需要足够数量的网格单元聚集在壁面附近。FluidMechanics 类提供了一种方法,用于估算在给定膨胀比下,达到边界层边缘目标单元尺寸所需的层数。此计算是迭代的,并确保网格从壁面到自由流区域平稳过渡。膨胀比决定了后续每个单元层厚度的增长量。典型的膨胀比在 1.1 到 1.3 之间 [9]。
4. 压力损失计算
流体流动系统中的压力损失是工程设计中的关键参数,影响泵的选型、能耗和整体系统效率。FluidMechanics 类包含一种计算内部流动压力损失的方法,特别是使用达西-威斯巴赫方程。
4.1. 达西-威斯巴赫方程
达西-威斯巴赫方程是一个广泛使用的经验方程,它将沿给定长度管道的摩擦引起的沿程水头损失(或压力损失)与流体流动的平均速度联系起来。它适用于层流和湍流。压力损失 (\(\Delta P\)) 由以下公式给出:
其中: * \(f\) 是达西摩擦系数(无量纲) * \(L\) 是管道长度 (m) * \(D\) 是管道内径 (m) * \(\rho\) 是流体密度 (kg/m³) * \(v\) 是平均流速 (m/s)
4.2. 摩擦系数 (\(f\))
摩擦系数 (\(f\)) 取决于流动状态(层流或湍流)和管道粗糙度。
-
对于层流 (\(Re < 2300\)),摩擦系数仅是雷诺数的函数,由以下公式给出:
\[f = \frac{64}{Re}\] -
对于湍流 (\(Re \ge 2300\)),摩擦系数取决于雷诺数和管道的相对粗糙度 (\(\epsilon/D\))。
FluidMechanics类使用基于 Colebrook-White 方程的近似值,如 Swamee-Jain 方程,它具有显式形式且因其准确性和简单性而被广泛使用:\[f = \frac{0.25}{\left[\log_{10}\left(\frac{\epsilon}{3.7D} + \frac{5.74}{Re^{0.9}}\right)\right]^2}\]
该方程适用于 \(Re > 4000\) 和大范围的相对粗糙度值 [10]。
5. 传热计算
传热是许多流体流动应用的一个基本方面,特别是在热系统设计和分析中。FluidMechanics 类提供了估算常见几何形状对流传热系数的方法,这对于计算热交换率至关重要。
5.1. 对流传热系数
对流传热发生在流体和固体表面之间,是由于传导和流体运动的综合效应。对流传热速率 (\(Q\)) 通常由牛顿冷却定律表示:
其中: * \(h\) 是对流传热系数 (W/(m²·K)) * \(A\) 是传热表面积 (m²) * \(\Delta T\) 是表面与流体之间的温差 (K)
对流传热系数 (\(h\)) 不是流体的固有属性,而是取决于流体属性、流动条件(速度、流动状态)和表面几何形状。它通常通过涉及努塞尔数、雷诺数和普朗特数等无量纲数的经验关联式来确定。
5.1.1. 平板 (外部流动)
对于平板上的外部流动,对流传热系数取决于边界层是层流还是湍流。FluidMechanics 类使用常见的关联式进行估算:
-
层流 (\(Re_L < 5 \times 10^5\)): \(\(Nu_L = 0.664 Re_L^{0.5} Pr^{1/3}\)\)
-
湍流 (\(Re_L \ge 5 \times 10^5\)): \(\(Nu_L = 0.0296 Re_L^{0.8} Pr^{1/3}\)\)
一旦确定了努塞尔数 (\(Nu_L\)),对流传热系数 (\(h\)) 就可以使用努塞尔数的定义计算:\(h = Nu_L \frac{k}{L}\) [11]。
5.1.2. 圆柱体 (外部流动)
对于单个圆柱体上的外部流动,Churchill-Bernstein 方程是一个广泛使用的关联式,适用于大范围的雷诺数 (\(Re_D Pr > 0.2\))。该方程提供了垂直于圆形圆柱体的流动的平均努塞尔数:
其中 \(Re_D\) 是基于圆柱体直径的雷诺数。与平板类似,\(h\) 然后计算为 \(h = Nu_D \frac{k}{D}\) [12]。
5.2. 热膨胀系数
热膨胀系数 (\(\beta\)) 量化了流体密度在恒定压力下随温度变化的变化程度。它是自然对流问题中的关键参数。对于理想气体,热膨胀系数就是绝对温度的倒数:\(\beta = 1/T\) [13]。
6. 流体属性和流动状态
准确了解流体属性是进行任何流体力学分析的基础。FluidMechanics 类利用 pyfluids 库来访问广泛的流体属性,这些属性随后用于各种计算。此外,了解流动状态对于应用适当的模型和关联式至关重要。
6.1. 基本流体属性
FluidMechanics 类可以检索给定温度和压力下流体的几个基本属性。这些包括:
- 密度 (\(\rho\)):单位体积质量 (kg/m³)。
- 动力粘度 (\(\mu\)):流体对剪切流动的阻力 (Pa·s)。
- 热导率 (\(k\)):材料传导热量的能力 (W/(m·K))。
- 比热容 (\(c_p\)):在恒定压力下将单位质量温度提高一度所需的吸热量 (J/(kg·K))。
- 比容 (\(v\)):流体体积与其质量之比 (m³/kg),是密度的倒数。
这些属性依赖于温度和压力,并从 pyfluids 库中检索 [14]。
6.2. 流动状态确定
流动状态描述了流体流动的一般行为,主要分为层流、过渡流或湍流。FluidMechanics 类根据计算出的雷诺数确定流动状态:
- 层流:发生在低雷诺数下(管道流通常 \(Re < 2300\))。
- 过渡流:发生在中间雷诺数下(管道流通常 \(2300 \le Re \le 4000\))。
- 湍流:发生在高雷诺数下(管道流通常 \(Re > 4000\))。
了解流动状态对于在 CFD 模拟中选择正确的湍流模型至关重要 [15]。
6.3. 临界速度
临界速度是流体流动从层流过渡到湍流(反之亦然)的速度。对于内部管道流动,临界雷诺数约为 2300。临界速度 (\(v_c\)) 可以计算为:
其中 \(Re_{crit}\) 是临界雷诺数(通常为 2300)[16]。
7. 输入验证和错误处理
稳健的输入验证和全面的错误处理对于任何计算工具的可靠性和可用性都至关重要。FluidMechanics 类纳入了几种验证方法,以确保输入参数具有物理意义并防止常见错误。
7.1. 正值验证
流体力学中的许多物理量,如压力、速度和特征长度,本质上必须是正值。_validate_positive_quantity 辅助方法确保传入的任何 Quantity 对象的值大于零。
7.2. 非零值验证
某些计算涉及除以流体属性,如动力粘度或热导率。_validate_non_zero_quantity 辅助方法检查关键 Quantity 对象的值是否非零,以防止除以零的数学错误。
7.3. 温度范围验证
温度必须以绝对温标(例如开尔文)表示且必须为正。_validate_temperature_range 辅助方法确保输入温度大于 0 开尔文,以保证计算的物理一致性 [17]。
8. 参考文献
[1] White, F. M. (2006). Fluid Mechanics (6th ed.). McGraw-Hill.
[2] Incropera, F. P., DeWitt, D. P., Bergman, T. L., & Lavine, A. S. (2007). Fundamentals of Heat and Mass Transfer (6th ed.). John Wiley & Sons.
[3] Cengel, Y. A., & Ghajar, A. J. (2015). Heat and Mass Transfer: Fundamentals and Applications (5th ed.). McGraw-Hill Education.
[4] Bejan, A. (2013). Convection Heat Transfer (4th ed.). John Wiley & Sons.
[5] Tritton, D. J. (1988). Physical Fluid Dynamics (2nd ed.). Oxford University Press.
[6] Bird, R. B., Stewart, W. E., & Lightfoot, E. N. (2007). Transport Phenomena (2nd ed.). John Wiley & Sons.
[7] Versteeg, H. K., & Malalasekera, W. (2007). An Introduction to Computational Fluid Dynamics: The Finite Volume Method (2nd ed.). Pearson Education.
[8] Schlichting, H., & Gersten, K. (2017). Boundary-Layer Theory (9th ed.). Springer.
[9] Blazek, J. (2015). Computational Fluid Dynamics: Principles and Applications (3rd ed.). Elsevier.
[10] Munson, B. R., Young, D. F., & Okiishi, T. H. (2009). Fundamentals of Fluid Mechanics (6th ed.). John Wiley & Sons.
[11] Kays, W. M., Crawford, M. E., & Weigand, B. (2005). Convective Heat and Mass Transfer (4th ed.). McGraw-Hill.
[12] Churchill, S. W., & Bernstein, M. (1977). A Correlation for Forced Convection from Gases and Liquids to a Circular Cylinder in Crossflow. Journal of Heat Transfer, 99(2), 300-306.
[13] Moran, M. J., Shapiro, H. N., Boettner, D. D., & Bailey, M. B. (2014). Fundamentals of Engineering Thermodynamics (8th ed.). John Wiley & Sons.
[14] Lemmon, E. W., Bell, I. H., & Huber, M. L. (2010). NIST Standard Reference Database 23: Reference Fluid Thermodynamic and Transport Properties—REFPROP, Version 9.0 (Software). National Institute of Standards
[15] Fox, R. W., Pritchard, P. J., & McDonald, A. T. (2016). Introduction to Fluid Mechanics (9th ed.). John Wiley & Sons.
[16] Streeter, V. L., Wylie, E. B., & Bedford, K. W. (1998). Fluid Mechanics (9th ed.). McGraw-Hill