ブロックを積みながら(218) OpenModelica 並進運動、ElastoGapモデル

Joseph Halfmoon

前回はOpenModelica付属のExampleの中からVehicleデモを鑑賞。今回は、どちらもスプリングとダンパからなる「似た」コンポーネントSpringDumperとElastoGapの特性を比較しているElastoGapデモを動作させてみます。ギャップがあると、一気に複雑な特性をモデリングできるみたい。

※「ブロックを積みながら」投稿順 index はこちら

※動作確認にはWindows 11の パソコン(64bit)上にインストールした、The Open Source Modelica Consortium(OSMC)様の以下のバージョンを使用させていただいてます。(なお、ModelicaはModelica Association様の登録商標です。)

Openmodelica v.1.25.1  (Official Release版)

ElastoGapデモ

今回「鑑賞のデモ」はOMEditのライブラリ・ウインドウから以下の赤枠の項目を選択することでロード可能です。selectElastoGap

ロードしたダイアグラムが以下に。ElastoGapDiagram

上下に2つのモデルが並んでいる感じデス。どちらも「スプリング+ダンパ」で質量を両側から挟み込んで、最終的には落ち着くところに落ち着かせるという感じ。ただし、

    • 上は両側から押さえつけるのはSpringDumperモデル
    • 下で両側から抑えてこむのはElastGapモデル

という違いです。比較のためと思いますが、上下左右ともスプリングのバネ定数、ダンパの抵抗係数などはみな同じ。

SpringDumperは、バネとダンパを並列につないだ素直なモデルです。一方、ElastoGapは、バネとダンパを並列につないだものは含まれているのですが、そこに「ギャップ」が設けられています。ギャップの部分が埋まるまで、バネもダンパも動作せず、ギャップが埋まってからおもむろに動作するみたい。

いつもだとこの辺でGoogleの生成AI、Gemini様に、ElastoGapについて教えていただくところなのですが今回は「遠慮」しておきます。実はお伺いをたてたものの、Gemini様の教えてくださる特性はちょっとシミュレーションの結果やOpenModelica のドキュメントと違うような気がしたからです。ハルシネーションってやつ?知らんけど。

シミュレーション結果

以下は、デモのシミュレーション結果です。上はSpringDumperで抑え込まれている mass1 の位置と、速さをプロットしたもの。下はElastoGapで抑え込まれる mass2 の位置と、速さをプロットしたもの。赤線が位置で青線が速さです。ElastoGapPlot

このグラフだけだとイマイチよくわからないので、それぞれに働いている力もプロットしてみましたぞ。まずは、SpringDumperから。SpringDumperPlot

緑色が左のSpringDumper1からmass1への力、紫が右のSpringDumper2からmass1への力です。単純明快、両方のコンポーネントは逆向きに同じ力を与えていて、結果、mass1は急速に「釣り合い位置」に落ち着いていくのが分かります。ホントか?

さて一方ElastoGapの場合のグラフが以下に。「網掛け」はお惚け老人が書き加えたもの。ElastoGapPlot2

 

緑色の部分はElastoGap1がmass2に「制動かけてる」部分で、紫色はElastoGap2がmass2に「制動かけてる」部分です。

白く抜けている部分は、どちらも力を及ぼしてないので、mass2 は「慣性の法則」どおり定速で移動しているみたい。

さらにいうと、スプリング+ダンパ部分の力も「不連続にならず」また「ひっつき」が起こらずといった「配慮」も含まれているよし。詳しくは、ライブラリの解説ご参照。

https://build.openmodelica.org/Documentation/Modelica.Mechanics.Translational.Components.ElastoGap.html

グラフにすれば違いは明らかだけれども、使いこなすのムツカシーそう。どうなんだ?

ブロックを積みながら(217) OpenModelica 並進運動、Vehicleモデル へ戻る

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です