積分パラメータのチューニング
Altair MotionSolveの積分パラメータの調整のコツについて説明します。
Run SettingsのAdvanced settingsで各積分パラメータを変更できます。
まずはデフォルトで
推奨値がデフォルト設定されていますので、まずはこのまま計算を実行してください。
解析ログ(.log)のH=の値を確認してください。解析のほとんどのステップにてH=Maximum Step Size(デフォルト0.01)となっていれば、問題なく計算できていると判断して良いと思います。
解析がなかなか終わらない・失敗する
解析がなかなか終わらなかったり、エラー終了する場合、ログを見てみると、下記のように解析のほとんどのステップにてH << Maximum Step Sizeとなっていることが多いと思います。
このような場合は、たとえ長時間計算して結果が得られたとしても、計算結果がノイズだらけだったり、正しい計算が行えていない可能性が高いです。
この場合は、積分パラメータを変更します。
よく変更するパラメータ
まずは、Maximum Step Sizeを小さくすることが多いです。当然小さくすると計算時間がかかりますので、まずはユーザが許容できる範囲で決めましょう。問題にもよりますが、個人的には1e-3~5e-4くらいで解けてほしいことが多いです。
また、Maximum Orderを小さくすることが多いです。次のステップの解を予測するための次数です。Hが小さくなるのは、現象の不連続性が高いことが原因である場合が多いです。不連続性が高いとあまり過去のステップの解を用いても意味がありませんので、Maximum Order = 2程度で直近2ステップの解で次の解を予測すればよいと思います。
仮にMaximum Step Size = 5e-4、Maximum Order = 2で再計算してみました。ログを見ると、たまに不連続な現象があり、H<5e-4となっていますが、大半はH=5e-4で解けていることがわかります。こうなっていれば、計算結果も妥当と判断して良いと思います。
また、となりのOrder=1が実際に使われた次数です。Maximum Order = 2 ですので1か2が自動で選択されます。
それでも計算が失敗する場合(精度を下げる)
それでも許容したMaximum Step Size を大きく下回って、計算が終わらない場合や計算が失敗する場合は、下記の値を大きくしてみてください。
積分の許容誤差と拘束条件の許容誤差を緩めることで、Hが大きくなる場合があります。ただし、精度は低下しますので、結果の判断にはご注意ください。
それでも計算が失敗する場合(精度を上げる)
たまに計算精度を上げたほうが上手くいくケースもあります。
精度を上げたい場合は、DAE Indexを3 -> 1に変えて、Velocity Controlにチェックを入れます。
デフォルトでは変位の拘束条件しかチェックしませんが、この設定で変位と速度の拘束条件をチェックするようになり、精度が向上します。
加速度を評価したいが、ノイズが多い場合にも有効なケースがあります。
モデルの見直しも有効
今回は積分パラメータについて述べましたが、そもそもモデルの設定に問題がある場合も多いです。個人的には以下を注意しています。
- IF文などの不連続性を減らす
- 剛性がある箇所には適度な減衰を与える
- 小さな質量、慣性モーメントのボディを減らす、許容内で大きな値を入れる
- 小さな質量が高い剛性で支持されている場合は、許容内で剛性を下げる(接触も含む)
詳細な説明はMotionSolve Reference Guideをご参照ください。
Parameters: Transient Solver (altair.com)
使用製品:Altair MotionSolve/MotionView
よくあるエンジニアからの質問はこちら