ACU-T:7001 HyperMorphを使用した形状の最適化
前提条件
このチュートリアルを実行する前に、HyperWorksの入門チュートリアルであるACU-T:1000 HyperWorksユーザーインターフェースをすでに完了し、HyperMesh、AcuSolve、およびHyperViewの基本を理解しているものとします。この解析を実行するには、ライセンス供与済みバージョンのHyperMeshとAcuSolveにアクセスできる必要があります。
このチュートリアルを実行する前に、HyperMesh_tutorial_inputs.zipを<Altair_installation_directory>\hwcfdsolvers\acusolve\win64\model_files\tutorials\AcuSolveから作業ディレクトリにコピーします。 ACU-T7001_ShapeOptimization.hm をHyperMesh_tutorial_inputs.zipから取り出します。
HyperMeshデータベース(.hm ファイル)には、メッシュとジオメトリが含まれています。このチュートリアルには、ジオメトリのインポートおよびメッシュ生成に関する手順は含まれていません。
問題の説明
最適化とは、簡単に言うと、一連の選択肢の中から最適な入力を選択するプロセスです。AcuSolveは、最適化の調査を設定するための2つの手法として、設計最適化とパラメトリックスタディを提供します。設計最適化によって、特定の制約を受け、流動方程式を満たすことを条件とする目的関数を最適化できます。設計最適化は、連続したケースとみなすことができます。その各ケースでは、まず最適化機能が実行され、設計変数が更新されてから、収束にいたるまでいくつかの時間ステップにわたって流動方程式が解かれます。各時間ステップの終了時にサンプルデータが収集されます。
最適化機能による解析は、以下の処理からなります。
- サンプルのセットから応答サーフェスを構築します。
- 応答サーフェスに対して最適化機能を実行します。
- 設計変数を更新します。
この問題の形状は、ベース形状として真円の断面を持つ単純な管流路で構成されています。入口から水が0.0003kg/sの流量で流入します。出口は、相対圧力がゼロの標準圧力出口です。流路の壁はすべりのない壁です。
図 1.
HyperMeshモデルデータベースを開く
グローバル解析パラメータの設定
解析パラメータの設定
ソルバー設定
節点出力頻度の設定
メッシュモーションの作成および境界条件と材料モデルパラメータの設定
メッシュモーションの作成
ボリュームのモーフ形状またはサーフェスのモーフ形状を使用して、AcuSolveで最適化を調査できます。ボリュームのモーフ形状を使用するシミュレーションでは、メッシュモーションを定義する必要はありません。ボリュームの節点は、モーフ形状の入力を使用して移動するからです。サーフェスのモーフ形状を使用するシミュレーションでは、モデルの中でボリューム節点が示すモーションを定義するために、補間したメッシュモーションが必要になります。このチュートリアルでは、補間したメッシュモーションによるサーフェスのモーフ形状を使用します。
境界条件と材料モデルパラメータの指定
最適化パラメータの設定
モーフ形状の作成とエクスポート
HyperMorphを使用して、設計の形状をパラメータ化します。サーフェス節点を移動することによってモーフ形状を作成します。AcuSolveの補間メッシュモーション機能を使用して、ボリューム節点が考慮されます。
設計変数の定義
- Solverブラウザで10.Optimizationを右クリックし、表示されたコンテキストメニューから の順に選択します。
- 変数名をoutflow_expandに変更してEnterキーを押します。
- Entity Editorで、Initial Valueを0.7に設定します。
- Lower Boundを0.2に設定します。
- Upper Boundを1.5に設定します。
- Max Update Factorを0.02に設定します。
- 上記手順に従って、length_zとcenter_yの2つの新しい設計変数を作成します。上記と同じパラメータを使用して、これら2つの新しい設計変数を定義します。
応答変数の定義
目的関数の定義
- SolverブラウザでOptimizationを右クリックし、表示されたコンテキストメニューから を選択します。
- 名前をmaximize_inflow_pressureに変更し、Enterを押します。
- Entity Editorで、Objective TypeをMaximizeに設定します。
- Response variableとしてinflow_pressureを選択します。
節点形状の設定
最適化コントロールの設定
- Entity Editorで を拡張表示します。
- Entity Editorでmaximize_inflow_pressureをObjectiveとして選択します。
- Optimizer convergence toleranceが1e-4に設定されていることを確認します。
- モデルを保存します。
解析計算
この手順では、HyperMeshからAcuSolveを直接起動して解析を完了します。
AcuSolveの実行
AcuProbeによる解析のモニター
AcuProbeを使用して、解析時間におけるさまざまな変数をモニターできます。Auto run AcuProbeフラグがOnに設定されている場合、Solver Job LauncherによってAcuProbeウィンドウが開かれます。
AcuGetDvとAcuGetRsp
AcuSolveでは、最適化問題に固有の2つのポスト処理ユーティリティ、AcuGetDvおよびAcuGetRspを用意しています。AcuGetDvは、解析に含まれるすべてのケースの設計変数の値を提供します。AcuGetRspは、解析に含まれるすべてのケースの応答変数の値を提供します。
HyperViewによる結果のポスト処理
HyperViewの起動とモデルおよび結果の読み込み
圧力変化のアニメーションの作成
アニメーションの保存
要約
このチュートリアルでは、HyperMorphを使用してAcuSolveで形状最適化の問題を設定して解析する方法を知ることができました。モデルのデータベースをインポートする作業から開始し、メッシュのモーフを作成しました。つづいて、設計変数と応答変数を定義し、その応答変数を使用して問題の目標を設定しました。AcuSolveを使用して解析を計算した後、AcuSolveのコマンドプロンプトを使用して、この最適化で使用した設計変数と応答変数を取得しました。最後に、HyperViewを使用して、最適化手順によって管の形状がどのように変化したかを視覚化しました。