romAI & nFX : ドライブトレインCFDシミュレーションにおけるAIの活用
本記事はSpiros-Foivos Malliosによる投稿
romAI & nFX: Leveraging AI on Drivetrain CFD Simulations
を和訳したものです。
概要
この記事では、nanoFluidXRのオイル流動シミュレーションのデータをスマートに利用し、運転中のギアボックスの熱挙動を効率的に予測するために、romAITMがどのように役立つかを説明します。熱問題を解決するために、ギアボックスの回転数とオイルの充填量からギアとオイルの熱伝達率(HTC)を推定する動的非線形低次元化モデル(ROM)を作成します。
序論と問題提起
実運用のシナリオでは、ドライブトレインは次のようなさまざまな条件で動作します: RPM、方向(傾きとピッチ)、オイル充填レベル、オイルの等級/粘度。これらすべての変数がオイル分布に影響し、熱交換が行われます。
これらの変数の影響を表現するシステムをモデル化するには、通常、完全実施要因計画のような長大な実験計画法(DoE)を実行し、ルックアップテーブルで応答を近似する必要があります。このアプローチの問題点は、HPCを使用しても、すぐに実験規模が大きくなり、妥当な時間で解くことができなくなることです。さらに、ルックアップテーブルは静的な関数であるため、定常状態のシナリオだけの予測に限定することになり、過渡応答を見逃すことになります。
上記の問題点を解決するために、我々はromAITMを活用し、AIによる動的な低次元化モデル(ROM)を作成することができます。従来のルックアップテーブルアプローチと比較して、システムの状態量(メモリー効果)を考慮し、少ないデータで非線形応答を近似します。この生成されたROMは、最適化プロセスで "そのまま "直接使用することもできますし、システムシミュレーションに統合してさらなる解析を行うこともできます。本記事では、後者の方法を検討します。
ワークフロー
既に説明したように、熱伝達を推定するためにはギア-オイル間の熱伝達係数(HTC)を計算する必要があります。nanoFluidXRのオイルフローシミュレーションの結果を使用して、回転数とオイル充填量の関数としてHTCを推定するROMをromAITMでトレーニング/生成します。この推定値は、当社のシステム統合プラットフォームであるAltairR ActivateTMで表現される集中定数系の熱モデルの入力として使用されます。
nanoFluidXのシミュレーションとデータの生成
nanoFluidXR (nFX) は、特にドライブトレインのオイル流れシミュレーションに適したCFDシミュレーションソフトウェアです。その理由は、ソルバーが従来の有限体積法(FV法)ではなく、「平滑化」粒子流体力学(SPH法)に基づいているからです。SPH法はメッシュを使用しないため、複雑な移動形状を持つ高変形タイプの流れに最適です。SPH法とnFXの詳細については、こちらの記事をご参照ください The Smoothed Particle Hydrodynamics Method vs. Finite Volume Numerical Methods (altair.com) または 「平滑化」粒子法流体力学(SPH法)の基礎知識。
この例では、電気自動車のギアボックスをシミュレートし、入力軸、中間軸、出力軸の面積で積分した熱伝達係数(HTC)を計算します。
応答を特徴付けるためには、トレーニングデータが必要です。今回の"単純化された"モデルでは、回転数/オイルレベルの影響のみを考慮するため、完全実施要因計画のDoEを使用する代わりに、4回のトレーニング実行を節約できる中心合成計画を選択しました。トレーニング実行は9回ではなく、5回に減ります。1回のnFX実行が2秒間の過渡シミュレーションに8時間かかることを考えると、合計32時間の節約になります。
この節約は当初はあまり多くないように見えるかもしれませんが、方向性やオイルの種類を含む完全な問題定義においては、実行時間の節約は容易に数百時間に換算できるでしょう。
下の図に、トレーニングシナリオの定義とHTCの結果を示します。ここにはテストセットも含まれていることに注意してください。これは、我々のモデルを検証し、汎化能力をテストするために使用されます。
romAIによる低次元化モデル(ROM)の生成
nFXの各過渡シミュレーションは、トレーニングプロセスで使用できる数百の有効なトレーニングポイントを生成します。5つの計算結果はすべて1つのcsvファイルに連結され、その1列目は時間ベクトルであり、他の列はromAIモデルの入力、出力、状態量となります。
次に、トレーニングファイルをromAI GUI(ActivateTMからアクセス可能)に入力し、まずPre-processorタブで動的システムを扱う際のデータのプレビューやフィルタリングを行います。次にBuilderタブでシステム構造を設定し、トレーニング中に使用するハイパーパラメータを定義します。通常、優れたromAIモデルを作成するためにチューニングが必要なパラメータはごくわずかです。
しかし、良いromAIモデルとは何でしょうか?まず、予測誤差が少なく正確なモデルである必要があります。さらに、モデルはよく汎化する必要があります。つまり、馴染みのない入力でテストされたときに良い反応をする必要があります。これらを素早く評価するには、Post-processorタブを活用するか、romAIモデルをActivateにデプロイし、そこでタイムシミュレーションを行います。
下の図では、トレーニングセット(モデルをトレーニングするために使用したデータ)とテストセット(汎化をテストするためにトレーニングから除外したデータ)で予測を評価しています。
ROMのサーマルシステムへの展開
romAIの主な利点の一つは、生成されたモデルがダイナミックであることです。romAIはActivateにネイティブにデプロイすることもできますし、FMU(Functional Mock Up)としてエクスポートすることもできます。
ここでは、最初のアプローチを使用し、Modelicaライブラリの熱コンポーネントを使用して構築した1次元集中定数系の熱モデルと組み合わせます。Activateには、Modelica言語で構築された多種多様なブロックやモデルがあらかじめ用意されており、さらに上級ユーザーであれば、より複雑なコンポーネントを自分で作成/開発することも可能です。
熱モデルを作成するために、"heat exchenger"ブロックと "HeatCapacitor"ブロックを、部品の平均温度と熱流を測定するセンサーと組み合わせて使用します。 オイル/金属の温度は初期条件として設定されています。このモデルは、特に部品の面積で積分されたHTCが高忠実度シミュレーションから正確に推定されることを考慮すると、伝達される熱の良い指標を与えることができます。
最後に、未使用のテストケースで複合システムのシミュレーションを実行し、時間経過に伴うヒートフローとギア温度の結果を得ます。
このシミュレーションには0.2sのCPU時間しかかからないので、この例ではタイムゲインファクターは130.000以上であることに注意してください!
結論
- 従来のアプローチに比べ、nFXの過渡シミュレーションは比較的少なくて済みます
- ゲインファクターは130.000以上で、1Dシミュレーション、リアルタイムアプリケーション、最適化を可能にします。
- 最終的な定常状態の値のみでなく、動的な応答を予測することができます
- Very good generalization capabilities非常に優れた汎化能力を持ちます
romAIのアプリケーションにご興味のある方は、以下のリンクをご覧ください。