📝

シミュレーションソフトに頼る前にやっておきたいこと

2022/05/31に公開
1

※この記事を書いた人は機械設計者で(経験した職場は1社のみ)、CAE専任者などではありません。頓珍漢なことも書いているかと思いますが、ご理解ください。

はじめに

2018年頃の話になりますが、自分が社会人になって機械設計の仕事を始めた頃、日刊工業新聞社が主催するCAE関係のセミナーを受けたことがありました。そのセミナーでは、遠田治正さんという方が講師をしていました。遠田さんは、かつて天体望遠鏡「すばる」の開発に従事したことがあり、有限要素法を使ったプログラム開発なども行っていたとのことでした。

遠田さんはその場で、少しショッキングにも思える主張をしていました。「シミュレーションソフトは使い方によっては、むしろ開発工数が増えてしまうことがある。最も重要なのは3Dモデルが存在しない時点での検討で、それがきちんとできればシミュレーションソフトは要らないこともある」という旨の話をしていたのです(これは今思うと、1D CAEの重要性について話していたように思います)。

シミュレーションソフトの販売会社は大抵「ソフトの導入で開発工数を削減できる」などと謳っていますし、設計者側もそのように考えている人は多いのではと思います。自分も学生時代には有限要素法を使ったシミュレーションの研究をしていて、「試作を作らなくても設計できるようになるのが理想」だという考えも持っていたので(モデルベース開発やデジタルツインといった概念のイメージ)、遠田さんの主張を聞いた時には反発したくなる所もありました。ただ、セミナーを受けて4年ほど経った今では、遠田さんの主張にも一理あると考えるようになりました。

改めて自分の設計の進め方なども振り返ってみて、なぜ「シミュレーションソフトは不要なこともある」といった主張にも共感するようになったのか、現状どのように設計を進めればいいと考えているかなど、記事にまとめたら面白いのではと思いました。一部の製造業でしか当てはまらない話かもしれませんが、一例として読んでもらえればと思います。

この記事ではまず、開発プロセスの観点からシミュレーションソフトの現状を確認し、開発プロセスの見直しの有効性について検討します。次に、現象の記述という観点からシミュレーションソフトの現状を確認し、実現象とのすり合わせ方について検討します。その上で、シミュレーションソフトを活用するために重要なことは何かを考えてみます。そして最後に、シミュレーションソフトは今よりも活用の場が広がるのかどうかを検討してみます。

製品開発のプロセスからの観点

シミュレーションソフトを使う際の問題

まずは、商品の開発プロセスから見たシミュレーションの立ち位置を確認したいと思います。一般的に商品を開発する時には、次のようなプロセスを踏むことが多いかと思います(画像はキーエンスより)。

大雑把には企画→設計→製造というプロセスがある訳ですが、これを部署ごとに分けてみると、マーケティングを担う部署が「①仕様・デザイン」を決め、設計開発を担う部署が「②設計・試作」を行い、生産を担う工場の部署が「③量産」を行っていることが多いでしょう。

加えて言えば、設計開発の中でも機械設計→回路設計→ソフト設計のような工程に分かれていることもあります。その場合には、機械設計がある程度進まなければ回路設計が進まず(先に基板の形状などを決める必要がある)、基板設計がある程度進まなければソフト設計を進められなくなる(先にメモリの大きさなどを決める必要がある)、ということもあります。なお、詳細設計が始まってからの機械設計者に注目した場合には、図面作成→見積・発注→試験・評価のような業務の流れもあります。さらに、「④試験・解析」を担う品質保証の部署や、「⑤販売・アフターサービス」を担う営業の部署もあり、そうした所からの情報も仕様や設計に反映されます。

さて、多くの会社ではこの開発工程について、いかに短く低コストで進めるかが課題になっているかと思います。そこで、シミュレーションソフトを導入すれば、次のように上流工程の時点できめ細かな検討を行うことができ、開発速度やコスト削減に効果があるという説明がしばしばなされます(画像は再びキーエンスより)。

言葉で言うのは簡単ですが、実際の設計ではなかなかその通りにはいかないのが実情です。まず、シミュレーションソフトは基本的に、3Dのモデルデータがなければシミュレーションができません。そして、3DモデルをCADで作るためには、仕様・デザインがある程度決まっている必要があります。つまり、仕様・デザインが十分定まっていない企画の段階では、複雑なモデルを作ってシミュレーションすることは難しいのです(仕様→3Dモデル→シミュレーションという流れがある)。企画段階では仕様が流動的に何度も変わる可能性があるので、あえてシミュレーションを行っても無駄になる場合もあります。

熱設計の問題がある時は、回路やソフトの検討が進まないと、発熱量などの推定も遅れてしまうような場合もありますが、発熱量(電力量)が分からない状態で詳細な熱流体シミュレーションを行ってもあまり意味がありません(仕様→設計→発熱量推定→熱流体シミュレーションという流れがある)。しかしそのような状況でも、機械設計者は手早く検討を行って、早めに回路やソフトの開発を進めてもらう必要があります。

一方で、計算科学を十分に学んでいない多くの設計者にとって、シミュレーションソフトの中身はブラックボックスで、使い方が意味不明なものと認識されていることが多いです。シミュレーションでしかできない解析もあるという理解はありつつも、無理にシミュレーションソフトを使ったところで、効果を実感できていない人も多いのが実情ではないでしょうか。

どんな対策が有効か

上流工程で仕様・デザインがある程度固まってくると、多くの場合は変更がしにくい決定事項として扱われます。その後で3Dモデルを作り、シミュレーションして問題が出たらモデルを作り直し、またシミュレーションして問題が出たらモデルを作り直し……、とやっていると結構大変です。

シミュレーション自体が簡単にできたとしても、3Dモデルを作り直すのにも手間がかかるので、そうなると3Dモデルがない企画の段階で、設計が成り立つかある程度検討できることが重要になってきます。企画の時点で懸念点があれば、シミュレーションでも実製品でも問題が出る可能性は高いので、その旨を仕様で配慮してもらえるよう動きます(企画が希望する特徴的な仕様を実現する代わりに、別の設計上の制限を飲んでもらう等。社内政治などもそこそこ重要な要素だと思います)。

そうすると設計的に無理のない仕様・デザインで進められるので、後々の開発期間の短縮やコスト削減が期待できます。自分と同じく設計をしている知り合いなどと話していても、3Dモデルがない仕様決めの段階で、手計算などを行いアタリを取れる方が重要だ、という考え方には共感されることが多いです。

より理想的には、既存製品を改造するなどして、企画が要求する構造を実物で再現し、試験データを取れておくととても安心します。いっそのこと、企画段階での検討を先行的な開発と位置付けて、予算を取って試作を作る所までやる方法もあります。更に言えば、企画段階で十分な検討を済ませるためには、すぐに使わなそうな技術でも、普段から研究しておくことも大事かもしれません。特に企画の段階で、開発経験のない新技術が必要な仕様になっていると、開発期間の短縮やコスト削減は絶望的です(開発が遅れると仕様の見直しにも繋がります)。

単純なモデルによる検討としては、材料力学的に梁の計算をしてみたり、熱工学的に発熱量と放熱量の釣り合いを計算してみたりして、大雑把なアタリを取ってみることを考えます。ネットを探せば設計でよく使う計算をできるサイトもありますが、Excelに数式を打ち込んで同様の物を自作できるとかなり応用が利きます(VBAまで覚えなくてもいいと思います)。「複雑なモデルや条件だと手計算は無理なのでは」と思われるかもしれませんが、逆転の発想で「手計算しやすいように3Dモデルの方を単純な構造に変える」という方法を取れる時もあります。

単純な計算式もないような難しい現象を扱う場合でも、まずは簡単な実験などを行ってデータを取り、傾向を見るところからやる方がいいと思います。扱いが難しい現象であれば、そもそもソフトが無かったり、高くて買えないこともあります。また、ソフトを導入できてもどのみち、実データとの比較は後で求められるでしょう。

熱設計で言うと、荒っぽくて良ければ例えば下のような計算を考えます。ただ、仕様が決まらないと実装する電子部品なども決まらず、発熱量も分からないということもありえます。となると、実はマーケティングなどをしっかりやって仕様を早く確定させることが、開発プロセス改善において一番効果的なのかもしれません。
https://twitter.com/Sunset_Yuhi/status/1467374841594806274

ちなみに、自分が聞いた話ですが、船を設計する時にも最初は船を1本の梁と考えて、船の両端が支持されて中央に重量がかかっているという、両端支持梁のモデルでアタリを取ることがあるのだそうです(画像は日本大百科全書(ニッポニカ)より)。船の板厚くらいなら、そうした簡易計算で初期値を決めても良さそうです。

また、コンピュータが無かった戦時中には、ゼロ戦などの戦闘機も梁のモデルで設計されていたそうです。設計が戦闘機より難しい製品もなかなか無いと思いますが、シミュレーションソフトが無い時代でも、実は結構色んな物を作れていたのではないでしょうか(画像はMONO塾より)。

いずれにせよ、後々シミュレーションソフトを利用するとしても、企画時点で事前検討できている項目が多い方が、開発の手戻りを減らしやすいのではと思います。シミュレーションソフトの本格導入を考えるのは、これまでに書いたような事前検討を行う仕組みを作ってからでも良いのでは(と言うか、そうしなければソフト導入の効果があまり出ないのでは)、というのが自分の持論です。

なお、いま書いたことは主に上流工程(企画)の話ですが、後戻りを防ぐためには下流工程(生産)のことも考える必要があります。やれることとしては、生産工場の担当者も企画の段階で入ってもらい、問題なく作れそうかなど意見をもらえると良いかもしれません。どのみち、年間生産数から製品単価を出したり、組立性などを検討してもらう必要もあると思うので、早い段階でお願いできることは大事だと思います。生産性の話はシミュレーションとは別の話かと思いますが、生産性の確認も行わないと結局は後戻りに繋がる話ではあります。

現象を記述するプロセスからの観点

シミュレーションソフトを使う際の問題

次に、現象の記述という科学的な視点で見たときの、シミュレーションの立ち位置を確認したいと思います。一般的に「シミュレーションで問題を解く」という時には、次のようなプロセスを踏むことが多いかと思います(画像はCAEユニバーシティより)。

まず挙動を知りたい物理現象があり、それを微分方程式などで数理モデル化して、それをコンピューターで解けるように離散化(デジタル化)して答えを得る、という流れがあります。大雑把には物理現象→数理モデル→近似解というプロセスがある訳ですが、この時に物理現象・数理モデル・近似解のそれぞれは、おおよそ等価なものとして扱われます。

この文脈においては、数理モデルが元の現象をどれくらい記述できているか十分検討しないまま、シミュレーション結果を出して満足してしまうことが起きがちなように思います。例えばシミュレーションをする時には、様々な条件を最初に設定する必要がありますが、条件の妥当性をきちんと評価していない人は意外と多いのではないでしょうか。

特に、材料の物性値(引張弾性率など)は、割と盲点になっているかもしれません。まず、よく使われる材料の物性値はソフトに参考値が登録されていて、「アルミニウム」「ABS」といった材料名を選ぶだけでも、物性値を設定できるようになっています。しかし、実際の物性値はソフトに登録されている値とは異なる可能性があります。材料名が同じでも品質などの差から、物性値が異なることはよくあるのです(日本製の銅部品より海外製の銅部品の方が、耐久性が低いなど)。

実務上は、材料メーカーから貰った物性値の情報を入力することも多いかもしれません。けれども、「メーカーから貰った物性値」もかなり曲者で、改めて社内で測定してみると結構違うことがよくあります。特に樹脂の場合、成形条件(圧力など)が変わると樹脂部品の重さ(密度)なども変わることがありますし、試験時の温度や変形速度によっても測定結果が変わります(温度依存性などについては東レのサイトなどにも情報があります)。

樹脂はまともに測れない物性値も多いので、材料メーカーに聞いても欲しいデータを持っていないこともあります(検索すれば数字が出てくることもありますが、よく見ると会社によって数値がバラバラだと思います)。ちなみに、ブラザー工業の発表によると、ABS樹脂の耐久性はグレードによって1桁変わり、成形条件によって2桁変わる可能性があるのだそうです(画像はMONOistより)。

自分も自社製品の疲労耐久回数を測定して、シミュレーション上の応力の値と相関があるかなどを調べてみたことがあります。自分の調査はブラザー工業ほどしっかりしたものではありませんでしたが、応力と耐久回数のデータのばらつきが非常に大きく苦労しました。そうした経験を踏まえても、耐久回数が2桁くらい異なる場合があるという主張は特におかしいとは思いません。

このように、物性値だけを見てもかなり大きくばらつく可能性があります。安全率を設定して強度的にゆとりを持たせる考え方はありますが、妥当性のある安全率を設定するためにも物性値の情報は重要です。しかし、樹脂のように物性値を測りにくい材料もあるため、強度的にギリギリを狙うのも難しいのが実情かと思います。しかし設計の現場では、そのような話まで頭が回らないまま、シミュレーションを行っている所も多々あるように思われます。現象の再現を目的とするならあまり意味がない行為に思えるのですが、皆さんの職場ではどうでしょうか。

どんな対策が有効か

上でも書いたように、メーカーから貰った物性値でも疑った方がいいので、まずは物性値を自分で測れないか試してみることは大事だと思います東洋紡、京セラ、東レなど品質不正を犯した企業も多いので、メーカーからの情報を過度に信用するのは禁物です)。強度を問題にしている場合、引張強度などであれば引張試験機で一応測れます。ただ、樹脂の成形品の場合は金型の構造上、ウェルドラインなど強度的に弱い箇所が発生したりもするので、測定値もあくまで参考程度と考えた方が良いように思います。

なお、引張弾性率を測るには引張試験機が必要ですが、曲げ弾性率であれば、フォースゲージなど簡単な装置だけでも、手っ取り早く測れるのではと思います。棒状の試験片を作り(部品の一部を使っても良いかもしれません)、試験片が何[N]で何[mm]たわんだかを測れば、材料力学における梁のたわみ式から弾性率を計算できます(画像はものづくりドットコムより)。JIS K7171では、曲げ弾性率を設計で使うのは適切ではない旨が書かれていますが、それでもまずは自分で物性値を測ってみることは大事かと思います。実際、梁の長さやたわみ量を変えると、計算される曲げ弾性率の値は変化しますが、色々と条件を変えてみると変化の傾向は見えてきます。

ちなみに自分の経験では、とあるABS樹脂についてメーカーから貰った曲げ弾性率の値に対して、樹脂成形品では大体半分くらいの値と考えないと梁の計算が合わないことがありました。自分が行っていた試験や計算は荒っぽいものではありましたが、自分の計算式に対してどの程度の弾性率が想定されるか分かれば、自分の実務上ではそこまで問題なかったです(全く測れないよりはマシでした)。ちなみに、弾性率には横弾性率や体積弾性率といったものもありますが、測定方法や算出方法を統一することは最低限必要かと思います。

そして結局のところは、試作品や実製品で試験して最終確認をすることも必要になります。金属部品のバリや、樹脂部品のソリなどは、3Dモデルで普通は表現できないですし、実物でなければ影響がはっきり分からない現象はやはり多いです。バリの発生しそうな箇所には別部品が当たらないようにするとか、ソリを矯正するためにねじ締めを追加するとか、単純な対策が効果的だったりもしますが、その辺りは技術者の勘と経験に頼るしかない部分がまだまだ多いでしょう。モデルベース開発やデジタルツインといった概念もありますが、モデルは現実そのものではないということは頭に入れておくべきだと思います。

また、シミュレーションの妥当性を検証する方法としては一応、V&V(Verification & Validation:検証と妥当性確認)という考え方もあります。V&Vの中では、実製品をいきなりまるごとシミュレーションするのではなく、試験片や簡易形状の状態から計算と測定の結果がどの程度一致するか、確認しながら設計を進めていくという考え方があります(画像は日本原子力学会誌ATOMOΣより)。

実務上でこうした取り組みをどこまでやるべきかという問題もありますが、実製品に近い条件でシミュレーションしても思うような結果が出ない場合は、もっと簡単な条件でどうなるか確かめることも必要かもしれません(製品開発とは別に行う作業なので、実際にやろうとすると結構コストもかかりますが)。

あまり厳密さを求めると大変ですが、簡略化したモデルでシミュレーションをしても、設計に役立つことはあります。構造や条件を少しだけ変えてシミュレーションを行い、それぞれの結果を比べて傾向を見るという使い方です(画像は構造計画研究所より)。シミュレーション結果の絶対量を見るのではなく、複数のシミュレーション結果を比較した相対量などを見ても様々なことが分かるので、まずはそうした使い方から始めると良いのではないかと思います。

シミュレーションソフトを活用するために

設計者が注意したいこと

まずは、製品開発のプロセスや、現象を記述するプロセスについての知識があり、その中にある各工程がどのような目的で行われているのか、よく理解することが重要なように思われます。また、設計にシミュレーションを取り入れるとしても、実測値との対応は常に注意する必要があります。そして、実験とシミュレーションの両輪で開発を行おうとすれば、実質的に開発プロセスを改革することになる場合も多いのではと思います(画像はMONOistより)。

そして、様々な現象(よく知られた物理現象や不具合事例なども含む)をなるべく多く知っていることも、シミュレーションの仕組みを知っていることよりある意味で重要なのではと思います。例えば樹脂の場合、加水分解などの化学反応で耐久性が低下することがあります最近だとエプソンから、空気中の油分で樹脂が劣化してプロジェクターが落下する、という注意情報が出されたこともありました。何も知らずに物性値を測ったり構造解析を行ったりするだけだと、こうした事故は防げないように思います。そもそも、具体的な現象を知らなければ、シミュレーションを行うきっかけも多分生まれないでしょう。ちなみに、最近では自動車の車体にも樹脂が使われることが増えてきたそうですが、これまでに起きなかったような不具合が今後起きる可能性もあるのではと思っています。

また、これは設計者であれば注意深く見ているかもしれませんが、部品の見た目や触り心地など、数値化が難しい情報はシミュレーションでは表現できない(実測も難しい)ことが多いので、最終的には実物をよく観察して勘を鍛えるのも大事ではないかと思う所です。

その上で、シミュレーションを行う時には、必ずしも複雑なモデルや条件で行う必要はないことも、知っておくといいと思います。簡単なモデルならメッシュも自動で切れやすいですし、計算も早く終わりやすいです。まずは単純な現象から確認して、少しずつ実現象に近づけていく方が手堅いように思います(画像は構造計画研究所より)。

ソフトに求めたいこと

最近のシミュレーションの話題では、機械学習を使ったサロゲートモデル(代替モデル)による計算の高速化が、ホットトピックになっているようです(画像はIDAJ伊藤忠テクノソリューションズより)。この手法では、実測データからいきなり予測値を出すこともできるので、これまでのシミュレーション手法より精度が上がる可能性もあるようです。

でもデータを集めるのが大変そうなので、機械学習による高速化の技術があっても、用途が限定されるのではと考えてしまう所です。例えば本田技術研究所でこの課題に取り組んだ方は、「CAE結果を教師データとして使うために、まとまったデータにするまでが大変だった」という率直な感想を書いています。結局のところ、単純なモデルで簡易的な事前検討をできることも、重要なままであり続けるのではと思っています。

一方で、CAE結果から作成したサロゲートモデルをExcelに落とし込み提供したところ、「手軽で面白いし使いやすい」と大変好評だったという記事を書いている技術者もいました。Excelで作れるものという話なので、製品の機器サイズなどのパラメーターを入力すると、知りたい物理量の予測値が出るツールのようなイメージでしょうか(3Dモデルを読み込ませることなく予測値を出せるツールなら、確かに手軽そうです)。この辺りは、今後のノウハウの進展に期待したい所ではあります。

また個人的には、CADソフトから3Dモデルデータを出力して、解析ソフトに読み込ませる作業も割と面倒に感じるので、CADソフトに解析ツールが組み込まれているか、解析ソフトにモデリング機能が組み込まれていると嬉しいです。CADソフトと解析ソフトが分かれていると、少しだけ形状を変えてシミュレーションしたい時でも毎回モデルを読み込み直す必要があり、条件の設定もやり直すことになって結構手間がかかるのです。

加えて、シミュレーションに詳しくない設計者向けに使ってもらうためには、仕組みを知らなくても機能の目的や使用例が分かりやすいUIになっていることが望ましいように思います。実のところ、大卒の技術者でも材料力学などを理解している人は限られますし、大学の知識を実務で使ったことがある人の割合はもっと少ないでしょう。

ちなみにですが、製品とマニュアルが分かれていると多くの人はマニュアルを読みません。読めよと思うかもしれませんが、多くの人間は複雑な製品を使う時には取扱説明書を読まないという研究もあります(2018年にイグノーベル文学賞を受賞)。ソフトを開いた時に使い方が分かるようになっていることが大事なのではと思います。

シミュレーションソフトの社会実装は進むのか

長々と書きましたが、シミュレーション技術が活用されるにはソフトが発展するだけでなく、教育など人への投資も大事なように思えてなりません。技術を開発しただけで社会に広まるとは限らないと思うのです。そもそも、何かしらの技術が広まる時には、単に技術が開発されれば十分なのではなく、「社会実装」の段階もあるのが通常ではないかと思います(ちなみに社会実装という概念は、個人的には概念工学という考え方の影響を受けていますが、三菱総合研究所ダイヤモンドオンラインなどネット記事でも言及されることがあるものです)。

例えば、コロナウイルス拡大を機に話題となった、mRNAワクチンが良い例かと思います。最初はまず、mRNAがどういう物質なのか明らかにする基礎研究(理学的研究)の段階があった訳ですが、それを使えば好きなタンパク質を作れると考えた人が出て、mRNAワクチンを作るという応用研究(工学的研究)がされるようになりました。そして実際にmRNAワクチンが出来た訳ですが、製品を完成させれば終わりなのではなく、なるべく多くの人が打たなければワクチンの効果は発揮されません。そこで例えば日本では、ワクチンの効果を宣伝する取り組みなどが行われたことで、ワクチン接種率が高まり社会的にも効果が発揮された(社会実装された)のだと認識しています。

そうした話を踏まえると、シミュレーション技術が広まる際にも「社会実装」の段階が必要なように思われます。しかし個人的に、シミュレーションという分野は、この社会実装という段階を踏むのがかなり難しい分野なのではと思っています。というのも、シミュレーション技術には高度な数学などの知識が使われていることが多く、説明するのも理解するのも手間がかかるからです。その上で、自分が会社でシミュレーションソフトを使う中で、活用の場を広げるために効果的だと感じていることをいくつか書きたいと思います(念のためですが、ここで書くことが全てだとは考えていません)。

1つ目は、シミュレーションソフトについて学ぶ場を設けることです。これは単に教育というだけでなく、計算条件などの設定方法を共有しておいて、人によるバラつきを減らす意味でも重要だと思います。ただ、シミュレーションというと構造解析だけでなく、熱流体や電磁気などの現象もあるため、網羅的に学ぶことはコストが高いかもしれません。システム面も含めて教育プロセスの工夫が必要だと思います(画像はサイバネットシステムより)。

2つ目は、シミュレーション結果が実測値とどのくらい近いか示してみることです。仕組みがよく分からなくても、実測値とそれなりに近い値が出ていれば、比較的すんなり受け入れてもらいやすいように思います。これはシミュレーションソフトに限らず、先に書いたような「企画段階での簡易計算」を行おうとする場合などでも同じ話です。

3つ目は、シミュレーションの仕組みより目的を中心に説明してみることです。例えば「有限要素法はどんな手法か」を説明しようとした時に、「まず微分方程式というものがあって~、近似解を表現するための形状関数というものがあって~」のようにいきなり仕組みを説明しようとすると結構大変です。もちろん、そうした仕組みの理解も重要ですが、「有限要素法はどんな目的で使われる手法か」と考えれば、「有限要素法は例えば、工業製品においてどんな物理現象が起きるのか、シミュレーションする時によく使われる手法です」のように簡単に説明することもできると思います。細かい説明を求められたのでなければ、そうした簡単な説明で十分なこともありますし、目的の認識合わせをしておく意味でも大事なように思います。

今後、シミュレーションソフトは広く普及するかもしれませんが、本当に業務は効率化されていくのでしょうか? 将来のことは自分にはよく分かりませんが、考えるべきことは沢山あるのではないかな、と記事を書いていて改めて思いました。

Discussion

sunsetyuhisunsetyuhi

書いていないこと
・「プリ→ソルバー→ポスト」という解析作業プロセスからの観点。そもそも3D CADでモデルを作っていないといけない。設計時間の短縮化や性能向上に使うには、使いやすさやリードタイムが割と大事。
・高いコストを払って費用対効果を出せるかという設備投資のプロセスからの観点。工数を減らしても人件費が減るとは限らない。なるべく固定費で業務を回し、売上を増やして変動費を減らす。
・ソフトの導入プロセス。はじめは技術開発で整合性を検証し、実務適用して費用対効果があれば、本数を増やしていく。