システムとモデリング

modelica, Julia, Design Structure Matrix, SysML, 他モデリング全般について。

Modelica の検索結果:

Matlabで微分方程式の計算練習

…'-o') 一方、例えば精度がode45ほどではないode23では、1000ステップ計算すると軌道がどんどん円周から外れていってしまいます。 tspan = [0 1000]; y0 = [1 0]; [t1,y1] = ode23(@(t,y) odefcn(t,y), tspan, y0); plot(y1(:,1),y1(:,2),'-o') modelicaで計算する際は特に精度に特に気を遣っていないのですが、本当は注意しなくてはいけませんね。今回はここまでにします。

2020年の抱負

…re Matrix Modelica matlab/simulink SysML PlantUML これらのトピックは主にツールに関するもので、一時の話題にはなりますが将来的な陳腐化が予想されるものでもありました。 2020年は陳腐化されにくい技術、つまり数学力を鍛える一年にしたいと思っています。モデリング対象を物理現象と考えた場合、そのモデリング様式は微分方程式になる場合が多いかと思います。今年はその微分方程式の数値計算を主に取り組みたいと考えております。 今年の正月休みに…

modelicaでタイマー設定のヒーターをモデリングする

…デリングに優れた言語modelicaを使用して物理モデルと制御モデルが一体になったシミュレーションをします。 今回は以下の例題を参考にしながらすすめていきます。 mbe.modelica.university 以下のような制御をシミュレーションしてみます。 高温(温度T[K])の物体Aが温度Tamb[K]の環境下に置かれている。 物体Aの温度Tはニュートンの冷却法則に従って低下していく。 物体Aの温度をコントロールするためのヒーターを設ける。 ヒーターは、物体Aの温度が設定値…

Open ModelicaをJuliaで操作する

久々にOpen Modelicaに手を出してみました。 今回はJuliaを使ってOpen Modelicaを操作してシミュレーションする試みです。 今年になってOpen ModlicaのJulia APIが開発されために可能になりました。 www.openmodelica.org 手順 パッケージOMJuliaを使用します。 手順はおおよそ下記GithubのReadmeに書いてあります。 github.com 注意点としては Open Modelica v1.14が必要(v1…

JuliaでModelicaライクなシミュレーション

…a.jl"を使用してModelicaのような非因果モデリングでシミュレーションしてみます。 Modelicaについては以前の記事を参照してください。 otepipi.hatenablog.com Modia.jlについて Modia.jlはJulia言語による方程式ベースのシステムモデリング環境です。作者はModelicaを使用した経験をもとにこのライブラリを制作しており、Modelicaと非常に似た作りになっています。 github.com https://modiasim…

メモ:注目しているシミュレーションソフト

…の探索などは非常に面白そうです。 Altair Activate solidthinking.jp Simulinkのようなソフトウェアですが、信号モデルだけでなくModelicaライブラリを利用した物理モデリングも可能という優れたソフトウェアです。Maplesimと同じようなイメージ。これも個人で使用する分には無料なのですから驚きです。これを利用した記事も投稿してみたいと思っています。 以上、今注目しているシミュレーションソフトウェア2点の紹介でした。 今回はここまでです。

Open Modelicaで状態機械をシミュレーションする。その2

今日は再びOpen Modelicaで状態機械のシミュレーションをしてみます。 Open Modelicaで状態機械をシミュレーションするには設定が必要で、それについては過去の記事で解説しています。 otepipi.hatenablog.com サンプルコード 今回使わせてもらうサンプルコードは下記PDFにありましたものです。 https://openmodelica.org/images/docs/openmodelica2015/OpenModelica2015-talk…

Open Modelicaで流量のPIDコントロール その3

今日もOpen Modelicaで流量のPIDコントロールをしていきます。 前回の記事はこちら↓ otepipi.hatenablog.com 前回ではバルブが線形動作だったためにPIDが一瞬で調整を完了してしまいました。 これでは面白くないので、このモデルに遅れ時間を設定してやります。 遅れ時間の設定 Blocks -> Nonlinear -> FixedDelayで固定時間遅れを設定します。 これをPIDのアウトプットとバルブのインプットの間に設置してやることで、PID…

Open Modelicaで流量のPIDコントロール その2 失敗編

…に引き続きOpen ModelicaでPIDコントロールをしてみたいと思います。 前回の記事はこちらです。 otepipi.hatenablog.com 前回下図の状態まで実施しましたので、あとはステップ入力の部分をPID動作に変更します。 PID操作器 Blocks -> Continuous -> LimPID でPID操作器を設定します。今回、バルブが受け付ける信号が0~1までの数値になりますので、出力の最大最小を設定できるLimPIDを使用します。 PIDの設定は適当…

Open Modelicaで流量のPIDコントロール その1

…ipiです。 今日はModelica標準ライブラリを使用して流量のコントロールを検討してみます。 図のように圧力の高いところから圧力の低いところに流体を流し、その流量を流量計で測定し、望ましい流量になるようにバルブの開度を変更するフィードバック制御をかけます。 今日はフィードバック制御をかける前段階まで実施していきたいと思います。 機器の設置 まず機器を設置するところからはじめます。 境界 境界はModelica標準ライブラリのFluid -> Souces -> Bouda…

Open Modelicaで状態機械をシミュレーションする。

…piです。Open Modelicaを使って状態機械(State Machine)をシミュレーションしてみました。 シミュレーションしたのは下記のような状態機械図になります。これはModelica3.3のドキュメントにあるものです。 https://www.modelica.org/documents/ModelicaSpec33Revision1.pdf これをコードにすると下記のようになります。これも上記ドキュメントのまんま引用です。 block Hierarchical…

【雑記】Googleトレンドで遊ぶ SysMLなど、多く検索している地域はどこか

…われます。 // "Modelica"は東京で最も検索されています。Modelicaといえばそれこそ自動車業界で使われているものですので愛知県が多くなると思いきや、東京都言うのが意外ですね。ソフトウェアベンダーが東京にあるからなのでしょうか? // "Simulink"は1位が栃木、2位が愛知、3位は静岡となっております。Simulinkも自動車のモデルベースデザインに使用されているソフトウェアであることを考えると、栃木はホンダでしょうか?愛知はトヨタとして、静岡はヤマハかも…

Modelicaでローレンツ方程式を解く(カオス挙動を確認する)

…今回はモデリング言語Modelicaを使ってローレンツ方程式を解いていきます。 ローレンツ方程式とは ローレンツ方程式 - Wikipedia ローレンツ方程式とは大気変動のメカニズムを簡略して数学モデル化したものです。マサチューセッツ工科大学のローレンツ氏(~2008)によって発表されたのでこの名前がついています。 このローレンツ方程式は下のような式になります。 これをmodelicaによって実装してみます。 modelicaによる実装と結果 ここでは定数をとします。 また…

Modelica 参考になる書籍・WEBサイト

…ipiです。 今日はModelica言語を学習する上で参考になる書籍やWEBサイトを紹介します。 書籍 Modelicaによるシステムシミュレーション入門 -モデルベース開発のための物理システムモデリング- (MBD Lab Series)作者: Peter Fritzson,大畠明(監訳),広野友英出版社/メーカー: TechShare発売日: 2015/07/15メディア: 単行本(ソフトカバー)この商品を含むブログを見る Modelicaを解説した貴重な和書です。オブジ…

Modelicaプログラミング練習その2

…pipiです。今回もModelicaを使ってプログラミングしていきたいと思います。 Modelicaの特徴である非因果的モデルを実装していきます。 例題としては下記教科書の、流通式完全混合槽モデルを作成していきたいと思います。 基礎式から学ぶ化学工学: Excelによるモデル解法で直観的にわかる作者: 伊東章出版社/メーカー: 化学同人発売日: 2017/11/28メディア: 単行本この商品を含むブログを見る モデリング対象は下の流通式完全混合槽で、槽内の物質Aの濃度はシミュ…

Modelicaプログラミング練習

…はプログラミング言語Modelicaを使用してプログラミングの練習をしていきたいと思います。 Modelicaとは Modelicaはオブジェクト指向のプログラミング言語ですが、その中でも物理モデリングに特化しています。 言語仕様は下記にあります。 https://www.modelica.org/documents/ModelicaSpec34.pdf 大きな特長としては非因果モデルの記述が可能という点です。 非因果モデリングは、「出力」「入力」の区別をしない記述方法で、例…