ブシネスク問題(半無限弾性体の点荷重) — トラブルシューティング
モデル境界の影響
モデルの外形が小さすぎるとどうなりますか?
固定境界からの反射で応力が過大評価される。底面固定が浅いと、荷重点直下の$\sigma_{zz}$が理論値より20%以上大きくなることもある。症状として、モデルサイズを変えると結果が変動する場合はこの影響を疑うべきだ。
対策:
- モデル寸法を段階的に増大させ、結果が変化しなくなるサイズを採用
- 無限要素で遠方条件を近似
- 経験値として $R_{model} \geq 20 z_{eval}$ を確保
無限要素がうまく機能しない場合はどうしますか?
無限要素の減衰関数が問題の特性と合っていない可能性がある。Abaqusの無限要素は指数減衰を仮定しているが、Boussinesq解は$1/r$減衰だから、厳密にはフィットしない。それでも実用上は十分な精度が得られるが、残差が気になる場合は有限要素領域を大きめに取る(無限要素との境界を遠ざける)のが安全だ。
荷重印加の問題
1節点に集中荷重を与えると、その節点の応力が無意味に大きくなりますよね。
それは正常な挙動だ。荷重点の応力はメッシュを細かくするほど際限なく増大する。これは物理的に正しい特異性の反映であり、FEAのバグではない。
実務的な対処:
1. 荷重点での応力は評価しない。$z > 5h_{elem}$ の位置で評価する
2. 面圧分布として荷重を分散させる場合、半径$a$が評価距離の1/10以下なら理論値との差は1%未満
3. Hertz接触のように物理的に面圧分布が決まる場合は、その分布を直接与えてBoussinesq解の積分と比較する
荷重を分散させる具体的な方法を教えてください。
数値的アーティファクト
結果に変な振動が出ることはありますか?
低次要素(TET4、HEX8)で応力をコンタープロットすると、要素間で応力が不連続になりギザギザに見えることがある。これはC0連続の要素では応力(歪みの微分量)が要素境界で不連続になるためだ。
対処:
- 二次要素(TET10、HEX20)に切り替えると大幅に改善
- 節点平均化(SPR法: Zienkiewicz-Zhu のスーパーコンバージェントパッチリカバリ)で平滑化
- 平滑化前後の差が大きい箇所はメッシュ不足のサイン
SPR法というのは初めて聞きました。
Zienkiewicz and Zhu(1992)が提案した事後誤差推定法だ。各節点のパッチ内の積分点応力から最小二乗法で節点応力を高精度に回復する。回復前後の差が局所的な離散化誤差の推定値になる。多くの商用ソルバーでオプションとして実装されている。Abaqusでは*ERROR INDICATOR で利用可能だ。
トラブル解決の考え方
デバッグのイメージ
CAEのトラブルシューティングは「探偵の推理」に似ている。エラーメッセージ(証拠)を集め、状況(設定の変更履歴)を整理し、仮説(原因の推定)を立て、検証(設定の変更と再実行)を繰り返す。
「解析が合わない」と思ったら
- まず深呼吸——焦って設定をランダムに変えると、問題がさらに複雑になる
- 最小再現ケースを作る——ブシネスク問題(半無限弾性体)の問題を最も単純な形で再現する。「引き算のデバッグ」が最も効率的
- 1つだけ変えて再実行——複数の変更を同時に行うと、何が効いたか分からなくなる。科学実験と同じ「対照実験」の原則
- 物理に立ち返る——計算結果が「重力に逆らって物が浮く」ような非物理的な結果なら、入力データの根本的な間違いを疑う
検証データの視覚化
理論値と計算値の比較を定量的に示す。誤差5%以内を合格基準とする。
| 評価項目 | 理論値/参照値 | 計算値 | 相対誤差 [%] | 判定 |
|---|---|---|---|---|
| 最大変位 | 1.000 | 0.998 | 0.20 | PASS |
| 最大応力 | 1.000 | 1.015 | 1.50 | PASS |
| 固有振動数(1次) | 1.000 | 0.997 | 0.30 | PASS |
| 反力合計 | 1.000 | 1.001 | 0.10 | PASS |
| エネルギー保存 | 1.000 | 0.999 | 0.10 | PASS |
判定基準: 相対誤差 < 1%: ■ 優良、1〜5%: ■ 許容、> 5%: ■ 要検討
V&V検証の効率化は、シミュレーションの信頼性を支える基盤です。 — Project NovaSolverは検証プロセスの改善にも注力しています。
次世代CAEプロジェクト:開発者と実務者をつなぐ
Project NovaSolverは、ブシネスク問題(半無限弾性体)を含む幅広い解析分野において、実務者の知見を最大限に活かせる環境の実現を探求しています。まだ道半ばですが、共に歩んでいただける方を募集しています。
開発パートナー登録 →