帯幅 — CAE用語解説
帯幅
先生、行列の「帯幅」って何ですか? 行列に幅があるってどういう意味ですか?
FEMで作られる全体剛性行列$K$は「疎行列」——ほとんどの要素がゼロで、隣り合う節点間にのみ非ゼロ成分が入る。この非ゼロ成分が対角線からどれだけ離れているかが帯幅(bandwidth)。式で言うと$b = \max_i(i - j)$(非ゼロの$(i,j)$成分に対して)。
帯幅が小さいと何がいいんですか?
直接法ソルバー(LU分解やCholesky分解)は帯幅内だけ計算すればいいから、帯幅が小さいほど計算量とメモリが減る。帯幅$b$のとき、LU分解の計算量は$O(n b^2)$——$n$が節点数。帯幅が2倍になると計算量は4倍になるから、帯幅は性能に直結する。
帯幅って固定じゃないんですか? 変えられるんですか?
変えられる! メッシュの節点番号の振り方を工夫すれば帯幅を大幅に小さくできる。これが「リナンバリング」で、Cuthill-McKee(RCM)法やMeTiSなどのアルゴリズムが使われる。Ansys MechanicalやAbaqusは自動的にリナンバリングを行って帯幅を最適化してるから、ユーザーは意識しないことが多い。
ではなぜ帯幅を知っておく必要があるんですか?
大規模問題(数百万節点)や直接法ソルバーを使うとき、メモリ不足や計算時間の急増として現れることがある。その原因が帯幅にあるとわかれば——例えばモデルの節点番号が局所的に飛んでいる——対策が立てられる。また並列ソルバーへの切り替えも検討できる。
関連用語も教えてください。
節点番号の振り方が計算効率に影響するんですね! ソルバーが自動でやってるのを知って安心しました。
実務では気にしないケースがほとんどだけど、「なぜ急に計算が遅くなったか?」を調べるときに帯幅が原因だとわかることがある。Ansysなら.datファイルのMAXWAV(最大帯幅)を確認するとヒントになるよ。
CAE用語の正確な理解は、チーム内のコミュニケーションの基盤です。 — Project NovaSolverは実務者の学習支援も視野に入れています。
次世代CAEプロジェクト:開発者と実務者をつなぐ
Project NovaSolverは、帯幅を含む幅広い解析分野において、実務者の知見を最大限に活かせる環境の実現を探求しています。まだ道半ばですが、共に歩んでいただける方を募集しています。
お問い合わせ(準備中)関連トピック
なった
詳しく
報告