前回、1自由度マスダンパばねモデルをコード入力して作成する手順を説明した。そこで、図4のMSLの並進機械系ライブラリを用いて同様のモデルを作成する。
前回のテキストベースのモデリングと同様、まずGUIエディタ(OMEdit)を立ち上げる。上部アイコンの一番左の[modelicaクラス新規作成]をクリックすると、ダイアログボックスが現れるので、新規モデルのクラス名(ここでは“mslMck”とする)を入力する。この段階で、左側のライブラリブラウザの“Modelica”の下に“mslMck”が自動的に構成される。この状態で右の画面はダイヤグラムビューになっている(図5でダイヤグラムビューが白紙の状態)。
次に、左側のライブラリブラウザの並進機械系ライブラリの要素モデル(Modelica.Mechanics.Translational.Components)から、ここで使用する質量:Mass、ばね:Spring、ダンパ:Damperに加えて、固定:Fixedの4つの要素のアイコンを選んで右側のダイヤグラムビューにドラッグ&ドロップする。
そして、各要素を図5の左図を参考に結線する。結線はある要素の端子をクリックし、その状態で結線したい別の要素の端子にマウスを持っていき、クリックを解除すれば結線される。うまく結線されない場合もあるので何度か試してコツをつかんでほしい。以上で、モデルの作成は終わりだ。
続いて、[Mass][Damper][Spring]のアイコンをダブルクリックすると、パラメータ設定の画面が出てくるので、そこに各要素の値(ここでは、Mass=1、Damper=0.1、Spring=1)および初期条件(この場合は変位の初期条件として単位変位)を入力する。図5の通り、設定した要素の値はダイヤグラムビューに配置された図に反映される。シミュレーション実行と結果の表示は、前回のコード入力の際と同じである。
図5の表示をダイヤグラムビューから、テキストビューに変更するとプログラムが表示され、使用している要素と各要素を接続する情報が読み取れる。図2と同様にこれを元にたどっていくと図6となる。すなわち、これが1自由度振動系MSLモデルの構成である。ベースクラスの表現が電気系では“Pin”になっていたが、機械系では“Flange”となっている。これは「このようにMSLでは定義した」ということで、それ以上の意味はない。
3回にわたって、Modelicaの基本機能について説明した。Modelicaの仕組みを理解することにより、今回紹介したコード入力によるモデル作成、MSLによるモデル作成の他に、新規ライブラリの作成、MSLを改変した独自モデルの作成も可能となる。これらに関しては、参考文献[1]を参照されたい。また、FMI(Functional Mockup Interface)という規格を用いて、形式の異なるツール間でモデルを交換/接続することもできる。
Modelicaに関する解説はこれでいったん終了とするが、読者から要望があれば適宜、拡張機能について説明したい。
次回は「低次元化モデリング(ROM)」について、さまざまな視点から考える。 (次回へ続く)
大富浩一(https://1dcae.jp/profile/)
日本機械学会 設計研究会
本研究会では、“ものづくりをもっと良いものへ”を目指して、種々の活動を行っている。1Dモデリングはその活動の一つである。
Copyright © ITmedia, Inc. All Rights Reserved.