* SALOME-Mecaの活用技術(MK2) [#n9a60459] [[オープンCAE初心者勉強会]]~ Code_Aster、SALOMEの使用方法、事例を解説します。~ Google Groupを開設しています。[[Code_Aster&Salome-Mecaユーザーズグループ:https://groups.google.com/forum/?fromgroups#!forum/code_aster-salome-meca]]~ #contents **SALOME(プリポスト)、ASTK(GUI)、Eficas(commファイルエディター)、公式Validationの利用方法など [#kc395628] ***Salome-Mecaでのメッシュ作成 [#ad9b1814] 4面体メッシュの基本的な作成方法、サブメッシュ、境界層メッシュの作成 -資料~ [[Salome-Mecaでのメッシュ作成:http://www.ofwikija.org/images/Salome-mesh%282%29.pdf]] (120128)~ ***ASTKの使用方法、公式Validationの利用、Eficasでのcommファイル編集例 [#jd909c8b] -資料~ &ref(ASTK_Intro.pdf); (111016)~ ~ ***Eficas Importerの使用 [#nea2d49f] EficasではGROUP_MAなどで複数のグループ名を記入できますが、これをテキストファイルから読み込む方法です。~ -資料~ &ref(Eficas_importer.pdf); (111015)~ ~~ **要素・境界条件の設定 [#mbf45c2f] ***シェル要素(DKT、COQUE_3D)の扱い方、メッシュアセンブリ(LIAISON_MAIL) [#f7ee723a] シェル要素として、DKTとCOQUE_3Dがあり、大きな回転などを扱う場合に、COQUE_3Dを使うようです。~ |CENTER: |CENTER:メッシュ|CENTER:変位|CENTER:回転|CENTER:歪み|CENTER:計算| |CENTER:DKT|CENTER:TRIA3,QUAD4|CENTER:small|CENTER:small|CENTER:small|CENTER:Linear,Non linear| |CENTER:COQUE_3D|CENTER:TRIA7,QUAD9|CENTER:large|CENTER:large|CENTER:large|CENTER:Linear,Non linear| -資料~ DKT, LIAISON_MAIL:&ref(Shell_LInkMesh.pdf); (110730)~ COQUE_3D:&ref(Shell_Coque3D.pdf); (110730)~ -入力ファイル~ DKT, LIAISON_MAIL:&ref(Shell_LInkMesh.tar.gz); (110730)~ ~ ***断面性能の計算(MACR_CARA_POUTRE) [#g453c1cc] -資料~ &ref(MACR_CARA_POUTRE.pdf); (111015)~ ~ ***ビーム要素(BARRE、POU_D_E)の扱い方、ビーム要素とシェル要素・3D要素との結合(LIAISON_ELEM) [#wc5e5759] ビーム要素は2つのタイプがあり、回転の自由度を持たない:BARRE、回転の自由度を持つ:POU_D_E 他、を使い分けます。 |CENTER:Modelisation|CENTER: |CENTER:自由度| |CENTER:BARRE|CENTER:ピン接合|CENTER:DX, DY, DZ| |CENTER:POU_D_E 他|CENTER:剛接合|CENTER:DX, DY, DZ, DRX, DRY, DRZ| -資料~ BARRE:&ref(Bar.pdf); (111015)~ POU_D_E, LIAISON_ELEM:&ref(Beam_Link.pdf); (111015)~ -入力ファイル~ BARRE:&ref(Barre.zip); (111015)~ POU_D_E:&ref(Beam.zip); (111015)~ POU_D_E & LIAISON_ELEM:&ref(Beam_link.zip); (111015)~ *POU_D_Eなどの剛接合要素では応力が大きくなると、後処理段階でSIEF_ELGAなどの応力を計算した際にエラーが発生するバグがあります。~ ~ ***境界条件を関数形式で与える方法(DEFI_FONCTION, FORMULE) [#o897f190] 非定常の場合を例に関数形式で境界条件を与える方法を解説しています。 -資料~ DEFI_FONCTION, FORMULE:&ref(FonctionBCt.pdf); (120128)~ ~ **ポスト処理 [#lcf25092] ***MECA_STATIQUEの場合の一例(応力・等価応力の出力、Post-Pro・Paraviewモジュールでの結果表示) [#faac6431] -資料~ &ref(Post_Lin_ver10.pdf); (110730)~ -commファイル~ &ref(postCA10_lin.comm); (110730)~ ~ ***Salome-Meca 2011.2 Asterモジュールの計算結果をParaviewモジュール(ParaVis)で表示させる [#a1f85f5b] 計算結果は作業フォルダの拡張子:rmed のファイル(linear-static.rmed など)に保存されているので、この拡張子を rmed → med に書き換えれば、Paraviewモジュールで表示できます。~ Salome 6.4.0からは拡張子:rmed のファイルもParaviewモジュールで読み込めるようになりました。~ ~~ **並列化、AmazonEC2の利用 [#k70d8970] ***Code_Aster の並列化 [#u57d314e] [[Code_Aster の並列化]] 10.6、11.1対応 ~ ***並列化の方法 [#jf05cb4e] dataはメッシュなどの並列化の方法、solverは行列解法の並列化の方法、hybridは領域分割法です。~ Code_Asterでは1b+2bが推奨されています。~ |CENTER:|CENTER:|CENTER:名称|CENTER:通信|CENTER:推奨自由度[per core]|CENTER:推奨自由度[total]|CENTER:備考| |CENTER:data|CENTER:1a|CENTER:Independent|CENTER:-|CENTER:-|CENTER:-|CENTER:独立したケースをASTKから同時に実行する方法| |CENTER:data|CENTER:1b|CENTER:Elementary|CENTER:MPI/OpenMP|CENTER:-|CENTER:-|CENTER:ASTKから実行できる一般的な並列計算| |CENTER:data|CENTER:1c|CENTER:Linear algebra|CENTER:MPI&OpenMP?|CENTER:-|CENTER:-|CENTER:高度な方法(詳細不明)| |CENTER:solver|CENTER:2a|CENTER:MULT_FRONT|CENTER:OpenMP|CENTER:1*10^5|CENTER:-|CENTER:デフォルトのソルバー(直接法)| |CENTER:solver|CENTER:2b|CENTER:MUMPS|CENTER:MPI|CENTER:3*10^4|CENTER:-|CENTER:EDFの推奨するソルバー(直接法)| |CENTER:solver|CENTER:2c|CENTER:PETSC|CENTER:MPI|CENTER:3*10^4|CENTER:>5*10^6|CENTER:大規模計算で推奨されているソルバー(反復法)| |CENTER:hybrid|CENTER:3a|CENTER:FETI|CENTER:MPI|CENTER:5*10^4|CENTER:>5*10^6|CENTER:領域分割法| ~ ***Ver. 10と11、ソルバー、並列化の比較(100万自由度 STAT_NON_LINE での計算) [#xd0c55c7] Ver. 11.0 のほうが速く、ソルバーはMUMPSのほうが速いです。~ |CENTER: |CENTER:STA10.3|CENTER:PAR10.3|CENTER:PAR10.3|CENTER:NEW11.0|CENTER:PAR11.0|CENTER:PAR11.0| |CENTER:Processors|CENTER:1|CENTER:1|CENTER:4|CENTER:1|CENTER:1|CENTER:4| |CENTER:Solver|CENTER:MULT_FRONT|CENTER:MUMPS|CENTER:MUMPS|CENTER:MULT_FRONT|CENTER:MUMPS|CENTER:MUMPS| |CENTER:time [sec]|CENTER:3619|CENTER:1474|CENTER:1118|CENTER:2734|CENTER:968|CENTER:766| ~ ***MUMPSでのメモリ使用量低減オプション [#qd8abac4] MUMPSソルバーを使用した際にメモリ使用量を削減できるオプション設定です。ただし計算時間が長くなります。~ MECA_STATIQUE>SOLVEUR>b_mumpsから選択できます。~ |CENTER:オプション|CENTER:メモリ低減量|CENTER:計算時間| |CENTER:OUT_OF_CORE|CENTER:中|CENTER:長くなる| |CENTER:MATR_DISTRIBUEE|CENTER:小|CENTER:変わらない| |CENTER:LIBERE_MEMOIRE|CENTER:小|CENTER:長くなる| #ref(MUMPS_option.jpg,center) ~ ***AmazonEC2 並列化Code_Aster AMI [#f9b524ad] AmazonEC2のサービスは従量課金制ですので、料金体系を良く理解した上で利用してください。オンデマンドインスタンス、データ転送、EBSボリュームは課金されます。[[Amazon EC2 料金表:http://aws.amazon.com/jp/ec2/pricing/]]~ 並列化Code_AsterのAMIを公開しています。Community AMIsから選択できます。~ |CENTER:Region|CENTER:Tokyo| |CENTER:AMI ID|CENTER:ami-423c8a43(現在停止中)| |CENTER:AMI Name|CENTER:Ubuntu_Lucid_P_Code_Aster_120219| |CENTER:Root Store|CENTER:EBS 15GB| |CENTER:Architecture|CENTER:64bit| |CENTER:Platform|CENTER:Ubuntu 10.04| |CENTER:Code_Aster|CENTER:10.6, 11.1| ASTKの起動 $ astk EFICASの起動 $ eficas Salome-Mecaの起動 $ salome 並列環境の起動 $ mpd & root権限の取得(パスワードは不要です) $ sudo su ホームフォルダに並列計算用チュートリアル(Piston_tutorial)があります。マイクロ以外のインスタンスで起動し、$ mpd & で並列環境を起動させ、ASTKから、/home/ubuntu/Piston_tutorial/test.astkを読み込んでRunボタンを押してください。~ /work に大容量(400GB超)のエフェメラルディスクをマウントしてますので、計算ファイルはここに置くと良いです。ただし、stop、terminate をするとエフェメラルディスクの内容は消去されますので、注意してください。 ~ ***WindowsでX forwardingを行う [#q32b8665] AmazonEC2などのリモートマシン上のGUIアプリケーションを、ローカルマシンのWindowsから利用する方法です。 -資料~ &ref(Xforwarding_Win.pdf); (111223)~ ~ ~~ **Salome-Meca、Code_Aster、Salomeのバージョンについて [#t6e30eb1] ***Salome-Meca のバージョン [#ud71f6da] |CENTER:Salome-Meca|CENTER:bit|CENTER:Code_Aster|CENTER:Salome| |CENTER:2012.1|CENTER:64bit|CENTER:STA10.6, STA11.1|CENTER:6.4.0| |CENTER:2011.2|CENTER:64bit|CENTER:STA10.5|CENTER:6.3.0| |CENTER:2011.1|CENTER:64bit|CENTER:STA10.3|CENTER:5.1.5| |CENTER:2010.2|CENTER:32bit|CENTER:STA10.2|CENTER:5.1.4| ~ ***Code_Aster のバージョンについて [#jc083697] 2011年12月の時点で、Salome-Meca 版、スタンドアローン版の主なバージョンとしては、STA10.2、STA10.3、STA10.5、STA10.6、STA11.1があります。このうち、STA10.3以前とSTA10.5以降では、コマンドファイルのポスト処理の書き方に違いがあります。(それ以外のコマンドファイルの書き方は変わっていないようです。)~ 具体的には下表の例のように、CALC_ELEM、CALC_NO の OPTION の書き方が違います。そのため、STA10.3以前で作ったコマンドファイルを、STA10.5以降で計算する場合は、EFICAS などでポスト処理の部分を書き換える必要があります。逆もまた然りです。~ ~ |CENTER:バージョン|CENTER:応力(要素)|CENTER:等価応力(要素)|CENTER:応力(節点)|CENTER:等価応力(節点)| |CENTER:STA10.3以前|CENTER:SIGM_ELNO_DEPL|CENTER:EQUI_ELNO_SIGM|CENTER:SIGM_NOEU_DEPL|CENTER:EQUI_NOEU_SIGM| |CENTER:STA10.5以降|CENTER:SIGM_ELNO|CENTER:SIEQ_ELNO|CENTER:SIGM_NOEU|CENTER:SIEQ_NOEU| ~ ***MED のバージョン対応 [#k800611a] Salome 6 は、MED 3 でしか出力できないので、Salome 6 で作った MED ファイルを用いて計算する場合は、STA10.5以降を使う必要があります。逆に、STA10.5以降で出力した MED ファイルは、Salome 6でしか読めません。~ MED : HDFライブラリ(Salome)とCode_Asterでデータをやり取りする際の中間データ(メッシュなど)~ ~ |CENTER: |CENTER:read|CENTER:write| |CENTER:STA10.5以降|CENTER:2, 3|CENTER:3| |CENTER:STA10.3以前|CENTER:2|CENTER:2| |CENTER:Salome 6|CENTER:2, 3|CENTER:3| |CENTER:Salome 5|CENTER:2|CENTER:2| ~ ~ **Code_Aster 参考ページ [#yecf1803] ***Code_Aster公式、CAElinux Contribute [#pf504676] Code_Aster Documentation : http://www.code-aster.org/V2/spip.php?rubrique19~ 機械翻訳ですが、英語化公式ドキュメントが公開されています。~ Code_Aster Forum : http://www.code-aster.org/forum2/~ 開発者がいますので非常に参考になります。言語は英語とフランス語ですが、英語の投稿の方が多いようです。~ ~ Code_Aster Wiki : http://www.code-aster.org/wiki/doku.php~ 有志が作成しています。完全に整理されてはいませんが参考になります。~ ~ Contrib:Claws/Code Aster : http://www.caelinux.org/wiki/index.php/Contrib:Claws/Code_Aster~ Contrib:Kees Wouters : http://www.caelinux.org/wiki/index.php/Contrib:KeesWouters~ 有志が公開されている解説書です。コマンドファイルを公開していますので非常にわかりやすいです。~ ~ *** 上記の資料をもとに柴田が Code_Aster のコンパイルを練習した時のメモ(STA10.3) [#s87e5613] DEXCS-Salomeの有効活用:Code_Asterのコンパイル(1):http://blog.goo.ne.jp/dalab-gnct/e/fc5c4581f73b06bce7a977ae56379c2b~ DEXCS-Salomeの有効活用:並列版Code_Asterのコンパイル(1):http://blog.goo.ne.jp/dalab-gnct/e/d3a33ad805388450e26dfdbd5049f4f6~ DEXCS-Salomeの有効活用:並列版Code_Asterのコンパイル(2):http://blog.goo.ne.jp/dalab-gnct/e/f12c955436191d9783516214d7573f99~ DEXCS-Salomeの有効活用:並列版Code_Asterのコンパイル(3):http://blog.goo.ne.jp/dalab-gnct/e/fdc6d30b81b008f9eec405945c4d9467~