【HyperStudy】目標の振動レベルが周波数毎に違う場合の最適化設定

Sonoda
Sonoda
Altair Employee
edited May 2023 in Altair Exchange

Overview

背景

振動レベルを目標値以下に下げる目的で最適化をするといったケースはよくあると思います。

そのとき、目標値が周波数によらず一定であれば設定は簡単ですが、目標値が周波数によって違うといったケースでは設定が面倒です。

image

このような目標ラインが一定でない場合に使えるHyperStudyのユーザー関数を作成しました。

(ダウンロードはこちらから)

 

登録方法

登録の仕方は以下の順で行います。

①HyperStudyを開き、「編集」→「Python関数」

②Python関数の登録画面で「Python関数の追加」をクリック

③ラベル、識別子に適当な名前を入力(ここでは関数名と同じDiffMaxとしています)

④パスにダウンロードした.pyファイルのパスを指定

⑤関数名はDiffMax,引数の数は3とします

⑥登録が完了したらOKをクリックし、HyperStudyを再起動します。

image   image

 

使用前準備

目標ラインをcsvファイルにしておきます。

一列目に周波数、二列目に振動レベルを入力しておきます。

周波数刻みはCAEの結果と一致していなくてもOKです。線形補間が行われます。

(最初と最後の周波数の間のみが評価対象となり、外挿域は評価しないものとしています。)

image

 

使用方法

まずデータソースに検討対象のグラフの横軸、縦軸の値を登録します。

そして出力応答の定義画面で適当な名前・識別子の応答を作成し、式のところに「DiffMax(周波数,振動レベル,目標ラインcsvファイルパス)[1]」としておくと目標ラインとの差分のMax値が得られます。

このMax値に対して、0以下という制約条件を加えるなり、最小化の対象としておけば、目標ラインに対しての最適化が可能になります。

image

image

 

DOEでの活用アイデア

DOEにこの関数を活用することで、目標ラインを達成する範囲などが視覚的にわかりやすくなります。

image

 

HyperStudyのPython関数はこれだけではなく、様々な応用が可能になりますので是非ご活用ください。

Usage/Installation Instructions

HyperStudy2022以降のインストールが必要です。