以前、Altair OptiStructの線形モデルをAltair Twin Activateに取り込む方法を紹介しましたが、
OptiStructの構造要素のみを対象としていました。
OptiStructの線形モデルをActivateに取り込む - Altair Community
今回は、OptiStructの構造音響連成モデルに対応しましたので、その方法を紹介します。
本記事で使用したモデル・スクリプトはこちら。
モデル
下記チュートリアルを流用します。
OS-T: 1330 Acoustic Analysis of a Half Car Model
自動車のキャビンを想定した簡易モデルです。構造要素と音響要素で構築されています。
構造側のN19072をZ方向に加振した場合の、ドライバ位置のN18881の圧力を取得することを考えます。
ASETとCMSMETHを使用して構造音響連成のCMSを作成します(Half_car_CMS_small.fem)。
CMSは
param,extout,dmigpch
を用いてアスキー形式で書き出しておきます(Half_car_CMS_small_AX.pch)。
また、作成したCMSを用いてOptiStructで周波数応答計算を行うと、下記の応答が得られます(recov_pch_small.fem)。
状態マトリクス(ABCDマトリクス)の作成
OptiStructから書き出した.pchには構造音響連成状態のMCKマトリクスが格納されています。これをAltair Composeで読み取り、ABCDマトリクスの形に加工します。
使用するスクリプトはstc_DMIGPCH2ABCD_rev2.2.omlです。
構造、音響それぞれのMCKマトリクスのほか、AAX、VAFSXマトリクスを読み取り、構造音響連成マトリクスを構築するよう改良しております。
ファイルブラウザで作業フォルダへ移動し、5~10行目のパラメータを修正して開始をクリックすると処理が行われます。
pchfile:OptiStructから出力された.pchを指定します。
iofile:入出力定義ファイルを指定します。
入出力定義ファイル(io_def.txt)では、下記を定義してください。
1カラム目:節点ID
2カラム目:自由度
3カラム目:変位・速度・加速度・荷重の指定。1:変位or音圧、2:速度、3:加速度、4:荷重となります。ABCDマトリクスを作成するには入出力の自由度を定義する必要があります。4の場合入力点となります。1~3の場合、出力点となります。数は任意です。多入力、多出力に対応しています。ASET点から選択する必要があります。
19072,3,4
18881,1,1
paramw3~paramgflについては、OptiStructのPARAMのW3, W4, G, GFLを参照してください。ABCDマトリクスは実数を想定しておりますので、構造減衰はW3,W4を用いて等価な粘性減衰へ変換されます。
OptiStruct help
Composeの計算を実行すると、.a、.b、.c、.dでABCDマトリクスが記述されたファイルを生成します。
また、1番目の入力と1番目の出力に関して周波数応答を計算し、out.csvに書き出します。
OptiStructの周波数応答と概ね一致しており、ABCDマトリクスの作成に問題ないことが確認できます。差異は構造減衰と粘性減衰によるものと推測します。
Twin Activateへの取り込み
簡単なサンプルを用意しました。sta_ABCD_check_rev2.scmです。
ダイアグラムホーム内で、ABCDマトリクスのファイルを読み込んでいます。
インパルス入力時の応答を計算しました。
FFT処理を行うと、OptiStruct / Composeの周波数応答と概ね同じ特性であることがわかります(入力による正規化は行っていませんのでレベルは異なります)。
使用ソフト:
複合領域のモデルベース開発ソフトウェア | Altair Twin Activate
構造解析・最適化ソルバー | Altair OptiStruct
数学処理、プログラミング、データ分析、可視化 | Altair Compose