# Cylinder benchmark targets for solver validation ##### [**Undermind**](https://undermind.ai) --- 当前阶段不再追求一次覆盖全部圆柱文献,而是先把工作集压缩到两个最有诊断价值的 case:一个固定圆柱文献硬对标,一个旋转圆柱内部回归。这样做的目的是先回答两个更基础的问题:求解器在当前边界能力下是否可靠,以及 `curved_boundary` 这条代码路径是否自洽。 结合当前代码能力,最合适的固定圆柱主 benchmark 是 \[Sah04\] 的 2D 受限通道圆柱。该 family 与你现有的 `parabolic` 入口和上下 no-slip wall 最一致,且 \[Sah04\] 明确给出了 \\\beta=0.3\\ 下的临界 Reynolds 数和 \\Re=100\\ 时的 Strouhal 数。\[Sah04\] 旋转圆柱则先不做开放来流文献硬对标,因为南北 free-stream 与更匹配的外边界 family 尚未实现;当前最合理的做法,是沿用同一受限通道几何做内部旋转回归,并把 \[Kan99b\] 作为下一阶段开放来流 benchmark 的目标参考。\[Kan99b\] 在 \[Sah04\] 的表格中,\\\beta=0.30\\ 的第一临界 Reynolds 数和临界 Strouhal 已经给出;下面展示的表格就是当前最适合锁定的文献锚点。上图中的拖曳曲线则说明了为什么 \\\beta=0.30, Re=100\\ 是一个好用的周期态检查点。\[Sah04\] ## 当前锁定的两个 case | ID | 角色 | family | 是否做文献硬评分 | 主要回答的问题 | |:---|:---|:---|:---|:---| | A1 | 固定圆柱主 benchmark | \[Sah04\] confined cylinder | 是 | 现在的 solver 在当前边界能力下能否对标稳定周期 shedding | | B1 | 旋转圆柱内部回归 | internal rotating confined cylinder | 否 | `curved_boundary` 中 moving wall 项,MEA 力,torque,符号约定是否自洽 | ## A1 固定圆柱主 benchmark A1 固定采用 \[Sah04\] 的受限通道 family,并且只选一个最实用的工作点: - 阻塞比 \\\beta = D/H = 0.30\\ - Reynolds 数 \\Re = 100\\ - 入口为 fully developed parabolic inflow \\u=(1-x_2^2,0)\\ - 上下边界为 no-slip wall - 圆柱表面为 no-slip curved wall - 出口先用当前最稳的 `neq_extrap`,再用 `zero_gradient` 做敏感性对比 - 运行模式统一为 `double_buffer + LES off` 选择这个点有四个原因。 - 它和你当前代码能力最匹配 \[Sah04\] - 它已经越过一阶 Hopf 临界点,能同时检查 \\C_d\\、\\C_l\\ 和 \\St\\ - \\\beta=0.30\\ 的壁效应足够明显,能放大曲壁与受力统计误差 - 文献中给出了明确的 \\Re\_{crit}\\ 和 \\St\\,比只靠图上读趋势更稳 \[Sah04\] ### A1 的文献定义 | 项目 | 设定 | 说明 | |:---|:---|:---| | family | `sah04_confined` | 固定圆柱受限通道 | | Reynolds 数定义 | \\Re = U\_{max} D / \nu\\ | 用最大入口速度归一化 \[Sah04\] | | 阻塞比定义 | \\\beta = D/H\\ | \\H\\ 是通道高度 \[Sah04\] | | 入口 | parabolic | \\u=(1-x_2^2,0)\\ \[Sah04\] | | 上下边界 | no-slip wall | 与当前代码能力一致 | | 圆柱边界 | no-slip curved wall | 当前主排错对象 | | 出口 | 先 `neq_extrap` | 文献是二阶导数型出口,你的实现只能近似 | | 上游长度 | 40D | \[Sah04\] | | 下游长度 | 40D | \[Sah04\] | ### A1 的具体网格方案 你提到圆柱直径至少要 20 个格点,这个判断是对的。对 \\\beta=0.30\\ 来说,若希望阻塞比在格点上精确,最方便的直径应取 3 的倍数。这样 \\H=D/\beta\\ 才是整数。基于这个原则,当前推荐如下。 | 方案 | 直径 D | 半径 r | 流体高度 H | 当前代码中的 NY | 流体长度 Lx | 当前代码中的 NX | 圆心 | |:---|---:|---:|---:|---:|---:|---:|:---| | A1 base | 24 | 12.0 | 80 | 82 | 1920 | 1922 | \\(960.5, 40.5)\\ | | A1 confirm | 30 | 15.0 | 100 | 102 | 2400 | 2402 | \\(1200.5, 50.5)\\ | 这里的换算采用你当前代码的 wall 约定: - 流体带高度取 `NY - 2` - 上下边界各占一层边界行 - 因此 `NY = H + 2` - 同理,若左右边界节点各占一列,则 `NX = Lx + 2` 推荐先用 `D=24` 做主排错,因为它已经超过 20 格点,同时保持 \\\beta=0.30\\ 精确。若 A1 结果基本合理,再用 `D=30` 做一次确认,判断误差是边界主导还是分辨率主导。 ### A1 的对标物理量 A1 不要求所有量都同等对待。当前建议分成三级。 | 优先级 | 物理量 | 对标方式 | 备注 | |:---|:---|:---|:---| | P1 | \\St\\ | 点目标 | \[Sah04\] 明确给出 \\St=0.2115\\ for \\\beta=0.30, Re=100\\ | | P1 | \\Re\_{crit}\\ | 点目标 | \[Sah04\] 给出 \\Re\_{crit}\approx 94.4\\ for \\\beta=0.30\\ | | P2 | 平均阻力 \\\overline{C_d}\\ | 带宽目标 | 图上可读约 1.8 到 2.0,当前先作为 band target | | P3 | 升力振幅或 RMS | 内部比较 | 文献未在该 case 明确列表,当前先记录,不做硬阈值 | | P3 | 质量漂移 | 诊断量 | 当前不纳入文献分数,但必须长期记录 | 这意味着:A1 现在最硬的文献锚点其实是 \\Re\_{crit}\\ 和 \\St\\,不是 \\C_l\\ 振幅。平均阻力可以作为第二层目标,但更适合作为带宽检查,而不是一个小数点后三位的硬分数。 ### A1 的通过标准 | 量 | 通过标准 | 解释 | |:---|:---|:---| | \\St\\ | 相对误差 3 percent 内 | 这是当前最重要的周期态 benchmark | | \\Re\_{crit}\\ | 相对误差 5 percent 内 | 用于确认整体 shedding 触发位置 | | \\\overline{C_d}\\ | 落在 1.8 到 2.0 带内 | 当前只做 band target | | 质量漂移 | 单位 shedding 周期内接近零趋势 | 不要求绝对零,但不能持续单调失控 | ## B1 旋转圆柱内部回归 B1 不拿来和 \[Kan99b\] 做硬评分,因为 \[Kan99b\] 用的是开放来流 O-grid 外场与 convective outlet,\[Kan99b\] 而你当前还没有相同 family。B1 的意义不是“验证旋转圆柱文献是否复现”,而是“验证 moving wall 代码路径是否自洽”。 B1 直接继承 A1 的几何和网格,只改变圆柱壁面速度。这样做能最大限度隔离变量。 ### B1 的统一定义 | 项目 | 设定 | |:---------------|:------------------------------------| | family | `internal_rotating_confined` | | 几何 | 与 A1 完全相同 | | 参考速度 | 暂统一用 \\U\_{max}\\ | | 自旋比 | \\\alpha = \Omega D / (2U\_{max})\\ | | 入口和上下边界 | 与 A1 完全相同 | | 文献硬评分 | 不做 | ### B1 的具体工作点 | 子工况 | 自旋比 \\\alpha\\ | 用途 | |:-------|------------------:|:------------------------------------| | B1-0 | 0.0 | 必须退化回 A1 固定圆柱 | | B1+ | +0.5 | 检查正转时的 moving wall 与受力响应 | | B1- | -0.5 | 检查反转时 lift 和 torque 是否反号 | 只要 B1+ 和 B1- 不是镜像关系,就先不要扩大到更高 \\\alpha\\ 扫描。 ### B1 的目标物理量 | 优先级 | 量 | 目标 | |:---|:---|:---| | P1 | \\\overline{C_l}\\ 符号 | 正反转必须反号 | | P1 | torque 符号 | 正反转必须反号 | | P1 | B1-0 与 A1 的一致性 | \\\alpha=0\\ 必须退化成固定圆柱结果 | | P2 | \\\overline{C_d}\\ 随 \\\alpha\\ 的变化 | 作为趋势检查 | | P2 | 质量漂移变化 | 看 moving wall 是否显著放大 leakage | ## 是否纳入 MRT 你提到 MRT 可以直接纳入,我同意。MRT 不会改变 benchmark family,本身不会让设置更混乱。当前更合理的做法不是把 MRT 排除,而是把它放在同一 case 的第三个运行层级中。 | 顺序 | collision | 角色 | |:-----|:----------|:------------------------------------| | 1 | SRT | 最简单可解释基线 | | 2 | TRT | 最直接的边界敏感性对比 | | 3 | MRT | 观察多松弛是否改变 force 和 leakage | 但解释顺序仍应保持不变:若 SRT 已经明显错,先不要拿 MRT 的较好结果掩盖基础边界问题。 ## 推荐的首轮运行序列 | 顺序 | run | 目的 | |:-----|:--------------------------------|:--------------------------------------| | 1 | A1 base + SRT + `neq_extrap` | 建立固定圆柱主 benchmark | | 2 | A1 base + TRT + `neq_extrap` | 检查曲壁与碰撞敏感性 | | 3 | A1 base + MRT + `neq_extrap` | 记录 collision family 差异 | | 4 | A1 base + SRT + `zero_gradient` | 判断 outlet 对 \\St\\ 与 force 的影响 | | 5 | A1 confirm + TRT + `neq_extrap` | 做一次分辨率确认 | | 6 | B1-0 + TRT | 检查是否退化回 A1 | | 7 | B1+ + TRT | 检查正转 | | 8 | B1- + TRT | 检查反转 | | 9 | B1+ + MRT | 看 moving wall 下 MRT 是否改变趋势 | ## 当前阶段的判读重点 - 若 A1 的 \\St\\ 比 \\\overline{C_d}\\ 更先失真,先查 outlet 和曲壁时序。 - 若 A1 的 \\\overline{C_d}\\ 偏差更明显,先查 MEA 力定义、系数归一化和 `q` 分布。 - 若 B1 正反转不反号,优先查 `6 w_i (c_i\cdot u_w)` 的符号和 torque 杠杆臂。 - 若 B1-0 不能退化回 A1,说明 rotating 路径在 \\\alpha=0\\ 时仍残留额外改动。 ## 结论 当前最合理的工作集就是 A1 和 B1。A1 负责文献硬对标,且具体锁定在 \[Sah04\] 的 \\\beta=0.30, Re=100\\;网格优先用 `D=24`,再用 `D=30` 做确认。\[Sah04\] B1 负责 rotating path 的内部回归,优先看正反转镜像关系与 torque 符号,而不是先追开放来流文献值。\[Kan99b\] 这样可以在最少的 case 上同时推进“求解器可靠性”和“代码缺陷排查”两条线。 --- ## References \[Sah04\] M. Sahin and R. G. Owens, “A numerical investigation of wall effects up to high blockage ratios on two-dimensional flow past a confined circular cylinder,” Apr. 02, 2004. doi: [10.1063/1.1668285](https://doi.org/10.1063/1.1668285). \[Kan99b\] S. Kang, H. Choi, and S. Lee, “Laminar flow past a rotating circular cylinder,” Oct. 07, 1999. doi: [10.1063/1.870190](https://doi.org/10.1063/1.870190).