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

本页目录

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

📅 创建时间:2026-07-20 🏷️ 标签:#算法优化 #直接法 #迭代法 #降阶 #自适应 📚 前置知识:[[11-discrete-systems-and-matrices]]


1. 为什么先考虑非并行方法 ​

并行通常只能减少已有工作的执行时间,而算法改进可以直接减少工作量。

text
更好的算法 × 并行硬件
1

优先级通常高于:

text
低效算法 × 更多核心
1

2. 直接法 ​

LU ​

text
A = LU
Ly=b
Ux=y
1
2
3

适合:

  • 中小型问题
  • 多右端项
  • 需要高鲁棒性
  • 矩阵不是 SPD

Cholesky ​

对 SPD 矩阵:

text
A = LLᵀ
1

计算和存储量小于通用 LU。

Fill-in ​

稀疏分解过程中原本为零的位置可能变成非零。重排序可以减少 Fill-in:

  • AMD
  • Nested Dissection
  • 图分区排序

选择更好的重排序,可能比增加几个线程更有效。


3. 迭代法 ​

迭代法从初始猜测逐步降低残差。

CG ​

适用于 SPD,内存需求低,核心操作容易并行。

GMRES ​

适用于非对称系统,鲁棒但需要存储 Krylov 基向量,重启会影响收敛。

BiCGSTAB ​

内存较低,但收敛过程可能不平滑。

迭代法是否高效主要取决于预条件器,而不只是主算法名称。


4. 预条件器 ​

将:

text
Ax=b
1

转化为更容易求解的系统:

text
M⁻¹Ax=M⁻¹b
1

Jacobi ​

只用对角线。高度并行,但对困难问题效果有限。

ILU/IC ​

近似不完全分解。收敛效果好,但三角求解并行性一般。

AMG ​

代数多重网格在多个尺度上消除误差,特别适合泊松、弹性和压力方程。

Domain Decomposition ​

把模型分成子域,各自近似求解,再处理界面。


5. 多重网格为什么快 ​

普通迭代擅长消除高频误差,但低频误差下降慢。把问题转移到粗网格后,原来的低频误差会变得更容易处理。

text
细网格平滑
→ 限制到粗网格
→ 粗网格校正
→ 插值回细网格
→ 再平滑
1
2
3
4
5

理想情况下,计算成本接近未知量数量的线性增长。


6. 多右端项复用 ​

船舶结构可能需要计算很多载荷工况,但 K 不变:

text
Ku1=f1
Ku2=f2
Ku3=f3
1
2
3

直接法可以分解一次、多次回代。迭代法可使用:

  • 上一个工况解作为初值
  • Block Krylov
  • Recycling Krylov

7. 物理延续法 ​

困难非线性或 CFD 问题可以逐步增加难度:

  • 从低雷诺数到目标雷诺数
  • 从低速度到目标速度
  • 从稳态结果启动瞬态
  • 从无空化到空化
  • 从小载荷到完整载荷
  • 从线弹性到弹塑性

这能减少发散和无效迭代。


8. 自适应网格 ​

均匀加密会在不重要区域浪费大量未知量。自适应方法根据误差或物理指标加密:

  • CFD:自由液面、涡量、压力梯度、空化界面
  • FEA:应力梯度、能量误差、塑性区、裂纹尖端

若只需局部高精度,自适应通常优于全局加密。


9. 降阶模型 ​

模态降阶 ​

text
u ≈ Φq
1

把几十万自由度投影到几十或几百个模态坐标。

适合:

  • 低频动力响应
  • 参数扫描
  • 实时或快速预测

POD/ROM ​

从高保真计算快照中提取主要空间模式,用于流场和结构响应快速近似。

降阶模型需要验证适用参数范围,不能随意外推。


10. 时间尺度处理 ​

  • 使用稳定允许范围内更大的时间步
  • 局部时间步加速稳态 CFD
  • 自适应时间步
  • 显式计算中的质量缩放需谨慎
  • 降低不必要输出频率

时间步太小会增加步数,太大则损失精度或稳定性。


11. 结果和 I/O 优化 ​

大型计算写出所有变量、所有时间步可能比求解还慢。

可以:

  • 只输出所需变量
  • 降低写出频率
  • 在线计算平均值和积分量
  • 使用二进制/HDF5/CGNS
  • 分离检查点和可视化结果

12. 非并行方法选择表 ​

问题优先改进
多个静力工况分解复用
低阶频响模态降阶
非线性不收敛延续法、增量控制、材料/接触检查
CFD 迭代慢初始场、预条件器、多重网格
局部区域需要精度自适应网格
显式步数过多消除极小单元、检查质量缩放
输出占用巨大减少变量和写出频率

下一篇:[[13-parallel-acceleration-map]]

最后更新于:

Pager
上一篇12. 工业求解中的方程与矩阵:看懂 CFD 和 FEA 的计算核心 / Equations and Matrices at the Core of CFD and FEA Solvers
下一篇14. 并行加速场景详解:什么方程、矩阵和步骤适合什么方法 / Mapping Equations, Matrices, and Solver Stages to Parallel Methods

持续记录,持续成长

Copyright © Tidenflow