コロケート格子 (Collocated Mesh) — CAE用語解説

カテゴリ: 用語集 | 2026-03-28
CAE visualization for collocated mesh - technical simulation diagram

Collocated Mesh とは

🧑‍🎓

CFDの教科書で「コロケート格子」と「スタガード格子」って出てきたんですけど、コロケート格子ってどういう意味ですか?


🎓

コロケート格子(Collocated Mesh)は、速度 $u, v, w$、圧力 $p$、温度 $T$ などすべての物理量をセル中心の同じ位置に格納する方式だ。"co-located"=「同じ場所に配置された」という意味だね。


🧑‍🎓

それって当たり前のことじゃないんですか? 全部同じ場所に置くのが自然だと思うんですけど…


🎓

いい質問だ。実は、歴史的にはそうじゃなかったんだよ。1960〜80年代の構造格子CFD全盛期には、スタガード格子(Staggered Mesh)が主流だった。スタガードでは速度の各成分をセルの面の位置に、圧力はセル中心に置く。わざと変数の位置をずらすことで数値的に安定な圧力場が得られたんだ。


スタガード格子との比較

🧑‍🎓

じゃあスタガードの方が優れてるんですか? なんで今はコロケートが主流になったんですか?


🎓

スタガードは確かに圧力振動を自然に抑えてくれるから、構造格子では非常に安定だった。ただ大きな弱点がある。非構造格子(三角形・多面体など)に適用するのが極めて難しいんだ。自動車のボディとか、タービン翼の複雑形状をメッシュにしようと思ったら、非構造格子が必須だろう? そこでコロケート格子の出番になった。


🧑‍🎓

なるほど。2つを比較すると、ざっくりどんな違いがありますか?


🎓

こんな感じだ:

項目コロケート格子スタガード格子
変数の配置全変数がセル中心速度はセル面、圧力はセル中心
非構造格子容易に適用可適用が困難
圧力振動Rhie-Chow補間が必要自然に抑制される
データ構造シンプル(1種類の格納点)複雑(速度成分ごとに異なる格納点)
主な採用ソルバーOpenFOAM, Fluent, STAR-CCM+古典的な構造格子コード

現在の主要CFDソルバーはほぼ全てコロケート格子を使っている。メモリ管理もシンプルだし、コードの保守性も高いからね。


チェッカーボード圧力問題

🧑‍🎓

さっき「圧力振動」って話が出ましたけど、コロケート格子だとなぜ圧力が振動するんですか?


🎓

これが有名なチェッカーボード圧力問題(Checkerboard Pressure Problem)だ。1次元で考えてみよう。運動量方程式の圧力勾配項を中心差分で離散化すると、セル $i$ の圧力勾配は

$$\left(\frac{\partial p}{\partial x}\right)_i \approx \frac{p_{i+1} - p_{i-1}}{2\Delta x}$$

となる。ここで注目してほしいのは、セル $i$ の圧力 $p_i$ 自体はこの式に一切現れないということだ。奇数番目のセルと偶数番目のセルが互いに独立な圧力場を持てちゃう。


🧑‍🎓

あ、つまり1つおきのセルの圧力しか見てないから、市松模様みたいに交互に高い・低いという圧力パターンがあっても検知できないってことですか?


🎓

その通り! 例えば $p = [100, 0, 100, 0, 100, \ldots]$ という圧力分布があっても、中心差分だと勾配ゼロに見えてしまう。連続の式を使った圧力補正でもこの振動モードを消せない。結果として解が物理的にあり得ない市松模様の圧力場になる。2次元だとチェス盤そっくりだから「チェッカーボード」と呼ばれるんだ。


🧑‍🎓

スタガード格子だとこの問題が起きないのはなぜですか?


🎓

スタガード格子では、速度がセル面に置かれている。面 $i+1/2$ の速度に対する圧力勾配は

$$\left(\frac{\partial p}{\partial x}\right)_{i+1/2} \approx \frac{p_{i+1} - p_i}{\Delta x}$$

となって、隣接するセルの圧力を直接参照する。だからチェッカーボードのような飛び飛びの圧力パターンは許容されない。この性質があるからスタガードは安定だったんだね。


Rhie-Chow補間

🧑‍🎓

じゃあコロケート格子はチェッカーボード問題をどうやって克服したんですか?


🎓

1983年にRhieとChowが提案したRhie-Chow補間(Rhie-Chow Interpolation)がその解決策だ。これはSIMPLE系の圧力補正アルゴリズムと組み合わせて使う。基本的なアイデアはこうだ:

セル面での質量流束を計算するとき、単純にセル中心の速度を線形補間する代わりに、圧力勾配に基づく補正項を加える。具体的には、セル面 $f$ での速度を

$$u_f = \overline{u}_f - \overline{d}_f \left[ \left(\frac{\partial p}{\partial x}\right)_f - \overline{\left(\frac{\partial p}{\partial x}\right)}_f \right]$$

と計算する。ここで $\overline{u}_f$ はセル中心速度の線形補間、$\overline{d}_f$ は運動量方程式の係数から来る係数の補間、第2項のカッコ内は「面での圧力勾配」と「セル中心の圧力勾配の補間値」の差だ。


🧑‍🎓

うーん、式を見ても直感的にピンと来ないんですが…。要するに何をしているんですか?


🎓

ざっくり言うと、「もしスタガード格子だったら得られたはずの圧力勾配」をコロケート格子上で擬似的に再現しているんだ。面での圧力勾配 $(\partial p/\partial x)_f$ は隣接セルの $p$ の差分で計算するから、$p_i$ と $p_{i+1}$ を直接見る。一方、セル中心の勾配を面に補間した $\overline{(\partial p/\partial x)}_f$ は飛び飛びの情報しか持たない。この2つの差をとることで、チェッカーボードモードに対するダンピング(減衰)効果が生まれるんだ。


🧑‍🎓

なるほど、人工的な散逸みたいなものを加えてるってことですね。でもそれだと精度が落ちたりしないんですか?


🎓

鋭い指摘だ。Rhie-Chow補間の補正項は格子幅 $\Delta x$ に依存するから、格子を細かくすれば補正量は小さくなって精度への影響は消える。つまり格子収束性は維持される。ただし、非定常計算では時間刻み依存性があって、$\Delta t \to 0$ のときに過剰な減衰が入る問題が知られている。Choi(1999)やYuらの改良版で修正されているけど、実務ではデフォルト設定で大きな問題になることは少ないよ。


実務での注意点

🧑‍🎓

実務でコロケート格子を使うときに気をつけるべきことってありますか?


🎓

いくつかポイントがあるよ:


🧑‍🎓

OpenFOAMもFluent もコロケート格子なんですよね? 普段使いで「格子の種類を選ぶ」みたいな設定は出てこないですか?


🎓

そう、今の主要ソルバーは全てコロケート格子が前提だから、ユーザーが「コロケートにするかスタガードにするか」を選ぶ場面はまずない。Rhie-Chow補間もソルバーの内部で自動的に適用される。ただ、解が圧力の振動っぽい挙動を示したときに「あ、これはチェッカーボードかもしれない」と気づけるかどうかが大事だ。メッシュ品質を改善したり、離散化スキームを見直すきっかけになる。


🧑‍🎓

まとめると、コロケート格子は非構造格子に使えるから現代CFDの標準だけど、チェッカーボード問題をRhie-Chow補間で対処する必要がある、ということですね。


🎓

完璧なまとめだ。覚えておいてほしいのは、メッシュの配置方法は離散化精度と安定性に直結するということ。「なぜこの格子配置なのか」「どんな人工的処理が裏で入っているのか」を知っておくと、結果の解釈やトラブルシュートの質が格段に上がるよ。


定義

コロケート格子(Collocated Mesh / Co-located Grid)とは、有限体積法において速度・圧力・スカラー量などすべての解変数をセル中心(Cell Center)の同一節点に格納する格子配置法である。

対照的にスタガード格子(Staggered Mesh)は、速度成分をセル面(Cell Face)、圧力をセル中心に配置する方式で、Harlow & Welch(1965)のMAC法に端を発する。

コロケート格子の利点と課題

利点:

課題:

Rhie-Chow補間の数式表現

セル面 $f$ での質量流束速度は次式で与えられる:

$$u_f = \overline{u}_f - \overline{d}_f \left[ \left(\nabla p\right)_f - \overline{\left(\nabla p\right)}_f \right]$$

ここで $\overline{(\cdot)}_f$ はセル中心値の面への線形補間、$d = V / a_P$($V$: セル体積、$a_P$: 運動量方程式の対角係数)である。第2項がチェッカーボードモードに対する減衰項として機能する。

関連用語

CAE用語の正確な理解は、チーム内のコミュニケーションの基盤です。 — Project NovaSolverは実務者の学習支援も視野に入れています。

コロケート格子の実務で感じる課題を教えてください

Project NovaSolverは、CAEエンジニアが日々直面する課題——セットアップの煩雑さ、計算コスト、結果の解釈——の解決を目指しています。あなたの実務経験が、より良いツール開発の原動力になります。

お問い合わせ(準備中)
この記事の評価
ご回答ありがとうございます!
参考に
なった
もっと
詳しく
誤りを
報告
参考になった
0
もっと詳しく
0
誤りを報告
0
Written by NovaSolver Contributors
Anonymous Engineers & AI — サイトマップ
プロフィールを見る