オーバーセット(Chimera)格子
仕組み:格子を重ねて値を受け渡す
概要
回転するプロペラと船体を一緒に解析したいんですが、動く部分と止まっている部分のメッシュをどうつなげばいいか悩んでいます。
つながなくていい方法がオーバーセット(Chimera)格子だよ。プロペラのまわりの格子と船体・背景の格子を別々に作って、ただ重ねておく。重なった部分では、片方の格子の値を補間してもう片方に渡すんだ。物体の中や重なりすぎた部分のセルは「穴」として計算から外す。格子が自由に動けて、部品ごとに質のよい格子を作れるのが強みだけど、そのぶん補間の誤差という新しい誤差の元を抱え込むことになる。
セルの役割
| 種類 | 役割 |
|---|---|
| 計算セル | 通常どおり方程式を解く |
| 穴(ブランク) | 物体の内部などで、計算から外す |
| レシーバー | 穴の縁や格子の外周で、ほかの格子から補間した値を受け取る |
| ドナー | レシーバーに値を渡す、もう一方の格子のセル |
| 孤立点 | 適切なドナーが見つからなかったレシーバー。誤差や発散の原因 |
補間とその誤差
$w_i$ は補間の重み、$k$ は流れの変化の波数、$h$ はドナーの格子幅。線形補間の誤差は格子幅の2乗、2次の補間なら3乗に比例して小さくなる。重要なのは、誤差を決めるのがレシーバーではなく「ドナー側の格子幅」だという点だ。
スペースシャトルの解析から広まった
オーバーセット格子の考え方は1980年代に米国で提案され、スペースシャトルの打ち上げ形態——オービター、外部燃料タンク、2本の固体ロケットブースターが並んだ複雑な形——の流れ解析で実力を示した。部品ごとに質のよい構造格子を作って重ねるだけで、全体をつなぐ難しい格子作りを避けられたからだ。その後、ヘリコプターのロータ、物体の切り離し、船のプロペラなど、動く物体のある問題で標準的な手法の一つになった。
計算例:補間誤差の大きさ
格子の細かさと誤差
正弦波 $\sin(2\pi x)$ をドナー格子から20,000個のレシーバー点へ補間し、最大誤差(振幅に対する比)を求めた。
| 1波長あたりのドナー格子点 | 線形補間 | 2次補間 |
|---|---|---|
| 5 | 18.2 % | 11.4 % |
| 10 | 4.9 % | 1.6 % |
| 20 | 1.2 % | 0.20 % |
| 40 | 0.31 % | 0.025 % |
ドナーとレシーバーのサイズ比
レシーバー側の細かい格子が1波長20点のとき、ドナー側の格子が粗くなると線形補間の誤差は次のように増える。
| サイズ比(ドナー/レシーバー) | 最大誤差 |
|---|---|
| 1 | 1.2 % |
| 2 | 4.9 % |
| 4 | 18.2 % |
レシーバー側をいくら細かくしても、ドナーが粗いと誤差が大きいままなんですね。
そう、よくある失敗が「物体のまわりの格子は細かいのに、背景格子が粗いまま」のパターン。物体まわりから出た渦や後流が背景格子に渡った瞬間に、粗い格子の精度まで落ちてしまう。重なり領域では両方の格子の大きさを2倍以内にそろえるのが目安だよ。
補間を繰り返すと波が減衰する
線形補間でセルの中間から値を取ると、波は1回ごとに少しずつ小さくなる。1波長10点では1回あたり0.951倍で、重なり領域を20回通過すると振幅は37%まで減る。20点なら0.988倍で、20回後も78%残る。プロペラの後流が何枚もの格子をまたぐ場合や、回転格子で毎ステップ補間が起きる場合は、この減衰が結果に効く。
設定と検証
設定のポイント
- 重なりの幅:補間に使うドナーのセル数(ステンシル)に加え、余裕をもって数セル以上重ねる。重なりが狭いと孤立点ができやすい。
- サイズをそろえる:重なり領域では両方の格子の大きさを2倍以内に。背景格子は重なり部分だけ局所的に細かくする。
- 急な変化の場所を避ける:衝撃波、境界層、せん断層のように値が急に変わる場所に重なり領域の境界を置かない。
- 動く格子の時間刻み:1ステップで物体がセル1個分以上動くと、穴あけと補間の関係が急に変わって誤差が出る。移動量がセル幅より小さくなる刻みにする。
検証
- 孤立点の数を確認し、ゼロにする。
- 流入と流出の質量収支を確認する。補間は一般に保存を厳密には満たさないため、収支のずれが大きければ重なりの設定を見直す。
- 同じ形状を1つの格子(つながった格子)で解ける場合は、一度比べておくと、オーバーセット由来の誤差の大きさがわかる。
「力の時刻歴にギザギザが出る」
動く物体のオーバーセット解析で、物体に働く力の時刻歴に周期的なギザギザが出ることがある。原因の多くは、物体が動くにつれてセルが「穴」から「計算セル」へ、あるいは逆に切り替わる瞬間の不連続だ。切り替わったセルの初期値が周囲と合っていないと、圧力に小さな衝撃が生じる。重なり領域のサイズ比をそろえる、時間刻みを小さくする、切り替わりが起きる場所を物体から離す、といった対策で目立たなくできる。
よくある間違い
間違いと対策
| 間違い | 起きること | 対策 |
|---|---|---|
| 背景格子が粗いまま | 後流や渦が補間で失われる | 重なり部分を局所的に細かく |
| 重なりが狭い | 孤立点ができる | ステンシル+数セル重ねる |
| 境界層の中に重なり境界 | 壁面の摩擦・熱伝達を誤る | 境界層は1つの格子で覆う |
| 質量収支を確認しない | 非保存の誤差に気づかない | 流入・流出の差を監視 |
| 移動量が大きすぎる刻み | 力の時刻歴にスパイク | 1ステップの移動をセル幅以下に |
補間の誤差を自分でも確かめたいです。
補間法シミュレーターで補間の次数と誤差の関係、メッシュ独立性検討ツールでメッシュの細かさの影響、CFDメッシュ品質チェックで格子の品質を確かめられるよ。関連する手法は移動メッシュ、適合格子細分化(AMR)、インフレーション層の記事にまとめてある。
関連トピック
なった
詳しく
報告