« 2012年12月 | トップページ | 2013年2月 »

2013年1月

2013年1月 5日 (土)

ParaVISで応力やひずみを部分的に表示する

SalomeのParaVIS(ParaVIEW)で計算結果の応力やひずみ等を表示する際、モデル全体ではなく、ある一部分だけ表示し、残りは単一の色または非表示にしたい場合があります。

これについては、メッシュ作成時、またはCode_Asterの中でグループを作成しておけば、そのグループごとに表示をON/OFFして、表示方法の設定を変えることが出来ます。

下記は、Salome-Meca2012.2(SALOME 6.5 + Code_Astr 11.2.0)での例です。OSはdebian6です。

これは、先日実施した「ゴムバンドの摩擦力による動力伝達(前編後編問題点)」の結果表示例です。

Group01


これは「WarpByVector」フィルターを用いて変形状態でMises応力を表示したものですが、ローラー部分についても応力分布が表示されているため、見づらくなっています。このローラー部分は評価対象では無いので、応力を消したいところです。

そこでまず、応力を表示したいゴムバンドである「bandグループ」のみに絞った表示をします。

Pipeline Browser上で「WarpByVector1」を選択した状態にしておき、そこでメニューから「Filters」-「Alphabetical」で「Extract Group」をクリックして追加します。そして追加された「ExtractGroup1」のPropertiesに「Group」のタブがあるので、その中で表示したいグループのみ(ここでは「band」)にチェックを入れ、その他はチェックを外し、Applyを押すと、チェックしたグループのみが表示されます。

Group02


表示内容については、ツールバーで設定します。今回はMises応力分布を「Surface With Edges」で表示しています。

ここでもしPipeline Browser上で「WarpByVector1」の表示がONになっているようなら、OFFにしてください(左端の眼のマークをクリックしてグレーにする)。また、「ExtractGroup1」が表示OFFになっていたらONにしてください(左端の眼のマークをクリックして黒にする)。

次に、応力を表示したくないローラーである「drグループ」、「dnグループ」です。
再びPipeline Browser上で「WarpByVector1」を選択し、もう一度「Extract Group」を追加します。
ここで、必ず「WarpByVector1」を選択した上で「Extract Group」を追加する事が重要です。
上で作成した「ExtractGroup1」を選択したままで追加すると、「ExtractGroup1」から更に絞り込むという設定になってしまいます。

「ExtractGroup2」が出来るので、PropertiesのGroup設定で、drとdnのみにチェックが入った状態にしてApplyを押します。
これで、ローラー(dr, dn)が表示されますので、ツールバーで表示内容を「Solid Color」にします。これで単色で塗られます。

Group03


Solid Colorの色の設定は、「ExtractGroup2」の「Display」タブに「Set Solid Color」のボタンがあるので、それを押して変更できます。

Group04

なお、今回は「Extract Group」フィルターを用いましたが、同じような事を「Exract Block」や「Extract Selection」でも行えます。後者は、グループを作成していなくても、ParaVISの画面上で選択さえ出来れば、その要素(節点)のみを抽出できるので便利です。

Group05


今回は以上です。

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月 | トップページ | 2013年2月 »