动力差分算子总览
输入范围
grad*, diverg*, divgrad*, gradiv*, rotat*, laplacien* families in dyn3d_common
Mars 运行参与度:必经/条件经过。动力核心、耗散、诊断和滤波相关流程会调用这些算子族。
分类
| 家族 | 代表文件 | 作用 |
|---|---|---|
| gradient | grad.F, gradiv.F, gradiv2.F |
标量到向量或压力梯度相关离散。 |
| divergence | diverg.F, divergf.F, divergst.F, diverg_gam.F |
通量散度、质量辐合和变体。 |
| div-grad | divgrad.F, divgrad2.F |
二阶扩散或耗散构造。 |
| rotation | rotat.F, rotatf.F, rotatst.F, rotat_nfil.F |
旋度/涡度相关离散。 |
| Laplacian | laplacien.F, laplacien_gam.F, laplacien_rot.F, laplacien_rotgam.F |
拉普拉斯和旋转形式拉普拉斯。 |
使用链
这些算子通常不直接从入口调用,而是被 caldyn、dissip、能量诊断和 helper 例程组合调用。它们依赖 inigeom 构造的面积、距离、Coriolis 和伸长系数。
复现要点
- 先确认变量所在网格位置:标量点、u 点、v 点或边界点。
- 同名带后缀文件通常对应过滤、staggered 或 gamma 变体,不能互换。
- 算子数值差异常来自几何数组,而不是公式本身。
后续拆分建议
grad/diverg/rotat基础文件可作为普通 file-module 释放。laplacien*与耗散关系密切,适合和dissip主题一起复审。
相关页面
待确认
- 每个算子的输入/输出网格位置需逐文件页确认,本页只做第一版分类。