#author("2024-04-05T15:58:37+09:00","default:kouzouken","kouzouken") #contents Salome-Mecaのビーム要素に関するページを作成しました。~ 何か分かったこととかあればこちらに書き込んで共有してくれると嬉しいです。~ *ビーム要素とは [#z866693c] ビーム要素とは点と点を線で結ぶ要素である.ソリッドやシェル要素と違い,要素数やmesh分割数が少ないため,短い時間で解析できるという利点がある.~ ..とは言っても,余程簡単なモデルでもない限り,静的解析以外の解析は数分で終わることはないです(^^;)~ *現在の課題 [#q683524a] -非線形絡みの問題~ 非線形には材料非線形、幾何学的非線形、境界非線形の3種類存在する.([[詳細はこちら:https://www.terrabyte.co.jp/discover/index.php/2019/05/31/post-634/]])~ 今は弾性域内(線形で片付く範囲)でしか解析してない。一応、ビーム要素で弾塑性解析はある程度できるようになっているが、問題点は色々ある。~ -橋梁モデルを作れるのか~ 簡易モデル(作成方法は後述)をSalome-Mecaで作成することはできた。しかし、これまで先輩方がMarc_mentatという解析ソフトで作成していた橋モデルをSalomeで作れるかはまだ分からない。(これは修士で自分がやる。)~ 後、これは自分がふと思ったことだけど、ビーム要素で座屈解析ってできるのかな?(振動解析はできるらしい。)~ 時間あるときにやってみるか...。(他の人がやってもOKです。できたら教えてください。) *モデルの作成方法 [#p87c41f5] 100mm✕10mm✕10mmモデルを対象に説明します.(これまで先輩方のビーム要素モデルを見るとモデル軸方向をxにとっていたため,それに従い説明します.) ・Geometry~ (1)ポイント(0,0,0)(100,0,0)を作成する. (2)線(ポイントの右隣にあるアイコンをクリック)を作成する.下の写真のように(1)で作成したポイント同士を繋ぐ. http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/chiyooka/makeline.png (3)ビーム断面を作成する.これはAsterstudyでビームモデルに断面を適用するのに必要な作業なので,忘れずに行うこと!~ 長方形断面を作成する場合は画面上部にある長方形マーク(長方形フェースを作成)をクリックする.~ http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/chiyooka/maketyouhou.png 円形断面を作成する場合は長方形マークの右隣の楕円マーク(円盤の作成)をクリックする.~ http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/chiyooka/makecircle.png 方向はモデル軸方向をxにとっているため,OXYにする.そうしないと,Asterstudyでビームに断面を適用することができない.~ (構造研スタイルと同じようにモデル軸方向をzにした場合,方向をOYZにすれば断面適用ができると思うが...試してないので不明.) ・Mesh~ (1) *解析手法等 [#x988d31e] 一部,千代岡の卒論日誌から引用し,編集したものを載せています. **ピン接合の再現方法(バネ要素の設定法) [#v79955b7] Marcでは.梁ピン接合という設定で再現できるが,Salomeではバネ要素を用いた線で再現できる。(AFFE_MODELEでDIS_TRを設定し,AFFE_CARA_ELEMのDISCRETでK_TR_D_L,M_TR_D_Lを選択する.)~ 部材と部材の距離はできる限り短くする。(下の写真のモデルのバネ要素の線は0.1mmにしている。) DISCRETのK_TR_D_Lの設定画面~ http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/chiyooka/pinset.png VALE[0],[1],[2]は変位に対する剛性(0,1,2の順にx,y,z方向を示す.), [3],[4],[5]は回転に対する剛性(3,4,5の順にDRX,DRY,DRZを示す.)~ 回転に対する剛性を緩め、変位に対する剛性を高めることでピン接合の再現ができる。~ REPEREはGLOBAL(グローバル座標)でよい。 DISCRETのM_TR_D_Lの設定画面~ http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/chiyooka/M_TR_D_L2.png VALE[0]〜[4]は質量行列に与える値です。質量行列を0にしないと解析エラーが出るため,ここでは全ての値を0にする。 説明書に書かれていた内容を日本語訳 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/chiyooka/jM_TR_D_L.png **ビーム断面の適用方法 [#g75f9b28] 1D要素で弾塑性解析を始めとした材料非線形の解析を行う場合は、POU_D_EM, POU_D_TGMを用いる必要があり、これらの要素にはビーム断面を作成してビームモデルに適用する必要がある。~ (1)DEFI_GEOM_FIBER~ まず、このコマンドを使う前にビーム要素の断面として使う断面モデルをGeometryで作成、Meshを切り、LIRE_MAILAGEで適用すること。~ SECTIONは断面定義、FIBREは断面の穴あき部分を定義する?(例えば、鉄筋コンクリートの断面モデルを作成する際、鉄筋を入れるところはcutして空白部分をつくり、そこをFIBREで当てはめていた。)~ ビーム断面が厚肉断面もしくは空白部分に何も入れる必要がなければ、SECTIONだけでよい。~ TOUT_SECTはビーム要素に作成した平面モデルを全て適用したい場合にチェックをいれる。~ GROUP_FIBERは好きな名前をつけてよい。~ MAILAGE_SECTはLIRE_MAILAGEで適用した平面モデルを選択。~ COOR_AXE_POUTREとANGLEは0でよい。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2022/chiyooka/DEFI_GEOM_FIBER.png (2)AFFE_CARA_ELEM~ GEOM_FIBREが適用されていることを確認して、MULTIFIBREの選択。GROUP_MAは自分のつくったビーム要素を選択し、GROUP_FIBREは(1)で設定した名前と同じ名前を記入。後はAFFE_MODELEで適用した設定に合うコマンド(POUTREなど)を設定すること。(例:MULTIFIBRE+POUTRE)~ (ただし、AFFE_MODELEで_*Mと書いてあるキーワードを設定すること。詳細はAFFE_MODELE(1)参照) (3)DEFI_COMPOR~ ここでは断面の材料特性と状態(弾塑性を入れるとか)を定義する。~ このコマンドは画面上の{a}+の横にある{}+(Show All Commands)をクリックして、DEFI_COMPORと検索すると出てくる。~ スクロールして探すなら、Otherの欄にあるので、それを選択してクリック http://www.str.ce.akita-u.ac.jp/~gotouhan/j2022/chiyooka/addcommands.png 適用すると、下図のような画面が現れるが、GEOM_FIBREはDEFI_GEOM_FIBERを適用する場所、MATER_SECTは断面に定義する材料特性である。~ http://www.str.ce.akita-u.ac.jp/~gotouhan/j2022/chiyooka/COMPOR1.png MULTIFIBREを選択したら、GROUP_FIBREは(1)と同じ名前,materはDEFI_MATERIAUで設定したものを適用、RELATION(構成則)は弾塑性(VMIS_ISOT_とか)などを入れることができるので、自分が入れたいものを選択する。(STAT_NON_LINEのCOMPORMENTで設定するRELATIONはMULTIFIBREにすること。)~ 最後に、DEFI_COMPORをAFFE_MATERIAUのAFFE_COMPORで適用するのを忘れずに行うこと。~ http://www.str.ce.akita-u.ac.jp/~gotouhan/j2022/chiyooka/COMPOR2.png **動的応答解析のやり方 [#t4e8361f] ・注意点~ (1)DEFI_FONCTIONとAFFE_CHAR_MECAは、Pre Analysis・Analysis用とPostprocessing用に分けること。また、名前も変えるのも忘れないように。~ (2)DISCRETに質量マトリクスを用意しておくこと。DISCRETには質量を入れられないので、M_TR_D_LにVALE0を入れる。これでDISCRETの質量マトリクス計算を無視することができる。~ この設定をしないと、ASSEMBLAGEでバネ要素に質量マトリクスを定義しようとするので、エラーがでる。~ [[詳しくはこちらを参照:https://code-aster.org/forum2/viewtopic.php?id=15143]]~ http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/chiyooka/M_TR_D_L.png (3)DYNA_VIBRAとCALC_CHAMPの名前は同じにすること。(同じ名前にしないと、何故かエラーが出る。理由は不明。)~ (4)CALC_CHAMPのEXCITにDYNA_LINEで設定したCHARGEの分だけ入れること。(ちなみに、DYNA_NON_LINEではこの作業は必要ない。)~ 設定方法~ [1]Pre analysisのASSEMBLAGEを選択~ ・ここでやること~ ①NUME_DDLは{}押し、nddlと入力。~ ②MATR_ASSEで質量マトリクスと剛性マトリクスを定義する。(質量マトリクスはMASS_MECA,剛性マトリクスはRIGI_MECAを選択。MATRICEは好きな名前でOK.)~ ③CHARGEはAFFE_CHAR_MECAで適用した境界条件分だけ追加する。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/chiyooka/ASSEMBLAGE.png http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/chiyooka/MATR_ASSE.png [2]DYNA_NON_LINE~ ここで弾塑性を入れた動的解析ができると思われるが、そのあたりの設定をまだ把握してないので、分かり次第追記します。~ ・最低限やること ①SCHEMA TEMPSでNEWMARK,FORMULATIONをDEPLACEMENT(変位),β=0.25,γ=0.50と設定する。(ニューマークβ法の設定)~ ちなみに,[[説明書:http://dugi6514.odns.fr/doc/v15/en/man_u/u4/u4.53.01.pdf]]の12ページを見ると,ニューマークは時間積分を行なっているとのこと。~ 更に詳しく調べると,これは直接積分法(正確には直接時間積分法)の陰解法と呼ばれているらしい。~ (Marcもニューマークβ法を用いて連鎖崩壊に関する解析をしていたので,名称はこれで間違っていないはず。)~ [[参考サイト:http://jikosoftcom.blog25.fc2.com/blog-entry-962.html]] ②INCREMENTはDEFI_LIST_INSTで設定したものを選ぶ。~ ③EXCITにAFFE_CHAR_MECAで作成した数だけ設定する。載荷条件にはDEFI_FONCTIONで作成したテーブルを適用するのを忘れずに~ ビーム要素なら、CARA_ELEMにチェックを入れること。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/chiyooka/1DYNA_NON_LINE.png [3]Post ProcessingのCALC_CHAMPを選択 ・ここでやること~ ①CALC_CHAMPの名前をDYNA_NON_LINEと同じ名前にすること!これをしないと、何故かエラーが出る!~ ②EXCITにAFFE_CHAR_MECAで適用した境界条件分だけ追加する。~ **PRE_EPSIについて [#c71fb860] [[PRE_EPSIの説明書:http://dugi6514.odns.fr/doc/v15/en/man_u/u4/u4.44.01.pdf]] 51,52ページ参照 モデルをひずみを用いて変形させることができるコマンドである。~ 1Dモデル(Multifiber要素も含む)ではEPX(梁のローカル軸に応じた伸びの要素別定数値),3DモデルではEPXX,YY,ZZ,XY,XZ,YZに値を入れる。~ (ky,kzはたわみの微分方程式から得られるdθ/dx = -M/EI の値を入力する。使う必要があるなら入力する。ちなみに、式を見ると、kyは-dθ/dx,kzはdθ/dx とのこと。)~ X,Y,Zの軸の向きはグローバル座標(salome画面の色がついてる座標)にあたるもので、正の値を入力すると伸び、負の値だと縮む。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/chiyooka/PRE_EPSI.png 単純梁モデル(10✕10✕120mm)にEPXX:0.01を与えると、以下の挙動が得られた。(Scalefactorは10倍にした。)~ http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/chiyooka/PRE_EPSI2.png 線に色がついてるところが変形前のモデルの端であり、写真を見るとモデルが伸びていることが分かる。 ・簡易モデルに用いた際に分かったこと~ 現在、ケーブルにPRE_EPSIを入れており、縮む挙動(ケーブルが桁を引っ張るようにする)をみる場合、ひずみの値に-をつける必要があるが、それだと応力がマイナスの値が出てしまう。(σ=Eεよりεがマイナスの値を与えているため)~ その理由について考えてみたが、要素を構成している節点にモデルを縮ませるような負荷を与えるように力を与えており、その内力(抵抗力)を応力としてSalomeが計算しているのではないかと推測した。(説明書に変形の負荷と書いてあるので、与えたひずみになるような外力をPRE_EPSIの設定をしたモデルに掛けているのでは?)~ http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/chiyooka/PRE_EPSIyaku.png ↑PRE_EPSIの意味 日本語に訳すと要素に変形の負荷を与えるみたい。ちなみに、文字化けしているところはεが入っている。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/chiyooka/PRE_EPSIrei.png ↑簡単な例 PRE_EPSIで与えたひずみになるような外力をかけて、青い矢印(内力)の向きの応力を見ている可能性がある。 **軸力の見方 [#df51b2bf] 軸力はEFGE_ELNOの[N]で見る事ができることが分かった。Nは法線方向の力を意味している。(Marcだとbeam axial forceで軸力を見ることができ、その値とほぼ一致したので恐らくこれであっていると思われる。)~ 見る方法だが、medファイルをParaViSで閲覧し、フィルター→mechanic→ELNOfieldToSurfaceを選択すればOK。~ [[参考資料:http://dugi6514.odns.fr/doc/v15/en/man_u/u2/u2.01.05.pdf]~ ↑Salomeで出力される力やひずみなどについて詳しく書かれている。 *Asterstudyの設定 [#v5d6ac41] ・AFFE_MODELEとAFFE_CARA_ELEMの対応コマンド~ AFFE_MODELEで設定したmodelisationはAFFE_CARA_ELEMのコマンドに適用できるものを選ばないとエラーがでる。~ 対応しているものを以下にまとめたので、参考にしてください。 POUTRE:POU_D_E, POU_D_T, POU_D_TG, POU_D_T_GD, FLUI_STRU, TUYAU_3M,TUYAU_6M, POU_D_EM, POU_D_TGM~ BARRE:BAR, CABLE_GAINE~ CABLE:CABLE, CABLE_POULIE~ COQUE:COQUE_AXIS, COQUE_C_PLAN, COQUE_D_PLAN, DKT, DST, DKQ, DSQ,Q4G, COQUE_3D, DKTG, Q4GG~ DISCRETE:DIS_T, DIS_TR~ DISCRETE_2D:2D_DIS_T, 2D_DIS_TR~ MULTI_FIBRE:POU_D_EM, POU_D_TGM~ →梁の種類によって、選択するものが異なる。自分がこれまで使ったものをこちらにまとめた。~ ・真っ直ぐな梁:POU_D_E(オイラー[Euler]梁), POU_D_T(ティモシェンコ[Timoshenko]梁)~ ・マルチファイバーの梁(鉄筋コンクリートや非線形材料の解析に使う。)POU_D_*M [*にはEやGなどが入る]~ ・棒(鉄筋とか断面が円のもの?) 2D_BARRE, BARRE 引張と圧縮応力が見れる~ ・ケーブル CABLE 引張荷重 (引張だけ出せるが、斜張橋などのケーブルのような挙動ではなく、コンクリートのプレストレスなどを再現するのに使われるコマンド)~ ・DIS_T,DIS_TR 離散要素(バネ要素) T[Translation]は変位,R[Rotation]は回転を示す. *参考資料 [#mb640bf5] [[code-asterの説明書:http://dugi6514.odns.fr/doc/v15/en/index.php?man=commande]] (英語,フランス語で書かれているので翻訳サイトを使って読んでください.)~ [[Beginning with code_aster:https://archives.framabook.org/docs/Code_Aster/beginning_with_code_aster-jp_aubry-20190129.pdf]](code-asterに関する質問ができるページがあるが,ビーム要素絡みの質問があると,このページを参考にしてと言う人がまあまあいます。)~ [[code-aster質問ページ:https://forum.code-aster.org/public/]](説明書読んでも分からなかったら,このページで調べてみるといいかも.ただし,英語でキーワード等を入力する必要があります。)~