CAEの精度向上のためのパラメータ同定
先日、「CAE、合わせ込み精度、最適化に纏わる悩み」というテーマで記事を書いたところ、本テーマのご質問者の方から、コメント欄に、
> 精度が不十分でも最適化技術は使える
そうなのですか。私もそう信じたいのですが、解析の精度が不十分なために、設計変数の組み合わせによる応答値の傾向が変わってしまうという事はないのでしょうか。
という問い合わせをいただきました。たいへん的を得たご質問です。実験値と不十分な合わせこみで済ませてしまうと、実は十分にあり得るリスクだと思います。そうしないためには、いくつかのケースで合わせこみを実施して、傾向も変わらないのはもちろん、精度もある程度保証される方法論が必要です。
その回答が、先の記事の注釈欄に書いた;
実験とシミュレーションの合わせ込み作業を、最適化技術を駆使してたいへん効率よく行うことができることはご存じでしょうか?シミュレーション(CAE)に従事される方にとっては、とても便利で大切な技法なのです。このテーマではまだ記事を書いていないので、今度書くことにしましょう。
になりますので、さっそく今回の記事にすることにいたします。ただ、直接の回答になっている部分は、途中にありますので、少し我慢してお読みください。
さて、”実験とシミュレーションの合わせ込み”と書いてしまいましたが、無理やり合わせるみたいなイメージで、あまりいい表現ではないですね。ですので、記事のタイトルは、CAE(シミュレーション)の精度向上のためのパラメータ同定、としました。
1.事前準備
次のようなモデルとデータを用意します。
A) 合わせる目標となる実験データ(これを、Rtと書きましょう。)
例えば、最大応力であれば、一個のスカラー値。振動問題であれば、周波数ごとの振幅のベクトル値になります。
B) 合わせる対象となるCAE解析結果(これを、Rsと書きましょう。)
C) CAEモデル中の、精度を左右すると思われるパラメータを決める(これを、X1,X2, ..., Xiと書きましょう。)
例えば、構造解析の場合、境界条件として与えるバネ定数の値など
2.基本的な考え方
1) 実験データとCAE解析結果の差分の絶対値を計算する。
Δ=|Rt−Rs|
2) 新しいXiについて、Rsを求め、1) に戻り、Δがゼロに近づくような、Xiのベストな組合せを見つける。
これは、目的関数Δを最小とする最適化問題を解く、と言い換えることができます。
はい、たったこれだけの考え方なのです。もちろん、あくまでも基本なので、応用的な考え方や注意点もたくさんありますが、原則はこれだけです。こういう定式化をしてしまえば、市販の最適設計支援ソフトであっという間に、Xiを探索することができます。下記の例に示すように、パラメータ同定のニーズがあまりにも多いので、専用のツールを用意しているソフトウエアもあります。
Xiを通常の設計変数と同様に扱い、上下限値を設定することで、Xiの設計空間を、実験計画法や最適化手法を使って探索するという方法を取るわけです。Δがゼロに近づくということはすなわち、実験データと合致するCAE解析結果が求められるということになるわけです。
3.例
パラメータ同定の例は、解析の種類・問題の種類だけあるといっていいでしょう。シミュレーション結果の精度を確保せずに、設計に用いることはできませんから、当然のことです。下記にリストしたのは、一般的な例に過ぎません。
解析種類 | 実験値/応答の種類 | パラメータ |
大変形 | 応力/変位/加速度 | 材料モデル定数 |
材料非線形 | 荷重-変位特性 | 材料モデル定数 |
接触 | 荷重/変位 | 摩擦係数 |
振動 | 固有振動数 | 境界端バネ定数 |
熱 | 温度分布 | 熱伝達係数 |
流体 | 流量 | 境界圧 |
制御 | 性能特性値 | 制御パラメータ |
- 分かりやすい例
熱伝達係数の同定
私の会社の製品ではないのであまり掲載したくないのですけれど、まあブログですから我慢して紹介します。事例としてはたいへんわかりやすいです。
- パラメータ同定の詳しい手順の事例
熱伝達率の同定方法及び焼き入れ時の構造計算方法
特許申請の一部なので、分かりやすいとは言えないのですが、厳密にしくみを理解するためには、いい情報かと。なかなかこの手の情報には巡り合えません。
4.注意点
1)適用していい場合とよくない場合
適用していいのは、
A) 実験データが信頼できる
B) シミュレーションの結果が信頼できる
シミュレーション・プログラムや計算アルゴリズムが信頼できる(=成熟している)
形状を正しく追従しているとか、メッシュ粒度が十分など、モデルの本質的な部分は信頼できる(=正確である)
C) 実験とシミュレーション結果が合わないのは、モデル中の定数や条件が不正確なためである
という前提が成り立つ場合です。定数や条件を決めるパラメータを正確に求められれば、結果も合うはずであるという論理が成り立ちます。これは一見当たり前の用に見えると思うのですが、実際は下記のやってはいけないことと区別がつきにくいことも多いのです。
D) 実験の測定誤差や想定していた条件と異なる可能性
E) シミュレーション・プログラムやアルゴリズム自体に不安定性や精度不足がある
F) モデルの本質部分がいいかげんなのに、見当違いのパラメータで無理やり合わせようとすること
特に、シミュレーションの現象とモデルのことを熟知していないと、上記の(F)のミスに気付かない場合もありがちです。これをやってしまうと、ケースごとに同定値が異なるというような明らかにおかしな出来事が起こるはずです。
2)正しいパラメータを選ぶということ
選択したパラメータを上下限値の空間内で探索しても、Δが期待するようにゼロに近づかないということも出て来るでしょう。その場合は、パラメータの選択に誤りがあるか、探索空間が不十分であることを意味します。これはこれで、有用な情報になりますから、改めてパラメータの探索条件を設定し直して、再度試みればいいわけです。このようなケースをあらかじめ想定しておくには、何度もこのブログで書いていることですが、いきなり最適化手法を試みないことです。実験計画法を使って、どのパラメータが、今回の実験データへの合わせこみに寄与しているのかを、定量的に把握するということが、モデル精度について理解するのにとても重要なことです。最適化結果から得られた最後のパラメータの組み合わせだけを嬉々として得たとしても、その場限りの値を得たという以上の意味はないのです。
3)複数ケースで同定を行い、モデルとパラメータ選定が正しいことを検証
さて、実験データ1ケースだけで同定できても喜んではいけません。1ケースだけだと、偶然に、あるいは無理やり合わせこむことができるからです。いくつかのパターンの異なる実験データとも合うのでなければ、素性の良い同定パラメータとは言えません。実験データのたびに、値を変えなければいけないパラメータだとしたら、それは間違ったパラメータを選んでいることになります。この作業は、自分の作成したCAEモデルを理解するのにとても大切です。なるべく多くの実験パターンで使えること、パラメータに冗長性があることが望ましいと言えます。
例えば、二つのケースで同定を行うと、どちらか一つだけで同定するとかなり精度が出るけれども(例えば、5%以内)、おのおのの同定値が微妙に異なるという場合が出てきます。今度は、パラメータを同じ値にして、両方同時に同定しようとすると、二つとも精度を妥協せざるを得ないが、そこそこ合う。(例えば、双方とも、10%以内にはならない。)というような状況に遭遇するでしょう。この場合、精度は甘いかもしれないけれども、二つのケースに対しては同程度の追従性があると言えますから、それを理解したうえで、決められた同定パラメータで、以降最適設計を実施するということが可能になるわけです。
このパラグラフでの説明が、冒頭のご質問への回答ということになります。
5.応用
この手法にすばらしい応用があります。二つ示しましょう。
1)目標値への合わせこみ
すぐにわかることですが、実験データを目標データに置き換え、同定パラメータを本来の設計変数に置き換えれば、目標特性を実現する設計変数を求める最適化問題にすることができます。エンジン性能の低回転から高回転までの性能や燃費の理想特性カーブを設定し、そのカーブに近づくエンジンの設計パラメータを求めるという例があります。
2)1Dモデルのパラメータ決定
最近1次元解析が注目を浴びています。3次元の複雑な現象を、1次元化された方程式とモデルに置き換える手法です。近似モデルの一つということもできますが、概念設計段階では詳細な形状は設定されていませんし、主要な諸元を決定することが目的なので、1次元解析が大きな役割を果たすのです。その際に重要なのが、3次元形状に依存する現象を、1次元モデルで表現するための素性の良いパラメータです。例えば、
3Dモデル | 1Dパラメータ |
熱経路 | 伝熱長さ |
流路形状 | 圧力損失特性 |
境界形状 | CK係数 |
熱境界 | 熱伝達係数 |
素性の良い1Dパラメータを求めるために、3Dモデルの結果を目標値にして、1Dモデルの結果を合わせこむという方法がとても有効になるわけです。
6.参考例や解説
すぐれた資料がたくさんあります。
- 詳しい解説
「デジタルエンジニアリングにおける実験計画法の活用(吉野睦氏学位論文)」
の第4章「合わせこみ」をご覧いただければ、より詳しい実用的な知識が得られます。かなり専門的ですけれど、解説が丁寧ですのでわかるところを拾い読みするだけでも参考になります。このような形で、最適設計手法全般が解説されている書物は少ないことに加え、実務上の難しさも素直に書かれているので、とても参考になる論文だと思います。
- 最適設計の分かりやすい具体例
シミュレーションによる最適設計支援技術(富士電機技報2003年)
2003年全部の技報が載っていますので、33ページ目からの報告がこのタイトルです。初心者の方にもわかりやすく書かれた事例として読めます。
- パラメータ同定問題の実習
Isightを用いた動的問題における剛性と減衰特性の同定に関する実習
- シミュレーションの品質保証に関する議論
シミュレーション結果の精度の問題は、シミュレーション屋にとっては常に付きまとう問題です。この仕事をやっている限りは、ある意味で精度との戦いをやっていると言っても言い過ぎではないと思います。方程式の正しさから始まり、離散化、近似、理想化や仮定、材料モデルなど精度を阻害する要因は、シミュレーション技術の中には無数にあると言っていいでしょう。
最近、日本学術会議の、「計算科学シミュレーションと設計工学分科会」から、シミュレーションの品質保証をテーマにした報告書「ものづくり支援のための計算力学シミュレーションの品質保証に向けて」が公開されています。精度だけではなく、より広範な品質という観点からのまとまった記述ですので、この業界の一般常識として一度目を通す価値はあるかと思います。(不肖私も端っこで参加しております。)
さて、「CAEの精度向上のためのパラメータ同定」の技法がとても役に立つだけではなく、CAEモデルの本質を理解するための手段でもあること、興味深い応用もあることが、おわかりいただけましたでしょうか。この作業を経たあとに、本来の設計最適化に着手することができるわけです。今回の記事はとても長くなりましたが、お役に立てれば幸いです。