密度ベースソルバー — 理論と支配方程式

カテゴリ: 流体解析(CFD) | 2026-01-15
density-based-theory
理論と物理の世界へ

概要

🧑‍🎓

先生! 今日は密度ベースソルバーの話なんですよね? どんなものなんですか?


🎓

圧縮性流れの標準解法。近似リーマンソルバー。衝撃波捕獲。


🎓

本記事では密度ベースソルバーの理論的基礎、支配方程式、離散化手法、および主要商用ツールでの実装について詳しく見ていこう。


🧑‍🎓

なるほど! 圧縮性流れの標準解法のイメージがつかめてきました!


支配方程式

🧑‍🎓

いよいよ数式ですね…! 密度ベースソルバーではどんな方程式が出てくるんですか?


🎓

密度ベースソルバーの基本となる方程式をこんな感じだよ。


🎓

数学的に書くと、こんな形になるんだ。


$$ \frac{\partial\mathbf{U}}{\partial t}+\frac{\partial\mathbf{F}}{\partial x}+\frac{\partial\mathbf{G}}{\partial y}=\mathbf{S} $$
$$ \text{Roe, AUSM, HLLC flux} $$

🧑‍🎓

えっと…各項はどんな物理現象を表してるんですか?


🎓

ここで各変数は問題に応じた物理量を表す。上記の支配方程式は、適切な境界条件(Dirichlet条件Neumann条件、混合条件)と初期条件のもとで一意解を持つ。


🧑‍🎓

つまり密度ベースソルバーをのところで手を抜くと、後で痛い目を見るってことですね。肝に銘じます!


離散化手法

🧑‍🎓

この方程式を、コンピュータで実際にどうやって解くんですか?


🎓

有限要素法(FEM)による空間離散化を使うんだ。要素剛性マトリクスを組み立て、全体剛性方程式を構築する。


🎓

弱形式(変分形式)への変換を行い、試験関数と形状関数を用いてGalerkin法による定式化を使うんだ。要素タイプの選択(低次要素 vs. 高次要素完全積分 vs. 低減積分)は解の精度と計算コストのトレードオフに直結するんだよ。


🧑‍🎓

へぇ〜! 有限要素法についてだいぶ理解が深まりました。メモメモ…📝



行列解法アルゴリズム

🧑‍🎓

行列解法アルゴリズムって、具体的にはどういうことですか?


🎓

直接法(LU分解Cholesky分解)または反復法(CG法GMRES法)により連立方程式を解く。大規模問題では前処理付き反復法が効果的なんだ。


🧑‍🎓

へぇ〜! 有限要素法についてだいぶ理解が深まりました。メモメモ…📝


解法分類メモリ使用量適用規模
LU分解直接法O(n²)小〜中規模
Cholesky分解直接法(対称正定値)O(n²)小〜中規模
PCG法反復法O(n)大規模
GMRES法反復法O(n·m)大規模・非対称
AMG前処理前処理O(n)超大規模
🧑‍🎓

つまり有限要素法のところで手を抜くと、後で痛い目を見るってことですね。肝に銘じます!


商用ツールにおける実装

🧑‍🎓

で、密度ベースソルバーをやるにはどんなソフトが使えるんですか?


ツール名開発元/現在主要ファイル形式
Ansys FluentAnsys Inc..cas, .dat, .msh, .jou
Ansys CFXAnsys Inc..cfx, .def, .res, .ccl
Simcenter STAR-CCM+Siemens Digital Industries Software.sim, .java, .csv
OpenFOAMオープンソース(OpenCFD/ESI、OpenFOAM Foundation)辞書ファイル(blockMeshDict等), .foam

ベンダーの系譜と製品統合の経緯

🧑‍🎓

各ソフトの成り立ちって、結構ドラマチックだったりしますか?



Ansys Fluent

🧑‍🎓

次はAnsys Fluentの話ですね。どんな内容ですか?


🎓

Fluent Inc.が開発。2006年にAnsysが買収。非構造格子ベースの汎用CFDソルバー。

現在の所属: Ansys Inc.



Ansys CFX

🧑‍🎓

Ansys CFX」について教えてください!


🎓

AEA Technology (UK) が開発したCFX。2003年にAnsysが買収。結合型ソルバーが特徴。

現在の所属: Ansys Inc.


🧑‍🎓

ここまで聞いて、が開発がなぜ重要か、やっと腹落ちしました!



Simcenter STAR-CCM+

🧑‍🎓

次はSimcenter STARの話ですね。どんな内容ですか?


🎓

CD-adapcoが開発。2016年にSiemensが買収しSimcenterブランドに統合。ポリヘドラルメッシュが特徴。

現在の所属: Siemens Digital Industries Software


🧑‍🎓

おお〜、が開発の話、めちゃくちゃ面白いです! もっと聞かせてください。


ファイル形式と相互運用性

🧑‍🎓

異なるソフト間でデータを受け渡しするときの注意点ってありますか?


フォーマット拡張子種別概要
CGNS.cgnsCFDデータCFD General Notation System。CFD結果の標準交換フォーマット。
VTK.vtk/.vtu可視化Visualization Toolkit形式。ParaView等で使用。
🎓

異なるソルバー間でモデルを変換する際は、要素タイプの対応関係、材料モデルの互換性、荷重・境界条件の表現差異に注意が必要になるんだ。特に高次要素や特殊要素(コヒーシブ要素、ユーザー定義要素等)はソルバー間で直接変換できない場合が多い。


🧑‍🎓

なるほど…フォーマットって一見シンプルだけど、実はすごく奥が深いんですね。


実務上の注意点

🧑‍🎓

教科書には載ってない「現場の知恵」みたいなものってありますか?


🎓

メッシュ収束性の確認、境界条件の妥当性検証、材料パラメータの感度分析がすごく大事なんだ。


🎓
  • メッシュ依存性の検証: 少なくとも3水準のメッシュ密度で収束性を確認
  • 境界条件の妥当性: 物理的に意味のある拘束条件の設定
  • 結果の検証: 理論解、実験データ、既知ベンチマーク問題との比較


🧑‍🎓

今日は密度ベースソルバーについて色々教えてもらって、かなり理解が深まりました! ありがとうございます、先生!


🎓

うん、いい調子だよ! 実際に手を動かしてみることが一番の勉強だからね。分からないことがあったらいつでも聞いてくれ。


Coffee Break よもやま話

ライト兄弟は最初の「CFDエンジニア」だった?

ライト兄弟は1901年に自作の風洞で200以上の翼型を試験しました。当時のコンピュータは? もちろん存在しません。彼らは手作業で揚力と抗力を測定し、最適な翼型を見つけ出した。現代のCFDエンジニアがFluent1発で計算する揚力係数を、ライト兄弟は何百回もの風洞実験で手に入れたのです。

各項の物理的意味
  • 時間項 $\partial(\rho\phi)/\partial t$:蛇口をひねった瞬間を思い浮かべてください。最初は水がバタバタと不安定に出て、しばらくすると安定した流れになりますよね? この「変化している最中」を記述するのが時間項です。心臓の拍動で血流が脈打つのも、エンジンのバルブが開閉するたびに流れが変動するのも、すべて非定常現象。では定常解析とは? 「十分時間が経って流れが落ち着いた後」だけを見る——つまりこの項をゼロにする。計算コストが大幅に下がるため、まず定常で解いてみるのがCFDの基本戦略です。
  • 対流項 $\nabla \cdot (\rho \mathbf{u} \phi)$:川に落ち葉を落としたらどうなりますか? 流れに乗って下流に運ばれますよね。これが「対流」——流体の動きが物を運ぶ効果です。暖房の温風が部屋の端まで届くのも、空気という「運び屋」が熱を対流で輸送しているから。ここが面白いところ——この項は「速度×速度」を含むため非線形です。つまり、流れが速くなるとこの項が急激に強くなり、制御が難しくなる。これが乱流の根本原因です。よくある勘違い:「対流と伝導は同じようなもの」→ 全然違います! 対流は流れが運ぶ、伝導は分子が伝える。桁違いの効率差があります。
  • 拡散項 $\nabla \cdot (\Gamma \nabla \phi)$:コーヒーにミルクを入れて放置したことはありますか? かき混ぜなくても、しばらく経つと自然に混ざりますよね。あれが分子拡散です。では次の質問——ハチミツとお水、どちらが流しやすいですか? 当然お水ですよね。ハチミツは粘性($\mu$)が高いから流れにくい。粘性が大きいと拡散項が強くなり、流体は「もったりした」動きになります。レイノルズ数が小さい流れ(ゆっくり、ドロドロ)では拡散が支配的。逆にRe数が大きい流れでは対流が圧倒し、拡散は脇役になります。
  • 圧力項 $-\nabla p$:注射器のピストンを押すと、液体が針先から勢いよく出ますよね? なぜでしょう? ピストン側が高圧、針先が低圧——この圧力差が流体を押す力になるからです。ダムの放水も同じ原理。天気図で等圧線がギュッと密になっている場所では? そう、強風が吹きます。「圧力差があるところに流れが生まれる」——これがナビエ-ストークス方程式の圧力項の物理的意味。ここでの勘違いポイント:CFDの「圧力」は絶対圧ではなくゲージ圧のことが多い。圧縮性解析に切り替えたとたんに結果がおかしくなる場合、絶対圧/ゲージ圧の混同が原因かもしれません。
  • ソース項 $S_\phi$:暖められた空気が上に昇る——なぜでしょう? 周囲より軽く(密度が低く)なったから、浮力で押し上げられるのです。この浮力はソース項として方程式に追加されます。他にも、ガスコンロの炎で化学反応熱が発生する、工場の電磁ポンプで金属溶湯にローレンツ力がかかる…これらはすべて「外部から流体にエネルギーや力を注入する」作用であり、ソース項で表現します。ソース項を忘れるとどうなるか? 自然対流の解析で浮力を入れ忘れると、流体は一切動かない——冬の部屋で暖房をつけたのに暖かい空気が上に行かない、という物理的にありえない結果になります。
仮定条件と適用限界
  • 連続体仮定:クヌッセン数 Kn < 0.01(分子平均自由行程 ≪ 代表長さ)で成立
  • ニュートン流体仮定:せん断応力と歪み速度が線形関係(非ニュートン流体では粘度モデルが必要)
  • 非圧縮性仮定(Ma < 0.3の場合):密度を一定として扱う。マッハ数0.3以上では圧縮性効果を考慮
  • ブシネスク近似(自然対流):密度変化を浮力項のみで考慮し、他の項では一定密度を使用
  • 適用外ケース:希薄気体(Kn > 0.1)、超音速・極超音速流れ(衝撃波捕捉が必要)、自由表面流れ(VOF/Level Set等が必要)
次元解析と単位系
変数SI単位注意点・換算メモ
速度 $u$m/s入口条件で体積流量から換算する際、断面積の単位に注意
圧力 $p$Paゲージ圧と絶対圧の区別。圧縮性解析では絶対圧を使用
密度 $\rho$kg/m³空気: 約1.225 kg/m³@20°C、水: 約998 kg/m³@20°C
粘性係数 $\mu$Pa·s動粘性係数 $\nu = \mu/\rho$ [m²/s] との混同に注意
レイノルズ数 $Re$無次元$Re = \rho u L / \mu$。層流/乱流遷移の判定指標
CFL数無次元$CFL = u \Delta t / \Delta x$。時間刻みの安定性に直結

数値例:円管内層流(d=10mm, L=1m, 水μ=0.001Pa·s, Q=0.1L/min)

Re = ρuD/μ = 998×0.021×0.01/0.001 ≈ 212層流) 圧力損失 ΔP = 128μLQ/(πd⁴) ≈ 68.2 Pa

乱流モデル別の精度比較(後向きステップ、再付着長さ):

k-ε標準5.8h(実験6.1h)
-4.9%
k-ω SST6.0h
-1.6%
RSM6.05h
-0.8%
LES6.12h
+0.3%
実験値6.1h
基準

k-ω SSTは精度とコストのバランスが良く、多くの実務で最初の選択肢になります。

簡易計算ツール:流体力学基礎

レイノルズ数 Re = ρuL/μ を計算し、層流/乱流の判定を行います。

CFL数 = u·Δt/Δx を計算し、時間刻みの安定性を確認します。

円管内の層流ハーゲン-ポアズイユ流れの圧力損失 ΔP = 128μLQ/(πd⁴)

CFDメッシュの品質管理や乱流モデルの選定に悩む時間を、もっと創造的な設計作業に使えたら。 — Project NovaSolverはそんな実務者の声から生まれました。

次世代CAEプロジェクト:開発者と実務者をつなぐ

Project NovaSolverは、密度ベースソルバーを含む幅広い解析分野において、実務者の知見を最大限に活かせる環境の実現を探求しています。まだ道半ばですが、共に歩んでいただける方を募集しています。

開発パートナー登録 →