
ついにScilab/Xcos世界を脱走、このところちょっかいかけていたModelica世界へドップリ進出することにいたしました。使用させていただくのは無料でオープンの環境、OpenModelicaです。しかし、かなり以前に一度インストールしたことがあったような。忘却力の老人はスッパリ忘れてます。
※「ブロックを積みながら」投稿順 index はこちら
※動作確認にはWindows 11の パソコン(64bit)上にインストールした、The Open Source Modelica Consortium(OSMC)様の以下のバージョンを使用させていただいてます。(なお、ModelicaはModelica Association様の登録商標です。)
Openmodelica v.1.25.1 (Official Release版)
OpenModelicaのインストール
前回、Modelicaはオープンな「言語仕様」(ライセンスはhttps://modelica.org/をご参照くだされ)であり、その実行環境は有償、無償含めて複数あるようだと書きました。その中で無償の環境としてあげられるのが、OSMC様のOpenmodelica処理系です。
実は、2020年頃の別件シリーズの過去回で以前使っていたパソコンにインストール(v1.14)してみたことがあったのです。
忘却の微分方程式(5) OpenModelica、インストールのついでに
そのときは「深入り」せずに触っておしまいになっていました。現在使用しているパソコンにはインストールされていないので、最初から。そして今回より「心を入れ替えて」Modelicaにドップリはまって参る所存です。ホントか?
処理系のダウンロードは以下のUrlからたどっていけば可能です。
各種環境のインストールファイルが準備されていますが、WindowsとLinuxはv1.25.1が最新(2025年6月リリース、2025年7月16日現在調べ)、Macはv1.16となってます。
今回当方では、Windows11環境へのインストールです。以下のファイルをダウンロードさせていただきました。
OpenModelica-v1.25.1-64bit.exe
なお、ファイルのダウンロードサイズは約2Gバイト、インストール時のDiskスペース要求は約7.9Gバイトでした。インストールファイルはEXE形式のインストーラなので、管理者権限で実行すればインストールは「そのうち完了」します。インストール開始時のウインドウが以下に
これでインストールされるソフトウエアのうち主要なものは以下の4つみたいです。
-
- OpenModelica Shell
- OpenModelica Notebook
- OpenModelica Connection Editor
- OpenModelica Optimization Editor
1のShellは、CUIのコマンドラインインタフェースみたいです。Modelicaは言語なので、このシェルから文字列のソースをスクリプト的に実行したりできるみたい。また、モデルをC言語コンパイルする過程なども直接制御制御できるようです。でも「ブロックを積みながら」の主役ではないっすね。立ち上げたところは以下のようです。
2のNotebookは、PythonにおけるJupyterNotebook風の、対話的で、文章とソースと結果を取り混ぜたようなドキュメントを作成できるものです。そういえば、昔のインストールでちょこっと使ってみたけれども、クセ強だった記憶?
まあ、この対話環境も今回はパスかな。
そして本命がOMEdit という名の、OpenModelica Connection Editorというものです。これぞ「ブロック」どもを画面の上でグラフィカルに接続してシミュレーションを実行できる環境です。起動時の見た目はこんな感じ。
さらに、4番目にOpenModelica Optimization Editorいうものがあって、Modelicaモデルを用いた最適化問題を定義、設定、探索などできることになってます。しかし、今回のインストールでは、一部DLLが見つからんとエラーがでて起動できませんでした。どこが悪いのだろう。まあ、ゆるゆると気が向いたら追及するということで。
とりあえずOMEditの動作確認
本命OMEditは起動できているので、一応、シミュレーションできることを確認してみます。
OMEditのWindowの左上のペインにライブラリが列挙されています。そこを以下のようにたどってExampleを一つロードしてみます。
Modelica>Mechanics>Translational>Examples>Oscillator
ロードされたモデルが以下に。Scilab/Xcos上のModelicaブロックよりも見た目カッコイイのでないかい?
シンプルかつアリガチな力学モデルです。上は質量1kgの物体にスプリングつけて、正弦波な力を与えて振動させるもの。一方、下はバネだけでなくダンパが並列に入ってます。
これのシミュレーションを動かしたのち、mass1とmass2の位置をグラフ表示したところが以下に。
中央グラフの赤色がmass1、青色がmass2の位置です。グラフ表示のためには、右側のペインで該当するところにチェックを入れる必要があります。チェック次第でなんでも表示できるので便利。また設定値などもこのペイン一つで分かるのでブロックを一つ一つ調べる必要もなくこれまた便利。
mass1の方は「抑えてくれる」モノが居ないので、段々振動が激しくなってます。mass2はダンパのお陰で、ある一定の振幅で落ち着いてます。まあそれらしい感じよね。