OpenModelica勉強会
OpenModelicaとModelica概要
2024年4月9日
足利大学工学部創生工学科
電気電子分野西 剛伺

シミュレーションとは• シミュレーション（simulation）とは・・・「現実の世界で起こっている現象を数学モデルで記述して，その仮想空間の中で起こる現象をコンピュータを駆使して解き，結果を可視化などの手法により表示して，あたかもその解が現実空間で起こった事象であるかのごとく見せる手法である．」
以下の書籍から抜粋：『工学シミュレーションの品質保証とV&V』（ISBN978-4-621-08628-5）
モデル化（モデル作成）

2024/4/9

ソルバ実行（３次元ではメッシュ生成＋ソルバ実行）
OpenModelica勉強会「ModelicaとOpenModelica概要」

可視化

2モデル化の例• 現象を数学モデルで記述．

OpenModelica＜３次元モデルの作成＞＜概念モデルの作成＞

実際の形状をそのままモデル化．

形状ではなく，概念をモデル化．

2024/4/9

OpenModelica勉強会「ModelicaとOpenModelica概要」

3概念をモデル化とは？
• 例えば，抵抗の場合，概念のモデル化では，形状には関係なく，モデル化する対象の役割を数式で表す．
抵抗の役割は抵抗値を有し，以下の関係を成り立たせること．
𝑉 = 𝑅𝐼
2024/4/9

OpenModelica勉強会「ModelicaとOpenModelica概要」

4

概念モデルの例：モータ
モータは円筒形状をしているが，「等価回路」表現では，特性を有する回路素子を用いてモデルを構成．
以下の写真のような直流モータは，右図のような等価回路で表現される．
分解

鉄心

フェライト磁石
2024/4/9

コイル

OpenModelica勉強会「ModelicaとOpenModelica概要」

軸受
5

回路シミュレーションと言えば・・・
回路シミュレーションと言えば，SPICE（スパイスと読む）が有名．
米国カリフォルニア大学バークレー校で開発され，SPICE3（1985年）まで開発される．
有名なSPICEソフトウェアはPSPICEがある．
その他，フリーで使えるものとしては，LTSPICEが有名．

※ SPICEはSimulation Program with Integrated Circuit Emphasisの略．
2024/4/9

OpenModelica勉強会「ModelicaとOpenModelica概要」

6

回路の特性は電気だけ？
半導体の特性は温度等，電気以外の要因にも依存する．また，半導体を単体で使用することはほぼない．
→ マルチドメインシミュレーション環境の必要性

例えば，・・・-

2024/4/9

冷蔵庫の消費電力を最小化するには？
自動車の- 燃費を最大化するには？
- 実用上の安全性を担保するには？

OpenModelica勉強会「ModelicaとOpenModelica概要」

7

マルチドメインを扱えるツール
マルチドメインを扱える主なツールは以下の通り．
MATLAB/Simulink
Mathworks社
独自の環境制御に定評
ライセンスが必要

2024/4/9

VHDL-AMS

Modelica

電気回路から拡張された標準モデル記述言語

プラントモデルに強い標準モデル記述言語

複数の商用ソフトウェアライセンスが必要

複数の商用ソフトウェア
オープンソースもあり

OpenModelica勉強会「ModelicaとOpenModelica概要」

8

Modelicaモデルの例
Modelicaは，複雑な物理系を効率的にモデル化するのに便利．
ための，プロプラでない，数式ベースのオブジェクト指向言語である．

2024/4/9

OpenModelica勉強会「ModelicaとOpenModelica概要」

9Modelicaとは？
Modelicaは，複雑な物理系を効率的にモデル化するための，プロプラでない，数式ベースのオブジェクト指向言語である．

最新バージョンは3.62024/4/9

OpenModelica勉強会「ModelicaとOpenModelica概要」

10Modelicaの変遷
1996年 1997年 1998年 1999年 1999年 2000年
秋
9月
12月
6月
12月
12月
Ver 1.0 Ver 1.1 Ver 1.2 Ver 1.3 Ver 1.4

2002年
7月

2004年 2005年
3月
2月

Ver 2.0

Ver 2.1 Ver 2.2

First Modelica
2000年にModelica Association（MA）が設立され，design group
Modelicaの仕様を策定・管理している．
meeting2017年 2020年 2023年
2007年
2009年 2010年
2012年
4月
12月3月
9月
5月
3月
5月
Ver 3.02024/4/9

Ver 3.1

Ver 3.2

Ver 3.3 2014年 Ver 3.4 Ver 3.5
Ver 3.6
7月

2012年
2月

2013年
7月

Ver 3.2
Rev 1

Ver 3.2
Rev 2

Ver 3.3
Rev 1

OpenModelica勉強会「ModelicaとOpenModelica概要」

11

Modelicaの特長
Modelicaには，以下のような特長がある．
- 方程式を記述できる．
- 単位の概念を有し，電気，構造，磁気，流体，熱といった異なるドメインを連成して解くことができる．
- 言語仕様にGUI（アイコン、ダイアグラム）が規定されており，GUI環境でコンポーネントを接続することでモデルを作成できる．
- 有償，無償のライブラリを活用することで，検証済みのさまざまのコンポーネントを利用できる．
- クラスの概念をベースとしており，新たな機能を追加したモデルを継承によって簡単に作成できる．
2024/4/9

OpenModelica勉強会「ModelicaとOpenModelica概要」

12因果的と非因果的１
Modelicaは方程式をサポートすることで，非因果的モデル化を可能にしている．
因果的（causal）：入力と出力の関係が決まっている．
入力

物理現象等のモデル

出力非因果的（acausal）：入力と出力の関係は時と場合によって変わる．
物理現象等のモデル
2024/4/9

OpenModelica勉強会「ModelicaとOpenModelica概要」

13

因果的と非因果的２
Modelicaは方程式をサポートすることで，非因果的モデル化を可能にしている．
因果的（causal）：入力と出力の関係が決まっている．
algorithm
c := a * babモデル

c

非因果的（acausal）：入力と出力の関係は時と場合によって変わる．
equationc=a*b2024/4/9

abモデル

OpenModelica勉強会「ModelicaとOpenModelica概要」

c14

Modelica Standard Library
Modelica Standard Library （ 以 下 ，MSL）は，Modelica Associationが提供する無償のライブラリ．
電気，磁気，機械，流体，熱の物理ドメインごとにサブライブラリ構成を採っている．

https://github.com/modelica/ModelicaStandardLibrary

2024/4/9

OpenModelica勉強会「ModelicaとOpenModelica概要」

15

GUIベースのプログラミング
Modelicaでは，コンポーネントを組み合わせることでモデルを作成できる．

ドラッグアンドドロップ

2024/4/9

OpenModelica勉強会「ModelicaとOpenModelica概要」

16

Modelicaプログラムの例
OMEditを用いて作成したモデルは，プログラムとして保存される．
model ThermalNetwork01
Modelica.Thermal.HeatTransfer.Sources.FixedHeatFlow HeatSource(Q_flow = 10)
annotation(…);
Modelica.Thermal.HeatTransfer.Components.ThermalResistor Rth(R = 5)
annotation(…);
Modelica.Thermal.HeatTransfer.Components.HeatCapacitor Cth(C = 3, T(displayUnit ="degC", fixed = true, start = 298.15)) annotation(…);
Modelica.Thermal.HeatTransfer.Celsius.FixedTemperature TA(T = 25) annotation(…);
equationconnect(HeatSource.port, Rth.port_a) annotation(…);
connect(HeatSource.port, Cth.port) annotation(…);
connect(Rth.port_b, TA.port) annotation(…);
annotation(…);
end ThermalNetwork01;
2024/4/9

OpenModelica勉強会「ModelicaとOpenModelica概要」

17

さまざまなModelicaライブラリ
Modelicaには，Modelica言語を使用して記述されたオープンソースもしくは商用のライブラリが存在する．
https://www.modelica.org/libraries※ 2019年6月8日現在のキャプチャ
2024/4/9

OpenModelica勉強会「ModelicaとOpenModelica概要」

18

OpenModelica
OpenModelicaはオープンソースのModelicaを用いたモデル化シミュレーション環境．モデルの作成，実行，結果の表示まで行うことができるいわゆる統合環境である．
OpenModelica Connection Editor （OMEdit）では，GUI上で一連の作業を行うことが出来る．

2024/4/9

OpenModelica勉強会「ModelicaとOpenModelica概要」

19

OpenModelicaの入手無償でダウンロードし利用できる．
現在の最新版は，v1.22.3．
以下のリンクからダウンロード可能．
（OpenModelica_v1.22.3-64-bit.exeをダウンロード．）
https://build.openmodelica.org/omc/builds/windows/releases/1.22/3/64bit/

2024/4/9

OpenModelica勉強会「ModelicaとOpenModelica概要」

20

OpenModelicaインストール時の注意点
OpenModelicaは，全角文字を認識しないため，使用するWindowsユーザアカウントは半角（英数字等）で作成されたものに限る．
その他，インストールの詳細は「はじめてのOpenModelica」
ISBN 978-4-7775-2152-4の第１章を参照．

2024/4/9

OpenModelica勉強会「ModelicaとOpenModelica概要」

21