本記事では、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モデルのバケット形状が更新されていることを確認できます。
    
        
            
    
  
関連記事
パラメトリックバケットモデルの作成方法
バケット掘削時の掘削土量を算出するEDEMpyスクリプト
EDEM-HyperStudy Connector: Installers and User Guide
 
使用ソフト
Altair EDEM
Altair MotionView/MotionSolve
Altair Inspire
Altair HyperStudy
Altair Compose