悪条件行列(ill-conditioning)
悪条件行列
先生、「ill-conditioned matrix」って何ですか?
行列の条件数(condition number)が非常に大きい状態。特異ではないが、数値誤差が増幅されて解の精度が著しく低下する。
$$ \kappa(K) = \|K\| \cdot \|K^{-1}\| = \frac{\lambda_{max}}{\lambda_{min}} $$
$\kappa > 10^{10}$程度で倍精度の有効桁がほぼ失われる。
原因と対策
| 原因 | 対策 |
|---|---|
| 要素サイズが極端に異なる | 要素サイズの遷移比を3:1以下に |
| 材料特性が桁違い(鉄+ゴム等) | 別パーツで分けてTie接続 |
| 非常に薄いソリッド要素 | シェル要素に切り替え |
| ペナルティ法の接触剛性が過大 | 接触剛性を下げる |
条件数をどうやって確認できますか?
NastranのPARAM,MAXRATIOでピボット比の最大値を出力。Abaqusでは直接的な出力はないが、反復法ソルバーの収束速度が遅い場合は悪条件の兆候。
ソルバーエラーの原因特定に費やす時間は、もっと短くできるはず。 — Project NovaSolverはエラー診断体験の改善を研究テーマの一つとしています。
Project NovaSolver — CAE実務の課題に向き合う研究開発
「悪条件行列をもっと効率的に解析できないか?」——私たちは実務者の声に耳を傾け、既存ワークフローの改善を目指す次世代CAEプロジェクトに取り組んでいます。具体的な機能はまだ公開前ですが、開発の進捗をお届けします。
進捗通知を受け取る →