Altair HyperStudyを用いたバケットの自動形状変更方法(容量一定拘束あり)


下記にAltair HyperStudyを用いてバケット形状を自動生成する方法を紹介しました。

Altair HyperStudyを用いたバケットの自動形状変更方法(容量一定拘束なし)

上記の方法では、設計変数をすべて独立で指定するため、様々な容量のバケットが生成され性能の判断が難しくなるケースがあります。

本記事では、下記のようにバケット容量を一定に拘束したまま、様々なバケット形状を自動生成する方法を紹介します。

側面積が大きな形状ではバケット幅が小さくなります。

本記事で使用したモデル一式は下記よりダウンロードいただけます。

HyperStudy_constraint.zip

 

容量一定となるバケット幅Wの自動算出

下記で作成したInspireのpythonスクリプトをHyperStudyに登録することで、容量一定となるバケット幅Wを自動算出できます。

パラメトリックバケットモデルから面積、線長さ、角度などを算出する方法

Inspire/py_calc_area.pyの冒頭のfilepathをみなさまの環境に合わせて修正してご利用ください。

from hwx import inspire

#define path & filename
filepath = r"G:\data\Motion_Training\bucket_optimization\model\Inspire"
filename = "bucket_param.stmod"

 

Inspire実行パスの登録

HyperStudyのRegister Solve ScriptよりInspireを登録します。

Path(みなさまのInspireのインストール先に合わせて変更してください。)

C:\Program Files\Altair\2023.1\Inspire2023.1\hwx\bin\win64\ExecWinEnvInsp.exe

User Arguments

-b -p Inspire -ex hwx.exe -f

これで、HyperStudyからInspireのPythonスクリプトが実行可能となります。

 

モデルの登録

Parameterized Fileを追加し、Inspire/param.txtを登録します。4つの数値をパラメータ化します。名前は、R,beta,l1,rとしてください。

Model ResourceよりInpire/py_calc_area.pyをコピーします。

Solver Input File: param.txt、Solver Execution Script: Inspire、Solver Input Arguments: py_calc_area.py

とします。これで、HyperStudyからInspireのpythonスクリプトpy_calc_area.pyが実行できます。

Import Variablesをクリックすると、4つの設計変数R, beta, l1, rがHyperStudyに自動登録されます。

また、手動で設計変数Volを作成し、値を仮に3としておきます。後に容量3m3となるバケット幅Wが算出されます。

 

モデルの実行

Test ModelsのRun Definitionをクリックすると、登録したInspireのPythonスクリプトが実行され、HyperStudyの作業フォルダにarea.txtが作成されます。

 

応答の登録

Define Output ResponseのData Sourcesにて作成されたarea.txtを登録します。area.txt内の4つの値がベクトルとして変数ds_1に登録されます。

Define Output Responsesにてds_1を用いて下記の応答を登録します。

Area = ds_1[0] : バケット側面積[m2]
l2 = ds_1[1]*1000 : ボトム円弧長さ [mm]
l3 = ds_1[2]*1000 : リア壁長さ [mm]
gamma = 90-ds_1[3] : バックアングル [deg.]
W = Vol/Area*1000 : バケット幅 [mm]

以上で、設計変数で定義したバケット容量Volを満足するバケット幅Wが自動で求まります。

 

容量一定となるバケット形状の生成

上記と別記事で作成したバケットの自動形状変更方法を組み合わせることで、容量一定となるバケット形状を自動生成できます。

Altair HyperStudyを用いたバケットの自動形状変更方法(容量一定拘束なし)

 

EDEMモデルの登録

上記記事と同じ方法でEDEMモデルを登録し、EDEM-HyperStudy Connector経由でInspireのバケットモデルも登録します。

Inspireのパラメータをインポートします。

Inspireのパラメータが登録されていることを確認します。

 

パラメータの関連付け

Linksタブにて、EDEM-HyperStudy Connector経由で登録したInspireのパラメータに式を記述し、param.txtのパラメータと関連付けます。

Wに関しては、応答で計算したWと関連付けらえます。

 

モデルの実行

Test ModelsのRun Definitionをクリックすると、

まず初めに、登録したInspireのPythonスクリプトが実行され、HyperStudyの作業フォルダにarea.txtが作成され応答のバケット幅Wが計算されます。

次に、EDEMのモデルが実行され、先に算出したバケット幅Wと各設計変数R, beta, l1, rを用いたバケットが生成され、EDEMのバケットモデルと差し替えられます。

 

応答の登録

上記記事と同じ方法でEDEMpyのスクリプトで作成されたedemout.csvを用いてバケットでの掘削土量を登録します。

 

DOEによるバケットの自動生成

DOEを実行すると様々なバケット形状を自動生成できます。

側面積Aとバケット幅Wが反比例しており、バケット容量が一定に保たれていることがわかります。

 

関連記事

パラメトリックバケットモデルの作成方法

バケット掘削時の掘削土量を算出するEDEMpyスクリプト

Altair HyperStudyを用いたバケットの自動形状変更方法(容量一定拘束なし)

パラメトリックバケットモデルから面積、線長さ、角度などを算出する方法

 

使用ソフト

Altair Inspire

Altair EDEM

Altair MotionView/MotionSolve

Altair HyperStudy