シミュレーションいろいろ
昔に比べて、自分のNotePCくらいでできるシミュレーションが増えています。
OpenFOAMで流体シミュレーションやったり
電気系のシミュレーションもいろいろ
で。。 若い頃にS(今のR言語)でデータ分析したり、SPICEでシミュレーションできたことが、いろんな研究や活動で役にたったというか。。ほんとに計算機替わりに使えて便利だったので、NotePCでできるようなシミュレーションはツールとしていいなぁ~って思うんです。でも最近、あんまりみんなこういうツールを使わないなぁ~って思ってて。。もっと使えばいいのに。。と。。
Modelica
で。。。 仕事でエネルギー関係のモデルをいろいろ調べたら、Modelicaという力学系・電気系の言語が出てきていまして。。。欧州系のシミュレータ言語なんですが、どれくらい使えるか分からないけど、多くの実績はありそう。
ライブラリーも豊富にありそうなんで。。 それを使ってみようかな?って。。
何ができるか??っていうと。。こんなの、運動シミュレーションだったり
Motercycleのモデルとかは、デフォルトで入っています(笑)ヨーロッパ人はMotoGPとか好きですよね~(笑) バイクのモデルは、見てみるとスゴイです。。サスペンションから空力まで全部そろってる(笑)
車のモデルもこんなのがデフォルトで入っています。
わからないけど、F1などのシミュレータの中の記述言語には、これ使っているじゃないかな? とか。。
他にも、たとえば。。
Greenhouses: A Modelica Library for the Simulation of Greenhouse Climate and Energy Systems
気候変動用のエネルギーシステムのシミュレーションだったり。。 ライブラリーがどんどん。。増えているのでいろんなことができるようです。
日本語の情報は、まだあまりないですけど。。
https://1dcae.com/
今は、1DCAEっていうのですね。
https://www.xsim.info/articles/OpenModelica/What-is-OpenModelica.html
https://qiita.com/ats030/items/62403cbd9a6db7a8124b
このあたりに、例が乗っています。
Modelica ライブラリーを使う 環境としては、売ってるのでは、Dymolaとかもあり、フリーだと jmodelica OpenModelica などがあるみたいです。
FreeTool類も、すごくいっぱいありますけど。。
https://modelica.org/tools/index_html#free-modelica-simulation-environments
OpenModelica
ここは、簡単に使えそうなOpenModelica で試してみますね。
Windows 版・Mac版インストール方法は、ここに詳しくのっています。
https://1dcae.com/openmodelica-install/
直接行く場合は、ここ からOfficial Releaseの64bit版のexeをダウンロードすればいいです。
注意事項は、ファイルの空き容量が5G Byteくらいいります。インストールするフォルダに空白文字とかアスキー文字以外は、入れれないので、デフォルトのまま使用しましょう。
Please choose an installation path without spaces and non-ASCII characters, otherwise OpenModelica installation is not guaranteed to work properly.
インストールに結構時間かかります。ライブラリーが多いからですね。
いろんなもんがインストールされますが、ブロックで計算したりするのは、
Windowsのプログラム > OpenModelica > OpenModelica Connection Editor です。
立ち上げると、こんな画面が出てきます
簡単なチュートリアル
たぶん。。これ見れば。。だいたい使えます(笑)
SPICEやったことあったり。。したら。。誰でも使えると思います(笑) っておらんか??(笑)
まぁ、そんな難しくないですから。。
真面目にチュートリアルする人は、コースも用意されています。
これスゴイっす。。映像付き英語だと沢山あります。他の言語もそこそこあるのに。。日本語ないですね。。日本の大学とかの機械工学はどうなんだろう??違うシミュレータが流行っているのかな??
成長の限界 の シミュレーション
もう1975年ごろに出た「成長の限界」
そして。。そのリバイス版のシミュレーションもできます。
まさに、今、この通りに、地球はなっていこうとしています。
このシステムダイナミクスのシミュレーションも出来ます。簡単なやり方のPDFはこちら Web版を翻訳して読む方がわかりやすいかな?
メデュースの「成長の限界」と、「2052」を読んだ人には、わかるのですが、地球規模のシステムダイナミクスでは、いろんなシナリオでシミュレーションしているのですが、ほぼ、人類が絶滅するシミュレーション結果となります。
そのライブラリが、既に用意されています。
ファイル>システムライブラリ>SystemDynamics というのが、そのライブラリーです。
この中に、World 2やWorld 3というのがあります。
例えば、World3のシナリオ2を動かしてみましょう。
Senerio2をクリックして、メニューバーにある → が、シミュレーションスタートです。
シナリオを実行すると、変数をグラフで見ることができます。右の変数ブラウザで、ポピュレーション(人口) や 食料 Food/Dollar など。。 見れます。
それぞれのシナリオを実行して、一つのグラフで見ることもできます。
シナリオ1~4と、9を実行して、人口を、みてます。
- シナリオ0:限界をなくせば,無限に成長する(無限のシナリオ)
- シナリオ1:参照シミュレーション(再生不可能な資源の危機)
- シナリオ2:再生不可能な資源がより豊富にあった場合(地球規模の汚染の危機)
- シナリオ3:入手可能な再生不可能な資源がより多く,汚染除去技術がある場合(食糧の危機)
- シナリオ4:入手可能な再生不可能な資源がより多く,汚染除去と土地の収穫率
- 改善の技術がある場合(土地浸食の危機)
- シナリオ5:入手可能な再生不可能な資源がより多く,汚染除去,土地の収穫率
改善,そして土地浸食軽減の技術がある場合(多くの危機の組み合わせ) - シナリオ6:入手可能な再生不可能な資源がより多く,汚染除去,土地の収穫
率改善,土地浸食軽減,そして資源効率改善の技術がある場合(コストの危機) - シナリオ7:世界が2002年から人口を安定させるという目標を採り入れた場合(汚
染の危機) - シナリオ8:世界が2002年から人口と工業生産を安定させるという目標を採り入れ
た場合 - シナリオ9:世界が2002年から人口と工業生産を安定させるという目標を採り入れ
,かつ,汚染,資源,農業に関する技術を加えた場合(均衡社会の達成)
詳しく知りたい人は、この本を読んでみるといいです。
こういう問題も、シミュレートしていろいろ変数を振ってみて、みるとどうなるのか?が予測できます。
あくまでもシミュレーションなので、これが正しいという話ではないのですが、この精緻ともいえるし、大雑把ともいえるシナリオ1は40年たって。。この通りの動きをしているのは、本当に、面白いというか。。絶望感がでてきます(笑)
これは、あまりにも大きいシミュレーションなので、中身みるの大変ですけど。。こんな感じで、もともとシステムライブラリーに入っているものを見ていくと、チュートリアルなどもあるので、理解しやすいかと思います。
マイクログリッドのシミュレーションの例
Modelicaのシミュレーションモデルは Githubにも本当に沢山あります。論文も沢山ありますしね。もともと入っているモデルにも、その手のものがありますが、作ってくれたものを再利用するところから始めると、意外に。。よくわかります(笑)
例えば
https://github.com/ALSETLab/MicroGrid
これを、Zip Downloadしてきます。あとは、これを読んで(笑)
解凍して、MicroGridフォルダーに移動し、モデルpackage.moをロードします。 この行為により、使用されているModelica準拠のソフトウェアの「Working」タブにすべてのモデルがロードされます。 メインパッケージMicroGridは、次の名前の6つのサブパッケージで構成されています。(1)例、(2)電気、(3)蓄電池、(4)太陽光発電機、(5)コントロール、および(6)センサー。
マイクログリッドの例は、MicroGrid_Example.moという名前の(1)Examples内にあります。
他の例は、電気/例および制御/例にあります。 モデルExamples / MicroGrid_Example.moは、使用されているModelica準拠のソフトウェアに応じて、さまざまな方法でシミュレートできます。
OpenModelicaとDymolaの場合、ユーザーは[シミュレーション]タブに移動し、[シミュレーション]ボタンをクリックする必要があります。 SystemModelerの場合、[シミュレーション]ボタンは[モデリング]タブにあります。
例えば、これの、Exampleをやってみると、いろんなエラーが出てきます。
ControlのPWMのExampleなどは、簡単なので、こういうのは、どういう条件(シミュレーション方法なども見たりして。。)で動いているのかを見ならが、学習していくといいと思います。
電力関係では、DoDのGrid-Labというシミュレータもすごいですね
https://www.gridlabd.org/
電気回路 など 日本語記事
こんな記事も見つけました。
LT-Spiceが圧倒的に楽ですけどね(それは、SPICEを使っていたからかも)(笑)
http://otepipi.hatenablog.com/search?q=Modelica
日本語版のOpenModelica Tutorials
https://github.com/UedaShigenori/OpenModelica_Tutorials_Ja
コメントを残していただけるとありがたいです