Skip to content
Gains Summary
Main Navigation 首页 / Home
C++ 编程 / C++ Programming
系统与高性能 / Systems & Performance
Web 开发 / Web Development
人工智能 / Artificial Intelligence
工业软件 / Industrial Software
其他内容 / Other Topics
C++ 编程 / C++系统与性能 / SystemsWeb 开发 / Web人工智能 / AI工业软件 / Industrial

外观

Sidebar Navigation

← 工业软件 / Industrial Software

船舶 CAE / Marine CAE

1. 船舶 CAE 全景:从 MarineFlow 与 SAM 认识流体、结构和数值求解 / Marine CAE with MarineFlow, SAM, Fluid Mechanics, and Structural Analysis

2. MarineFlow 与 SAM 的应用场景:工程问题如何选择软件 / Choosing MarineFlow or SAM for Engineering Scenarios

3. CAE 通用工作流:从工程问题到可信结论 / A General CAE Workflow from Engineering Questions to Credible Conclusions

4. 船舶流体物理:黏性、湍流、兴波、旋涡与空化 / Marine Fluid Physics with Viscosity, Turbulence, Waves, Vortices, and Cavitation

5. CFD 控制方程:质量、动量、压力耦合与离散系统 / CFD Governing Equations, Pressure-Velocity Coupling, and Discretization

6. MarineFlow 使用路线:从船体模型到流场和水动力结果 / A MarineFlow Workflow from Hull Geometry to Hydrodynamic Results

7. 船舶结构物理:载荷、应力、变形、振动与失稳 / Marine Structural Physics with Loads, Stress, Vibration, and Buckling

8. 有限元方法:结构怎样从连续物体变成 Ku=f / The Finite Element Method from Continuous Structures to Ku Equals f

9. SAM 使用路线:从结构建模到 Job、求解和后处理 / A SAM Workflow from Structural Modeling to Jobs and Post-Processing

10. 结构分析类型:静力、模态、动力、屈曲与非线性分别求什么 / Structural Analysis Types from Statics and Modes to Buckling and Nonlinearity

11. 流固耦合:MarineFlow 的压力怎样成为 SAM 的结构载荷 / Fluid-Structure Interaction from MarineFlow Pressure to SAM Loads

12. 工业求解中的方程与矩阵:看懂 CFD 和 FEA 的计算核心 / Equations and Matrices at the Core of CFD and FEA Solvers

13. 非并行优化:在增加核心之前先减少计算量 / Reducing Computation Before Adding Parallel Hardware

14. 并行加速场景详解:什么方程、矩阵和步骤适合什么方法 / Mapping Equations, Matrices, and Solver Stages to Parallel Methods

15. CPU、GPU 与 MPI:工业求解器怎样组合多层并行 / Combining CPU, GPU, and MPI Parallelism in Industrial Solvers

16. 仿真可信度:怎样避免得到“彩色但错误”的结果 / Simulation Verification and Validation for Credible Results

17. 综合案例:用 MarineFlow 与 SAM 串起船舶流体、结构和并行计算 / Integrated MarineFlow and SAM Cases Across Fluids, Structures, and Parallel Computing

本页目录

CFD 控制方程:质量、动量、压力耦合与离散系统 / CFD Governing Equations, Pressure-Velocity Coupling, and Discretization ​

📅 创建时间:2026-07-20 🏷️ 标签:#CFD #NavierStokes #有限体积 #压力速度耦合 📚 前置知识:[[03-marine-fluid-physics]]


1. 质量守恒 ​

流体不会凭空产生或消失。一般形式:

text
∂ρ/∂t + ∇·(ρu) = 0
1

对于密度不变的不可压缩流体:

text
∇·u = 0
1

这意味着流入一个控制体的净质量流量必须等于流出的净质量流量。


2. 动量守恒 ​

Navier-Stokes 方程可以理解为流体版本的牛顿第二定律:

text
质量 × 加速度 = 压力力 + 黏性力 + 体积力
1

不可压缩牛顿流体形式:

text
ρ(∂u/∂t + u·∇u) = -∇p + μ∇²u + ρg
1

各项含义:

  • ∂u/∂t:局部时间变化
  • u·∇u:流体运动造成的对流变化
  • -∇p:压力梯度
  • μ∇²u:黏性扩散
  • ρg:重力等体积力

非线性主要来自对流项 u·∇u。


3. 为什么压力没有独立演化方程 ​

不可压缩流动中,压力的作用是调整速度,使速度满足质量守恒。

求解器通常采用预测-校正思想:

text
先用旧压力预测速度
→ 预测速度一般不满足 ∇·u=0
→ 建立压力修正方程
→ 修正压力和速度
→ 重复直到守恒
1
2
3
4
5

常见算法:

  • SIMPLE:稳态压力-速度耦合
  • PISO:瞬态计算常用
  • PIMPLE:组合 SIMPLE 与 PISO 思想

4. 湍流平均后的方程 ​

RANS 把速度分解成平均量和脉动量:

text
u = U + u'
1

代入并平均后会出现雷诺应力:

text
-ρ overline(u'u')
1

这个新未知量需要湍流模型封闭。k-ε、k-ω 等模型本质上是在建立额外输运方程和经验关系。

因此增加湍流模型意味着每个网格单元增加未知量和方程。


5. 相分数方程 ​

自由液面 VOF 方法需要求解相分数:

text
∂α/∂t + ∇·(αu) = 0
1

实际算法可能加入界面压缩项,以减少数值扩散。密度和黏度由相分数混合:

text
ρ = αρwater + (1-α)ρair
μ = αμwater + (1-α)μair
1
2

水气密度差很大,使压力和界面计算更具挑战。


6. 有限体积离散 ​

有限体积法对每个控制体积分:

text
∫V ∂φ/∂t dV + ∫S ρuφ·n dS
= ∫S Γ∇φ·n dS + ∫V Sφ dV
1
2

通过高斯定理,体积内的散度转化为控制体表面的通量。

离散后,每个单元形成类似关系:

text
aP φP = Σ aN φN + b
1
  • P:当前单元
  • N:相邻单元
  • aP:中心系数
  • aN:邻居系数
  • b:源项和边界贡献

对全部单元组装后得到稀疏线性系统:

text
Aφ = b
1

7. 为什么矩阵是稀疏的 ​

一个控制体通常只与相邻控制体直接耦合,而不是与全部网格单元耦合。

如果有一百万个单元,完整矩阵有 10¹² 个位置,但每行可能只有十几个非零项。

因此 CFD 使用稀疏存储,只保存:

  • 非零数值
  • 对应列索引
  • 每行起始位置

8. 非线性迭代 ​

对流系数依赖当前速度,湍流参数也依赖当前流场,因此一次线性求解不能完成整个问题。

text
给定旧流场
→ 更新离散系数
→ 求解速度方程
→ 求解压力方程
→ 修正通量
→ 求解湍流/相分数
→ 检查残差和监控量
→ 进入下一轮
1
2
3
4
5
6
7
8

每一轮中又包含多个稀疏线性方程求解。


9. 时间离散 ​

一阶隐式 ​

稳定、鲁棒,但数值耗散较大。

二阶格式 ​

时间精度更高,但可能更敏感,需要更好的初始场和时间步。

时间步还受到 Courant 数影响:

text
Co = u Δt / Δx
1

网格越小、速度越高,允许的时间步通常越小。


10. 边界条件怎样进入矩阵 ​

入口、出口、壁面、对称面并不只是在界面上显示一个图标,它们会改变离散方程:

  • 指定值:Dirichlet 条件
  • 指定梯度或通量:Neumann 条件
  • 混合条件:Robin 条件
  • 周期条件:把两个边界的未知量耦合

不合理的边界条件可能导致矩阵奇异、流量不守恒或非物理反射。


11. CFD 计算量来自哪里 ​

text
总成本 ≈
网格单元数
× 每个时间步的外迭代次数
× 每轮方程数量
× 每个线性方程的迭代次数
× 每次稀疏矩阵操作成本
1
2
3
4
5
6

因此降低成本可以从多个方向入手:

  • 减少不必要网格
  • 采用更好的初始场
  • 选择更合适的离散格式
  • 使用更有效的预条件器
  • 降低不必要输出
  • 并行计算

下一篇:[[05-marineflow-workflow]]

最后更新于:

Pager
上一篇4. 船舶流体物理:黏性、湍流、兴波、旋涡与空化 / Marine Fluid Physics with Viscosity, Turbulence, Waves, Vortices, and Cavitation
下一篇6. MarineFlow 使用路线:从船体模型到流场和水动力结果 / A MarineFlow Workflow from Hull Geometry to Hydrodynamic Results

持续记录,持续成长

Copyright © Tidenflow