カップルドソルバー — CAE用語解説
カップルドソルバー
先生、カップルドソルバーって「連成解析」と同じものですか?
似てるけど少し違う視点の言葉だ。連成解析は「複数の物理現象を扱う解析手法」を指す概念で、カップルドソルバーは「複数の変数を同時に解く方程式系のソルバー方式」を指す実装の話だ。例えばNavier-Stokes方程式では速度(u,v,w)と圧力pが連立している——これを全変数を同時に解くのがカップルドソルバー(Coupled Solver)で、圧力と速度を交互に解くのがセグレゲートドソルバー(Segregated Solver / SIMPLE法)だ。カップルドの方が収束が速いが行列が大きくなってメモリを食う。
定義
カップルドとセグレゲートの使い分けはどうするんですか?
計算規模と問題の性質で決める。カップルドソルバーは——圧縮性流れ(密度・速度・圧力が強く結合する)、反応性流れ(化学種と流れが強く結合)、収束が悪いとき(圧力-速度の連成が強い問題)に有利だ。セグレゲートは——大規模非圧縮流れ、RAM制約があるとき、外部流れの定常解析に向いている。OpenFOAMはデフォルトでセグレゲート(SIMPLE/PISO)を使うが、Ansys FluentはカップルドとセグレゲートをGUIで切り替えられる。高マッハ数の圧縮性流れではカップルドが事実上必須だ。
行列構造の違い
カップルドソルバーだとメモリが多く必要なのはなぜですか?
方程式の構造が違うからだ。セグレゲートではu方程式、v方程式、p方程式をそれぞれ別々に解くから、各行列はNxN(Nは節点数)の大きさで独立している。カップルドでは全変数を1つの大きなブロック行列に組み込む——u/v/w/pが結合した4N×4Nの行列になるから単純に計算すると16倍のメモリが必要だ(実際には非ゼロ要素のみ格納するのでもっと効率的だが)。1000万セルのモデルでカップルドを選ぶと100GB以上のRAMが必要になることがあって、現実的にはHPCクラスター向けの手法だよ。
AbaqusやAnsys Mechanicalでもカップルドソルバーを使いますか?
FEM構造解析では少し違う文脈で使われる。熱-構造連成や圧電連成をAbaqusで解くとき、FULLY COUPLED(完全連成)と SEQUENTIALLY COUPLED(逐次連成)を選べる。完全連成は変位と温度(または電気ポテンシャル)を同時に一つの大行列で解く——精度が高く強い連成に向いているが重い。逐次連成は熱→構造と順番に解く——計算が速く片方向影響が支配的な問題に向いている。電池セルの急速充放電解析(電気-熱-構造の3つが連成)では完全連成が必要なケースもある。
収束性の違いはどうですか?
カップルドは理論上1回の反復でより大きく収束するが、前処理(プリコンディショニング)が難しいという面もある。Fluent の Coupled schemはBlock-AMGという前処理を使って大行列を効率よく解く設計だ。実務的に言うと「SIMPLE法で100イテレーションかかる問題がCoupledでは20イテレーションで収束する」という経験則がある一方、「1イテレーションの計算時間はCoupledの方が数倍かかる」から、全体的なwall-clock timeではケースバイケースだ。どちらが速いかは問題のサイズと強い連成の度合いで試してみるのが確実だよ。
関連用語
カップルドとセグレゲートは行列の扱い方の違いなんですね。用途による使い分けがわかりました!
CAE用語の正確な理解は、チーム内のコミュニケーションの基盤です。 — Project NovaSolverは実務者の学習支援も視野に入れています。
次世代CAEプロジェクト:開発者と実務者をつなぐ
Project NovaSolverは、カップルドソルバーを含む幅広い解析分野において、実務者の知見を最大限に活かせる環境の実現を探求しています。まだ道半ばですが、共に歩んでいただける方を募集しています。
お問い合わせ(準備中)関連トピック
なった
詳しく
報告