541 Views
October 04, 24
スライド概要
Salome-Meca2023による面内変形を受けるトラス構造の解析
技術士(機械工学),博士(工学),日本機械学会計算力学上級アナリスト(固体力学分野の有限要素法),通訳案内士(英語)
Salome-Mecaによる ⼆次元トラスの弾性解析 PE/計算固体⼒学研究室 1
学習⽬標 • 構造要素の簡単な例としてトラスの解析を体験 する • AsterStudyを⽤いてコマンドファイルを作成す ることで,コマンドファイルの構成を理解する • 線形弾性理論解との⽐較を⾏い,解析の精度を 検証する 2
解析の流れ 問題の設定 Geometry Module • 解析対象の形状,⼨法,材料特性の準備 • 解析結果処理に必要な情報の確認 • 形状の作成(点と線で作成) • 境界条件を与える節点グループに名前をつける Mesh Module • メッシュの作成 • メッシュファイルの保存 Aster Module • AsterStudyを⽤いたコマンドファイルの作成 • Studyケースの設定(コマンドファイル,メッシュ ファイルの割当) • 解析の実⾏ ParaVis Module • 変形図によるおおまかな妥当性の確認 • 変位の表⽰ 結果の評価 • 変位の理論解との⽐較 3
解析対象(形状と境界条件) 節点1固定⽀持,節点5はローラ⽀持, その他の節点は⾯内拘束 l 2 1 y 60° l x 4 60° 3 P 60° 5 l Fig. 1 Two dimensional Truss Analyzed 節点1と節点5における y ⽅向反⼒は, 左右の対称性より, P R1 R2 2 棒 ij の内⼒ Nij は,各節点つり合いから, N 12 N 45 N 13 N 35 P P 2 3 3 N 23 N 34 N 24 P 3 P 3 4
予習(変位の予想) トラス全体のひずみエネルギー U は,棒 の断⾯積を A,ヤング率を E として, l 2 1 y 60° l x 4 60° 3 P 60° l 5 N 122l N 232l N 132l N 242l U 2 2 2 2AE 2AE 2AE 2AE P 2l P 2l P 2l P 2l 11P 2l 3AE 3AE 12AE 6AE 12AE 節点3の y ⽅向変位 v3 は,カスティリ 正三⾓形3個からなる アノの定理から, ⼆次元トラス U 11Pl v3 P 6AE 5
⼨法と材料定数 直径 2.0 mmの丸棒で鉄鋼材料を仮定 し,以下とする 86.6 100 y 2 1 l 100 mm 60° 100 P x 4 60° 3 60° 5 100 正三⾓形3個からなる ⼆次元トラス A 3.1416 mm2 E 200 GPa 荷重条件を, P 1.0 kN とすると, 11Pl 11 1.0 103 100 v3 0.292 mm 3 6AE 6 3.1416 200 10 6
応⼒は以下のようになる N 12 P 12 45 184.8 MPa A 3A 23 34 184.8 MPa 13 35 P 2 3A 91.90 MPa 24 184.8 MPa ※ ij はテンソルではなく,棒ij の応⼒ 参考までに両端ピン⽌め柱のオイラーの座屈荷重 Pc 2EI 3.14162 200 103 0.7854 Pc 155 N 2 2 100 4 l / 2 7
解析⽅法 • 棒要素を使⽤(modelisation=BARRE) • Salome-Meca2023 for windows(code-aster ver. 16.5.0)を使⽤し,AsterStudyでゼロか らコマンドファイルを作成 • テキスト出⼒により節点変位と棒の応⼒を確認 8
形状データの作成 • Geometryモジュールにある点と線の機能を使 ⽤し,トラス形状を作成する • 荷重をかける点(Load),固定⽀持点 (Fix),ローラー⽀持点(Roller),その他 (Top)に名称をつける。トラス全体に要素 グループ名(Truss)をつける 9
SalomeMecaの起動 ① run_Salome.bat をダブルクリック 10
Geometryの起動 ① Geometry モ ジュールを開く ① プルダウンメニュー から Geometry を選択 11
視線の変更 ① New Entity -> Basic -> 2D Sketch ① 視線を -OZ に変更 12
節点の作成 ① New Entiry -> Basic -> Point ② 点の座標⼊⼒ ③ 点の番号を確認 ④ 節点 1 の座標 は (0, 0, 0) 4 ⑤ 適⽤する 13
節点の作成 ① 点の番号を確認 ② 節点 2 の座標 は (50, 86.6, 0) ⑤ 適⽤して 閉じる ③ 適⽤する ④ 同様にして, 節点 3: (100, 0, 0) 節点 4: (150, 86.6, 0) 節点 5: (200, 0, 0) を作成する 14
節点の作成 ② 座標軸を 表⽰しない ① Fit All ③ 節点の位置 を確認 ④ 節点の作成 を確認 ⑤ 節点座標を 確認 15
線要素の作成 ① New Entiry -> Basic -> Line ② 線の番号を確認 ③線1の 節点は 1-2 3 ④ 適⽤する 16
線要素の作成 ① 線の番号を確認 ③ 線 2 の節点は 1-3 ⑥ 適⽤して 閉じる ④ 適⽤する ⑤ 同様にして, 線 3: 2-3 線 4: 2-4 線 5: 3-4 線 6: 3-5 線 7: 4-5 を作成 17
線要素の確認 ① New Entiry -> Build -> Compound 18
線要素の⼀体化 ① ⼀体化後の 名称を確認 ② 7個の線を選ぶ(cntl キーを押しながらマウ スでピック) ④ 適⽤して閉じる 19
形状グループの作成 ① Compound_1 を右クリック ② グループの作成 20
形状グループの作成 ① 点を選ぶ ② グループ名は Fix ③ 固定⽀持の 点をピック ④ ピックしてい る点をグループ に加える ⑤ 適⽤する 21
形状グループの作成 ① グループ名は Load ③ ピックしてい る点をグループ に加える ② 荷重点を ピック ④ 適⽤する 22
形状グループの作成 ① 同様にして, ローラー⽀持点: Roller 上⾯の2点: Top を作成 23
形状グループの作成 ① 線を選ぶ ② グループ名は Truss ③ 線を全部 ピック ⑤ 適⽤して 閉じる ④ ピックしてい る線をグループ に加える 24
形状グループの作成 ① グループの作成を確認 (⽬のマークの点滅で表 ⽰・⾮表⽰にできる) 25
ここまでの作業の保存 ① File -> Save As 26
作業の保存(Geometryまで) ① 作業フォルダ を開く ② ファイル名は 「Study1_geom1.hdf」 ③ 保存する 27
メッシュデータの作成 • Meshモジュールを⽤いてメッシュ(有限要 素によるモデル)を作成する • 1本の棒を1分割 • メッシュデータをファイル出⼒(エクスポー ト)する • メッシュ作成までの作業を保存する 28
Meshの起動 ① Meshモジュー ルを起動 29
Meshの作成 ③ Fit All で全体表⽰ ② -OZ の⽅向 に表⽰ ① Compound_1を選択し て,表⽰させる(「⽬」 のマークをオン) 30
Meshの作成 ① 1D タブから線 の離散化を開く 31
Meshの作成 ① ⻭⾞マーク を開く ② 分割数を選ぶ 32
分割数の指定 ① セグメントの分割 数を 1 とする ② OKする ③ 適⽤して閉じる 33
メッシュの作成 ② メッシュ⽣成 (compute) ① Mesh_1 を右クリック 34
メッシュの作成結果 ① メッシュの 情報を確認 ② 閉じる 35
メッシュファイルの作成 ② Mesh_1 を 右クリック ③ Export -> MED fileを選択 ① Mesh_1の下にグループがで きていることを確認 36
メッシュファイルの保存 ① 作業フォルダ を開く ② ファイル名は 「Mesh_1.med」 ③ 保存する 37
作業の保存(Meshまで) ① File -> Save As... を開く 38
作業の保存(Meshまで) ② ファイル名は 「Study1_mesh1.hdf」 ① 作業フォルダ を開く ③ 保存する 39
解析条件データの作成 • AsterStudy を⽤いて新しい Stage を作成する • AsterStudy を⽤いてファイルのメッシュファ イルとバイナリ出⼒ファイルの割当を⾏う • AsterStudy を⽤いてコマンドファイルをゼロ から作成する • 解析を実⾏する 40
AsterStudyの起動 ① Asterモジュール を起動 41
新しいステージの作成 ① Operation -> Add Stage 42
メッシュの読込み(LIRE_MAILLAGE) ② Commands -> Mesh -> LIRE_MAILLAGE ① 現在のステージ を選択 43
メッシュファイルの読込み ② 作業フォルダ を開く ① メッシュファ イルを探す(...) ③ 保存してある Mesh_1.med を選ぶ ④ 開く 44
メッシュファイルの読込み ① フォーマットは バイナリ(med) ④ OK する ② 適⽤する ③ コマンドファイル の作成を確認 45
モデルの割当(AFFE_MODELE) ② Commands -> Mesh -> AFFE_MODELE 46
モデルの割当(AFFE_MODELE) ① AFFE(割当て) ② アイテムを プラスする ③ 編集する 47
モデルの割当(AFFE_MODELE) ① TOUT(=all) はOUI(=yes) ② PHENOMENE(現象)は MECANIQUE(⼒学) MODELISATION(モデル化)は BARRE(棒要素) ③ OK する 48
モデルの割当(AFFE_MODELE) ② コマンドファイル の作成を確認 ③ OK する ① 適⽤する 49
要素特性の設定(AFFE_CARA_ELEM) ② Commands -> Mesh -> AFFE_CARA_ELEM 50
要素特性の設定(AFFE_CARA_ELEM) ① 棒要素(BARRE) を選ぶ ② アイテムを プラスする ③ 編集する 51
要素特性の設定(AFFE_CARA_ELEM) ① 要素グループを 編集する 52
要素特性の設定(AFFE_CARA_ELEM) ① 線グループ 「Truss」を選ぶ ② OK する 53
要素特性の設定(AFFE_CARA_ELEM) ① SECTION(断⾯)は GENERAL(⼀般)を選ぶ ② CARA(特性)は A (⾯積)を選び,VALE (値)は 3.1416 mm2 ③ OK する 54
要素特性の設定(AFFE_CARA_ELEM) ② コマンドファイル の作成を確認 ③ OK する ① 適⽤する 55
境界条件の設定(AFFE_CHAR_MECA) ① Commands -> BC and Loads -> AFFE_CHAR_MECA 56
材料の定義(DEFI_MATERIAU) ① Commands -> Material -> DEFI_MATERIAU 57
材料の定義(DEFI_MATERIAU) ① ELAS(弾性特性) ② 編集する 58
材料の定義(DEFI_MATERIAU) ① E(ヤング率)= 200000 MPa NU(ポアソン⽐)= 0.3 ② OK する 59
材料の定義(DEFI_MATERIAU) ② コマンドファイル の作成を確認 ③ OK する ① 適⽤する 60
材料の割当(AFFE_MATERIAU) ① Commands -> Material -> DEFI_MATERIAU 61
材料の割当(AFFE_MATERIAU) ② アイテムを プラスする ① model に割当 ③ 編集する 62
材料の割当(AFFE_MATERIAU) ① TOUT(=all) を OUI(=yes) ② アイテムを プラスする ③ 既に定義されてい る mater を確認 ④ OK する 4 63
材料の割当(AFFE_MATERIAU) ② コマンドファイル の作成を確認 ③ OK する ① 適⽤する 64
荷重・境界条件の設定(AFFE_CHAR_MECA) ① Commands -> BC and Load -> AFFE_CHAR_MECA 65
変位拘束の設定(DDL_IMPO) ① コンセプト名 を「fix」にする ③ アイテムを4個 プラスする ② DDL_IMPO(変 位指定) ④ 編集する 66
変位拘束の設定(DDL_IMPO) ② 節点グループ を探す ③ 編集する ① 全⽅向拘束 DX = 0 DY = 0 DZ = 0 67
変位拘束の設定(DDL_IMPO) ① Fix を選ぶ ② OK する 68
変位拘束の設定(DDL_IMPO) ② OK する 69
変位拘束の設定(DDL_IMPO) ② 同様に, Load : DZ =0 Roller : DY = 0, DZ = 0 Top : DZ = 0 とする ② 編集する 70
変位拘束の設定(DDL_IMPO) ② コマンドファイル の作成を確認 ③ OK する ① 適⽤する 71
荷重・境界条件の設定(AFFE_CHAR_MECA) ① Commands -> BC and Load -> AFFE_CHAR_MECA 72
節点荷重の設定(FORCE_NODALE) ① コンセプト名 を「load」にする ③ アイテムを プラスする ② FORCE_NODALE (節点荷重) ④ 編集する 73
節点荷重の設定(FORCE_NODALE) ② 節点グループ を探す ③ 編集する ① y ⽅向に -1000 N 74
節点荷重の設定(FORCE_NODALE) ① Load を選ぶ ② OK する 75
節点荷重の設定(FORCE_NODALE) ① OK する 76
節点荷重の設定(FORCE_NODALE) ② コマンドファイル の作成を確認 ③ OK する ① 適⽤する 77
線形解析の設定(MECA_STATIC) ① Commands -> Analysis -> Static -> MECA_STATIC 78
線形解析の設定(MECA_STATIC) ① CHAM_MATER(材料の 場),CARA_ELEM(要素特 性),MODELE(モデル)を 既に定義してあるものにする ② EXCIT(活性 化 = 有効化) 2 ④ 編集する ③ アイテムを 2個プラスする 79
荷重・境界条件の有効化(EXCIT) ① 「fix」を選ぶ ② OK する 80
線形解析の設定(MECA_STATIC) ① 同様に「load」 を有効にする ③ コマンドファイル の作成を確認 ④ OK する ② 適⽤する 81
解析結果の後処理(CALC_CHAMP) ① Poast Processing -> CALC_CHAMP 82
解析結果の後処理(CALC_CHAMP) ① 後処理結果は解析と 同じコンセプト名を継承 ② CONTRAINTE(応⼒) のアイテムを増やし, SIEF_ELGA(積分点上の応 ⼒)を選ぶ 83
解析結果の後処理(CALC_CHAMP) ① 後処理結果は解析と 同じコンセプト名を継承 ② FORCE(荷重)のアイ テムを増やし, REAC_NODA(節点反 ⼒)を選ぶ ③ 適⽤する 84
解析結果の後処理(CALC_CHAMP) ① コマンドファイル の作成を確認 ② OK する 85
結果の印刷出⼒(IMPR_RESU) ① Output -> IMPR_RESU 86
結果の印刷出⼒(IMPR_RESU) ③ 作業フォルダ を開く ② ファイルを 探す(...) ④ファイル名は, Truss.rmed ⑤ 保存 87
結果の印刷出⼒(IMPR_RESU) ① RESU(結果)のアイテムを プラスする ② 編集する 88
結果の印刷出⼒(IMPR_RESU) ① 出⼒する結果は 「reslin」 ② TOUT_CHAM (すべての場)を OUI(= yes) ③ OK する 89
結果の印刷出⼒(IMPR_RESU) ② コマンドファイル の作成を確認 ③ OK する ① 適⽤する 90
結果の印刷出⼒(IMPR_RESU) ① Commands -> Output > IMPR_RESU(結果の印 刷出⼒)を開く 91
結果の印刷出⼒(IMPR_RESU) ③ 作業フォル ダを開く ② 「...」をクリックして 結果ファイルを探す ④ファイル名は, Truss.txt ⑤ 保存 ① フォーマットはテ キスト(RESULTAT) 92
結果の印刷出⼒(IMPR_RESU) ① RESUにアイテム を追加 ② 編集する 93
結果の印刷出⼒(IMPR_RESU) ① 出⼒するRESULTAT(結果) は result(CALC_CHAMP) ② NOM_CHAM(場の名前) を SIEF_ELGA,REAC_NODA, DEPL にする ③ 下にスク ロールする 94
結果の印刷出⼒(IMPR_RESU) ② 出⼒する要素グループ は「Truss」にする ① IMPR_COOR(座標の印 刷)を OUI(=yes)に ③ OK する 95
結果の印刷出⼒(IMPR_RESU) ② コマンドファイル の作成を確認 ③ OK する ① 適⽤する 96
コマンドファイルの保存 ① ステージ名を 右クリック ② コマンドファイルを エキスポート 97
コマンドファイルの保存 ① 作業フォルダ を開く ファイル名は Stage_1.comm ③ 保存 98
コマンドファイルの確認 DEBUT(LANG='FR') mesh = LIRE_MAILLAGE(FORMAT='MED', UNITE=2) model = AFFE_MODELE(AFFE=_F(MODELISATION='BARRE', PHENOMENE='MECANIQUE', TOUT='OUI'), MAILLAGE=mesh) elemprop = AFFE_CARA_ELEM(BARRE=_F(CARA='A', GROUP_MA=('Truss', ), SECTION='GENERALE', VALE=3.1416), MODELE=model) mater = DEFI_MATERIAU(ELAS=_F(E=200000.0, NU=0.3)) fieldmat = AFFE_MATERIAU(AFFE=_F(MATER=(mater, ), TOUT='OUI'), MODELE=model) fix = AFFE_CHAR_MECA(DDL_IMPO=(_F(DX=0.0, DY=0.0, DZ=0.0, GROUP_NO=('Fix', )), _F(DZ=0.0, GROUP_NO=('Load', )), _F(DY=0.0, DZ=0.0, GROUP_NO=('Roller', )), _F(DZ=0.0, GROUP_NO=('Top', ))), MODELE=model) load = AFFE_CHAR_MECA(FORCE_NODALE=_F(FY=-1000.0, GROUP_NO=('Load', )), MODELE=model) reslin = MECA_STATIQUE(CARA_ELEM=elemprop, CHAM_MATER=fieldmat, EXCIT=(_F(CHARGE=fix), _F(CHARGE=load)), MODELE=model) reslin = CALC_CHAMP(reuse=reslin, CONTRAINTE=('SIEF_ELGA', ), FORCE=('REAC_NODA', ), RESULTAT=reslin) IMPR_RESU(FORMAT='MED', RESU=_F(RESULTAT=reslin, TOUT_CHAM='OUI'), UNITE=3) IMPR_RESU(FORMAT='RESULTAT', RESU=_F(GROUP_MA=('Truss', ), IMPR_COOR='OUI', NOM_CHAM=('SIEF_ELGA', 'REAC_NODA', 'DEPL'), RESULTAT=reslin), UNITE=4) FIN() 99
解析ケース(Study)の保存 ① File -> Save As... を開く 100
解析ケース(Study)の保存 ① ファイル名はStudy1_aster1とする ② 保存 101
解析ケース(Study)の実⾏ ③ 解析ケースの追加 (緑⾊のプラス) ① 解析に使うメモリ, 上限時間を確認 ④ Run ② ⾃動更新5秒毎に 102
解析ケース(Study)の終了 ① 緑マークで解析成功 を確認 103
解析結果の確認と利⽤ • ParaVisを⽤いて,解析結果を可視化し,定 性的な妥当性を確認する • 解析結果のテキストファイル(*.txt)を開 き,結果を確認する 104
ParaVisの起動 ① Case View タブ を開く ② rmed ファイル を右クリック ③ ParaVis で開く 105
結果の読込み ③ 適⽤する ① 読込むデータに チェックを⼊れる ② ベクトルを ⽣成する 106
変形図の表⽰ ① Filters -> Common -> Warp By Vector を開く 107
変形図の表⽰ ② 適⽤する ③ 変形を確認 ① Vectors = result_DEPL_Vector Scale Factor = 100 108
変位の確認 ① result_DEPL から y ⽅ 向変位 DY を表⽰ ② 理論解との ⼀致を確認 109
結果テキストファイルの確認(SIEF_ELGA) ------> CHAMP PAR ELEMENT AUX POINTS DE GAUSS DE NOM SYMBOLIQUE SIEF_ELGA NUMERO D'ORDRE: 1 INST: 0.00000000000000E+00 M1 N 1 -5.77354503324478E+02 ① 要素ごとの軸⼒が M2 N 1 出⼒されている 1 2.88683602771363E+02 M3 N 1 5.77354503324477E+02 M4 N P 577.4 N 1 -5.77367205542725E+02 M5 N 3 1 5.77354503324477E+02 M6 N P 288.7 N 1 2.88683602771363E+02 M7 N 2 3 1 -5.77354503324477E+02 ※ この条件だと座屈 が先に⽣じる 110
結果テキストファイルの確認(REAC_NODA, DEPL) ① 反⼒ = 500 N CHAMP AUX NOEUDS DE NOM SYMBOLIQUE REAC_NODA NUMERO D'ORDRE: 1 INST: 0.00000000000000E+00 NOEUD X Y DX DY DZ N1 0.00000000000000E+00 0.00000000000000E+00 5.68434188608080E-14 5.00000000000000E+02 0.00000000000000E+00 N2 5.00000000000000E+01 8.66000000000000E+01 1.13686837721616E-13 -6.82121026329696E-13 0.00000000000000E+00 N3 1.00000000000000E+02 0.00000000000000E+00 1.13686837721616E-13 9.09494701772928E-13 0.00000000000000E+00 N4 1.50000000000000E+02 8.66000000000000E+01 -1.13686837721616E-13 -6.25277607468888E-13 0.00000000000000E+00 N5 2.00000000000000E+02 0.00000000000000E+00 -1.13686837721616E-13 5.00000000000000E+02 0.00000000000000E+00 ------> CHAMP AUX NOEUDS DE NOM SYMBOLIQUE DEPL NUMERO D'ORDRE: 1 INST: 0.00000000000000E+00 NOEUD X Y DX DY DZ N1 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 0.00000000000000E+00 N2 5.00000000000000E+01 8.66000000000000E+01 9.18906298610143E-02 -1.59156905400305E-01 0.00000000000000E+00 N3 1.00000000000000E+02 0.00000000000000E+00 4.59453149305072E-02 -2.91786492711402E-01 0.00000000000000E+00 N4 1.50000000000000E+02 8.66000000000000E+01 0.00000000000000E+00 -1.59156905400305E-01 0.00000000000000E+00 N5 2.00000000000000E+02 0.00000000000000E+00 9.18906298610143E-02 0.00000000000000E+00 0.00000000000000E+00 ① 最⼤変位 = -0.292 mm 111
まとめ • トラスの解析により,コマンドファイルの作成 を体験した • 解析結果のテキスト出⼒により,理論解との⽐ 較を⾏った 112