· 靳贺伟 · 网格基础 · 10 min read
OpenFOAM v2512 AMI 滑移网格:非共形接口理论、旋转域设置与验证
从面面积映射和守恒传递出发,说明 cyclicAMI 的网格要求、动态旋转设置、求解流程、误差来源及旋转机械应用。
AMI 是 OpenFOAM 中处理非共形滑移接口的核心技术。
AMI 的全称是 Arbitrary Mesh Interface。它允许两个几何上相互对应的接口采用不同的面划分,并在相对运动过程中持续更新映射关系。
1. AMI 解决什么问题
设旋转域与静止域在一个圆柱面上相接。
如果要求接口两侧始终共形,则旋转后两侧面节点不再重合。除非重新连接拓扑,否则共形网格无法持续旋转。
AMI 的处理方式是:
- 旋转域和静止域分别拥有自己的接口面;
- 两组面在几何空间中重合或充分覆盖;
- 两侧网格面不需要一一对应;
- 根据面面积交叠关系建立插值权重;
- 在每个时间步更新映射。
AMI 只在二维接口上传递信息,而 Overset 在三维重叠单元区进行供体—受体插值。
2. AMI 的面积映射思想
设源面 (S_i) 与目标面 (T_j) 的交叠面积为 (A_{ij}),则基本权重可写为:
[ w_{ij}=\frac{A_{ij}}{A_i} ]
高质量 AMI 映射应满足:
- 权重和接近 1;
- 接口覆盖完整;
- 不存在大面积未覆盖区域;
- 源侧与目标侧总通量一致或足够接近;
- 映射误差不随旋转角周期性累积。
v2512 的 cyclicAMIPolyPatch 基于 AMI 插值框架,并包含面匹配和拓扑更新相关能力。
3. AMI 与普通 cyclic 的区别
| 项目 | cyclic | cyclicAMI |
|---|---|---|
| 面数 | 通常要求相同 | 可不同 |
| 面位置 | 一一对应 | 只需几何覆盖 |
| 映射 | 直接对应 | 面面积插值 |
| 相对运动 | 不适合一般滑移 | 适合旋转和滑移 |
| 误差 | 较低 | 存在接口插值误差 |
4. 网格几何要求
4.1 两侧接口必须几何对应
对于旋转机械,常见接口是圆柱面、圆环端面或周期扇区面。接口外轮廓必须匹配,面划分可以不同,但不能明显错位。
4.2 法向方向应合理
两个相对 patch 的面法向通常应指向各自区域外部,因此方向相反。
4.3 覆盖率必须检查
若一侧接口不能完整覆盖另一侧,可能出现低权重修正、权重和显著小于 1、局部质量流量误差和压力振荡。
4.4 接口不要穿过关键边界层
AMI 接口最好远离叶片壁面、叶尖泄漏核心、强激波、火焰反应层和主要涡核。
5. constant/polyMesh/boundary 设置
旋转侧:
rotorAMI
{
type cyclicAMI;
neighbourPatch statorAMI;
transform rotational;
rotationAxis (0 0 1);
rotationCentre (0 0 0);
matchTolerance 0.0001;
nFaces ...;
startFace ...;
}静止侧:
statorAMI
{
type cyclicAMI;
neighbourPatch rotorAMI;
transform rotational;
rotationAxis (0 0 1);
rotationCentre (0 0 0);
matchTolerance 0.0001;
nFaces ...;
startFace ...;
}nFaces 和 startFace 通常由网格工具生成,不应手工猜测。
6. 场文件边界条件
在 0/U、0/p、0/k 等场文件中:
rotorAMI
{
type cyclicAMI;
}
statorAMI
{
type cyclicAMI;
}所有需要跨接口耦合的求解变量都应采用匹配的 AMI 边界类型。
7. 旋转域的动态网格设置
典型 constant/dynamicMeshDict:
dynamicFvMesh dynamicMotionSolverFvMesh;
solver solidBody;
solidBodyCoeffs
{
cellZone rotor;
solidBodyMotionFunction rotatingMotion;
rotatingMotionCoeffs
{
origin (0 0 0);
axis (0 0 1);
omega 104.719755; // 1000 r/min
}
}转速换算:
[ \omega=\frac{2\pi n}{60} ]
其中 (n) 的单位为 r/min,(\omega) 的单位为 rad/s。
对于一般旋转机械,常用组合是 dynamicMotionSolverFvMesh + cyclicAMI。v2512 也包含 dynamicMotionSolverFvMeshAMI 类,但不应在没有明确需要时机械替换普通设置。
8. 建模流程
步骤一:划分旋转域和静止域
旋转域应完整包围所有运动壁面。AMI 接口通常采用规则圆柱或圆环。
步骤二:分别生成两侧网格
可采用两个独立 blockMesh、blockMesh 与 snappyHexMesh 组合,或外部软件生成后导入。
步骤三:建立 cellZone
运动求解器通过 cellZone 识别旋转单元:
topoSet
setsToZones步骤四:创建 cyclicAMI patch
确保 patch 成对、外形一致、旋转中心和轴一致,不存在重复面或缝隙。
步骤五:先做静态映射检查
checkMesh -allGeometry -allTopology同时查看求解器启动时打印的 AMI 权重和覆盖信息。
步骤六:低转速短时试算
先使用较小时间步,观察 AMI 权重、连续性误差、接口两侧压力速度以及旋转一周后的周期重复性。
9. 时间步选择
AMI 动态计算除流体 Courant 数外,还应控制每个时间步的转角:
[ \Delta\theta=\omega\Delta t ]
时间步过大时,叶片单步跨越多个接口单元,周期压力波分辨率不足,映射变化过快,相位误差增大。
对于叶片通过问题,应根据叶片数和目标时间分辨率确定每个叶道通过周期的时间步数,而不是只满足最大 Courant 数。
10. AMI 的误差来源
10.1 两侧尺寸差异过大
细网格侧的小尺度结构映射到粗网格后会被平滑。
10.2 接口位置不当
若接口穿过强剪切层或涡核,插值耗散会直接影响主要物理结论。
10.3 覆盖不足
接口外轮廓不一致会产生低权重区。
10.4 时间步过大
几何映射虽能更新,但流动非定常过程无法正确解析。
10.5 周向分辨率不合理
旋转侧和静止侧不必相同,但不应相差过大。应根据叶片尾迹、压力波和射流宽度设计周向单元尺寸。
11. 质量守恒检查
至少监控:
- 入口质量流量;
- 出口质量流量;
- AMI 两侧积分通量;
- 全域连续性误差;
- 一个旋转周期内累计误差。
可定义:
[ \varepsilon_m= \frac{|\dot m_{\mathrm{in}}-\dot m_{\mathrm{out}}|} {\max(|\dot m_{\mathrm{in}}|,\epsilon)} ]
对于周期稳态问题,还应比较相邻周期的流量、转矩和压差。
12. 应用案例一:搅拌槽
模型包括内部旋转叶轮区、外部固定槽体和圆柱 AMI 接口。
研究指标:
- 叶轮转矩;
- 功率数;
- 循环流量;
- 混合时间;
- 湍动能分布。
验证时应比较实验功率数或速度剖面,而不能只看残差。
13. 应用案例二:轴流风机
旋转域包含叶轮,静止域包含进口、出口和机壳。
关键问题:
- 叶尖间隙是否位于旋转域内;
- AMI 是否避开叶尖泄漏涡核心;
- 转子—定子相互作用是否需要完整周向模型;
- 压力脉动采样频率是否足够。
14. 应用案例三:旋转格栅送风
若格栅绕固定轴连续转动,并可在格栅周围建立规则圆柱接口,AMI 是较自然的选择。
推荐策略:
- 格栅叶片和近场射流位于旋转域;
- AMI 接口离叶片保持一定距离;
- 接口两侧网格尺度接近;
- 远场车间保持静止;
- 比较真实 AMI 结果与时变边界等效模型。
如果格栅存在偏心、摆动和平移组合,Overset 通常更灵活。
15. AMI、MRF 与 Overset 的选择
| 目标 | 推荐方法 |
|---|---|
| 时间平均性能 | MRF |
| 固定轴真实旋转 | AMI |
| 多物体复杂轨迹 | Overset |
| 小幅边界形变 | 变形网格 |
16. 常见错误
- AMI 两侧体积网格发生重叠;
- 只修改 patch 类型,没有建立运动 cellZone;
- 把 AMI 接口贴在叶片表面;
- 使用稳态求解器做真实滑移;
- 只看残差,不检查接口覆盖和质量守恒。