「Salome-Meca2016.1周波数応答解析」の版間の差分
(ページの作成:「あらかじめSalome-Mecaで作っておいた固有値解析をベースにする。 (サンプルファイルはこちら→ [https://github.com/OpenCAE-Local-User-Gro...」) |
(相違点なし)
|
2018年1月30日 (火) 12:54時点における版
あらかじめSalome-Mecaで作っておいた固有値解析をベースにする。 (サンプルファイルはこちら→ SM2016_Modal_Sample )
メッシュは荒いが円柱のつもりで、片側の面(Group1)を完全拘束している。
固有値解析結果は1、2番面のモードがXY平面に倒れこむ1次モードで約0.16Hz、3、4番目のモードがXY平面に倒れこむ2次モードで約0.9HZだった。(5番目のモードは別モード)
[固有値解析]のcommファイルを書き換えて、[周波数応答解析]のインプットにする。
変更点を以下にまとめる。
①加振用の荷重を定義する(Group2にX方向のFACE_FORCEを追加) 固有値解析(元インプット)(python)
BLOCAGE=AFFE_CHAR_MECA(MODELE=MODELE,
DDL_IMPO=(
_F(GROUP_MA='Group_1',
DX=0.0,
DY=0.0,
DZ=0.0,),
),
);
周波数応答解析(python)
BLOCAGE=AFFE_CHAR_MECA(MODELE=MODELE,
DDL_IMPO=_F(GROUP_MA='Group_1',
DX=0.0,
DY=0.0,
DZ=0.0,),
FORCE_FACE=_F(GROUP_MA='Group_2',
FX=1.0,),);
②[固有値解析]の設定を[周波数応答解析]の設定へ 固有値解析(元インプット)(python)
# 5つ分のモードを抽出
MODES=CALC_MODES(MATR_RIGI=RIGIDITE,
MATR_MASS=MASSE,
OPTION='PLUS_PETITE',
CALC_FREQ=_F(
NMAX_FREQ=5,)
);
周波数応答解析(python)
# コメントアウト
##MODES=CALC_MODES(
##OPTION='PLUS_PETITE',
##MATR_RIGI=RIGIDITE,
##MATR_MASS=MASSE,
##
##CALC_FREQ=_F(NMAX_FREQ=5,),
##);
##Fin Commentaire
# 追加した荷重を
vent=CALC_VECT_ELEM(OPTION='CHAR_MECA',
CHARGE=BLOCAGE,);
vectass=ASSE_VECTEUR(VECT_ELEM=vent,
NUME_DDL=NUMEDDL,);
# 周波数応答の範囲を指定
# 0Hzから1Hzまで0.01Hz刻みで掃引
Lfreq=DEFI_LIST_REEL(DEBUT=0.00,
INTERVALLE=_F(JUSQU_A=1.0,
PAS=0.01,),);
# 周波数応答解析の設定
dynaharm=DYNA_LINE_HARM(MATR_MASS=MASSE,
MATR_RIGI=RIGIDITE,
LIST_FREQ=Lfreq,
EXCIT=_F(VECT_ASSE=vectass,
COEF_MULT=1.0,),);
③計算結果の出力を定義(中身は変わっていない) 固有値解析(元インプット)(python)
MODES=CALC_CHAMP(reuse=MODES,
RESULTAT=MODES,
CONTRAINTE=('SIEF_ELGA'),);
周波数応答解析(python)
dynaharm=CALC_CHAMP(reuse =dynaharm,
RESULTAT=dynaharm,
CONTRAINTE='SIEF_ELGA',);
④計算結果の出力 ここは調査中。通常の静解析などと同じ出力だとrmedファイルが作られない。下記サイトによるとPARTIEでREELとIMAGを指定する必要があるらしい。IMAGはおそらく”Imaginary”なのでREELが実数結果を指していると考えられる。
固有値解析(元インプット)(python)
IMPR_RESU(FORMAT='MED',
RESU=_F(RESULTAT=dynaharm,
NOM_CHAM='ACCE',
NOEUD='N196',),);
RESU=_F(RESULTAT=MODES,),);
周波数応答解析(python)
IMPR_RESU(FORMAT='MED',
UNITE=80,
RESU=_F(MAILLAGE=MAIL,
RESULTAT=dynaharm,
PARTIE='REEL',
NOM_CHAM='DEPL',),);
IMPR_RESU(FORMAT='MED',
UNITE=81,
RESU=_F(MAILLAGE=MAIL,
RESULTAT=dynaharm,
PARTIE='IMAG',
NOM_CHAM='DEPL',),);
ParaVisでREELの方の計算結果を読み込み、Plot Section Over Timeを使い、X方向の変位とTime(この場合は周波数に相当)でグラフを描画する。 [固有値解析]で求めたXY方向の1次モードと2次モードに対応する位置でピークが出ていることが確認できる。
大体あっていそう。 もう少しきちんとしたモデルで検証していきたい。
今回作った[周波数応答解析]のインプットは以下ページからDLできる。