回転体

2014年2月20日 (木)

ゴムバンドの摩擦力による動力伝達(テンショナーの追加)

これまでゴム部品の解析事例として、主にゴムバンドを用いた摩擦力による動力伝達をテーマとして進め、2次元モデルによる動力伝達、および3次元モデルによるクラウン効果の検証について、Slome-Mecaによる解析を行う事ができました。

それらの解析は、駆動軸と従動軸という2つの軸しか考慮していませんでしたが、今回は、2次元モデルに、更に張力を保持するためのスプリング式のテンショナーを追加しました。

まずは、結果の動画からご覧下さい。左側が駆動ローラー(Driving roller)、右側が従動ローラー(Driven roller)です。

テンショナーの動きを確認するため、負荷トルクを変動させています。

駆動ローラー(Driving roller)はTime=1で1回転しますが、回転スタート時にはトルクがゼロで、そこから直線的に増加して、半回転後にトルク最大になり、再び直線的に減少して1回転後にゼロに戻ります。この事例では駆動ローラーを2回転しているので、2サイクルの負荷変動が有ります。

Rband1201

スプリング式のテンショナーは、ゴムバンドが負荷によって緩む側のスパンに付けられています。先端のアイドラー(抵抗なしで空回りするローラー)はバネ力によってゴムバンドに押し付けられていますが、負荷の変動によって上下方向の位置が変化します。また、それに伴い、バネ力も変化しています。

負荷がゼロの状態です。
(ゴムバンドの色分けはMises応力、アイドラーの色分けは上下変位です)。
Rband1202

負荷最大の状態です。
Rband1203

負荷最大時には、上側スパンと下側スパンの応力の差が大きくなる事がわかります。また、テンショナー線先端のアイドラーの変位は見ただけではよく分かりませんが、色を見ると、上側へ移動しているようです。つまり、負荷が大きくなると下側スパンが緩もうとするため、その分テンショナーのバネが伸びてアイドラーの位置が上に移動するということです。

解析結果から、負荷トルクと、アイドラーの上下変位、テンショナーのバネ力をグラフにしました。

Rband1204

負荷トルクが大きくなると、ゴムバンド下側スパンが緩み、バネが伸びてバネ力(スプリング力)は弱くなり、アイドラーの位置は上に移動していることがわかります。

なお、ゴムバンドとアイドラーの間に摩擦力はありません。

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

さて、以降はこの解析モデルの説明です。

まず、駆動および従動ローラー、ゴムバンドの形状・寸法や物性値、張力や負荷トルクの与え方などは従来と同じですので省略します。従来の解析は下記URL「ゴムバンドの摩擦力による動力伝達(前編)」から始まる一連の記事をご参照下さい。

http://salome-meca.cocolog-nifty.com/blog/2012/12/post-e977.html

今回の追加部分であるスプリング式のテンショナーですが、下図の通り、「ベース」、「バネ(スプリング)」、「アイドラー」の3つの部品から構成されています。

Rband1205

これらはSalomeで別のパーツとして作成し、メッシュも別々に作成しています。そのため、各パーツ間での共有節点はありません。

Rband1206

そのため、下図のように各部品の部分にグループ名を設定し、Code_Asterで「LIAISON_UNIF(自由度の連結)」を使って、上下方向(Y方向)を連結しています。LIAISON系列は大変形・大回転(GROT_GDEP)には対応していないようなのですが、並進移動だけなら問題無いようなので使っています。これについては「LIAISON_SOLIDEによる剛体は大回転出来ない(http://salome-meca.cocolog-nifty.com/blog/2012/10/liaison_solide-.html)」をご参照下さい。

Rband1207

Rband1208

また、これらの部品は全て横方向(X方向)には動かないので、上のように各点のX方向変位は拘束しています。

要素は、ベースとアイドラーはゴムバンドやローラーと同じD_PLAN(平面ひずみ要素)で、バネは2D_DIS_Tとしました。バネ定数はK_T_D_Lで設定しています(各方向、0.1[N/mm])。

なお、アイドラー部分は空回りするローラーなので、本来はゴムバンドによって回転させられます。しかし今回はアイドラーの負荷が無いため、まじめに回転させる必要は無く、ゴムバンドとの摩擦をゼロにした上で固定してしまっています。つまり、ゴムバンドはアイドラーの表面で滑ります。そのほうが設定が簡単で、おそらく計算時間も短縮できます。

解析手順ですが、従来のモデルと同様に、「(1)ローラーに軸荷重を与えて。ゴムバンドを張る」、「(2)従動ローラーにトルクを与えながら、駆動ローラーを回転させる」という2つの解析(2つのcommファイル)に分けています。具体的には、従来の事例をご参照下さい。

そのうち、(1)の段階(TIme=0~1)にて、ベースの下辺グループ「basel」に上向きに移動する変位を与えてテンショナーを移動させ、ゴムバンドに押し付けています。

Rband1209

Rband1210

また、接触設定については、アイドラー外面とゴムバンド外面のZONE設定を追加しています。ゴムバンド外面には「bandc2」というグループを追加しています。

Rband1211

「LISSAGE="OUI"」は接触面の法線を滑らかにする役目があるようですが、これを入れておいたほうが収束性が良さそうな感じだったので、とりあえず入れています。

(1)に続いて、ローラーを回転させる(2)の段階ですが、これは従来どおり別のcommファイルで「POURSUITE」を用いて継続計算させています。

ただし前述したようにトルクを変動させるように変更しています(従来は、1/4回転で所定値までトルクを上げた後は一定)。またトルクの最大値も従来の2倍に増やしました(従来は1.16[N・m])

Rband1212

後は従来どおり駆動ローラーを回転させるだけなのですが、どうも(2)のJOBの最初のステップで計算が収束しませんでした。どうやら接触問題を2つの「STAT NON LINE」に分けて継続計算する場合、接触状態の引継ぎが上手くいきにくい傾向にあるようです。これは、2つのJOB(commファイル)に分けてJOB自体を分けた場合でも、1つのJOB内で「STAT NON LINE」を分けた場合でも同様のようです。

実は、(1)のテンショナーを押し付ける動作も、当初はゴムバンドを張った後の後続として「STAT NON LINE」を分けて実施しようとしたのですが収束せず、接触設定のペナルティー係数を下げるなど色々試行錯誤しても収束しなかったので、ゴムバンドを張る段階と同時進行としました。

一方、(2)の段階の最初のステップで収束しない問題については、接触設定のペナルティー係数「COEF_PENA_CONT」および「COEF_PENA_FLOT」を下げる事で解決出来ました。これらは(1)の段階では両方とも500だったのですが、(2)の段階では、CONTの方を200、FLOTの方を400まで下げています。

Rband1213

上記の(1)でテンショナーを押し付ける方についてはペナルティー係数の調整でも上手くいかなかったのですが、なぜ(2)の方では上手くいったのかわかりません。このあたりはなかなか奥が深くて難しそうです。

あと、同じく初回ステップの収束性向上に効果が見られる「SEUIL_INIT」も0.1に設定しています。

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

今回の解析は、仮想PC上のDebian7.2.0に、最近リリースされたばかりのSalome-Meca2014.1を入れて実施しています。

Salomeは7.3.0で言語を日本語に設定しています。

Code_Asterは12.1を用いました。
従来の11からの変更点として、STAT_NON_LINEからCOMP_INCRとCOMP_ELASの設定が消え、「COMPORTEMENT」になっています。記述する内容は同様のようなのですが、COMP_INCRとCOMP_ELASの区別をしなくて良くなった分、分かり易くなったのではないかと思います。

Rband1214

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

今回のファイルは下記にzipで圧縮しています。

rband12.zip

rband12.mmed:メッシュファイル
rband12a.comm:前半(ゴムバンドを引っ張るまで)
rband12b.comm:後半(ローラーを回転させる)

2013年9月 7日 (土)

ゴムバンドの摩擦力による動力伝達(クラウン効果について)

前回、ゴムバンドの摩擦力による動力伝達(3次元)を実施し、ゴムバンドが回転につれてローラーの太い側へ寄っていく「クラウン効果」が再現できる事を確認しました。このクラウン効果についてもう少し考えてみます。

駆動ローラー1回転毎のバンドの動きをGIFアニメーションにしたものを、もう一度下に示します。Time=1で駆動ローラーが1回転しますが、その間にゴムバンドが奥側へ寄っていくのが分かります。

ゴムバンドがどのようにしてローラーの太い側へ寄っていくのか確認するため、下図のように、回転始めにおいてゴムバンド上の1点(点A)を指定しました。

Rband08201


この点AのZ座標(ローラー軸方向)が、回転につれてどう変化するかプロットしました。
また、軸荷重は前回実施の30[N]と、今回新たに50[N]でも実施して付け加えました。

Rband08202


ローラーの外径が約100mm、ゴムバンドの内径が約220mmなので、駆動ローラーが約2.2回転でゴムバンドが1回転する事になります。

そのゴムバンド1回転の間を、上図中の点線でa~eの領域に区切っています。点Aは回転始めに駆動ローラーの中央(領域a)に位置しており、1回転してほぼ同じ位置(領域e)に戻ります。

このプロットから、ゴムバンド上の点はローラー内(領域a,c,e)においてはローラーの細い側へ若干移動し、ローラー間(領域b,d)においてローラーの太い側へ大きく移動していることがわかります。そしてゴムバンド1回転トータルではローラーの太い側へ移動しています。

これを上側から見た図に描くと、下図のようになります(フリーハンドで描いたので、見難くてすみません)。点線は下側(駆動ローラーから従動ローラーへ向かう)、実線は上側(従動ローラーから駆動ローラーへ向かう)です。ゴムバンド上の点は8の字を描くようにしてローラーの太い側へ寄っていきます。

Rband08203_2


何故このような動きをするかというと、ゴムバンドがローラーに進入する際、ローラー軸に対して直角ではなく、直角からある程度の角度傾いて進入するためです。

上図の点線の円で囲んだ部分に注目してください。

Rband08204


A点は、ローラー間ではローラーの太い側へ向かって進んでいますが、ローラーに進入する直前に細い側へ進む向きを変えます。これはローラー面に角度が付いているためです。このため、上図の通りローラー軸直交方向に対してαの角度だけ傾いて進入します。このαを進入角と言います。この挙動はプロットのグラフでも確認できます。

A点はローラー上においてローラーの細い側へ若干滑りますが、その量はそれほど大きくはありません。そして進入角があるため、A点のすぐ後ろの後続点は、A点よりもローラーの太い側において進入します。更に次の後続点はもっと太い側で進入します。このようにして、ローラーへ進入する位置がだんだん太い側へ寄っていくので、ゴムバンド全体が回転につれて太い側へ寄ります。これがゴムバンド移動のメカニズムになります。

また計算結果では、ゴムバンドを張る際の軸荷重が大きいほうが、ゴムバンドの移動速度が遅い事が分かります。これは、ゴムバンドが強く引っ張られると進入角が小さくなるためです。

このように、クラウン効果のメカニズムをSalome-Mecaにて検証することが出来ました。

【参考文献】

(1)大倉・澤田・塚本,ベルト片寄りの基本メカニズムに関する一考察, MPTシンポジウム(伝動装置)講演論文集 巻:2004、 ページ:251-254 (2004)

(2)徳田・大倉,心線撚りによるベルト片寄り現象の解析, 日本機械学会機素潤滑設計部門講演会講演論文集 巻:6th、 ページ:31-34 (2006)

2013年8月31日 (土)

ゴムバンドの摩擦力による動力伝達(3次元)

■概要

これまでずっと取り組んできた「ゴムバンドの摩擦力による動力伝達」ですが、Salome-Meca2013.2を用いて2次元モデルでの問題が解決したので、次は3次元モデルでの試行に取り組みました。

ただし、従来の2次元モデルを厚み方向に伸ばして3次元モデルにするだけでは、3次元化の意味があまり無くて面白くありませんので、ローラーの外径を回転軸方向に変化させ、「クラウン効果」を検証してみることにしました。

「クラウン効果」は、平ベルトやバンドを太さが不均一なプーリーに巻きかけて回転させると、徐々に「太い方」へ寄っていくという現象です。この効果を利用して平ベルトの走行位置を中央に安定させるため、中央部が太くなったプーリー(クラウンプーリ)を用いる事があります。

今回の利用ソフトウェアは、Salome-Meca2013.2(Salome6.6.0 + Code_Aster11.4)、OSはDebian7.1です。インテルPC上にVirtualBoxで仮想PCを構築し、その上にDebian7.1を入れています。

■解析モデル(ジオメトリ)

下図の通りです。基本的には従来の2次元モデルを(サイズは変更していますが)厚み方向に伸ばした形状にしています。ただし、駆動ローラー、従動ローラー共に外径を軸方向で変化させています。
ローラーの幅は100mmで、奥側の外径が102mm、手前側が100mmと、奥側が太くなっています。

Rband0801


Rband0802


Rband0803


Rband0804

図では裏になって見えませんが、「dr_z1」と「dn_z1」は両ローラーの奥側の端面です。これはz=0の境界条件を与える面です

ローラーの内径は88mmです。
ゴムバンドの内径は220mm、外径は230mm(つまりゴムバンドの厚みは5mm)です。

従動ローラーの回転軸付近に小さなブロックを追加していますが、これについては後述します。

■メッシュ

Rband0805


ゴムバンドは六面体2次要素、ローラーは四面体1次要素としています。
ローラーについては応力や変形を評価しないため、精度が必要ないので1次要素としました。
ゴムバンドは2次要素ですがかなり粗いメッシュになっています。本来はもっと細かくするべきですが、今回は試解析ということで、計算時間の短縮を優先させています。

■解析の設定

従来の2次元の解析にほぼ準じているため、今回はcommファイルの詳細説明は省略します。2次元の解析説明の記事をご参照ください。

(2012/12/3)ゴムバンドの摩擦力による動力伝達(前編)
http://salome-meca.cocolog-nifty.com/blog/2012/12/post-e977.html

(2012/12/9)ゴムバンドの摩擦力による動力伝達(後編)
http://salome-meca.cocolog-nifty.com/blog/2012/12/post-02d3.html

(2013/1/3)ゴムバンドの摩擦力による動力伝達(問題点)
http://salome-meca.cocolog-nifty.com/blog/2013/01/post-5b53.html

(2013/7/24)ゴムバンドの摩擦力による動力伝達(問題点が解決)
http://salome-meca.cocolog-nifty.com/blog/2013/07/post-ae04.html

■解析初期における、変位制御と荷重制御の切り替え

今回、解析初期段階における従動側ローラーの制御に、小さなブロックを用いました。この部分が従来の2次元モデルと異なります。

下図の(A): 解析の初期段階においては、従動側ローラーを右に動かして、ゴムバンドを両ローラー間に張っていきます。しかしこの段階ではゴムバンドの剛性がほとんど無いため、すこしの力の増加で大きな変位が生じてしまい、(弱いバネを入れていても)荷重制御では収束しにくいです。
この段階では変位制御が望ましいです。

下図の(B): 一方、ゴムバンドを張り終えるときには、ゴムの伸びによって大きな力がローラーにかかっており、小さな変位で反力が大きく変化するため、変位制御では収束しにくいです。また、所定の軸荷重でゴムバンドを張るためにも、荷重制御が望ましいです。

Rband0806

この変位制御->荷重制御の切り替えは、STAT_NON_LINEを2段階に分けることで行えるのかもしれません。しかし、切り替え時に、変位制御で既に生じている反力を後続の荷重制御にどうやって移行したらよいか分かりません。(逆はOKです。荷重制御の解析の後、後続のSTAT_NON_LINEの変位設定で「TYPE_CHARGE='DIDI'」を用います)。

そこで今回、小さなブロックを従動ローラーのアーム端(ローラーの回転中心)に接して配置し、アーム端と接触を設定しました。そして解析の初期ではブロックに変位条件を与え、それで従動ローラーのアームを押して、変位制御としてゴムバンドを張っていきました。

そして、ある程度反力が生じたところでブロックの移動を停止し、次に従動ローラーのアームに荷重を与えて、所定の荷重値なるまで張りました(荷重制御)。
今回の解析では、ブロックの移動停止と荷重制御への切り替えを、time=0.5の時点で行っています。

この方法により、ゴムバンドを張る段階での収束性が向上しました。

この様子の動画です。

静止画です。

Rband0807

■条件等

今回、Time=2~5の間に、駆動ローラーを3回転させています。つまり、time=1あたり駆動ローラー1回転です。

軸荷重は30[N]、トルクは0.315[N・m]で、これはほとんど無負荷に近い弱いトルクです。
従来の2次元モデルと同様、Time=2~2.25の間にトルクを従動荷重でdn_trq面に与えています。

■結果の動画です。

静止画です。

Rband0808

クラウン効果によるゴムバンドの移動を分かりやすくするため、time=2~5のいて、駆動ローラー1回転ごとの静止画をアニメーションGIFにしました。

ゴムバンドが手前から奥へ移動しているのがわかります。
今回は駆動ローラーを3回転しかしていないので移動量はわずかですが、数十回転もすればローラーの奥の端へ到達してしまうと思います。

また、従動ローラーがゴムバンドの滑りによって駆動ローラーより若干遅れつつあるのが分かります。

クラウン効果については、後日もう少し詳しく評価したいと思います。

今回のデータは下記にzipでまとめています。

rband08.mmed: メッシュ
rband08a.comm: 前半commファイル(ゴムバンドを張るまで)
rband08b.comm: 後半commファイル(ローラー回転)

rband08.zip

2013年7月24日 (水)

ゴムバンドの摩擦力による動力伝達(問題点が解決)

The probrem of "Structural analysis of rubber products with contact, friction, and large rotation" was solved by Salome-Meca 2013.2(STA11.4).

In fact, the problem had been solved in STA11.3.22. However, I did not have the skill to update STA11.3 to STA11.3.22. Therefore, I was waiting for the release of salome-meca2013.2. It is easy to install.

半年以上前に実施して、問題点がなかなか解決できなかった事例、

「ゴムバンドの摩擦力による動力伝達」
http://salome-meca.cocolog-nifty.com/blog/2013/01/post-5b53.html

ですが、今回リリースされたSalome-Meca2013.2を用いたところ、問題が解決しました。

まず、【問題点1】(応力分布にムラがあり、ゴムバンドの動きに合わせて動いてしまう。
)ですが、これについてはCode_Asterの問題のようで、実はSTA11.3.22の段階で修正されていたようです。解説は下記URLのテキスト中にある、「Bad computation of the modulus of compressibility in ELAS_HYPER」です。

http://www.code-aster.org/documents/histor/en/11.3.22.txt

 しかし既存のSalome-Meca2013.1のCode_AsterをUpdateする事が私には難しくて出来なかったため、インストールが簡単なSalome-Mecaの最新バージョン公開を待っていました。

 そして先日公開されたSalome-Meca2013.2(Code_Aster11.4)で試したところ、問題が修正されている事が確認できました。

動画です。

負荷トルクが一定になるTime=2.25以降、ゴムバンドの応力や変形状態が定常状態になって回転している事がわかります。以前のような応力ムラや変形のガタツキはありません。

静止画です。
Rband0401

定常状態で回転し、安定しています。

次に【問題点2】(従動ローラーの回転が、駆動ローラから遅れている。)
ですが、これは商用ソフト(Marc)で試したところ、同じような結果になりました。これは問題点ではなく、正しい結果のようです。

以上のように、問題となっていた応力ムラ問題が解決したので、これからゴムと金属の接触、回転物の問題などを継続して進めて行きたいと思います。

2013年1月 3日 (木)

ゴムバンドの摩擦力による動力伝達(問題点)

「ゴムバンドの摩擦力による動力伝達」について、前々回(前編)前回(後編)の2回に分けてご紹介しましたが、また問題点が残っていました。

これについて改良を試みましたが、まだ解決出来ていません。現在の状況をご報告します。

利用ソフトウェアは、Salome-Meca2012.2(SALOME 6.5 + Code_Astr 11.2.0)で、OSはdebian6です。

【問題点1】

ゴムバンドの応力分布にムラがあり、ゴムバンドの動きに合わせて動いてしまう。

ゴムバンドが二つのローラーに掛けられて定常状態で回転しているとき、応力や歪はメッシュ(つまりゴムバンド)について動いていくのではなく、空間上の「位置」によって定まるようになるはずです。これは、パイプを流れる液体の流体解析において、液体の状態がその「位置」によって決まるのと同じです。

ただし、流体解析は実際に空間に対してメッシュを作成するのですが、今回は構造解析ですので、ゴムバンドについてメッシュを作成しています。それでも、定常状態における応力は位置によって決まるはずなのです。つまり、ゴムバンドを基準として見た場合、ある決まった応力分布が、ゴムバンド上を一定速度で移動していくことになります。

しかし、前回の解析では、応力の大きい部分がゴムバンドの移動につれて動いています。

Rband0301


【問題点2】

従動ローラーの回転が、駆動ローラから遅れている。

駆動ローラーはtime=2~4の間に2回転するので、従動ローラーも2回転するはずですが、下図の通り、やや遅れています。すべりが大きいのかもしれません。

Rband0302


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

これらの問題を解決するため、色々試行錯誤してみました。

まず【問題点1】ですが、一番疑わしいのは、メッシュが不均質なために応力にムラが生じているのではないかという事です。そこで、ゴムバンドは出来るだけ形の揃った四辺形(2次要素)でメッシュを作成しなおしました。
また、ローラーについても、表面の要素辺サイズが揃うようにしました。

Rband0303

それから怪しいのが、剛体移動防止のために設定している「弱いバネ」です。これにゴムバンドが引っ張られているのかもしれません。
前回のモデルでは、バネ定数は全て10のマイナス3乗でしたが、これを10のマイナス6乗まで小さくしました(それ以上小さくすると、不安定になり収束しませんでした)。

Rband0304


次に【問題点2】です。
前回は、摩擦力の計算アルゴリズム(ALGO_CONT)を「STANDARD」にしていました。これでは、ローラーを回転させる段階において、「COEF_FROT」(デフォルト値:100)を、「10」まで下げないと計算が収束しませんでしたので、その値にしています。これが小さすぎて、摩擦力が小さめになっている可能性があります。

そこで今回は、ALGO_FROTを「PENALISATION」に変えました。これまでの経験から、すべりの大きな摩擦計算では、「STANDARD」よりも「PENALISATION」のほうが収束しやすかったためです。その上で、「COEF_PENA_FROT」を「500」にしました。ゴムの物性値がヤング率換算で5[MPa]程度ですので、二桁大きな値になります。

Rband0305

また、初回インクリメントでなかなか収束しにくい事が多かったのですが、それに関しては「SEUIL_INIT」に「0.1」を設定する事でかなり改善しました。これは初期の接触面圧を与えるもので、剛体移動の抑制に効くようです。この値は大きいほど効果があるようですが、反面どのような悪影響(副作用)があるか分かりませんので、出来るだけ小さな値で済むようにしました。今回は0.1程度より大きくすると収束性改善効果が感じられましたので、0.1にしました。

これについては、公式ドキュメント「u2.04.04」の4.2節に解説があります。
http://www.code-aster.org/V2/doc/default/en/man_u/u2/u2.04.04.pdf

これによると、継続して実行するSTAT_NON_LINEにおいては「CONTACT_INIT='INTERPENETRE'」も指定したほうが良さそうなので、これも入れていますが、これの効果はいまひとつ分かりません。

なお、計算のステップは下記の通りで、

(1)time 0 -> 1
 駆動ローラーを固定(drp1, drp2を固定)し、従動ローラー中心(center)に右向きの荷重を与え、ゴムバンドを所定の軸荷重で張っていく。

(2)time 1 -> 2
 ゴムバンドを張った状態で、従動ローラーをcenter位置でピン固定し、軸荷重は除去。

(3)time 2 -> 4
 駆動ローラーを反時計回りに2回転させる(time=1あたり1回転)。
 このとき、回転始め~1/4回転迄の間で、従動ローラーのトルクを増加させて所定の値にする。

前回は(2)と(3)の間でJOBを前編と後編に区切っていたのですが、(2)の最初で収束しにくい状況だったため、試行の効率を考え、今回は(1)と(2)の間で区切りました。

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

以上のような変更を行って計算したのですが、最初に書いた通り、残念ながら解決には至りませんでした。

まず【問題点1】ですが、やはりゴムバンドの応力にはムラが生じており、ゴムバンドと一緒に移動してしまいます。

Rband0306


このゴムバンドの「応力ムラ」についてよく見ると、どうやら初期状態からバンドを引っ張った状態(Time=1~2)のときの応力状態を「引きずって」いるようです。

Rband0307


このときに応力の大きい部分が、回転しても応力が大きいままです。
しかしこれはおかしい事です。
塑性変形しているなら分かりますが、これは超弾性材料なので、変形途中の応力状態に影響されるはずがありません。あくまでも初期状態(真円)のときが応力ゼロとして計算されるべきです。

なにか、塑性変形的な設定をしてしまっているのかと思い、STAT_NON_LINEの中の「COMP_INCR」を「COMP_ELAS」に変えても結果は同じでした(塑性解析では違いが出ます)。

また、摩擦の影響かと思って、Time=0~2までを「摩擦なし」で計算させてみましたが、それでも同じでした。
低減積分要素を用いても変わらず。

ということで行き詰りました。

どうも、STAT_NON_LINEを連続して実行するときの、前段階からの状態の引継ぎ設定【ETAT_INIT=_F(EVOL_NOLI=RESU,),】あたりが怪しそうなのですが・・・。

それから【問題点2】についても、前回の結果と同じで、従動ローラーの回転が遅れています。

Rband0308

しかしこれは、もしかしたら正しいのかもしれません。せん断変形などによって、実際にずれていくということも考えられます。もう少し薄いバンドで、屈曲変形の影響を排除して確かめる必要が有りそうです。

以上のように、まだまだ検討の余地が有ります。

今回のファイルは下記です。

rband03.zip

(ZIPファイルの内容は下記の通りです)

メッシュファイル: rband03.mmed
commファイル(前編): rband03a.comm
commファイル(後編): rband03b.comm

2012年12月 9日 (日)

ゴムバンドの摩擦力による動力伝達(後編)

前回(前編)の続きで、2本のローラー間にゴムのバンドを掛けて、その摩擦力でローラーの回転と動力を伝達させるという事例です。

(前編の記事掲載以後、様々な改良を行っていますが、今回はとりあえず改良前のモデルの後編の説明です)

利用ソフトウェアは、Salome-Meca2012.2(SALOME 6.5 + Code_Astr 11.2.0)で、OSはdebian6です。

前編では、ローラーに所定の軸荷重を与えてゴムバンドを張り(time=0~1)、その位置で従動ローラの中心を固定し、軸荷重および安定化の為の拘束を除去したところまで(time=1~2)でした。

後編では、time=2~4で、駆動ローラーを反時計回りに2回転させます。つまり、time=1あたり1回転になります。また、回転はじめから1/4回転までの間で、従動ローラーの内側突起部の側面(trq)に負荷トルクとしての荷重を与えていき、1/4回転からは一定のトルク値を保持します。

以下、後編のcommファイル(rband01b.comm)の説明です。

■計算の継続

Rband0117


前回のデータを読み込み、継続して計算をする場合には「POURSUITE」を用います。
Eficasで新規にcommファイルを作成する際に「POURSUITE」を追加すると、前回のcommファイルを指定するようにメッセージが表示され、ファイルを選択するBOXが開きますので、そこで前回の「rband01a.comm」を選択します。
また、「POURSUITE」から始まるcommファイルを開いたときも同様で、前回のcommファイルを指定します。
この作業によって、前回のcommファイルで定義済みの変数や関数、パラメータなどがそのまま使えるようになります。

■駆動ローラーの回転変位設定(drrot)

Rband0118



time=2~4で、駆動ローラー上の2ヶ所の点(drp1, drp2)に変位を与え、駆動ローラーを反時計回りに回転させる設定です。time=1あたり1回転とします。
2ヶ所の点のx,yの変位を、INST(time)の関数として、それぞれ関数(FORMULE)として定義し、「AFFE_CHAR_MECA」で境界条件「drrot」として設定しました。

このように変形体を回転させる方法についての詳細は「回転体とゴム板の接触」をご参照ください(参照先の制御節点はX軸上に並んでいますが、今回はY軸上に並んでいますので、式の内容は異なります)。

2ヶ所の点は駆動プーリの内径ライン上に位置するので、振幅は内径の半径である「44mm」になります。

■負荷トルクの設定(trq)

Rband0119_2


従動ローラーの内径側に出ている突起の側面(trq面)に面圧荷重を与え、トルクを発生させます(突起の詳細など、モデルについては前編をご覧下さい)。

従動ローラー中心からtrq面中央までの距離が43[mm]、圧力値が1.16[N/mm^2]、trq面の面積が2[mm^2]なので、トルクは、
    43 x 1.16 x 2 = 100 [N・mm] となります。

厳密に言えば、trq面への荷重は半径方向に分布しているので、上記のような計算式ではなく積分計算をする必要がありますが、ここはtrq面が微小であるとして、単純な計算で済ませています。

■接触の設定

Rband0120



接触の設定「DEFI_CONTACT」は既に前編のcommファイル(rband01a.comm)で設定済みなので、それと同じ設定で良ければ、このcommファイルで再設定する必要はありません。しかし今回の試行では、前編の設定のままでは後編の回転部分においてどうしても計算が収束しませんでした。そのため、前編(cont)と異なる名前(cont2)にて再設定しました。

前編と違うところは、「COEF_FROT」の値を「10」にした所です。前編はデフォルト値の「100」でしたので、その1/10になっています。「COEF_FROT」は公式ドキュメント「U4.44.11」でもあまり詳しい記述が無いのですが、おそらく、接触する両面間に相対変位が生じたときに、摩擦力が変位と共に立ち上がるときの傾きのようなものではないでしょうか(これについては自信がありません)。もしそうだとすると、この値が小さくなると、相対変位に対する摩擦力の増加が緩やかになり、収束しやすくなる反面、現実と比べて十分な摩擦力が得られない可能性もあります。

■タイムステップの設定(time=2~4)

Rband0121



pas3aは、回転開始のtime=2から、1/4回転してトルクが所定値に達するtime=2.25までを180分割と細かくし、それからトルクが一定値を保持するtime=4までは315分割と粗くしています。

output3は結果の出力間隔ですが、これは2回転の間を均等に360分割しています。つまり、駆動ローラーが2°回転する毎に結果が出力されます。

pas3bは時間ステップ幅の自動調整です。これは前編とあまり変わりませんが、ステップ幅を増やす判断に用いるNewton法の収束回数基準値を、9回と多めにしました。

■非線形解析の設定(time=2~4)

Rband0122



境界条件は、今回定義した「drrot(駆動ローラー回転変位)」と「trq(従動ローラートルク荷重)」を追加しています。従動ローラーセンターのピン固定は継続です。

ここで、「trq」については追従荷重(TYPE_CHARGE='SUIV')を指定し、ローラーが回転しても、常にtrqは突起側面に垂直になるようにしています。この設定で、常に一定のトルクが作用するようにしています。下の動画をご参照ください。

動画を見られない方は、下の静止画をご覧ください。

Rband0124

また、追従荷重の詳細については、「追従荷重」をご参照ください。

それから、収束条件を残差の相対値「REGI_GLOB_RELA」で、値を「1e-4」にしました。
デフォルトは「1e-6」なのですが、それでは収束しなかったため、緩めの判定値にしました。

■結果の計算と出力

Rband0123



これは特に変わった事はしていません。

以上の設定にて、astkから計算を実行しました。

Rband0125



baseについてですが、前編でデータを「rband01a.base」フォルダに書き出していました。
したがって後編ではそこから読み出しても良いのですが、それでは後編の計算が終わったときに上書きされてしまいます。
後編の計算を何度も試行錯誤したかったので、「rband01b.base」フォルダを別に作り、試行のたびに「rband01a.base」の内容を上書きコピーしてから計算をスタートさせるという方法にしました。

以下は結果の図です(Mises応力)。ローラーの応力は不要なので非表示にしています。

●time=2

Rband0126


引っ張っただけなので、上下対称の変形・応力状態です。

●time=2.25

Rband0127


駆動ローラーが反時計回りに1/4回転した状態で、トルクが所定値に達しています。
両ローラー間でゴムバンドが張られている所(スパン)では、トルクによって、上側が強く張られていて応力も大きい事が分かります。

●time=3

Rband0128


駆動ローラーが反時計回りに1回転した状態です。
しかし従動ローラーは1回転に若干足りていない事が分かります。
これは、ローラーとゴムバンドの「すべり」が原因と思われます。

●time=4

Rband0129


駆動ローラーが反時計回りに1回転した状態です。
従動ローラーは更に遅れています。トルクが一定状態でも「すべり」があるようです。

それに、応力の分布状態に「ムラ」があります。これについては改善が必要です。

改めて結果の動画を載せます。

このように、一応この種の解析が可能である事が分かりました。
しかし、まだ下記のような問題が残っており、実用にはそれらの解決が必要です。

  • 応力や変形が若干いびつになっている。これはバネの影響が残っているか、メッシュが粗すぎるなどの原因が考えられる。
  • 計算が不安定で、タイプステップが制限値まで細かく分割されても収束せず、JOBが止まる事が多い。
  • 計算時間が長く掛かる。これは、ローラーを剛体面扱いできず、変形体として解いている事が大きく影響していると思われる。剛体サーフェスの導入か、せめて剛体結合時にも大回転が出来るようにしてほしい。
  • 接触・摩擦計算については更なる高速化と、安定性が必要。
  • これらの問題については、開発元の対応がない限りどうしようもない事もありますが、自分で改善できそうなところは、出来るだけ詰めていきたいと思います。

今回のデータは下記です(前編と同じです)。

rband01.zip

メッシュファイル: rband01.mmed
commファイル(前編): rband01a.comm
commファイル(後編): rband01b.comm

2012年12月 3日 (月)

ゴムバンドの摩擦力による動力伝達(前編)

今回は、2本のローラー間にゴムのバンドを掛けて、その摩擦力でローラーの回転と動力を伝達させるという事例です。設定内容が複雑なため、前編と後編の2回に分けることにします。

利用ソフトウェアは、Salome-Meca2012.2(SALOME 6.5 + Code_Astr 11.2.0)で、OSはdebian6です。接触・摩擦計算が高速化されたCode_aster11.2を使いたかったため、いつものDEXCS-Salomeではなく、この環境になりました。

また、モデル化は2次元(平面ひずみ)としました。はじめから3次元で行うと、試行錯誤に大変な時間がかかるためです。

まず、ローラーとゴムバンドのモデルです。

Rband0101


ゴムバンド(band)は真円の状態が初期形状です。その中に、中空のローラー2個を配置します。向かって左側が駆動ローラー(dr)、右側が従動ローラー(dn)です。drはdriving、dnはdrivenの略です。

寸法は、
・ゴムバンド(外径:260mm、内径:240mm)
・ローラー (外径:100mm、内径:88mm)

従動ローラーの拡大図です。

Rband0102


センター位置をピン固定するためのアームが1本出ているのと、トルクを与えるための突起(高さ2mm)が、内側へ出ています。

上図のように各グループを設定しましたが、それぞれの役割は下記の通りです。

【面グループ】
・band:ゴムバンドの領域設定
・dr, dn:各ローラーの領域設定

【線グループ】
・bandc:ゴムバンドの内面(接触面の定義)
・drc, dnc:各ローラーの外面(接触面の定義)
・trq:従動ローラーに負荷トルクを与えるための圧力荷重面

【点グループ】
・bandp1, bandp2, dnp1:不安定性対策の弱いバネ、および拘束の設定箇所
・drp1, drp2:駆動ローラーの回転変位制御点
・center:従動ローラーの軸荷重点、および回転中心

このモデルについて、下記の手順で計算します。

(1)time 0 -> 1
 駆動ローラーを固定(drp1, drp2を固定)し、従動ローラー中心(center)に右向きの荷重を与え、ゴムバンドを所定の軸荷重で張っていく。

(2)time 1 -> 2
 ゴムバンドを張った状態で、従動ローラーをcenter位置でピン固定し、軸荷重は除去。

(3)time 2 -> 4
 駆動ローラーを反時計回りに2回転させる(time=1あたり1回転)。
 このとき、回転始め~1/4回転迄の間で、従動ローラーのトルクを増加させて所定の値にする。

文章で説明しても分かりにくいので、まずは最終計算結果の動画をご覧下さい。

実は、このような解析が、私がSALOME-Meca導入当初からやりたかった事です(実際はもっと複雑ですが)。のんびりやっていたため、導入・試行を始めてから1年以上かかってしまいました。
今年の春頃から、SALOMEや Code_Asterの様々な機能を検証してきたのですが、その多くがこの解析のための前準備です。

次に、メッシュ分割です。

Rband01mesh_2

全て三角形2次要素で分割しました。
band, dr, dn はそれぞれ別にMesh作成を行い、Compoundでまとめています。
ただし、座標が重なる節点についてのマージは行っていません(回転によってズレていくため)。
もちろん、各グループ名をジオメトリから設定しています。

さて、ここからが今回(前編)の設定内容なのですが、これまでのようにEficasの画面スナップショットを用いると画像が膨大な量になってしまうため、commファイルの内容を用いる事にします(それでもかなり多いですが)。
前編のcommファイル名は「rband01a.comm」です。

前編では、上記の解析手順の(2)まで、つまり、バンドを張った状態で従動ローラーを固定し、それまで与えていた軸荷重を抜くところまでです。残りの回転部分については、後編にて継続計算(POURSUITE)で行います。

■メッシュの修正(エッジの方向)

Rband0103

接触や面圧荷重を受けるエッジ(線)の方向を整える設定です。

■弱いバネ要素の作成

Rband0104


初期の不安定な状態において計算の収束性を向上させるため、ゴムバンド2ヶ所、従動ローラー1ヶ所に弱いバネを作成します。駆動ローラー近くで変位が小さい所(bandp1)をspring1、従動ローラー近くで大きく変位する所(bandp1,dnp1)をspring2と二つに分け、バネ定数などの設定を分けられるようにしています。

■要素の種類の設定

Rband0105

ゴムバンド(band)、ローラー(dr, dn,trq)は平面ひずみ「D_PLAN」、バネ(spring1, spring2)は「2D_DIS_T」としました。ここで、負荷トルクのための圧力荷重面(trq)も「D_PLAN」に含める必要がありました(その理由は分かりません)。

■バネ定数の設定

Rband0106

弱いバネのバネ定数の設定です。種類は「K_T_D_N」です。
ここの値の設定は、何度も値を変えての試行錯誤が必要で、かなり苦労しました。
バネが弱すぎると初期の不安定性を抑えきれないし、強すぎるとゴムバンドが大きく伸びたときにバネの影響が出てしまいます。最終的に、spring1, spring2共に“1e-3”で落ち着きました。

私が使っている商用ソフトでは、バネ定数をTimeの関数にして、バネを徐々に消滅させていく事が出来るのですが、Code_Asterにはそのような機能が無いようです(“VALE_F”はあったのですが、Timeの関数には出来ませんでした)。この機能はぜひ入れて欲しいところです。

■材料物性の設定

Rband0107

ゴムバンドはMooney-Rivlin材料としました(「超弾性材料の検証」を参照)。

また、ローラーは剛体にしたかったのですが、「LIAISON_SOLIDEによる剛体は大回転出来ない」の結果から、やむなく変形体として、大きなヤング率(1000[GPa])を設定しました。

■接触の設定

Rband0108

Code_aster 11.0.28以降では、接触・摩擦解析が高速化」の結果から、Code_Aster11.2.0を用い、
 ・ALGO_RESO_FROT=’NEWTON’
 ・ALGO_RESO_CONT=’NEWTON’
を設定しました。

また、ゴムバンドを「マスター」、2つのローラーを「スレーブ」としています。
硬い材料であるローラーをマスターにしたかったのですが、複数のZONEに共通している面がある場合、それをマスターにしないといけないようです(今回の場合はbandです)。

摩擦係数は0.4で、他にはあまり調整したところはありません。

■タイムステップの設定(time=0~1)

Rband0109


pas1aは、従動ローラーを右(X方向)に引っ張り、ゴムバンドを張っていく段階(time=0~1)のタイムステップ定義です。解析初期(time=0.5まで)の不安定なところの刻みを多くしています。

output1は、出力の時間刻み設定です。
これに関しては「結果出力の間隔設定」をご参照ください。
今回は、time=0~1を均等に50分割しています。

pas1bは、pas1aを基本として、タイムステップの自動調整を追加したものです。これについては「時間ステップ幅の自動調整機能」をご参照ください。
今回のような解析は非常に不安定で収束性が悪く、この機能が無ければ、現実的な時間で計算する事が難しかったと思います。

最小時間幅(PAS_MINI)の値は小さめにしています。

また、時間幅を増やす場合の増加割合(PCENT_AUGM)のデフォルトは100(%)なのですが、時間幅が元の2倍になると再び収束しなくなって、もう一度分割される、という非効率な現象が良く起こっていたので、これを50(%)にしました。

■タイムステップの設定(time=1~2)

Rband0110

time=1~2では境界条件の切り替えを行うだけなので、時間刻み幅を「1」としてます。出力の刻み幅も「1」です。
一応、収束しなかったときのために自動調整機能も入れていますが、実際は動作せず、時間刻み幅は「1」のままでした。

■境界条件の設定

Rband0111


・fix_dr:駆動ローラーの変位固定
・fix_y_c:従動ローラーのセンター位置を、上下(y方向)に固定
・force_dn:従動ローラーを右に引っ張る軸荷重

       10[N]としています。
       平面ひずみ要素を用いているので、厚み(Z方向)が1mmあたりの値になります。

・fix_x_c:従動ローラーのセンター位置を、左右(x方向)に固定
・fix_y_b:弱いバネを設定した節点を、y方向に固定
      バネがあるので本来この条件は不要なはずですが、これを入れないと収束しませんでした。

・force:force_dnを増減させるための関数です。time=0~1では増加します。特に解析初期であるtime=0.5までの増加量を少なくしています。
time=1~2でゼロになります。

■非線形解析の設定(time=0~1)

Rband0112


time=0~1では、駆動ローラーを固定し、従動ローラーに軸荷重(force_dn)を与えてゴムバンドを引っ張っていきます。そのため、「fix_x_c」は使いません。

COMP_INCRでは、ローラー(ELAS)とゴムバンド(ELAS_HYPER)を異なるRELATIONに設定しました。また「異なる「DEFORMATION」設定の混在」も可能なのですが、今回は両方とも「GROT_GDEP」にしています。

NEWTON=_F(REAC_ITER=1,), は、ニュートン法の求解過程において、イテレーション毎に接線剛性を更新するものです。デフォルトではインクリメント(タイムステップ)毎になっているので、非線形性の強い計算では収束性が悪くなります。詳しくは「追従荷重(その2)」を参照ください。

■非線形解析の設定(time=1~2)

Rband0113

time=1~2では、ゴムバンドを引っ張った状態で従動ローラーのセンター位置を固定(fix_x_cの条件を追加)し、軸荷重(force_dn)を除去します。また、後編でのローラー回転に備え、安定化のためのy方向固定(fix_y_b)も除去します。

ここで、従動ローラーのセンター一固定(fix_x_cの条件)については、初期位置から変位した場所で固定するため、「TYPE_CHARGE='DIDI'」の設定が必要になります。これに関しては「荷重を与えて変形させた状態で固定する方法(境界条件の切り替え)」を参照ください。

また、time=1からの継続計算なので、「ETAT_INIT=_F(EVOL_NORI=RESU,)」を設定しています。

■結果の計算と出力設定です。

Rband0114


これは特に問題ないと思います。

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

以上の設定で、ASTKを用いて計算を実行しました。

Rband0115


この後に後編で続きの計算(ローラー回転)を行うので、データを「rband01a.base」フォルダに保存する設定にしておきます。

time=2の時点での結果です(Mises応力)。

Rband0116


ゴムバンドが伸ばされて応力が生じている事が分かります。
現段階では単に引っ張っただけですので、変形や応力状態は上下対称になっています(メッシュによる誤差を除いて)。

なお、ローラーも変形体なので応力が出力されているのですが、評価対象ではないため非表示にしています。そのほうが、ゴムバンドの応力が見やすくなります。

前編はここまでです。

今回のデータは下記です
rband01.zip

メッシュファイル: rband01.mmed
commファイル(前編): rband01a.comm
commファイル(後編): rband01b.comm

2012年11月 3日 (土)

回転体とゴム板の接触

前回の検証で、LIAISON_SOLIDEによる剛体結合は大回転できないことが分かりました。

そこで今回、変形体を用いて回転体の解析を行うことにしました。しかし硬くて変形しない部品を単に回転させるだけでは面白くないので、ゴムとの接触も含めた例題を作成してみました。

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

まず、解析モデルを下図に示します。

Rigid0301


上側の穴の開いた長細い部品が回転体です。これは穴を中心に回転し、下方のゴム板に接触します。本来はこの部品を剛体面または剛体結合として扱いたかったのですが、それが出来なかったため、変形体として扱うことにしました。

ゴム板は荷重が作用していない状態で両端(fix1,fix2)を拘束されており、回転体の接触によって下側へ押されます。

回転体の回転のさせ方ですが、まず、Geometryにおいて下図のように回転体を平面で分割し、分割面と穴の内面の交わる線(2本)を、それぞれ「line1」、「line2」というグループ名にしました。

Rigid0302


この2本の線に変位を与え、回転体を動かします。本来ならば穴の内面の点全てに変位を与えたほうが良いのでしょうが、今回は柔らかいゴムに接触するだけなので、この2本の変位拘束だけで荷重を十分支持できると判断しました。荷重が大きい場合は、回転体の弾性率も大きくする必要があります。

寸法は特に重要ではないのですが、一応下図に示します。
穴の内径は12mm(半径6mm)です。

Rigid0303


次にメッシュですが、回転体は四面体2次要素、ゴム板は六面体2次要素で作成しました(それぞれ別にメッシュ作成し、Compoundで一つにまとめています)。
ゴム板は曲げ変形するため、厚み方向に2層以上は欲しいところですが、今回は例題ですので計算時間を優先し、1層にしています。
もちろん、Geometryから各グループを作成しています。

Rigid0304

続いて、Eficasによるcommファイルの編集です。

複数の面を含む面グループに接触の設定をする場合、「ORIE_PEAU_3D」で面を揃える必要があります(これを結構忘れます)。

Rigid0305

材料物性ですが、回転体は構造用鋼としました。剛体として考えるなら、もっと大きな弾性率のほうが良いかもしれません。ゴムはMooney-Rivlinです。

Rigid0306

接触の設定ですが、摩擦は「なし」にしました。
FORMULATIONはcontinueです。
面の設定ですが、本来は弾性率の大きい回転体の方をマスターにするべきなのでしょうが、メッシュが回転体のほうが細いため、ゴム板のほうをマスターにしました。このあたりの設定によっても、収束性が異なってくるかもしれません。

Rigid0307

時間ステップですが、0秒~1秒の間で回転体が1回転するとして、その1秒間を計算します。
初期時間分割は40分割、結果出力も40分割、ただし、自動時間ステップ調整機能をを用います。

Rigid0308

さて、ここからが今回の本題である、回転させるための境界条件設定ですが、まずは下準備として、line1,line2に対する変位を時間の関数で定義することが必要です。

X-Y平面で見ると、line1, line2の初期配置は下図の通りです。

Rigid0309

この図では穴の中心座標が(0,0)となっていますが、実際には異なります。しかし、与える変位量としては同じことです。
穴の半径 r=6(mm)、周期 T=1秒なので、変位は下式の通りになります。

【line1】
X変位 = 6 * ( cos(2π(t-0.5)) + 1)
Y変位 = 6 * ( sin(2πt) )

【line2】 
X変位 = 6 * ( cos(2πt) - 1)
Y変位 = 6 * ( sin(2π(t-0.5)) )

これらの式を、Eficasで「FORMULE」に関数として、それぞれ設定していきます。
INSTは時間(=t)、piはπ(円周率)です。

Rigid0310

そして、定義した関数を「AFFE_CHAR_MECA_F」にて、それぞれの変位として設定します。
なお、line1,line2共に、Z方向の変位は0としました。これは、AFFE_CHAR_MECA_Fの中に入れても良いし、私のようにAFFE_CHAR_MECAを別に作っても良いようです。

STAT_NON_LINEの設定は下図です。
特に変わったことはしていません。回転体(solid)とゴム板(rubber)は別々に「COMP_INCR」を設定しました。

Rigid0311

一応、fix1,fix2のY方向(上下方向)の反力値も出力するようにしています。

Rigid0312

このような設定で計算を行いました。

結果の動画です。

静止画です

Rigid0313


回転体が回転して、ゴム板を押す様子が計算できました。

ゴム板の固定点(fix1, fix2)の反力も妥当な形で出ています。

Rigid0314


今回、X-Y平面上で4つの自由度を拘束しているため、ちゃんと変位を計算して回転させているつもりでも。計算誤差などによってわずかな変形と応力が発生しているようです。今回は実質的に影響が無いくらい小さいのでOKですが、この点にも注意する必要がありそうです。
本来は自由度3つ(1点のX,Yと、もう一点のXかY)の方が良いのですが、それだと回転の向きが定まらない時点があり、結局4つの自由度拘束になっています。何か、うまい方法は無いものでしょうか。

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

rigid03.zip

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