综合案例:用 MarineFlow 与 SAM 串起船舶流体、结构和并行计算 / Integrated MarineFlow and SAM Cases Across Fluids, Structures, and Parallel Computing
📅 创建时间:2026-07-20 🏷️ 标签:#综合案例 #船体阻力 #板架结构 #流固耦合 📚 前置知识:[[15-verification-and-validation]]
案例一:船体阻力计算
工程目标
比较两个船型在设计航速下的总阻力。
物理模型
- 不可压缩黏性流
- SST
k-ω湍流 - 空气-水 VOF 自由液面
- 船体固定、来流运动
数值流程
text
船体几何清理
→ 建立外部流体域
→ 自由液面和近壁网格加密
→ 初始化静水和来流
→ 求压力、速度、湍流和相分数
→ 积分船体表面力主要矩阵
- 非对称速度输运矩阵
- 压力泊松型矩阵
- 湍流输运矩阵
- 相分数输运系统
加速策略
- 两个船型分别计算,任务级并行。
- 单个算例使用 MPI 域分解。
- 压力方程使用多重网格。
- SpMV 和向量操作使用多线程或 GPU。
- 降低不必要结果写出频率。
验证
- 质量守恒
- 阻力时间平均稳定
- 粗中细网格
- 计算域敏感性
- 与拖曳水池或经验方法对比
案例二:螺旋桨敞水性能
工程目标
获得不同进速系数下的 KT、KQ 和效率曲线。
物理
- 旋转流动
- 湍流
- 叶尖涡
- 可选空化
方法选择
- 先用旋转参考系计算平均性能
- 需要周期载荷时使用瞬态滑移网格
- 需要空化时加入相变模型
加速
- 各进速系数独立并行
- 周期扇区对称减少计算域
- MPI 域分解
- 瞬态结果在线统计周期平均
案例三:加筋板静力分析
工程目标
判断均布压力下的位移、应力和载荷路径。
SAM 流程
text
Part 创建板和加强筋
→ Property 设置材料、板厚和梁截面
→ Assembly
→ Static Step
→ 约束和压力
→ 网格
→ Job
→ 位移、应力和反力方程
text
Ku=f若 K 为 SPD:
- 中型模型可使用 Cholesky
- 大型模型可使用 CG + AMG
加速
- 单元刚度并行计算
- 图着色或线程局部组装
- 多核/分布式线性求解
- 多载荷工况复用矩阵分解
验证
- 支撑反力与外载荷平衡
- 与简化梁板理论比较
- 网格收敛
- 避免把点载荷奇异应力作为结论
案例四:板架模态与响应谱
第一步:模态
text
Kφ=ω²Mφ求低阶模态,检查刚体模态和主要振型。
第二步:响应谱
对各模态读取谱响应,并用 CQC/SRSS 等规则组合。
加速
- Lanczos/LOBPCG 块特征值算法
- 线性分解复用
- 多向量并行
- 多个谱方向或参数独立并行
案例五:线性屈曲与非线性屈曲
线性屈曲
快速得到理想临界载荷因子和屈曲形态。
非线性屈曲
把线性屈曲模态作为初始缺陷,加入材料和几何非线性,逐步加载。
计算区别
- 线性屈曲:特征值问题
- 非线性屈曲:多轮 Newton 线性系统
加速
- 并行单元积分和组装
- 并行稀疏求解
- 载荷步间复用符号分解或预条件结构
但收敛困难时,优先调整弧长法、增量和模型,而不是增加核心。
案例六:船体压力到结构强度
MarineFlow
输出船体表面稳态或瞬态压力。
数据处理
- 坐标变换
- 单位变换
- 压力去基准
- 非匹配网格映射
- 总力和力矩守恒检查
SAM
把映射压力施加到壳结构,进行静力或动力响应。
并行
- CFD 和 FEA 各自域并行
- 映射搜索并行
- 多时间帧并行预处理
- 多频率或多工况并行
推荐学习实验
实验 1:二维泊松方程
理解稀疏矩阵、CG 和多重网格。
实验 2:悬臂梁有限元
理解单元矩阵、组装、约束和应力恢复。
实验 3:二维不可压缩方腔流
理解压力-速度耦合和 CFD 迭代。
实验 4:稀疏 SpMV CPU/GPU 对比
理解内存带宽限制。
实验 5:MPI 二维网格域分解
理解 Halo Exchange、强扩展和通信开销。
实验 6:压力场映射到结构网格
理解坐标、插值、守恒和流固数据接口。
完成本专题后应能回答
- MarineFlow 和 SAM 分别解决哪些船舶工程问题?
- 阻力、湍流、自由液面和空化是什么物理现象?
- 静力、模态、屈曲和非线性分析求解的方程有何区别?
- CFD 和 FEA 为什么最终都会产生稀疏矩阵?
- SPD、非对称和不定矩阵应选择什么求解器?
- 为什么 SpMV 适合 GPU,却经常受显存带宽限制?
- 为什么 AMG 适合压力和弹性问题?
- 为什么直接法适合多右端项?
- 为什么显式动力容易并行却可能需要极多时间步?
- 什么情况下算法改进比并行更有效?
- MPI 域分解为什么会受到 Halo 和 AllReduce 限制?
- 怎样证明一张云图是可信工程结果?
返回专题首页:[[00-marine-cae-overview]]