シミュレーションいろいろ
昔に比べて、自分のNotePCくらいでできるシミュレーションが増えています。
OpenFOAMで流体シミュレーションやったり

電気系のシミュレーションもいろいろ

で。。 若い頃にS(今のR言語)でデータ分析したり、SPICEでシミュレーションできたことが、いろんな研究や活動で役にたったというか。。ほんとに計算機替わりに使えて便利だったので、NotePCでできるようなシミュレーションはツールとしていいなぁ~って思うんです。でも最近、あんまりみんなこういうツールを使わないなぁ~って思ってて。。もっと使えばいいのに。。と。。
Modelica
で。。。 仕事でエネルギー関係のモデルをいろいろ調べたら、Modelicaという力学系・電気系の言語が出てきていまして。。。欧州系のシミュレータ言語なんですが、どれくらい使えるか分からないけど、多くの実績はありそう。
ライブラリーも豊富にありそうなんで。。 それを使ってみようかな?って。。
何ができるか??っていうと。。こんなの、運動シミュレーションだったり
Motercycleのモデルとかは、デフォルトで入っています(笑)ヨーロッパ人はMotoGPとか好きですよね~(笑) バイクのモデルは、見てみるとスゴイです。。サスペンションから空力まで全部そろってる(笑)
車のモデルもこんなのがデフォルトで入っています。
わからないけど、F1などのシミュレータの中の記述言語には、これ使っているじゃないかな? とか。。
他にも、たとえば。。
Greenhouses: A Modelica Library for the Simulation of Greenhouse Climate and Energy Systems
気候変動用のエネルギーシステムのシミュレーションだったり。。 ライブラリーがどんどん。。増えているのでいろんなことができるようです。
日本語の情報は、まだあまりないですけど。。



今は、1DCAEっていうのですね。



このあたりに、例が乗っています。
Modelica ライブラリーを使う 環境としては、売ってるのでは、Dymolaとかもあり、フリーだと jmodelica OpenModelica などがあるみたいです。
FreeTool類も、すごくいっぱいありますけど。。
OpenModelica
ここは、簡単に使えそうなOpenModelica で試してみますね。
Windows 版・Mac版インストール方法は、ここに詳しくのっています。



直接行く場合は、ここ から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にも本当に沢山あります。論文も沢山ありますしね。もともと入っているモデルにも、その手のものがありますが、作ってくれたものを再利用するところから始めると、意外に。。よくわかります(笑)
例えば
これを、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というシミュレータもすごいですね
電気回路 など 日本語記事
こんな記事も見つけました。



LT-Spiceが圧倒的に楽ですけどね(それは、SPICEを使っていたからかも)(笑)
日本語版のOpenModelica Tutorials
コメントを残していただけるとありがたいです