先日、ただ思い付きでOpemModelicaの ver1.15(stable development)とver1.16(nightly build)をインストールして使ってみている。

こちらの記事の方法で複数のバージョンを共存インストール出来るので古いバージョンを残しておきたい人、stable developmentとnightly buildを同時に試したい人は、参照して欲しい。

*どんなバグやエラーと友達にならなければならないか判りません、人柱erの気概が無い人はOfficial Release版の最新版を使いましょう。

Whats New文書を読めば更新事項は把握できる筈だが読んでいない(良い子と良い大人は読もう。。。)。しばらく使っていく中で違いが見えてきたので紹介しておく。説明画像も無く雑な紹介だがご容赦願いたい。


●良いこと
  1. replaceable mediaのドロップダウンメニュー表示(ver1.16)
  2. これが一番大きい使い勝手が劇的に向上する機能追加。これは嬉しい。ver1.15まで、mediaのredeclareを直接コーディングしなければならなかったが、parameterウィンドウ上にドロップダウンメニューが表示されて、選択するだけで済むようになった。長らく望まれてきた機能が漸く実現した。

  3. 入力補助機能
  4. IDEのように、単語の一部を入力するとdeclare済み変数一覧表示を出してくれる。コーディングの作業性が大幅向上。

  5. diagram viewでcomoponentのコピー&ペーストが可能
  6. 他の1DCAE(ex. Amesim)のように、既存モデル上のcomponentをdiagram上で選択・コピーして別のモデルにペーストできるようになった。既存モデル上の一部を他モデルに流用したい時に作業が楽になる。

  7. 起動の高速化
  8. 厳密に測ったわけではないが、立ち上げ時間が短く感じられる。

  9. ライブラリパッケージの展開高速化
  10. ライブラリブラウザ(一番左のツリー表示)で+を押してパッケージの中身を展開させる動作がver1.14より速い。

  11. ソルバの性能向上(恐らく)
  12. 筆者作成の"PropulsionSystem"libraryで作成したモデルを計算実行すると、無事に計算が回りきるものでもinitalizeの過程でinvalid rootエラーが連出する。ver1.15ではその表示回数が少なくなった。収束計算のステップ数や値の変化過程を比べた訳でないので確証が無いが、ソルバの求解能力が改善されている可能性が高い。

  13. Warning/Errorメッセージが丁寧
  14. 筆者作成の"PropulsionSystem"libraryで作成したモデルを計算実行すると、initialが与えられていないvariableが残っているためwarning, が出るのだが、ver1.14までは具体的にどの変数がinitial指定されていないのか教えてくれない。一方でver1.15からはinitializeされておらず方程式を解いて値が決まるvariableをリストアップして教えてくれる。当該warningが出ても計算は回るのだが、もしinitialize不足が原因で計算が収束しないということが起き、initial valueを与えて改善させるという時に訳に立ちそう。


●悪いこと(バグだけどstableリリースでは直される?)
  1. ライブラリブラウザからdocumentationを開く機能が消えた
  2. ver1.14まではライブラリブラウザで右クリックして現れるメニューからモデルやpackageのdocumentationを開ける機能が有ったのだが、消えた。ver1.15からはdocumentationを見たいモデル/packageを一度Open Classで開いてから、documentation view (iのアイコン)を選択して見なければならない。何故ライブラリブラウザから直接開く機能が取り除かれた不明だが、復活が望まれる機能だ。

  3. 標準ライブラリのコンポーネントを使ってエラーになることがある(ver1.16 nightly)
  4. この記事でModelica.Blocks内のcomponentを使ったのだが、ver1.15でエラー無く動いていたモデルが、ver1.16ではinitializeで"divide by zero"エラーが大量発生して0 [s] で落ちる(コンパイルは通る)。このモデル作成では、自作のコードは一切入れておらず、完全にMSL内のコンポーネントを繋いでいるだけなので、変な作り方はしていない筈。一時的バグであって欲しい。

以上で、これまでと同じ使い方をするなかで見えたver1.14からの違いをざっと紹介した。他に新機能などの情報お持ちで有れば是非情報提供して欲しい。

以上



文献紹介

Modelicaによるシステムシミュレーション入門

入門者に最適の書。Modelicaって何?という導入から、簡単なコードベースやGUIベースの例モデルまで解説。筆者も入門時に手に取った。訳に少し癖が有る印象だが、英語書物がハードルになる方には確かな助けになる筈。


[楽天、電子書籍版] [AU payマーケット、電子書籍版] [7ネットショッピング、電子書籍版]
[楽天、紙面書籍版] [AU payマーケット、紙面書籍版]

Introduction to Modeling and Simulation of Technical and Physical Systems with Modelica

「Modelicaによるシステムシミュレーション入門」の英語版原書。英語に抵抗がなければこちらを入手したら良いと思う。


[Yahoo、紙面書籍版]

Principles of Object-Oriented Modeling and Simulation with Modelica 3.3 A Cyber-Physical Approach (Wiley-IEEE Press)

本格的にModelicaを使い込むなら必携の書。辞書的に適宜調べものをするような形で手元に有ると頼もしい武器。量が多いので電子版もお勧め。筆者もKindle版を所有し、かなりの頻度で参照している。


[楽天、電子書籍版]

Introduction to Physical Modeling With Modelica


[楽天、紙面書籍版]


------------------------------