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

Kosuke_IKEDA
Kosuke_IKEDA
Altair Employee

本記事では、Altair Inspireのパラメトリック機能で定義したバケットモデルとAltair HyperStudyを用いて様々なバケット形状を自動生成する方法を紹介します。

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

HyperStudy_non_constraint.zip

粉体・バルク材挙動シミュレーションのAltair EDEMや機構解析Altair MotionSolveと組み合わせたパワーショベルによる土砂の掘削シミュレーションにて、様々なバケットでの性能を比較、検討するのに役立ちます。

image

 

EDEM-HyperStudy Connector

EDEM-HyperStudy ConnectorはEDEMとHyperStudyを接続する補助ツールです。EDEMのパラメータを変更したシミュレーションを簡単に行い、DOEや最適化を実現します。

本ツールはInspireのパラメトリックモデルの読み込みに対応しており、

  • InspireのパラメータをHyperStudyへ登録
  • HyperStudyからInspireのパラメータを変更
  • パラメータ変更したInspireモデル形状出力し、EDEMモデルのジオメトリを更新

をGUI操作のみで行うことができます。

image

 

HyperStudyの設定

EDEM-HyperStudy ConnectorをインストールしたHyperStudyを起動します。

 

EDEMモデルの登録

Define modelsのAdd ModelでEDEMを追加し、EDEMの入力ファイル.demを指定します。

image

 

Inspireモデル・設計変数の登録

Importをクリックすると、EDEM-HyperStudy ConnectorのGUIが起動します。

Geometry modelでInspireのパラメトリックモデルを指定し、Importをクリックすると、Inspireで設定したパラメータが表示されます。

チェックを入れ、Export to HyperStudyをクリックするとパラメータがHyperStudyへ登録されます。

image

Define Input VariablesにInspireのパラメータが登録されたことを確認します。

image

 

EDEMモデルのバケット形状の差し替え

Model ResurcesでInspireのモデルをコピーします。

また、Solver Input Argumentsに

-geo bucket_param.stmod(Inspireモデルのファイル名)

を追加します。

これで、EDEMのジオメトリをパラメータ変更したInspireのジオメトリに差し替えることができます。

image

また、EDEM-HyperStudy ConnectorのOptionで以下の設定を行います。

profile: local (ローカルPCで実行)

inspire assembly by name: bucket ['*']

これは、Inspireのすべてのパートをbucket.stlで出力する指定となります。

bucket.stlはEDEMのジオメトリ名bucketの形状を差し替えます。

image

 

応答の登録

EDEMpyで算出したバケット掘削土量を使用します。本記事では掘削計算は行わないため、掘削土量の算出・書き出しタイミングは0sec時のみとします。

edempy_post.pyにて下記を指定しています。

#define time time_interval = 1 time = [0]

Model Resurcesでedempy_post.pyをコピーします。

image

また、EDEM-HyperStudy ConnectorのOptionで以下の設定を行います。

edempy: edempy_post.py

これでEDEMの計算後に、EDEMpyのスクリプトが自動実行され、掘削土量を記述したcsvファイルが生成されます。

image

Test ModelsのRun Definitionで計算を実行します。EDEMモデルのTotal Timeは0.001 secに設定していますので、計算はすぐに終了します。

Study-Directoryにedemout.csvが出力されていることを確認します。

image

Define Output ResponsesのData Sourcesで出力されたedemout.csvを登録します(ds_1)。

image

Define Output Responsesにて先のデータソースds_1を参照して時刻0の値ds_1[0]を登録します。

掘削シミュレーションは行っていないため、値は0です。

image

 

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

DOEを追加します。設定はSetupを引き継ぎます。

SpecificaionsにてDOEの手法を選択します。例えば、Fractional Fractorialを選択し、Applyをクリックすると、DOEのマトリクスが自動生成されます。

Edit Matrixでマトリクスの内容を確認できます。

image

EvaluateのEvaluate Tasksをクリックすると、計算が実行され、DOEのマトリクスに従ったバケットが生成され、EDEMのバケット形状が更新されたモデルが作成されます。

今回はセットアップと同様、掘削計算は行いません。バケット生成の確認のみです。

image

 

バケット形状の確認

HyperStudyの実行フォルダにrun__00001~run__00008が生成され、その中に形状変更したbucket.stlとバケット形状が更新されたEDEMモデルが格納されています。

例えば、Altair InspireのPython windowにて下記コマンドを実行すると、生成された8個のバケット形状がまとめて読み込まれ、生成された形状を確認できます。

study_pathはみなさまの環境に合わせてください。

from hwx import inspire import glob  model = inspire.getModel()  study_path=r"G:\data\Motion_Training\bucket_optimization\model\HyperStudy_non_constraint\hst\approaches\doe_1"  files = glob.glob(study_path + "/**/*.stl", recursive=True)  [inspire.importFile(file) for file in files] 

image

また、EDEMに.demを読み込むことで、EDEMモデルのバケット形状が更新されていることを確認できます。

image

 

関連記事

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

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

EDEM-HyperStudy Connector: Installers and User Guide

 

使用ソフト

Altair EDEM

Altair MotionView/MotionSolve

Altair Inspire

Altair HyperStudy

Altair Compose