例題の実施

2012年3月25日 (日)

日本語例題 7.2 塑性-結果の検証

今回は、こちらの例題の「7.2 塑性-結果の検証」、解説文書ファイル名は「07-20.pdf」です。
DEXCS2011-Salome-A3(64)(SALOME6.3 + Code_Aster STA10.5)の利用です。

前回に引き続き塑性変形(材料非線形解析)なのですが、今回、解説文書どおりの設定ではなかなか計算が収束しませんでした。そこで、どうせ試行錯誤するのであれば、モデル化の方法や境界条件の与え方などについて、自分の分かりやすいやり方に変えることにしました。

そのため、今回は解説文書どおりのやり方になっていません。

さて、まずモデル化ですが、形状と境界条件の対称性から、本来10x10x10の立方体を、x,y,z方向にそれぞれ半分とした1/8モデル(つまり5x5x5)としました。そして、3つの対称面に、fixX,fixY,fixZというグループ名、荷重面にはpressというグループ名を付けました。

0720b1

解説文書では、下面が固定・上面に荷重でしたが、私のモデルでは、上下面から均等な荷重で挟まれることになります。

メッシュは1次の六面体要素としました。Maxsize=1.25で、メッシュは10x10x10となりました。

0720b2

このメッシュを「07-20b.mmed」という名前でエクスポートしました。

次に、前回の例題(07-10)の円柱圧縮のcommファイルを複製し、07-20b.comm という名前にして、これをEficasで編集していきました。

材料物性値は解説文書どおりで、塑性部分のデータに(2,1000)を追加しています。

fixX, fixY, fixZ の対称面はそれぞれDX, DY, DZ の自由度を拘束し、press面には200MPaの圧力荷重としました。

前回はpress面の変形を拘束する「LIAISON_UNIF」を入れていましたが、今回はこれを削除しています(収束しにくかったため)。
荷重の変化も解説文書どおりです(160MPaで引っ張り->200MPaで圧縮->荷重ゼロ)。

0720b3

荷重ステップの刻み方(DEFI_LIST_REEL)ですが、下図の通り、解説文書より細かい刻みにしています。特に荷重が反転した直後で収束しにくいため、その部分を細かくしました。

収束判定は最大残差力による相対判定(対・最大反力&節点荷重)としました(RESI_GLOB_RELA)。値は0.05です。また最大リサイクル数(ITER_GLOB_MAXI)は300としました。

0720b4

以後の計算結果・出力関連の部分は分からないことが多く、試行にかなり時間がかかりました。

要素と節点の計算内容を指定するところ(CALC_ELEM, CALC_NO)ですが、解説文書はVon Mises相当応力と相当ひずみを出しています。しかし私としては、荷重方向(Z軸方向)の応力成分が欲しいところだと思いました。そこで、CALC_ELEMで「SIGM_ELNO」を追加しようとしたのですが、これが選択肢に見当たりませんでした。

Code_Aster 10の英文解説「U4.81.01」(下記URL)の2.5.1項辺りを見ると、どうも「SIGM」は線形解析の場合に使うもので、非線形解析の場合は「SIEF」というものがあるようです。変位からの応力計算時に材料非線形を考慮するかどうかの違いでしょうか?。あまり時間が無く英文を斜め読みして式をちゃんと見ていないので、間違っていたらすみません。

http://www.code-aster.org/V2/doc/v10/en/man_u/u4/u4.81.01.pdf

とりあえず、ここでは「SIEF_ELNO」を追加指定しました。

また、CALC_NOでは「SIGM_NOEU」と「SIEF_NOEU」の両方があったので、両方とも入れました。

0720b5

最後の出力設定(IMPR_RESU)も、分かりにくいところです。これについては、解説文書にある「変位(DEPL)」、「相当応力(SIEQ_NOEU)」、「相当ひずみ(EPSI_NOEU)」の3つに、「応力(SIEF_NOEU)」を加えました。ただし、成分を指定するところ(b_cmp)は良く分からなかったので、全部(TOUT_CMP)にしました。とにかく、「分からない場合は、とりあえず全部入れとけ」という考えです。

0720b6

これでEficasでの編集は完了。ASTKの設定を下図の通りとして計算を実行しました。

0720b7

警告は出ますが、一応計算完了です(実際は、収束判定値やステップ刻みを何度も変えて試行錯誤しています)。

結果はParaViS(Paraview)で出力しました。変形前の形状をワイヤーフレーム、変形後の形状をサーフェスとし、SIEF_NOEUのZ方向の成分(SIZZ)でコンター表示させました。変形のスケールは10倍としています。

160MPaで引っ張ったときの図です(time=1)
0720b8


200MPaで圧縮したときの図です(time=3)
0720b9


最後に荷重ゼロとしたときの図です(time=5)
塑性ひずみによって変形が残っていることが分かります。
0720b10

一連のアニメーションです。

これらの表示方法については、「Paraviewでのアニメーション」(下記URL)で解説しています)。
http://salome-meca.cocolog-nifty.com/blog/2012/03/paraview-951b.html

さて、解説文書ではこのあと荷重と変位の関係について、データをプロットして検証しています。しかし、Post-ProやParaviewの表示を見て、1ステップずつ値を書いていくのは大きな手間です。特にステップ数が多くなると、とても手作業ではやっていけません。

そこで、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)

今回は、こちらの例題の「7.0 塑性変形の基本(2)」、解説文書ファイル名は「07-01.pdf」です。
DEXCS2011-Salome-A3(64)(SALOME6.3 + Code_Aster STA10.5)の利用です。

今回から塑性変形(材料非線形解析)を扱っていきます。
この「07-01.pdf」の前に「07-00.pdf」があるのですが、これまでの経験から、これは古い方法での例題であると思われるので、省略しました。

まず、いつものように形状ファイル「bar-100x20x10.stp」を読み込んで、1000倍し、fixとloadのグループを設定しました。
メッシュは四面体1次で、Maxsize=5で作成しました。

それからWizardで基本のコードを作成し、Eficasにて解説文書どおり、コードの編集を行いました。

解説文書ではSI単位を用いていますが、私はmm単位なので、材料の応力や弾性率はMPaとしています。

07011

07012

解説文書では、「STAT_NON_LINE」の下の「ARCHIVAGE」に、「ARCH_ETAT_INIT(OUI)」があるのですが、私の環境ではこれが出てきませんでした。また、CHAM_EXCLUについては設定を忘れていたことに後で気づいたのですが、計算には影響なかったようです。

計算結果は下図です。

07013

降伏点(105MPa)以上が赤色の部分です。

次の線形解析との比較は省略し、円柱の圧縮を行いました。

「Pole.stp」を読み込んで、いつもどおり1000倍し、グループを作成しました。
メッシュは四面体1次要素で、Maxsize=2 です。

07014

Eficasによるコード編集は、barと同様に行い、更に、材料の応力-ひずみの定義に「(2,3000)」のデータを追加、また、DEFI_LIST_REELについても、解説文書どおりに圧縮はじめの0.0~0.1までを5分割、0.1~1.0までを5分割としました。

これで計算開始したのですが、どうもインクリメント回数の上限に達したようで、途中で停止してしまいました。そこで、ITER_GLOB_MAXIを300にして再計算したところ、最後まで計算できました。

07015

なお、今回は練習問題ということで1次要素を使っていますが、実際には四面体の1次要素は推奨できません。四面体要素を使うのであれば、2次要素を使うべきだと思います。

今回は以上です。

2012年3月11日 (日)

日本語例題 6.1 接触解析(摩擦あり2)

今回は、こちらの例題の「6.1 接触(摩擦あり)(2)」、解説文書ファイル名は「06-11.pdf」です。
DEXCS2011-Salome-A3(64)(SALOME6.3 + Code_Aster STA10.5)の利用です。

前回「06-10.pdf」は接触の定義方法が古かったためコード編集が出来ず中断しましたが、今回は新しい方法での実施です。

モデルについては、解説文書では“「baseTop-1.stp」を読み込む”とありますが、前回Geometryから作成したモデルがあるので、私の方では前回のモデルをそのまま用いて進めました。

メッシュの作成、WizardでのAster基本コードの作成までは前回と同一です。

Eficasでのコード編集ですが、接触の設定として「DEFI_CONTACT」を用いました。これは「06-01.pdf」と同じく、新しい設定方法となります。

●まずは、3-1項「変位拘束(摩擦無し)」です。

後は基本的に解説文書と同じですが、私の方ではモデルをmm単位で作成していますので、変位の単位は[mm]、ヤング率は[MPa]となります。
最終的な設定は下図の通りとなりました。

06111

06112

結果は下図です。

06113


問題なく解析できました。
摩擦が無いので、円柱の応力に偏りはありません。

●次に、3-2項「変位拘束(摩擦あり・ペナルティ法)」です。

解説文書どおり、ペナルティ法、摩擦係数=1.5、最大イタレーション数=30を設定しました。

06114

結果は下図の通りです。
摩擦があるため、円柱のが傾いて、応力がX方向に偏っていることがわかります。

06115

●次に、3-3項「荷重拘束(摩擦あり・ペナルティ法)」です。

荷重拘束では剛体移動を防ぐために「弱いバネ」を設定しますので、Geometryにてバネを追加する点のグループ「addSp」を作成しました。それからMeshに移動しましたが、MeshモデルにaddSpグループは追加されませんでした(解説には追加されると書かれています)。しかし、ここはそのまま進めました。

それから、既存の.commファイルを複製し、「Aster」-「Add study case」でnew_caseを作成して、それに複製した.commファイルを適用しました。
また,Memoryは256MB、Timeは1000secに増やしています。

Eficasによるコードの編集ですが、おおむね解説文書どおりです。ただし、バネ定数はN/mmの単位になりますので、1e2,1e2,1e2としました。
なお、バネの設定のところ(AFFE_CARA_ELEM)については解説文書と若干違っているようです。

06116

Top上面に与える圧力も、解説文書とは異なり1.0[MPa]です。
節点荷重の出力設定も行いました。

結果は下図の通りです。

06117

摩擦係数が1.5のままなので、Topが引っかかっている様子がわかります。そこで解説文書どおり摩擦係数を0.2に変えて計算しました。

06118

こちらには引っかかりはありません。

節点反力ですが、「new_case.resu」ファイル内に出力されていました。

06119

これをエクセルに取り込んでX方向の値を全て足し合わせると、4.92[N]となり、解説文書とおおむね一致しました。

●次に、3-4項「荷重拘束(摩擦あり・ラグランジュ法)」です。

解説文書どおりコードを書き換えて実行したのですが、収束しないというエラーが生じます。
イタレーションや、荷重増加の分割数を変えましたが、ダメなようでした。

解説文書では、Baseの0.5mm移動について、分割するとエラーになるので、1回で一気に移動するというようなことが書かれています(それだと上手くいくようです)。しかし、非線形解析の目的としては、最終状態のみならず、途中の履歴を検証したいということもあります。

非線形解析の中でも、接触・摩擦は難しい分野です。収束させるには解析ソフトウェアの処理内容をよく理解し、問題によって設定を上手くしていかないとなかなか収束解は得られません。

なので、今回はこのぐらいにしておき、接触・摩擦機能の検証はまたの機会にしたいと思います。

日本語例題 6.1 接触解析(摩擦あり1)

今回は、こちらの例題の「6.1 接触(摩擦あり)」、解説文書ファイル名は「06-10.pdf」です。
DEXCS2011-Salome-A3(64)(SALOME6.3 + Code_Aster STA10.5)の利用です。

前回に引き続き接触問題で、今回は摩擦の考慮をしていきます。

はじめにモデルの読み込みですが、解説文書では“「GraphiteOne」で作成した”、となっていますが、私の環境にはそれは無いので、この機会にSALOMEのGeometryで作成する練習をしてみました。

まず、「New Entity」-「Primitives」の「BOX」でBaseとなる直方体を作成しました。作成方法はいくつか選べますが、デフォルトの、3方向の長さを指定する方法としました。おなじくTopとなる円柱を「Cylinder」にて作成しました。

両方とも原点を基準で作成されるので、重なっています。位置を指定して作成することも出来ますが、今回は、「原点を基準にて作成」->「所定の位置に移動」という手順としました。

06101

つぎに、円柱を対称面で半分にする必要がありますが、これはBooleanでCutすることにしました。Cutするのに用いる大きめの立方体(50x50x50)を、下図のように作成しました。この立方体も、原点を基準で作成し、所定の位置へ「Operations」-「Transformation」-「Translation」で移動させています。

06102

そして、「Operations」-「Boolean」-「Cut」で、円柱を大きい立方体でカットしました。

06103


それから、半分になった円柱を、所定の位置まで移動させました。

06104

解析に用いるのは、Baseとなる直方体と半円柱だけですので、この2つを「New Entity」-「Build」-「Compound」でまとめました。

最後に、解説文書どおりにグループ設定を行い、ソリッドモデル作成は完了です。

06105

メッシュについては、四面体1次要素で、Automatic Length = 0.2にて作成しました(オプションなどは下図参照)。

06106

さて、ここからAster Codeの作成になります。
Wizardを使って基本コードを作成し、Eficasを立ち上げて編集しました。

解説文書どおりに設定していったのですが、接触の設定を行うところで、「AFFE_CHAR_MECA」に「CONTACT」を設定できませんでした。

06107

これは、以前実施した「06-00.pdf」の例題と同じで、設定内容が古いバージョンに基づいているためです。現在は「DEFI_CONTACT」を用いる必要があります。

そういうわけで、この例題はここまでとします。次回、新しい方法での解説である「06-11.pdf」を実施します。

2012年3月 6日 (火)

日本語例題 6.0 接触解析の基本(2)

今回もこちらの例題の「接触解析の基本(2)」、解説文書ファイル名は「06-01.pdf」です。
DEXCS2011-Salome-A3(64)(SALOME6.3 + Code_Aster STA10.5)の利用です。

前回、「06-00.pdf」を実施しましたが、EficasによるAster Codeの編集段階で、AFFE_CHAR_MECAの下に「CONTACT」が設定できず、中断していました。それはおそらく古い設定方法であり、すでに削除されている可能性があります。
それに対し、今回は新しい接触設定方法ということだそうです。

まず、メッシュ作成とAsterのWizardによる解析ケース作成(.commファイル作成)までは前回「06-00」と同じです。

ただし、解説文書においては「モデルがメートル単位で作成されるので、変位の境界条件をメートル単位で入力する」とあります。どうやら、「06-00.pdf」と「06-01.pdf」の間のSalomeのバージョンアップで、STEPファイルがmm単位で読み込まれなくなったようです。

そのため、この文書の以後の操作では、SI単位系での設定になっています(変位はm、圧力はPa、ヤング率もPa)。しかし私としては慣れない単位系を用いるのには抵抗があります。したがって、私の方は、これまでどおりモデルを1000倍してmm単位とし、力はN、長さはmm、圧力はMPa、ヤング率はMPaを用いることにしました。したがって、Wizardで設定する銅のヤング率は「130300(MPa)」となります。

次にEficasを立ち上げ、Aster Codeの編集をしていきました。
古い方法では、「AFFE_CHAR_MECA」の下で「CONTACT」の定義をしましたが、今回の新しい方法では、最上位の「DEFI_CONTACT」を用いて接触定義をするようです。

AFFE_CHAR_MECAは解説文書どおりですが、loadPにおけるZ方向の変位はmm単位で、「-0.2」としました。

接触の定義「DEFI_CONTACT」、変位を徐々に変化させるための設定である「DEFI_FONCTION」、「DEFI_LIST_REEL」も解説文書どおりですが、DEFI_FONCTIONの下の「VALE」の入力方法は少し戸惑いました。下図のように、「0,0」、「1,1」というように、XとYをカンマで区切り、座標点ごとのセットで入力していく必要があるようです。

06011

非線形解析の設定は「STAT_NON_LINE」で設定し、線形解析の設定「MECA_STATIQUE」は削除しますが、この作業によって、その後のポスト出力設定部分などで何ヶ所か名前の付け直しが必要になります。これは結構煩雑なので、非線形解析についてもWizardが欲しいところです。

それから、Post処理設定のところですが、出力する応力やひずみなどの名称が、解説文書と異なっています。例えば解説文書では「相当歪」は「EQUI_NOEU_DEPL」となっていますが、そのようなパラメータは無く、文字列から推測も出来なかったので設定できませんでした。おそらく、またどこかの時点で変更があったのかもしれません。今回編集しているのはSTA10.5向けの書式ですが、例えば節点解は下図のようになっています。

06012

「SIEQ_NOEU」(相当応力?)や「REAC_NODA」(節点反力?)のようになんとなく分かるものもありますが、分からないものもあります。自分が出力したいものがどの文字列になるのか分からないのは困ります。公式の英訳解説があるようですが、詳細過ぎて分かりにくいです。

要素解(CALC_ELEM):http://www.code-aster.org/V2/doc/default/en/man_u/u4/u4.81.01.pdf

節点解(CALC_NO):http://www.code-aster.org/V2/doc/default/en/man_u/u4/u4.81.02.pdf

最終的な編集内容は下図の通りです(DEFI_FONCTIONとDEFI_LIST_REELは展開していませんが、解説文書どおりです)。

06013

06014

06014_2

この設定で、うまく計算できました。

06015

結果については、線形解析時は「0,-」だけでしたが、今回は0から1まで0.2刻みで出力されています。

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

続いて「荷重拘束したときの接触解析」です。

上の解析で作成した「06-01.comm」をOS上で複製し、名前を「06-01-F.comm」にしました。それからSALOMEのAsterモジュールで「linear-static」ケースを右クリックで「EDIT」として、解析コードを「06-01-F.comm」に変えました。

その後のEficasによる編集は解説文書どおりで、特に迷ったところはありませんでした。
ただし、圧力の値はMPa単位として「0.0001」にしました(解説では100Pa)。

これで計算を実行したのですが、下記のエラーが生じました。これは解析したディレクトリにある「linear-static.mess」を開くと確認できました。

JDC.py : ERREUR A L'EXECUTION - INTERRUPTION
>> JDC.py : DEBUT RAPPORT
CR d'execution de JDC en MIXTE
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !  Exception utilisateur levee mais pas interceptee.                    !
   ! Les bases sont fermees.                                                  !
   ! Type de l'exception : ArretCPUError                                      !
   !                                                                          !
   !    Arret par manque de temps CPU au num駻o d'instant : 5                 !
   !       - Temps moyen par increment de charge : 21.030000                  !
   !       - Temps cpu restant      : 20.760000                               !
   !                                                                          !
   !    La base globale est sauvegard馥. Elle contient les pas archiv駸 avant !
   ! l'arret.                                                                 !
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
fin CR d'execution de JDC en MIXTE

これをGoggle翻訳で英訳してみました。

JDC.py: ERROR PERFORMANCE - INTERRUPTION
 JDC.py >>: START REPORT
 CR execution of JDC in MIXED
    !!!!!!!!!!!!!!!!! !!!!!!!!!
    ! Exception  User levee but not intercepted. !
    ! The bases are closed. !
    ! Exception type: ArretCPUError!
    ! !
    ! Stop by lack of CPU time to time o 駻 num: 5!
    ! - Average time per load increment: 21.030000!
    ! - Cpu time left: 20.760000!
    ! !
    ! The overall basis is sauvegard 馥. It contains the archived ? not before!
    ! the stop. !
    !!!!!!!!!!!!!!!!! !!!!!!!!!
 CR end of execution of JDC in MIXED

 JDC.py >>: END REPORT

どうやら、設定していたCPU時間が短すぎるようです(デフォルトの120秒のままでした)。
linear-staticのEDITで、timeを300秒に設定して再計算すると、正常に終了できました。

06016

06017_2

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

最後に、弱いバネを付加したモデルでの解析です。
ただし、4.1項のBarのみでのバネの挙動検証は省略しました。

これまでの例題を実施したディレクトリを丸ごと複製して、新たなディレクトリで元の06-01を修正して進めました。

まず解説文書通りに、Geometryにてバネを接続する点のグループ(addSP)を作成しました。それからMeshに移動しましたが、Meshの下にaddSPのグループは作成されませんでした(解説には作成されると書かれています)。しかし、そのまま進めました。

次にEficasによるコード編集ですが、これも基本的には解説文書どおりです。
ただし、バネ定数は N/mmの単位にして 1e2,1e2,1e2 としました。また圧力は0.1MPaです。

06018

これで計算を実施すると、正常に完了できました。

06019

図では見えませんが、Meshの下にaddSPのグループも作成されていました。

なお、接触部の応力に偏りがあるのは、BaseとBarの接触部において、両ソリッドのメッシュの位置関係がずれているためです。

今回は以上です。

2012年3月 4日 (日)

日本語例題 6.0 接触解析の基本(1)

今回は、こちらの例題の、接触(基本)「06-00.pdf」です。
DEXCS2011-Salome-A3(64)(SALOME6.3 + Code_Aster STA10.5)の利用です。

今回から荷重や変位を段階的に与えていく、非線形解析の設定に入っていきます。
まずは、接触非線形です。

解説どおり「multi-bar-1.stp」読み込み、いつものように1000倍し、グループを設定しました。解説では、グループが階層的になっています(Baseの下にfixとcontBase、また、Barの下にcontBarとpress)。しかし私の環境では、このようにすると後のAster Code作成のWizardの段階にて、「Nodeの無いグループが云々・・・」というエラーが出て先に進めませんでした。そのため、ここではソリッドもフェイスも同列のグループにしました。

続いて、メッシュは2次の六面体要素で作成しました。
Meshの作成についても、解説とは少し異なっています。これは、私が使用しているSALOME6.3のMesh作成画面が、解説とは異なるためです(バージョン違いのためだと思います)。

GeometryとMeshの設定状況は下図の通りです。
MeshのLocal_Lengthは3にしています。

06001

次にAsterに移り、WizardでAster Codeのひな形を作成し、Eficasで編集を行いました。

しかしここで、AFFE_CHAR_MECAの下に「CONTACT」が設定できませんでした(選択候補にCONTACTが無い)。

06002

05-00」と同じく、どうやらこれも古い設定方法のようで、現在は削除されているようです。
これ以上はどうしようもないので、「06-00.pdf」はこれで中断しました。

次回、新しい設定方法である「06-01.pdf」の例題について実施してみます。

日本語例題 5.1 線形熱応力(2)

今回もこちらの線形熱応力の例題、「05-10.pdf」です。
DEXCS2011-Salome-A3(64)(SALOME6.3 + Code_Aster STA10.5)の利用です。

前回(05-00.pdf)、Eficasにて解説どおり設定できない項目があったので中断し、新しい方法である今回の例題に移ることにしました。

メッシュを作成するところまでは前回とまったく同じです。

続いてAsterに移動し、Aster Codeの編集をEficasで行いました。内容は解説の通り(下図)です。

05101


前回と異なる点として、参照温度(20℃)はAFFE_MATERIAUの下にAFFE_VARCを作成し、そこで定義することです。

ここで気を付けないといけないのは、AFFE_MATERIAUをCREA_CHAMPの下に持ってくるということです。AFFE_MATERIAUの下のAFFE_VARCにて、設定温度の関連付けとして「tempS」を用いているのですが、この「tempS」はCREA_CHAMPの名前として定義しているためです。

はじめ私はこの順番がわからず、AFFE_MATERIAUをCREA_CHAMPの上にしてしまい、AFFE_VARCの下のCHAMP_GDの設定でtempSが出てこなくて、しばらく悩みました。

また、CREA_CHAMPは、AFFE_MODELEの下でないといけないようです。基本的に、参照で用いる名前は、その上側で定義する必要があるようですが、このあたりの前後関係の制約については、慣れないうちは迷いそうです。

さて、上記の設定にて計算をすると、問題なく結果が得られました。

05102

上図は片端の拘束をはずした条件の、X方向の変位です。端の変位が0.234mmであり、前回例題の「05-00.pdf」の解説どおり、理論値とほぼ合致しています。

また下図は片端のX方向変位を拘束した条件の、X方向応力ですが、端部で約166MPaであり、これも前回の「05-00.pdf」の検算と一致しています。正確に計算されているようです。

05103

さて、前回「05-00.pdf」を途中でやめてしまったため、円形のバイメタルの解析検証ができませんでしたので、今回、新しい設定方法でやってみました。

Geometryで「circle2.stp」を取り込み、いつもの通り1000倍しました。また、Meshは2次の四面体としています。

次にAsterに移動してWizardを実施しました。拘束条件は下図の通りです。
(「Cline」は要らない気がしますし、「Cpoint」もDZの拘束だけで良いように思いますが、とりあえずそのままです)。

05104

「.comm」ファイル作成後、それをEficasで編集した結果は下図の通りです。

05105


スペースの都合でDDL_IMPOを展開表示していませんが、上の拘束条件の設定そのままです。

ここでも、AFFE_MATERIAUの下のAFFE_VARCで「set_temp」を参照していますので、「set_temp」の名前を定義しているCREA_CHAMPは、AFFE_MATERIAUの上に置いています。

それにしても、ちゃんとしたフランス語の単語でもよくわからないのに、それが略語となると、まったく意味が分かりません。例題では手順が解説されているのでそれに従えば一応できるのですが、自分で新しいこと(新しい項目や機能の利用)をやろうとするのは、現段階では無理そうです。

Open CAE Wikiの「Salome-フランス語対策」などを参考にして、地道に覚えていくしかなさそうです。

仏語英語の単語対応表へのリンクはこちらです。
http://www.code-aster.org/wiki/doku.php?id=en:p01_util:p120_terms

さて、話がそれましたが、これを計算させると無事に結果が出ました。

05106

対称面付近の応力が高いなど、ちょっと気になる点はありますが、計算自体はこれでできるようです。

ところで、今回私はMeshの下にグループを作成していません。Eficasにおけるグループ指定も、Geometryの下に作ったグループ名で指定しています(Lower,Upperなど)。

しかし結果が出た時点でオブジェクトブラウザを見ると、Meshの下にグループが出来ています。最初はこれが何時できたのか分からなかったのですが、もう一度順を追って操作して調べてみると、計算をRUNした後、結果が出力される段階で現れました。「03-00」では手動でMeshの下にグループを作り、Eficas上でMeshのグループを指定しないと上手くいかなかったのですが、このあたりの仕組みも分かりにくいところです。Wizardの中で、GeometryかMeshのどちらのグループを使うか聞いてくるところがあるのですが、それと関係しているのかもしれません。

05107

今回は以上です。

日本語例題 5.0 線形熱応力

引き続きこちらの日本語例題です。今回は「05-00.pdf」(線形熱応力)です。
DEXCS2011-Salome-A3(64)(SALOME6.3 + Code_Aster STA10.5)の利用です。

まず、Geometryにて形状ファイル「Bar-100x20x10.stp」を読み込みました。いつものようにm単位で読み込まれたので、Operations -> Transformation -> Scale Transformで、Scale factorに1000を入れて1000倍に拡大し、mm単位のモデルにしました。
また、解説通りに端面のグループ(fix0,fix100)も作成しました。

次にメッシュの作成です。
Meshに移動し、「Mesh」-「Create Mesh」で「Assign a set of Hypothees」をクリックし、「Automatic Hexahedralization」を選択しました。しかし、この部分の解説は現在私が使用しているSALOME6.3とは異なるようで、「Automatic Length」という項目は出てきませんでした。これまでもMeshの作成方法については今ひとつよく分からず、悩むことが多かったのですが、今回も色々試行錯誤した結果、下図のような設定で良いアスペクト比の2次六面体要素のメッシュを作成出来ました。

05001

「2D」と「0D」のタブについては、、「Automatic Hexahedralization」で自動設定されたまま触っていません。

これでメッシュが作成完了しました。

05002

次にAsterに移動し、Wizardでひな型となるAster Codeを作成しました。固定面については、拘束する自由度にゼロを入れ、フリーの自由度についてはゼロを消して空白にしておけば良いようです。

05003

それから、作成された「.comm」ファイルを右クリックし、「Run Eficas」でEficasを起動し、解説通りに設定をしていきました。

05004

しかしここで、下記の項目について解説通りに設定出来ないことが分かりました。

(1)材料の設定(AFFE_MATERIAU)に、参照温度(TEMP_REF)が追加出来ない。
(2)AFFE_CHAR_MECAに、温度設定(TEMP_CALCULEE)が追加出来ない。

私が見逃しているのかもしれませんが、この解説においても、「これは古いやり方である」という事が書かれていますので、もしかすると現在のバージョンでは既に削除されているのかもしれません。

次の「05-10」が新しいやり方の解説ですので、今回はこれで終了し、次に移ることにしました。

2012年2月25日 (土)

日本語例題 4.0 部品の連結

前回に引き続き(こちら)の日本語例題です。今回は「04-00.pdf」(部品の連結)です。

 

前回(03-00)は異なる部品の境界面を共有節点でメッシュ作成しましたが、今回は別個にメッシュを作成して連結する方法です。

 

まずmulti-bar-1.stpを読み込み、これまで同様に1000倍しました。その後、説明通りにグループを作成し、メッシュを切りました。

 

201202231

 

部品間で節点が共有されていない事が分かります。

 

次に、Meshの下にグループを作りました。前回は、Mesh_1を右クリックして出る「Create Groups from Geometry」の存在に気が付きませんでしたが、今回はこれを用いました。

201202232

 

GeometryからElementsおよびNodesにグループを移行出来るようです。今回はElementsの方へ移行しました。これで、FaceVolumeにそれぞれのグループが出来たようです。

 

201202233

 

それからAsterに移動し、Wizardで一旦解析ケースを作った後、Eficasで入力の編集をしました。これも、ほぼPDFの説明通りに出来ました。

 

201202234

 

これで計算を実行すると、これも説明通りの結果が出ました。

 

201202235

 

やはりBaseの上面が、Barに接触していない部分まで歪んでいます。どうも、指定した面同士をはみ出した部分まで含めて結合するようです。

 

次に「部品間に隙間が有る場合」です。

 

形状ファイルを読み込み後に1000倍するため、PDFの説明とは少し異なる構成ですが、2つの部品が離れた状態でメッシュが作成出来ました。Meshの下に各グループも作っています。

 

201202236

 

それから、EficasAster Codeの編集を行いました。

 

201202237

そして計算を実行させたのですが、エラーになってしましました。

 

messファイルの最後の部分に下記メッセージが出ていました。

------------------------------------------------------------------

 

JDC.py : ERREUR A L'EXECUTION - INTERRUPTION

 

>> JDC.py : DEBUT RAPPORT

 

CR d'execution de JDC en MIXTE

 

 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

 ! <S> Exception utilisateur levee mais pas interceptee. !

 

 ! Les bases sont fermees. !

 

 ! Type de l'exception : error !

 

 ! !

 

 ! le GROUP_MA bar0.5 ne fait pas partie du maillage : MAIL !

 

 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

fin CR d'execution de JDC en MIXTE

 

 

 

>> JDC.py : FIN RAPPORT

 

EXECUTION_CODE_ASTER_EXIT_0006-4330-T3697-V=1

--------------------------------------------------------

 

bar0.5のグループ指定になにか不具合があるようですが、それ以上のことはフランス語なのでよく分かりません。せめて英語なら・・・と思います。

 

グループ指定の方法などを色々変えて試行錯誤してみましたが、いずれもエラーが出ます(エラーの内容は、色々変わっています)。 

 

今ひとつよく分からないのが、Eficasによる入力データの編集において、各項目に対してGeometryのグループおよびMeshのグループのどちらを指定すればよいかということです。それに、Meshのグループの中でも、NodeFace,Volumeに分かれています。

ここで詰まっても仕方ないので、これは保留して先に進むことにしました。

  

それに、やはりEficasAsterのメッセージのフランス語が問題ですね。

  

さて、「04-00.pdf」はこの後更に「負荷面の形状を規制する方法」と「連結の定義方法」について説明されていますが、これらについては読むだけとしました。

より以前の記事一覧