Salomeの基本的な使い方

卒論の4年生、創造工房の3年生は、ここにSalomeの基本的な使い方を どんどんメモしていって下さい。

Salome-Mecaチュートリアル

code-aster 説明書

(2024/2/22)code-asterのサイトのURLがいつの間にか変わっていたので、新しいものをこちらに載せました.

code-asterの説明書 (英語,フランス語で書かれているので翻訳サイトを使って読んでください.)
code-aster質問ページ(説明書読んでも分からなかったら,このページで調べてみるといいかも.ただし,英語でキーワード等を入力する必要があります。)
code-asterによる解析 step-by-step(Asterstudyでのプログラムの組み方の流れが書かれています.)
構造要素の概要 (1D,2D要素の説明,3D要素以外の要素を使う方は一度読んでみてください.)

公式ページの検証問題をトレースする

Code_Asterは非常に多くの問題を検証し、公開していますが、 これを再現するのにこの説明ではあまりに不親切では…… と思っていたら、Aster Study -> Operations -> Import a testcase でここにある)難しい問題でも簡単に再現できるようです(確認済み)。

Salome-Mecaを単体でインストール

 新しいPCにCAELinuxをインストールすると、SalomeのGeometryで線や点がちゃんと表示されない。なので、Salome-Mecaを試しに単体でインストールしてみた。

インストール

Windows版

Windows版が出ていたようです。 面白いことにAbaqusやNastranの形式も読み込めるとか。

Salome-Meca2019

Salome-Meca2018

2018/07/13リリース。アイコンが一新されたが、操作方法は2017と比べてそれほど変わらないみたい。

起動時のエラー

グラフィックカードとlibstdc++の相性によって起動しないことがあるらしい。この時、

LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 ~/salome_meca/appli_V2018/salome

というふうにして毎回端末から起動するか、あるいはそれが手間であれば

cd ~/salome_meca/V2018/prerequisites/debianForSalome/lib
mkdir kari
mv libstdc++* kari

として、原因のファイルをどけてやれば、アイコンからでも問題なく起動するSalomeメモの片持ち梁で動作確認済み)。

Salome-Meca2017について

unicode decode error

日本語環境のUbuntuで計算を実行しようとすると&link(この人(オープンCAE勉強会の人),https://twitter.com/mmer547/status/903788754506309632)と同じエラーが発生する。どうやら自動でlogの名前に実行日時が書き込まれるのだが、グルー言語としてPython2.7(Python2系はデフォルトではutf-8に対応していない)が使われているため、実行日時の曜日が日本語であることによってエラーが出るらしい。

Salome-Meca2016について

Salome-Meca2015.2について

Salomeの日本語化

DEXCSのSalomeについて

インポート

 FreeCADとSalomeを使って、調査してみる。

STEPおよびBREP

 充実立体として、そのままSalomeにインポートして、計算にかけられるので一番取り扱いしやすそうな形式。しかし、AUTOCADからはエクスポートできない。

IGES

 &link(AUTOCADからエクスポートできる形式,http://docs.autodesk.com/ACD/2014/JPN/index.html?url=files/GUID-81A5EE76-39A7-40A4-A5C5-E4921C03B33A.htm,topicNumber=d30e317617)。ほとんどの場合、表面の情報しか持っていないようなので、そのままでは数値計算できない。Salomeにインポートした後に、次の作業が必要。

stl

 3Dプリンター関係で使用する形式。表面の情報しか持っていないし、そのままSalomeのGeometryにインポートすることはできない(Meshにはインポートできるけど、ShellにもSolidにもなっていないので、全く役に立たない)。Salomeにインポートするには以下のようにFreeCADを経由する必要がある。

FreeCAD

Salome

stl(追記)

Salome-Meca2016になってから、FreeCADを経由しなくても、次のようにすれば充実立体に変換して、メッシュを切って、計算できるようになった。

とはいえ、stlはすべての面を三角形で形作っているので、面の選択が非常に大変(一つの面を選択したいだけなのに、沢山の細かな三角形を一個一個選択しなければならない)なため、今までどおりFreeCADを経由した方が楽そう。

salome-mecaにスクリプトを使って節点座標をインポートする。

 インポートしたらダミー文字を座標の前や後に入れてあげる。それは写真で示している感じ。 ダミー文字列は

,AA, P
,BB, =geompy.MakeVertex(
,CC,,
,DD,,
,EE, )

になる 上記の文字列を写真のように入れたら、csvファイルで保存する。 csvファイルで保存したら今度はテキストエディターで開く。その後ダミー文字列を置換する。

表示スクリプトの作成

Lbre ofice等の表計算ツールで作成する。以下の写真のようになる。

スクリプトを統括する

salome.salome_init() theStudy = salome.myStudy

import GEOM import geompy import math import SALOMEDS

geompy.init_geom(theStudy)

それであとは作ったものを貼り付ければ良い。

salome-meca にスクリプトでインポート

salome-meca を開いてファイルからスプリクトを読み込むを選択 > あとはファイルを選択すればいい。

salome user's guide

salomeの3Dモデル作成手順

salomeの基本操作

モデル作成に関して(特に複雑なモデルを作成する方へ)

点から(中身が詰まっていない)直方体を作る

Salome-Meca2019で4点から面を作る。

面から(中身が詰まっている)直方体を作る

中身が詰まった三角錐を作る

物体を切り抜いて孔を空ける

geometryで部材に色を付ける。

体積を求める

後藤メモ(2014/11/6)

直方体は割と正確に(有効数字10桁以上)出るけど、球や円錐は有効数字1桁しか出ない(メッシュを細かくしても)。曲面のない角柱や角錐はどうでしょう? 誰か、調査して下さい。

後藤メモ(2014/11/7) 昨夜、自宅のマシンで計算してみたら、精度が悪かったのだが、大学のマシンでメッシュを細かくしてみたら、球でも有効数字3桁ぐらいの精度が出た。 昨晩、家で計算したときは円錐の体積が\( \pi \)になるようにと思って、 半径を100, 高さを333.3333とかと入れたのだけど、3で割るんだから高さは300にすべきですね。それで精度が悪いと思い込んでおりました。 昨夜は、酒もあんまり飲んでなかったはずなので(ビール200\( \sim \)300m\( \ell \))、 ちょっとぼけてきたのかもしれません。

追記(2014/12/16) SalomeのGeometry操作中に求めたいオブジェクトを選択してMeasuresからBasicPropertiesをクリックすれば体積が求まりました。球の体積も有効数字8桁ぐらいの精度が出ました。 追記(2016/10/21) メッシュの体積も求めることができます

物体の色を変更する

物体を木材などの色に変更したいとき

Colorが出ない人は……

色を物体ごとに変えたい時

2つの画面で物体を見比べるには

例えば、Mesh_1とMesh_2を見比べたり、Post-Proの結果を見比べたいとき

2材料の場合(Aster Study)

2材料を解くためsalomeでグルーピングするには

材料が2つのとき

http://www.str.ce.akita-u.ac.jp/~gotouhan/salome/gazou/s30a_model.png

http://www.str.ce.akita-u.ac.jp/~gotouhan/salome/gazou/s31edit.png

http://www.str.ce.akita-u.ac.jp/~gotouhan/salome/gazou/s32pheno.png

http://www.str.ce.akita-u.ac.jp/~gotouhan/salome/gazou/s33items.png

http://www.str.ce.akita-u.ac.jp/~gotouhan/salome/gazou/s34item.png

http://www.str.ce.akita-u.ac.jp/~gotouhan/salome/gazou/s35_3d.png

http://www.str.ce.akita-u.ac.jp/~gotouhan/salome/gazou/s36mesh.png

http://www.str.ce.akita-u.ac.jp/~gotouhan/salome/gazou/s37model.png

salomeで.unvをつくり、プログラムで.inpにする方法

四面体要素C3D4

メッシュを切る手順

直方体要素C3D8で切る手順

salomeでダイヤカットを作る

c3d4or3dプリンタ用

s6用

Salomeモデリング上の注意

計算結果をcsvファイルで出力

手順

メモ

New Entity

Primitive

basic

Delete all?が出たら

http://www.str.ce.akita-u.ac.jp/~gotouhan/j2019/aoyama/deleteall.png Salomeを閉じるときにたまに出るやつ. これが出たら「はい」を押そう.「いいえ」を押すとAster Studyのコマンドファイルが消えてしまう.

fieldmatの個数制限

http://www.str.ce.akita-u.ac.jp/~gotouhan/j2020/nemoto/era.png fieldmatのMaterial assignementの数とGroup of elementの中の個数が20個までに制限されている.

SALOMEで形状生成 → Netgenでメッシュ切り → cgxで境界条件設定 → CalculiXで計算

手順

SALOME

Netgen

cgx

以下のcgxコマンドは全部「CalculiX Graphix」ウィンドウ(以下cgxウィンドウ)が手前にある状態で入力

Node

Node, NSET=Nall

Element, type=C3D4, ELSET=PART1

荷重のかけ方

直方体に直方体メッシュを切って、拘束、載荷する手順

SalomeからCalculiXのinpファイルを生成

SalomeのunvファイルをCalculiXのinpに変換


SalomeのmedファイルをCalculiXのinpに変換

例題

マニュアル和訳

計算サーバーのsalomeを使う手順

動作状況等

&link(Salome,http://www.salome-platform.org/)5.1.3のバイナリー版は、 Vine5.1上では、起動はするが、Geometryなどの新規作成をして、ちょっと動作させようとすると、

練習

&link(ここ,http://salome-meca.cocolog-nifty.com/blog/2012/02/30-f8fd.html) と同じ事をやろうとするとメッシュを切るまでは問題なく進むが、 そのあとAsterに切り替えた瞬間に

Fatal error
SIGSEGV 'segmentation violation'detected Address 18

と表示され動かなくなる(Address 0 も確認)。Terminalでどんなエラーが出力されるかよく見る必要がある。

追記

salomeを再起動後、再度計算を試みた。 Linear elastic -> 3D までは問題ない。 次のselect a mesh from the salome object browser で、 作ったMesh_1を選択しても

The selected entry is not a mesh or the SMESH component must be activated

と言われてしまう。 salomeのフォーラム(古いけど)を見る限り、有効な解決策はないみたい。

code-asterの基本的な使い方(線形弾性)

 code-asterにはかなりたくさんの機能がある。詳しい使い方は&link(ここ,http://opencae.gifu-nct.ac.jp/pukiwiki/index.php?SALOME-Meca%A4%CE%BB%C8%CD%D1%CB%A1%B2%F2%C0%E2)に載っている

code-asterコマンドリスト

http://opencae.gifu-nct.ac.jp/pukiwiki/index.php?plugin=attach&refer=SALOME-Meca%A4%CE%BB%C8%CD%D1%CB%A1%B2%F2%C0%E2&openfile=00-00.pdf

「geometry」で固定や載荷をするところをつくる

「mesh」でメッシュ分割

「aster」で条件を入力

「commファイル」で各条件を編集

要素数が多くて計算が出来なかったときの対処方法

「post-pro」で結果の表示

「paravis」で結果の表示

rmedファイル(結果)をテキストファイルにするには

commファイルの編集(unvファイル)

 初期状態では、commファイルの一番下が、

に変えて、asterをrunすると、いつも通り同ディレクトリにlinear-static.rmedができている。名前は、med形式になっているが、viで中身を開いてみると、ちゃんとunv形式になっている。デフォルトでは、viでunvファイルを開いて、次のように打てば節点情報が見れる。

ちなみに、載荷線or面などのグループの節点番号を調べたい場合は、

Gmsh経由(posファイル)

 ぱっと見、節点番号が表示されていない気がしますが……。

直方体要素での解析方法

https://sites.google.com/site/codeastersalomemeca/home/salome-meca-chutoriaru1/meshmojuru#TOC-6-Geometry-を参照した

(解決したらここに方法を書く)

熱関係

asterで熱を解くやり方(材料一つ)

シェル要素

接触解析(摩擦あり)

座屈解析

直交異方性材料

Aster Studyの設定方法

DEFE_MATERIAU(Define a material)

*ELAS_ORTHを選択する。

ポアソン比

Code_Asterでの直交異方性材料のポアソン比がよく分からない(梁の変位にほとんど影響しないので確かめていない,とか)とのことだったので,構造解析関係のプログラム置き場にある&link(ccxonsaito.f90,http://www.str.ce.akita-u.ac.jp/~gotou/programoj/ccx/ccxonsaito.f90)の異方性材料の設定をもとに,CalculiXとCode_Asterで同じ計算をして確かめてみた(計算に使ったものは&link(こちら,http://www.str.ce.akita-u.ac.jp/~gotouhan/j2017/kondo/tyousa/ortho/))

局所座標系

Code_Asterで斜めになっている物体を直交異方性材料として計算するのが難しいという問題が(トラス橋や屋根付橋などで)あったが,部材の向きごとに局所座標系を決めれば比較的簡単に計算できる.

シェル要素の異方性

http://www.str.ce.akita-u.ac.jp/~gotouhan/j2019/aoyama/defi_composite.png

回転対称性・横方向等方性(円筒座標系)

http://www.str.ce.akita-u.ac.jp/~gotouhan/j2020/oikawa/entou.png

http://www.str.ce.akita-u.ac.jp/~gotouhan/j2020/oikawa/archihou.comm

elemprop = AFFE_CARA_ELEM(MASSIF=_F(ANGL_AXE=(0.0, 90.0),

                                   GROUP_MA=('Partition_3', ),
                                   ORIG_AXE=(0.0, 14500.0, 10000.0)),
                         MODELE=model)

mater = DEFI_MATERIAU(ELAS_ORTH=_F(E_L=375.0,

                                  E_N=7500.0,
                                  E_T=375.0,
                                  G_LN=500.0,
                                  G_LT=500.0,
                                  G_TN=500.0,
                                  NU_LN=0.016,
                                  NU_LT=0.016,
                                  NU_TN=0.016))

弾塑性解析

   20mmの角棒の片端を固定して引っ張ったときの先端の伸び      20mmの角棒を片持ち梁として曲げたときの先端のたわみ

斜張橋等のケーブルの疲労解析

つりあい解析(二段階解析)のやり方

つりあい解析とは、事前に解析した構造解析の結果(1段階目の解析)を、次に解析したいモデルにその結果を入れて解析を回すこと(2段階目の解析)を指す。
横軸時間をとる時刻歴解析やモデルを先に変形させてから力を与えることもできる。(あるモデルに張力を与えて,その後に衝撃を与えるとか。後者の解析は現在確認中)
大きなメリットとして,解析時間の短縮が挙げられる.そして,段階的に解析を行えることから,例え長時間掛かる解析でも重複する部分があれば、その部分を1段階目の解析とすれば,改めて解析をする必要がなくなる。 ここではビーム要素(1D)を用いたモデルを例に説明するが、ソリッド・シェルでも同じ設定でできると思われる。

・使用モデル
卒論で扱ったケーブル1本の簡易モデルからケーブル(C1)をなくしたモデル

http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/chiyooka/kanimodel.png

http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/chiyooka/kanihadan2.png

・解析条件
荷重は死荷重とケーブルから得られた張力を掛けている.
時刻歴応答解析 解析時間は115s,100sまで荷重等をゆっくり載荷させ,そこから110sまでモデルを安定させて,その後にケーブルに掛けている張力を0に落とす.
109sまでを1段階目,109sから2段階目の解析を行う。

http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/chiyooka/timestep.png

・設定法
写真のようにStageを2種類用意する。
chainanalysisが1段階目,chainanalysis-2が2段階目用のStageである。 http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/chiyooka/turiai1.png

1段階目 commファイルはこちら

基本的に自分が行っている解析のaster-codeをいつもどおり組めばよい。
時刻歴解析の場合,区切る時間(今回は109s)までの解析をここで行うこと。

2段階目 commファイルはこちら

AFFE_MODELEやDEFI_MATERIAUなど1段階目の解析と共通するものはStage2に入れなくてよい。
Stage1で設定したものがそのまま使えます。

使用するaster-code
絶対:Analysisに含まれるもの ,Output IMPR_RESU
人によって変わる:Functions and Listsに含まれるもの (時刻歴使うなら絶対にいる), BC and Loads AFFE_CHAR_MECA(2段階目で載荷条件を変える場合)CALC_CHAMP

ここでは時刻歴応答解析を行っているため,以下のように設定した。
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/chiyooka/turiai2.png

1段階目の解析終了地点から解析を再開しないと,1段階目の結果が引き継がれないので,注意!

そのため,解析時間は109sからスタートする。

Analysisでは,それぞれのaster-codeに入っているコマンド:ETAT_INITを加える。
現在わかっていることとしては、1段階目の解析の終了時間から2段階目の解析を始めるときはETAT_INITのみでOK
1段階目の解析の時間の途中から2段階目の解析を始めるときはETAT_INITとINST_INITが必要。(ex:1段階目の解析が0〜30sであり、2段階目の解析を20sから始めたいときはETAT_INIT内にあるINST_INITに20を入力する。)
(静的解析を行う場合,STAT_NON_LINEで。MECA_STATICSにはその設定が存在しない。また,固有振動数を求めるときに使う?CALC_MODEにも存在しないが,その場合のつりあい解析のやり方は模索中)

また、MODELEやCARA_ELEMといった選択式で入力するところはStage1で設定したものがそのまま使えるため、それを入れる。 RESULTATに1段階目のAnalysisで用いたものを入れる。

http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/chiyooka/turiai4.png

EVOL_NOLIに1段階目のAnalysisで用いたものを入れる。
http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/chiyooka/turiai3.png

OUTPUTは1段階目と異なる.medの名前をつける。

http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/chiyooka/turiai5.png

RESUにはNOM_CHAMの設定とTOUT_OREDEとTOUT_CMPをOUIにする。

・解析の回し方

写真のようにstage同士をつなげることでつりあい解析が可能となる。

http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/chiyooka/turiai6.png

初めて回す際、一気に2段階目まで解析を行おうとすると,2段階目でエラーが出たら1段階目の解析もやり直しになってしまうため,別々に分けてやることをおすすめします。

まず,1段階目の解析を回したいので,2段階目の解析に赤い四角マーク(skipという意味)を押してからRunする。

解析が回ったら、1段階目の解析に青いチェックマーク(再利用という意味)を入れ,2段階目の解析にプラスボタンを押してRunする。Runすると,上の写真ようにStage同士を繋げることができる。

・1段階目の解析結果が考慮さえているかの判断

Paravisで2段階目の解析で行った結果ファイルを開く。
写真のように、2段階目の解析結果のスタート地点の出力した値(DEPLとか)が0になっていなければ成功!

http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/chiyooka/turiai7.png

つりあい解析を行った場合と行わない場合での結果を比較したところ、お互い同じ結果が得られた!

http://www.str.ce.akita-u.ac.jp/~gotouhan/j2023/chiyooka/turiaikekka.png

 

Aster Study1の設定

AFFE-CARA-ELEMの設定 いつものソリッド要素のときに3Dと設定しているところをスクロールしていくと"CABLE"というがある。

 CABLEを設定するとSECTION で断面積 N_INITでケーブルの初期張力を設定する。 その他の設定はまだわかっていない。破壊挙動を再現することはどうしたらいいのかわからない。さて..............

ひずみの出力(v12)

commファイルの一番下のところを以下の(1),(2)のように修正する.

IMPR_RESU(FORMAT='MED',

         UNITE=80,
         RESU=_F(MAILLAGE=MAIL,
                 RESULTAT=resu,
                 NOM_CHAM=('SIGM_NOEU','SIEQ_NOEU','DEPL','EPSI_NOEU',),),);    #----(2)

ParaViSで梁要素や板要素の変位図を描く

立体要素とは違い、回転自由度を持つ梁要素や板要素のDEPLは1節点につき6成分あるため、そのままでは Warp By Vector で変位図を描けない。 このとき、PropertiesのGenerateVectorsにチェックを入れ、Applyすると、DEPLの最初の3成分(DX・DY・DZ)だけ取り出したベクトル(DEPL_Vector)が作られるため、 Warp By Vector で変位図を描けるようになる。

ParaViSで板要素の板厚を反映させる(要確認)

ParaViSでMEDファイルを読み込んでも、自動では板厚を考慮したモデルとして描画されない。そのため、与えた板厚が正しいかどうかや、厚さ方向の(積分点とかの?)応力やひずみの分布等を視覚的に確認できない。このとき、以下略(そのうちに書く。というか誰か書いて)……

部材をブーリアン結合で結合する方法とコンパウンドで一つのモデルにする方法

詳細設定をしてメッシュをきる方法

3DのアルゴリズムをNETGEN3D > 2DのアルゴリズムをNETGEN1D-2Dにする。

2Dの画面の詳細設定の右にある歯車マークをクリックしてNETGEN 2D Paranetersを選択する。

最大サイズと最小サイズを設定する。(ジオメトリを選択して詳細設定を開くと最大最小の数値が表示される、最小サイズは選択したモデルのメッシュを切ることができる最小のサイズなためその数値を超えないようにする。)

その設定が終わったらOKで戻って適用して閉じる。あとはいつも通りメッシュを切る。

salome-mecaでメモリーが足りないと言われたら

  ! <S> Exception user raised but not interceptee. !

  ! The bases are fermees.                                                       !
  ! Type of the exception: error                                                 !
  !                                                                              !
  !  Error during the dynamic allocation. It was not possible to allocate        !
  !  a memory zone length 263 Mo, one exceeds the maximum limit                  !
  !  built-in with 1293 Mo and one occupies already 1059 Mo.                     !
  !  The last operation of memory deallocation made it possible to recover 0 Mo

paravisで試験体の色をセットする方法

paravisを開いた後,パイプブラウザでファイルを開く.Solid Colorを選択して色をつけた後,左側にカラーマップエディタが出てくるのでそこをカスタムする.

Salome-Mecaで各断面定数を算出する方法

計算方法

ジオメトリーで行うこと

メッシュで行うこと

AsterStudyで行うこと

コマンドファイルの例

DEBUT(LANG='EN')

table1 = MACR_CARA_POUTRE(GROUP_MA_BORD=('kyoukai', ),

                         GROUP_NO=('ten', ),
                        INFO = 2)

FIN()

計算を行う。プラグイン


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2024-08-10 (土) 18:19:15