« 日本語例題 7.0 塑性変形の基本(2) | トップページ | Paraviewでのアニメーション »

2012年3月17日 (土)

日本語例題 7.1 塑性(負荷を変化)

今回は、こちらの例題の「7.1 塑性-負荷を変化させる」、解説文書ファイル名は「07-10.pdf」です。
DEXCS2011-Salome-A3(64)(SALOME6.3 + Code_Aster STA10.5)の利用です。

Geometryでモデルのファイル「pole.stp」を読み込んで、いつものとおり1000倍し、fix面とpress面のグループ指定を行った後、Meshに移動してメッシュ作成を行いました。メッシュのオプションは下図の通りで、Automatic_length = 0.3 としています。

また今回は「ASTK」を用いてCode_Asterを実行する方法を用いるため、Msehの下にグループが必要となります。そこで、解説文書どおりに「Mesh_1」の上で右クリックし、「Create Group」を選択、そこで「Face」と「Group on geometry」をチェック、「Geometrical Object」の矢印をクリックしてObject Browser上の「fix」を選択して、「Apply」でグループ作成しました(「press」も同様)。

07101

メッシュ作成と、メッシュのグループ作成後の状態が下図です。

07102

それからASTKの利用のため、このメッシュを解説文書どおりに「pole-1.med」という名前でexportし、また「7.0 塑性変形の基本(2)」で作成した円柱解析のcommファイルを複製して、「pole-1.comm」の名前で保存しました。、medファイルにはメッシュとメッシュグループの情報が入っています。また、commファイルには、これまでのEficasでの編集で分かるように、解析条件やオプションの情報が入っています。

さて、いよいよ初めて「ASTK」の使用を行っていきます。これまではSALOMEのWizardで線形解析のコードを作成して、それを修正していました。しかし非線形解析を行うには修正箇所が多い上に、複数のケースを実施する場合には、何度もWizardと修正の実施を繰り返すことになるため非効率でした。

ASTKは、メッシュファイル(medファイル)と、解析条件・オプションの指定(commファイル)を別々に指定できるため、形状やメッシュ分割が変わっても、解析条件が同じならばメッシュファイルを差し替えるだけで計算できますし、解析条件が変わっても、commファイルの該当部分のみをEficasで変更するだけで済みます。

解説文書「07-10.pdf」には、まずASTKファイルの作成を「NEW-FE-Study」で行う、と書かれていますが、このようなプログラムは見当たらないため、とりあえずASTKを立ち上げてみました。
モジュールをAsterにして、「Aster」-「Tools」-「Run ASTK」です。
立ち上げ時に下図のメッセージが出ましたが、フランス語ですし、これもとりあえず無視です。
(これはドメインの設定をしていない場合の警告ですが、localで計算する場合、解説文書に書かれているような設定はしなくても動くようです)。

07103

ASTKが立ち上がりましたが、これも表示がフランス語でした。これでは操作が分からないので、英語表示にしました。「Configuration」-「Preferences」-「Generales」で表示される画面にて、Langueを「ENG」に変えて、「OK」で英語表示になりました。これで一安心です。

07104

次に各ファイルの設定をしていきました。

07105

「med」と「comm」はフォルダのアイコンを押して選択画面から既存のファイルを指定するだけです。「resu」、「mess」、「rmed」は、新規ファイルのアイコンを押して入力行を作成し、手入力しました(既存のファイルがあって上書きする場合は、ファイル指定で良いです)。

「resu」は結果出力ファイルのようです。「mess」は解析の進行や収束状態を書き出すlogのような情報で、「rmed」はメッシュ形式(med)で結果を書き出すファイルのようです。後から気がつきましたが、ポスト処理で読み込むことを考えると、入力メッシュの拡張子を「mmed」にして、出力メッシュの拡張子を「med」にしておいたほうが良いかと思います。

なお、この「手入力」ですが、最初キーボードからの入力が効かず焦りました。どうやらOSのインプットメソッドが有効になっていると何故か入力できないようです。下図のようにUbuntuの画面上部のキーボードのマークをクリックし、「終了」させる必要がありました。

07106

それから、Total MemoryとTimeも状況に応じて増やしておいたほうが良さそうです。

この状態で、「File」-「Save as」でASTKファイルを「pole-1.astk」として保存し、まずASTKでの解析が正常に動作することを確認するため、何も変えずに実行しました(つまり、07-01と同じく圧縮するだけ)。実行は、右下の「RUN」ボタンを押します。

ASJOB画面にメッセージが表示され、警告はありますが計算が正常に完了しました(Refreshボタンで、最新の状況に更新されるようです)。結果はPost-Proにて「File」-「Import」-「MED File」で読み込めますが、File Typeを「*.med」からAll Files「*.*」にしないと「.rmed」ファイルが出てきません。そのため結果のmedの拡張子は「.med」のほうが良さそうです。

07107

ASJOB画面で不要なJOB情報は、それを選択して「Remove」で消せます。

##########################

次に、解説文書にあるとおり、圧縮して元に戻す解析です。

これは解説どおりの設定ではなかなか収束せず、試行錯誤を繰り返した結果、下図の設定でやっと計算できました。

07108

荷重の変化(「DEFI_LIST_RELL」)ですが、0.5まで荷重を増やした後、すぐに荷重を反転させず、0.55までの間一定荷重を保持しています。これで収束しやすくなりました。この解析は静解析なので時間に依存する慣性や粘性などの効果は無いですし、収束許容値も十分小さいはずなのですが、一定荷重で余分に繰り返し計算することで何かコンディションが良くなるのかもしれません。

イタレーション(「ITER_GLOB_MAXI」)の回数は600に増やしています。

材料物性値も、塑性部分で(2,3000)と(4,6000)のデータを追加しています。

圧縮時の変形・Mises応力図です。

07109

伸張時の変形・Mises応力図です。

071010

#####################

次に、「塑性変形の形状確認」です。
これまでは変位で圧縮->伸張していましたが、これは荷重で圧縮して、それから荷重を抜くため、変形が残ったままになります。

メッシュファイルは「pole-1.med」をそのまま使い、commファイルは「plole-1.comm」を複製して「pole-2.comm」としました。その他の出力ファイル類は全て「pole-2.xxx」の名前にしました。
ASTKファイル名も、「pole-2.astk」にしています。

071011


解説文書通りに荷重を設定し、計算を実行したのですが、これもかなり難航しました。計算が600リサイクルでも収束しないため、メッシュを細かくしたり、荷重増分を細かくしたり、収束許容値を変えるなど、かなり多くの試行錯誤が必要でした。結局、メッシュは元に戻し、下図のような設定で、警告は出るものの曲がりなりにも結果が出ました。

071012

荷重が反転した直後の刻み幅をかなり細かくし、さらに収束判定値「REGI_GLOB_RELA」を「1e-2」と大幅に緩めました。この収束判定値ですが、

http://www.code-aster.org/V2/doc/v10/en/index.php?man=U4

の英文マニュアルの 

[U4.51.03] Operator STAT_NON_LINE

3.14.1項にて解説されています。

最大残差力が、反力または荷重の最大値にこの値を乗じた値より小さければ収束となるようです。私が使っている商用ソフトでもデフォルトの判定方法は概ね同じですが、そのデフォルト値は0.1となっています。これはちょっと緩すぎるのでいつも0.01程度にしています。

結果はParaVIS(Paraview)で出してみました。

負荷状態
071013

除荷状態
071014

Paraviewで読み込むためには、結果の「.rmed」ファイルの拡張子を「.med」に修正しておきます。
(はじめから、「.med」の拡張子で出しておいたほうが手間が少なくて済みそうです)。

モジュールを「ParaViS」にして、「File」-「Open Paraview File」で「.med」ファイルを読み込み、上部のアイコンが並んでいる部分で、「RESU_SIEQ_NOEU」「VMIS」を選択してApplyを押すと結果がMises応力で表示されます。解析時間に従いコマ送り・戻しをするには、右上のアニメーション制御関係のボタンか、「TIME」を使います。

また、変形した状態で表示するには、フィルターを用います。「Filters」-「common」-「Warp By DEPL」を選び(または“梁が変形しているアイコン”を押す)、Vectorsに「RESU_DEPL」、Scale Factorに変形表示倍率(今回は1)を入れてApplyを押すと、変形状態で表示されます(上図参照)。

Paraviewは、このようにフィルターを繋げて目的の表示状態を作り出していくことが出来ます。

なお、Paraviewの使用方法については、下記のサイトに詳しい日本語の解説文書があります(“Japanese Translation of the ParaView Tutorial for version 3.8”のリンクです)。私もこれを参考に使わせて頂いていております。

http://paraview.org/Wiki/The_ParaView_Tutorial

今回は以上です。

« 日本語例題 7.0 塑性変形の基本(2) | トップページ | Paraviewでのアニメーション »

例題の実施」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1605696/44525411

この記事へのトラックバック一覧です: 日本語例題 7.1 塑性(負荷を変化):

« 日本語例題 7.0 塑性変形の基本(2) | トップページ | Paraviewでのアニメーション »