片持ち梁†
10mm*10mm*100mmの直方体の梁(ヤング率は木材ぐらい)を作って、一端を面拘束の固定端、他端(自由端)を載荷面にして荷重をかけ、たわみが\( \frac{P\ell^{3}}{3EI} \)とどれくらい合うか確認してみる。
- 幅方向:x , 載荷方向:y , 軸方向:z とした。
- geometryとmeshの説明はSalome-Meca2017の画面を使用しています(2020と同じのため)
- Asterstudyの画面は2020のものを使用しています.
「geometry」で形状作成†
- Salome-Mecaの起動:アプリケーション->教育・教養->salome_meca V2020/2021
- モデルの新規作成:SALOMEと書かれている上部プルダウンメニューからGeometryを選択->
「モジュールのアクティブ化」ウィンドウが現れるので「新規作成」を選択
- 新しいエンティティ->基本図形->ボックス->「ボックスの作成」ウィンドウが現れる
- Dx, Dy, Dzに寸法を入れる。単位は自分で決められるが、mm(長さ)-N(力)系にするのがいいだろう(ここでは例えば、10*10*100とする)。後藤の好みでは、梁軸がz, たわみ方向がyとか(この辺は好み)。->「適用して閉じる」
- オブジェクトブラウザーにBox_1(上でボックスにつけた名前)が現れる。
境界条件、荷重条件などを設定する箇所をグループ化†
- 目的とする物体(box1)を右クリックして、「create group(グループを作成)」
- 点(+), 線(/), 面(□), 立体(立方体マーク)のどれかにチェックをいれて、固定や載荷をするところを選択。固定端の面固定なら、面を選択。
- 後で何度もここを選択するので、名前の「Group_1」をfixとかkoteiとかの分かりやすい名前に書き換える
- 超重要:バージョンによる(Salome-Meca2013では)かもしれないが、名前は8文字以下にしないと原因不明のエラーが出る!!
- 確か、Salome-Meca2015~16ぐらいからは大丈夫になった。
- 固定したい面を選択するために、ボックスを回転させたり移動させたりする方法は、以下の「移動方法」を参照
移動方法†
- 回転は、玉に回転矢印の書いてあるところをクリックしてから、左クリックを押しながら回転させる
- あるいは、Cntlキーを押しながら右クリックを押しながらでも回転できる。
- 回転は、cntlと右クリックを押しながら動かす
- 並進移動は、cntlとスクロールボタンを押しながら動かす
- 拡大縮小は、ただスクロールする。あるいはcntlと右クリックを押しながら動かす
- 座標の原点側を固定端にするのであれば、回転させて固定端面を選択してクリック->選択された水色の外枠線が白に変わったのを確認して追加
- 「追加」すると「31」と数値が表示されるのを確認して(違う面を選択した場合は違う番号になる)->「適用して閉じる」
- そうすると、グループを作成されていないボックスの側面が消えてしまったりすることがあるが、その場合は、オブジェクトブラウザーのボックスの目玉マークをクリックすれば表示される
「mesh」で要素分割†
- オブジェクトブラウザーの(固定面や載荷線などを含んだ)ツリーの元(例えばBox_1)を選択してから「Geometry」が表示されている上部のプルダウンメニューをクリックして「Mesh」を選択する。
- 上部ツールバーの「メッシュ」->「メッシュを作成します」->「メッシュを作成」ウィンドウが現れる
- 名前はひとまずMesh_1でいい
- オブジェクトブラウザー内の選択したいボックス(Box_1)を選択すると、「メッシュを作成」ウィンドウのジオメトリに Box_1みたいに表示されることを確認。
四面体要素を使う場合†
曲面を含む立体をなめらかに要素分割する場合は、通常は四面体要素を使う。
長方形断面の梁の断面の応力分布を等間隔の方眼に可視化したいといった目的がある場合は、直方体要素を用いることもできる(後述)。
- 拘束線や載荷線を含めてメッシュ分割する場合は、Partitionを選択(単純梁の載荷線、拘束線などを作るとジオメトリがPartitionとなるが、Partitionが生成されていない場合は、ジオメトリにBox_1を選択すればよい)
- 詳細設定セットの割当->3D Automatic Tetrahedralization を選択
- 要素長設定ウィンドウ(Max Size)が出たら、ある程度の精度が必要な場合は長さ1を目安に設定し、「OK」->「適用して閉じる」
直方体要素を使う場合†
長方形断面の梁の断面の応力分布や変位等を等間隔の方眼に可視化したいといった目的がある場合の話(既に上記で四面体要素に分割している場合は不要)。
- 3Dアルゴリズム:Hexahedron(i,j,k)
- 詳細設定セットの割当から3D Automatic Hexahedralization を選択。
- セグメントの数を適当に(適切に)設定
- ↑の方法だと軸方向の分割数だけ荒くなってしまうので,予めGeometryで辺ごとにグループを作っておいて,MeshのSubmeshで辺ごとの分割数を指定するのがいい.それが面倒なら,直方体のLengthを各辺の約数にするとか.
- 適用して閉じる
メッシュを作成†
- 節点数や要素数などが計算されて、3D(ボリューム)とかの箱の中に、色々と数字が入っていれば、たぶん大丈夫。ノード以外の箱がほとんど0だったら、計算されてない。
「geometry」でグループ化したグループをメッシュに反映させる†
- オブジェクトブラウザーのMesh_1を右クリックし、「ジオメトリーのグループを作成」を選択
- 「ジオメトリからグループを作成」ウィンドウが開くので、オブジェクトブラウザーのBox_1で作った固定面や載荷面のグループ(kotei, saika)をクリックする(複数を1個ずつ選択する場合はcntlキーを押しながら。最初のグループを選択した後、最後のグループをshftキーで選択すれば、すべてまとめて選択できる)
- ジオメトリにkoteiとsaikaが追加されたのを確認->適用して閉じる
- オブジェクトブラウザーのMesh_1のツリーにkoteiとsaikaの「Groups of Faces」が追加されたことを確認。
以下は落ち穂拾い†
- ビューアーのタブで、geometry表示でない?方の「VTK scene:1 - viewer:1」みたいなもう一つのタブを開くとメッシュ分割が表示されている。
- デフォルトは、ノード表示で点々しか表示されないので、物体を右クリックして、表示モードを「網かけ」とかにすると物体表面のメッシュが表示される。
- ちなみに、メッシュ分割後も右クリックで「create group」できる。
- AsterStudyへ行く前にGeometryで作った固定面、載荷面などを「ジオメトリのグループを作成」などでグループ化しておく。
- 要素かノードか(要素の方が、面載荷などはやりやすい)
- 固定面、載荷面など複数の面をグループ化する場合は、Cntlを押しながら、左のウィンドウから選択
- meshを右クリックして、「convert to quadratic」をクリックし、applyすると、(中間節点を設けた)2次要素になるので粗いメッシュでも精度がよくなる。
- Salome_Meca2023では、Mesh_1で右クリックし、NETGEN 3D Parameters の右の歯車に鉛筆の設定編集のアイコンをクリックすると、NETGEN 3Dのウィンドウが開くので、引数の下の方の「2次要素」にチェックを入れてOK
- AsterStudyのアイコンをクリックしてAsterStudyを立ち上げる。
- プルダウンメニューからAsterStudyを選んでもよい
- 右側のEdit comandウィンドウでは、最低限入力が必要なところには赤字で*が付いている。
- 何かおかしな設定をしていたら、文字が赤く表示される。
- 「適用」あるいは「OK」すると、左側下のInformationウィンドウにcommファイルに書かれる内容が表示される。
- 後から設定を編集し直したいときは、"Data Settings"にある直したい項目をダブルクリックする。
- 右の"?"を押すと公式ドキュメントが開かれる。ただし、フランス語で書かれているので、URLの …/fr/… を …/en/… にすると英語版になって読みやすいかも。
入力ファイルを作る†
- ツールバーの右上の方にあるAdd stage("{}+"こんなマーク)をクリック。すると、Data SettingsにStage_1が追加される。
- 以下の作業では、左側のData Settingsウィンドウ内のStage_1を選択したまま、ツールバーの"メッシュ△▽"みたいなのをクリックする。Stage_1を選択していないと、"△▽"は押せない。
各種設定の手順†
AsterStudy上部にならんでいる、「メッシュ」「Model Definition」「Material」のプルダウンメニューを順番に選択し、それぞれの項目について、以下の手順で設定していく。
- UNITE->Mesh_1(Meshで作ったもの)
- FORMAT->Med
- 20='0:1:2:4'の意味はよくわからない(違う数字になる場合もある)
- OKをクリックすると、左側のData Settingウィンドウにmesh LIRE_MAILLAGEができる。設定内容は、下のinformationウィンドウに表示される。
- Model Definition -> AFFE_MODELE
- メッシュ : mesh(LIRE_MAILLAGE で付けた名前)が自動的に選ばれる(ちなみに、LIRE MAILLAGEはRead a meshのフランス語)
- At Least One -> AFFE にチェック
- "0 items +"の+をクリックすると、"1 item"に変わり、
- Exactly One : TOUT : OUI (1材料なら)
- toutは全部、ouiは「はい」の意味
- (2材料以上なら):GROUP_MA -> Edit -> …
- PHENOMENE -> MECANIQUEを選択すると、
- "0 items +"が現れるので、"+"のところをクリックすると、"1 item +"に変わり、その下に空欄と▽プルダウンが現れるので、▽プルダウンをクリックすると、プルダウンメニューが現れるので3D (立体要素なら)を選択
- Salome-Meca2023だと1 itemは現れずにModelisationの右の空欄に2Dや3Dを選べる状態なので、そこで3Dを選ぶ
- OKをクリックすると、プルダウンが消えて"At Least One"の画面に戻るので、もう1回OKをクリックすると
- 左側のData Settingsに"model"が追加される。それを選択状態にして,
- Material -> DEFI_MATERIAU
- ELAS にチェック(線形弾性体なら) -> Edit...
- E : ヤング率を入力
- NU : ポアソン比を入力
「OK」で閉じる。
- Material -> AFFE_MATERIAU
- At Least One : MODELE にチェック -> model(AFFE_MODELE)
- TOUT : OUI (1材料なら)
- MATER -> "+" -> mater(DEFI_MATERIAL)
「OK」で全て閉じる。
- BC and Load -> AFFE_CHAR_MECA
- At Least One : DDL_IMPO -> "+" -> Edit...
- At Least One : GROUP_MA -> Edit... -> kotei (Geometryで付けた固定端のグループ名) -> 「OK」
- At Least One : DX・DY・DZにチェックを入れ、0を入力する。
- At Least One : FORCE_FACE (面載荷なら) -> "+" -> Edit...
- At Least One : GROUP_MA -> Edit... -> saika (Geometryで付けた載荷面のグループ名)
- At Least One : FY(載荷方向)にチェックを入れ、\( \frac{任意の荷重(ここでは100N)}{載荷面の面積} \)の値を入力する。
- FORCE_ARETE(線載荷)の場合は載荷線の長さで割る。
- MODELE : model(AFFE_MODELE)
- Analysis -> MECA_STATIQUE
- At Least One : CHA<_MATER : fieldmat(AFFE_MATERIAU)
- MODELE : model(AFFE_MODELE)
- EXCIT -> "+" -> Edit...
- CHARGE : load(AFFE_CHAR_MECA)
- Post Processing -> CALC_CHAMP
- RESALTAT : reslin(MECA_STATIQUE) (Static mechanical analysis で付けた名前)Salome-Meca2019では、以下3項目が書かれている箱の下
- CONTRAINTE -> "+" -> "▽" -> SIGM_NOEU (節点の応力(6成分))
- DEFORMATION -> "+" -> "▽" -> EPSI_NOEU (節点のひずみ)
- CRETERES -> "+" -> "▽" -> SIEQ_NOEU (節点の応力(ミーゼス応力や主応力など))
- ちなみにNOEUは節点(NOEUd(フランス語))、ELGAはガウスの積分点(ELement GAuss point)、ELNOは要素(のどこか?)(ELement Node)だとかで、ParaVisでコンター図を描きたいときは Point Data であるNOEUを出力する必要がある。ELGAやELNOは、ParaVis上でSpredSheetViewを開き、Field Data や Cell Data を選択すれば値が見れる。
- UNITE : 計算結果のファイル名(.med)と保存場所を指定する。
- '▽△' みたいなところではなく、右の '...'のところ
- FORMAT : Med (ParaVisで結果を見るのなら)
- At Least One : RESULTAT : reslin(MECA_STATIQUE) にチェックを入れると,NOM_CHAMが現れる(チェックを入れないときのNOM_CMPと間違わないように)
- NOM_CHAM にチェック -> "+" -> "▽" -> DEPL (節点変位)
- 一旦OKを押し、"Result file location"のFormatとResultsにチェックされたウィンドウに戻る。そこで、Resultsの1 itemになってるところをの+をクリックして2 itemsにして、以下の操作。
- Results -> "+" -> Edit...
- At Least One : RESULTAT : unnamed(CALC_CHAMP) (CALC_CHAMP で付けた名前)
- (以下は3itemsにするということかな?後藤)(そうです。「欲しい数だけ」itemsです。近藤)
- NOM_CHAM にチェック -> "+" -> "▽" -> EPSI_NOEU (節点のひずみ)
- NOM_CHAM にチェック -> "+" -> "▽" -> SIEQ_NOEU (節点の応力(ミーゼスや主応力など))
- NOM_CHAM にチェック -> "+" -> "▽" -> SIGM_NOEU (節点の応力(6成分))
- この通りに作ると、commファイルがこんな風になる。
計算を実行する†
- History View
- Case_1を選択 -> □Stage_1 をクリック -> |>Run
- Basic -> Memory : メモリに余裕があるのなら上げる(というか、要素数によっては上げないと計算できない)
- Basic -> Time : 計算が長くかかりそうなら上げる
- Run
- 計算が上手くいくと計算中に回転している砂時計が緑色、駄目だと赤色や黄色の○に変わる。
- 結果の一部は見られる(緑色になる)けど、何か致命的とまでは言えない間違い(警告)があるときは、logにこんなふう↓に書かれる。(正常なら"Success"のあとに"+Warn"は書かれない。)
Stage "RunCase_1:Stage_1" calculation succeeded with state Success+Warn
- エラーや警告のメッセージ等は、LogをConsoleにするかShow message file を開くと見れる。ちなみに、エラーは"!"で括って書かれる.
Salome-Meca2019では、砂時計の回転が現れて、すぐ終わる計算がしばらく終わらないようなときは、
右下の Output と Messages のタブを切り替えて見ると、既に計算が終わっていたりする。
↑
Auto Refresh が no になっているため。 5s とかにすれば、Show message file が自動で更新される。
荷重条件等を変更して再計算する場合†
既に計算できているモデルの荷重条件や境界条件等をAsterStudyで、修正する場合、
CaseView -> Data Settings の中の例えば、BC and Load の {}loadとかを右クリックして、Editを選択すれば、右側に設定ウィンドウが出てくるので、そこで、荷重等の修正を行う。それをOKで保存する。
その際、最初の{}loadの設定を削除せずに、新しい設定を作ると、たぶん、{}load0みたいな新しい名前の設定になるのではないかと思うが、そうすると、Data Settingsのウィンドウで赤くなっているところ、例えば、AnalysisのreslinのCHARGE=loadになっているところもload0に変更するといった修正が必要になる。
(おまけ1)2次要素への変え方†
ここまでの解析は1次要素で行っていたので、次は2次要素で解析を行う。
2次要素に変更すると,1次要素の解析結果(要素数や解析時間といった解析過程も?)と比較して,何がどう変わるか確認してみよう。
変え方は2種類ある。
1つめは,Meshの最大/最小サイズの設定画面に行き、2次要素にチェックを入れる。この方法は,メッシュを切り直したり,メッシュ長さを再度変更する場合に用いる。
2つめは,すでに作成しているメッシュ(Mesh_1)をマウス右クリックし,2次/1次要素への変換を選択する方法.メッシュ長さそのままで,2次要素に変えるときはこちらの方法が便利。
(おまけ2)異方性の適用方法†
異方性とは向きによって材料の性質が変わることであり,木材は異方性材料の1つである。(鋼材は等方性材料)
設定方法は以下のとおり。(サンドイッチ梁の説明を引用.一部,文章の変更あり.)
- 上のメニューの「Material」から「DEFI_MATERIAU」を選択
- 「ELAS」から「ELAS_ORTH」に変更する(xyzの方向で材料特性が違う場合これを選択)
- E_N=6000(E:ヤング率)
- E_L,E_T=250(軸方向ヤング率の1/25)
- NU_LT,NU_LN,NU_TN=0.016(NU:ポアソン比 軸方向ポアソン比を0.4と想定→ここに入力するのは軸方向ポアソン比の1/25のため0.016)
- G_LT,G_LN,G_TN=400(G:せん断弾性係数 ここでは軸方向ヤング率の1/15とする)
- 補足:木材は繊維方向と繊維直交方向で材料特性が違う(異方性材料)のため、このような設定になる。
- ここでは軸方向ヤング率×1/25=軸直交方向ヤング率としています。