Altair HyperStudyを用いたバケットの自動形状変更方法(容量一定拘束なし)
本記事では、Altair Inspireのパラメトリック機能で定義したバケットモデルとAltair HyperStudyを用いて様々なバケット形状を自動生成する方法を紹介します。
本記事で使用したモデル一式は下記よりダウンロードいただけます。
粉体・バルク材挙動シミュレーションのAltair EDEMや機構解析Altair MotionSolveと組み合わせたパワーショベルによる土砂の掘削シミュレーションにて、様々なバケットでの性能を比較、検討するのに役立ちます。
EDEM-HyperStudy Connector
EDEM-HyperStudy ConnectorはEDEMとHyperStudyを接続する補助ツールです。EDEMのパラメータを変更したシミュレーションを簡単に行い、DOEや最適化を実現します。
本ツールはInspireのパラメトリックモデルの読み込みに対応しており、
- InspireのパラメータをHyperStudyへ登録
- HyperStudyからInspireのパラメータを変更
- パラメータ変更したInspireモデル形状出力し、EDEMモデルのジオメトリを更新
をGUI操作のみで行うことができます。
HyperStudyの設定
EDEM-HyperStudy ConnectorをインストールしたHyperStudyを起動します。
EDEMモデルの登録
Define modelsのAdd ModelでEDEMを追加し、EDEMの入力ファイル.demを指定します。
Inspireモデル・設計変数の登録
Importをクリックすると、EDEM-HyperStudy ConnectorのGUIが起動します。
Geometry modelでInspireのパラメトリックモデルを指定し、Importをクリックすると、Inspireで設定したパラメータが表示されます。
チェックを入れ、Export to HyperStudyをクリックするとパラメータがHyperStudyへ登録されます。
Define Input VariablesにInspireのパラメータが登録されたことを確認します。
EDEMモデルのバケット形状の差し替え
Model ResurcesでInspireのモデルをコピーします。
また、Solver Input Argumentsに
-geo bucket_param.stmod(Inspireモデルのファイル名)
を追加します。
これで、EDEMのジオメトリをパラメータ変更したInspireのジオメトリに差し替えることができます。
また、EDEM-HyperStudy ConnectorのOptionで以下の設定を行います。
profile: local (ローカルPCで実行)
inspire assembly by name: bucket ['*']
これは、Inspireのすべてのパートをbucket.stlで出力する指定となります。
bucket.stlはEDEMのジオメトリ名bucketの形状を差し替えます。
応答の登録
EDEMpyで算出したバケット掘削土量を使用します。本記事では掘削計算は行わないため、掘削土量の算出・書き出しタイミングは0sec時のみとします。
edempy_post.pyにて下記を指定しています。
#define time time_interval = 1 time = [0]
Model Resurcesでedempy_post.pyをコピーします。
また、EDEM-HyperStudy ConnectorのOptionで以下の設定を行います。
edempy: edempy_post.py
これでEDEMの計算後に、EDEMpyのスクリプトが自動実行され、掘削土量を記述したcsvファイルが生成されます。
Test ModelsのRun Definitionで計算を実行します。EDEMモデルのTotal Timeは0.001 secに設定していますので、計算はすぐに終了します。
Study-Directoryにedemout.csvが出力されていることを確認します。
Define Output ResponsesのData Sourcesで出力されたedemout.csvを登録します(ds_1)。
Define Output Responsesにて先のデータソースds_1を参照して時刻0の値ds_1[0]を登録します。
掘削シミュレーションは行っていないため、値は0です。
DOEによるバケット自動生成
DOEを追加します。設定はSetupを引き継ぎます。
SpecificaionsにてDOEの手法を選択します。例えば、Fractional Fractorialを選択し、Applyをクリックすると、DOEのマトリクスが自動生成されます。
Edit Matrixでマトリクスの内容を確認できます。
EvaluateのEvaluate Tasksをクリックすると、計算が実行され、DOEのマトリクスに従ったバケットが生成され、EDEMのバケット形状が更新されたモデルが作成されます。
今回はセットアップと同様、掘削計算は行いません。バケット生成の確認のみです。
バケット形状の確認
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]
また、EDEMに.demを読み込むことで、EDEMモデルのバケット形状が更新されていることを確認できます。
関連記事
EDEM-HyperStudy Connector: Installers and User Guide
使用ソフト