« 2012年9月 | トップページ | 2012年11月 »

2012年10月

2012年10月27日 (土)

LIAISON_SOLIDEによる剛体は大回転出来ない

私はゴムのような柔らかい機械部品の構造解析を商用ソフトで行うことが多いのですが、その場合、解析対象となるゴム部品は変形体としてモデル化し、それに干渉する金属部品などは変形しない「剛体」として考え、その表面のみを剛体面として定義します。

しかしCode_Asterには「剛体面」という機能は無く、変形体としてのメッシュを「LIAISON_SOLIDE」(マニュアル:U4.44.01.pdf)によって剛体結合するしかありません。入力ファイル(med)に剛体面の定義が無いのですから、それは当然といえます。

ところが、この「LIAISON_SOLIDE」という機能は、どうやら大回転には対応していないようです。フォーラムをいくらか検索してみましたが、どうもそのような感じです。

http://www.code-aster.org/forum2/viewtopic.php?id=16995

以下はその検証です。

ソフトウェアは、DEXCS2011-Salome-A3(64)(SALOME6.3 + Code_Aster STA10.5)の利用です。

・一辺1mmの立方体を、六面体1次要素で2x2x2に分割する。
・材料は線形弾性(鉄)
・LIAISON_SOLIDEで剛体結合する。
・center点を回転中心として、そこの節点で並進移動と回転を制御する。
 (「K_TR_D_N」を用いる。これは、こちらで公開されている資料のうち、「AFFE_CHAR_MECA_LIAISON_1.pdf」を参考にさせていただきました。)

Rigid0101


・DEFORMATION='GROT_GDEP' とする。

・time 0~0.5で、5(mm)平行移動
・time 0.5~1で、2π(rad)回転。

下の動画はその結果です。


静止画です。

平行移動完了時(time=0.5)
Rigid0102


回転完了時(time=1.0)
Rigid0103

平行移動は問題ありませんが、回転するにしたがって、形状が膨らんでいきます。
応力も発生しているし、どう見ても一回転していません。明らかにおかしいです。

このように、剛体結合(LIAISON_SOLIDE)は大回転出来ないことが確認できました。
機械部品の構造解析では、複数の部品を組み合わせて回転挙動を扱うこともあるので、これはかなり残念です。他の「LIAISON・・・」系については未検証ですが、同じかもしれません。

大回転で剛体を扱うことはあきらめ、変形体として非常に硬い線形材料の設定で扱うしかなさそうです。

今回のメッシュファイル(mmed)とcommファイルは下記です。

rigid01.zip

2012年10月24日 (水)

Salome-Mecaに関するイベント情報

Salome-Mecaについての情報を得るには、主にネットの情報に頼ることがほとんどになると思いますが、今後、いくつかのセミナーや学会等のイベントが予定されていますので、ご紹介します。都合の合う方は足を運んでみてはいかがでしょうか。

事前申し込みが必要なイベントもありますし、日程や内容変更の可能性も有りますので、詳細と確実な情報につきましては、それぞれのリンク先でご確認をお願いいたします。

■第35回関西CAE懇話会

http://www.cae21.org/

・日時:2012年11月9日(金)10:00~19:00
・場所:西宮市民会館 (阪神電車 西宮駅下車 徒歩 5分)
・内容
「OpenCAEの最新情報と解析塾予告編」の中で、「Salome-Mecha 活用研究会 非線形分科会活動報告」、「Salome-Mecaの最新情報と先端的なオープンCAE構造解析事例」があります(その他、OpenFOAMの講演もあります)。

■CAE懇話会解析塾 関西地区「Salome-Meca入門」

http://www.cae21.org/

・日時:2013年1月から2013年2月 4回コース
・場所:株式会社アルゴグラフィックス(新大阪) 会議室
・講師:岐阜工業高等専門学校 教授 柴田 良一 先生

上と同じ「CAE懇話会」による4回コースのセミナーです。

■オープンCAE初心者勉強会 第18回勉強会

http://opencae.gifu-nct.ac.jp/pukiwiki/index.php?%A5%AA%A1%BC%A5%D7%A5%F3%A3%C3%A3%C1%A3%C5%BD%E9%BF%B4%BC%D4%CA%D9%B6%AF%B2%F1

・日時:平成24年11月03日(土)午後1時~5時
・場所:岐阜市生涯学習センター

■オープンCAE初心者勉強会@広島

https://sites.google.com/site/codeastersalomemeca/home#TOC-CAE-

(リンク先ページの下の方に「オープンCAE初心者勉強会@広島」の案内があります)。

・日時:11月24日(土) 13:00〜17:00
・場所:広島県広島県三原市 三原市総合保険福祉センター(サン・シープラザ)

■オープンCAEシンポジウム2012

http://www.opencae.jp/wiki/%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3CAE%E3%82%B7%E3%83%B3%E3%83%9D%E3%82%B8%E3%82%A6%E3%83%A02012

・日時:12月14日(金)・15日(土)
・場所:岐阜市 ハートフルスクエアーG

・内容

14日(土)に、岐阜工業高等専門学校・柴田先生の「Salome-Meca講習(仮題)」があります。

2012年10月21日 (日)

面荷重(FORCE_FACE)を荷重の合計値で与えるには

3次元要素の面への荷重(「AFFE_CHAR_MECA」-「FORCE_FACE」)は、単位面積当たりの荷重値で入力します。SI単位なら、[N/m^2]になります。

様々なケースの構造解析をしていると、荷重を対象の面全体の合計値で与えたい場合もあるのですが、残念ながらCode_Asterではそのようなコマンドは無いようです。

荷重を与える面が円や四角など単純な場合は、あらかじめ面積を求めておき、合計荷重値をその面積で割った値を入力すれば良いのですが、計算できないような形状の場合はどうすればいいのでしょうか。

そのような疑問が生じ、公式フォーラムなどを少し検索してみたのですが、簡単な方法は無いようです。
たとえば、

http://www.code-aster.org/forum2/viewtopic.php?id=16525

http://www.code-aster.org/forum2/viewtopic.php?id=13432

では、「POST_ELEM」の機能を流用して、面グループの面積を求める方法が紹介されていますが、これらは本解析とは別にJOBを実行する必要があり、面倒です。Pyrhonスクリプトを駆使すれば、1JOBにまとめることも出来るようですが、それは更に面倒です。

結局、Code_Asterだけで解決するのはあきらめ、CAD(Geometry)の段階で対象面の面積を求めておくことにしました。形状を3次元CADで作成しているのであれば、そのCADの機能を使えば良いし、Salomeなら、「Geometry」に面積を求める機能があります。

以下はその実施例です。
ソフトウェアは、DEXCS2011-Salome-A3(64)(SALOME6.3 + Code_Aster STA10.5)の利用です。

解析モデルは下図の通りです。
断面が1[mm] × 1[mm]、長さ10[mm]の角柱を作り、一方の端面の一辺にR=1[mm]のフィレットをつけます。

Forcef0101

フィレットを付けた方の面を荷重面としてグループ名を「force」にし、他端を固定面としてグループ名を「fix」にします。
この荷重面の長手方向(X方向)に合計1[N]の荷重を与えて引っ張るものとします。

このとき、荷重面がフィレット無しの四角のままなら、断面積は1[mm^2]なので、単に1[N/mm^2]を与えれば済みます。しかし、フィレットを作成したことにより断面の面積が変わっていますので、その断面積を求めておく必要があります。
(今回の「force」面の場合は明らかに、π/2[mm^2]なのですが、一応「わからない」ということにしておきます)。

面の面積の求め方ですが、Geometryのメニューから「Measure」-「Basic Properties」で、下図のようなウィンドウが出ます。

Forcef0102


ここで、オブジェクトブラウザーで該当する面グループを選択すると、その面の面積が、「Surface is:」の欄に表示されます。「force」面の面積は、1.570795[mm^2]と表示されています(これはπ/2であり、計算値と一致します)。
また、「Length」は面を囲む線の合計長さのようです。

このモデルで単純な線形解析を行いました。
メッシュ図です。

Forcef0103


四辺形2次要素を用いました。

commファイルのEficasによる編集内容です。

Forcef0104


FORCE_FACEのFXの値を
1÷1.570795 = 0.63662031
としました。

また、fix面のX方向反力の合計値を出力するようにしています。

Forcef0105


この方法の詳細については、「節点反力を集約する方法」をご覧ください。

結果ですが、まずfix面のX方向反力の合計値は「resu」ファイルに出力され、下記のようになりました。

#TABLE_SDASTER
INTITULE         RESU     NOM_CHAM         NUME_ORDRE   INST       
DX
Reaction_Force   RESU     REAC_NODA                   1  0.00000E+00
-9.99999E-01 

反力はほぼ1[N]となり、設定どおりの力が作用していることが分かりました。

下図は、X方向の応力図です。

Forcef0106_2


角柱の上面の応力が大きく、下面が小さいことが分かります。
変形も、よく見ると「お辞儀」しています。

これは、下図のように荷重が角柱の上面側に偏るためです。

Forcef0107


「FORCE_FACE」は対象の面に(デフォルトで)均等分布しますが、荷重は法線方向ではなくグローバル座標の成分になることに注意する必要があります。
法線方向の荷重(つまり圧力)にしたい場合は「PRES_REP」になります。

今回のメッシュファイル(.mmed)とcommファイルは下記です。

forcef01.zip

« 2012年9月 | トップページ | 2012年11月 »