あらかじめ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できる。