壊れたら戻らなくなるバネ要素モデリングテクニック


始めに

こちらの記事で弾塑性バネの紹介と説明をしました。

https://community.altair.com/community?id=kb_article_view&sysparm_article=KB0121123

 

塑性すれば戻りにくくはなりますが、弾性変形分の F/K (F: ばね力, K: ばね定数) は戻りが発生します。K が十分に大きければ、疑似的に戻りのないバネということもできますが、 

 

K が小さければ大きく戻ることになります。

 

 

果たして、次のように、K が小さくても戻りにくいばねは作れるのでしょうか?いろいろ考察、検証してみたいと思います。

 

なお、今回の記事は、私の検証結果や考察を述べておりますが、必ずうまくいくとか、他の方法はありえないとか、そういうものではありませんので、一つの考えとして参考にしていただければ幸いです。

 

結論1, 戻りが起きないバネは不可

あくまで、私が考えうる中で、という限定は付きますが、戻りを完全に 0 にするばねプロパティの設定はできません。次節以降は、あくまで、少しは戻って良い、というモデルの検証になります。ご了承ください。

 

 

考察1、K を大きくしたらどうか?

 

戻りは小さくなりますが、もともとの弾性領域の傾きよりも K が大きいので、始めから塑性領域しかないバネとなります。

 

しかしだからと言って、だめとは言い切れません。なぜなら衝突現象は大抵、一方通行の現象になります。伸びたものは伸びっぱなし、縮んだものは縮みっぱなしという具合です。ですので、一方的に引っ張るだけでしたら、弾性だろうが塑性だろうが F-D 線図の通りになります。ですので、細かい振動は無視して大きくは一方通行だと割り切って K を大きくする、というのも、モデルとしては簡易ですし、悪くない手だと思います。

 

考察2, バネを 2個重ねる方法

このように D=1, F=1 まで線形で、あとはフラットな塑性になるバネを考えてみます。

 

 

これは、こういうばねと

こういうばねの 2個で表現することができそうです。

 

ばねが 2個あるので青バネのばね定数を KB, オレンジバネを KO 、ばね力を青は FB, オレンジは FO としておきましょう。D>=1 までは、FO=0 なので何も影響せず、青の弾性挙動だけが表に見えるはずです。また D>1 では FB=0 なので影響がなく、手放せば FO/KO の戻りは発生しますが、傾き KB で戻るよりははるかに小さいです。

 

アイデアはできたので、実際に確かめてみます。ばねモデルは分かりにくいですが、完全に同一節点に 2個のバネを重ねています。

 

また、こちらの弾塑性バネ紹介のときは /PROP/SPRING の H1=1 としましたが今回は H1=2 としています。

https://community.altair.com/community?id=kb_article_view&sysparm_article=KB0121123

 

H1 は等方効果です。等方効果だと、オレンジバネがばね力 0 のところで振動すると、圧縮から引張に転じるときにばね力が発生してしまいます。これが青バネの弾性挙動の邪魔になります。

 

H1=2 は、引張と圧縮を完全に別々のものとして扱うので、圧縮から引張に転じても力は発生しません。今回の用途には H1=2 が良いでしょう。

https://2022.help.altair.com/2022.1/hwsolvers/rad/topics/solvers/rad/stiffness_formulation_spring_hardening_r.htm

 

 

まずは D=1.5 まで /IMPDISP 強制変位で引っ張って、Tstop で解除してみます。Tstop についてはこちらを参照してください。

https://community.altair.com/community?id=kb_article_view&sysparm_article=KB0119893

 

こちらがバネの伸び D の履歴です。

 

解法したあと大きく戻ってしまっているではないかと思うかもしれませんが、これは剛体運動で戻ってしまっているだけで、ばね力が働き続けているわけではありません。ばね力の履歴も見てみます。解放後はばね力 0 ですので、解放直後 FO/KO 分戻ろうとする初速でそのまま慣性運動しているのだと分かります。

 

このモデルのダウンロード:

D1.7.7z

 

まだ信じられないかもしれないので、時刻 1 まで引っ張る、1.1 までフリーにする、1.2 まで拘束する、1.3 までもう一度フリーにするという、解析にしてみます。テクニックとしては _0002.rad - _0004.rad までのエンジン計算の間で /BCS, /BCSR で拘束オンオフを繰り返しています。詳細は本モデルをダウンロードしてもらうとして、テクニックの節女いは以下のリンクになります。

https://community.altair.com/community?id=kb_article_view&sysparm_article=KB0119883

https://community.altair.com/community?id=community_question&sys_id=bf17fc751bf3d0548017dc61ec4bcbe9

 

時刻 1.1 - 1.2 の間で速度が 0 になります。ばね力も働かないので、そこから全く動かないはずですがどうなるでしょうか。

予想通りに一定になっています。

 

余計なバネ力も出ていません。狙い通りです。

 

このモデルのダウンロード:

D1.5_release-fix-release

 

しかしこれで終わりではありません。弾性領域で弾性挙動するかどうかも確認しなくてはいけないので D=0.5 まで引っ張ってから離してみます。

弾性のバネを手放してるので、ビヨンビヨン伸び縮みをしていることが分かります。

 

ばね力履歴を見ても、オレンジバネが弾性の青バネの邪魔をしていないことが分かります。

 

このデータのダウンロード:

D0.5.7z

 

ちなみにもし /PROP/TYPE4 の H1=1 にすると、縮み側 D<0 から戻るタイミングでオレンジバネに余計なバネ力が発生して、それが青バネの戻る力を打ち消して、止まってしまいます。興味があれば、先ほどのダウンロードデータを H1=1 に書き換えて、テストしてみてください。私自身、やってみるまで気が付かなかった挙動なのですが、こちらも変わった挙動なので、何か需要があるかもしれません。

 

 

まとめ

もし他の方法を思いついたらぜひ試してみてください。

 

アルテアジャパン公式製品サイト

https://www.altairjp.co.jp/radioss/

 

お問い合わせ先

https://www.altairjp.co.jp/contact-us/