HyperMesh の FBD で RBE2 があるときに自由体力が正確に出ない理由と、正確な値を知る方法


始めに

FBD を使って自由体力 (freebody force) を描かせたときに、RBE2 など MPC (multiple point constraint, 多点拘束) が含まれている断面に対して、値が正確に出ません。その理由と、完全な回避策ではないですが、正しい値を取得する方法を説明します。

本記事で使用しているモデルはこちらです。fbd_test_01.7z

簡単な片持ちばりなので、せんだん力はどこに断面を作っても 1.0 になるはずです。

RBE2 が含まれているときに何が起きているかの説明

こちらは自由体の合力ですが 1.0 ではなく 0.682 となってしまっています。

(クリックで拡大)

 

こちらは各節点での自由体力を描いたものです。先ほどの合力は、HyperMesh の仕組みとしては、これらの力を合計したものです。こちらも全部合わせるとせんだん力は 0.682 となります。

 

さて、少し話を飛ばしますが、こちらは節点力 (GPF, grid point force) を描いたものです。HyperMesh の FBD はこのソルバーが出力する節点力を使って自由体力を計算しています。節点力のうち、有限要素の内力 (このモデルではシェル要素の内力) と MPC (このモデルでは RBE2) 拘束力を描いたものです。合計すると 1.000 になっています。

 

では、節点力のうち要素内力分だけを見てみます。合計が 0.682 となっています。向きこそ逆ですが、各節点に自由体力を描いたものと同じになっています。

 

これが最後です。こちらは節点力のうち MPC 拘束力のみを描いたものです。自由体力に足りていなかった 0.318 がしっかりここにあることが分かります。

 

つまり HyperMesh (執筆時点で 2024) は自由体力の計算に要素内力のみを使う仕様となってしまっているため(*1)、RBE2 などの MPC を使っている場合に、それらの拘束力が抜け落ちてしまっています。残念ながらいまのところ完全な回避策はありません。

 

*1) この仕様が正しいということではありません。

 

回避策 1: FBD Manager を使って、正確な値だけを知る方法

画面へのプロットはできませんが、値だけなら取得可能です。

 

こうするとテーブルが出来上がっているので、確認してみてください。符号が自由体力との反対になっていますが、同じ値を取得できます。

 

回避策 2: 有限要素を使う

画面でプロットしたいとか、自由体力として扱いたい、RBE2 をばね要素やはり要素に置き換えることでも、回避することができます。