数値オーバーフロー
オーバーフロー
先生、「Numerical overflow」って?
倍精度浮動小数点の上限(約$1.8 \times 10^{308}$)を超えた状態。通常は何かが桁違いに間違っている。
原因と対策
| 原因 | 対策 |
|---|---|
| 単位系の不整合 | 一貫した単位系(SI or mm-N-MPa)を確認 |
| 材料定数の桁間違い | ヤング率: 鋼=210 GPa=210000 MPa |
| 拘束不足で変位が無限大 | SPC追加 |
| 陽解法の安定限界超え | 時間刻みをCFL条件以下に |
単位系ミスが一番多そうですね。
Abaqusには単位系の概念がない。全パラメータが整合した単位で入力されていることはユーザーの責任。mm系でヤング率をPa($2.1 \times 10^{11}$)で入力すると変位が$10^{-6}$倍になり、逆にMPaをPaと間違えると$10^6$倍になってオーバーフロー。
ソルバーエラーの原因特定に費やす時間は、もっと短くできるはず。 — Project NovaSolverはエラー診断体験の改善を研究テーマの一つとしています。
次世代CAEプロジェクト:開発者と実務者をつなぐ
Project NovaSolverは、数値オーバーフローを含む幅広い解析分野において、実務者の知見を最大限に活かせる環境の実現を探求しています。まだ道半ばですが、共に歩んでいただける方を募集しています。
開発パートナー登録 →