OpenModelica

事例

【Modelica】最小構成のMBD事例 第2章 その25【DCモータ②】

ModelicaのDCモータモデルをちょっと掘り下げ。以下が絡んでくる。電気/電子領域。古典力学領域。幾何学(材料力学)領域。物理モデリングは伝達経路、伝達関数、微分方程式解決、シミュレーションの4つの工程がある。Modelicaは伝達関数、微分方程式解決をサボれるツール。
事例

【Modelica】最小構成のMBD事例 第2章 その24【DCモータ①】

ModelicaのDCモータモデルのサンプルの位置をライブラリブラウザで確認。DCモータモデルをとりあえずシミュレーション。制御電圧、制御電流、角速度の結果を確認。今回は電圧をランプ関数で制御したシンプルなもの。ランプ関数は0を起点に徐々に上がっていく関数。
事例

【Modelica】最小構成のMBD事例 第2章 その23【massモデル⑫】

trapezoidの設定もせずにおもむろにシミュレーション。矩形波的な出力になった。変数ブラウザでtrapezoidの設定を編集。台形波的な出力に変化。このように、変数ブラウザからパラメータ変更が可能なソースブロックはそこそこある。これらを知っているといろいろとサボれて楽できる。
事例

【Modelica】最小構成のMBD事例 第2章 その22【massモデル⑪】

trapezoidブロックとForceブロックを配置。ForceブロックはModelica→Mechanics→Translational→Sourcesにある。trapezoidブロックはModelica→Blocks→Sources→Trapezoidにある。本来はtrapezoidを修正する必要があるが今回は不要
事例

【Modelica】最小構成のMBD事例 第2章 その21【massモデル⑩】

ソースブロックによっては様々な信号を入力できる。ソースブロックは信号を生成してくれるブロック。信号を生成するソースブロックと物理量に変換するソースブロックがある。今回はtrapezoidが信号生成、forceが物理量変換。Modelicaライブラリは大量にあるがライブラリブラウザで検索ができるようになってる。
事例

【Modelica】最小構成のMBD事例 第2章 その20【massモデル⑨】

Modelicaコードに追加したパラメータが増えると管理が大変。注釈が欲しい。他のモデルもModelicaコードで書かれたものであるが変数ブラウザで注釈が確認できる。つまり、注釈が入れられるはず。変数の隣にダブルクォーテーションでくくった文字を入れれば注釈。変数ブラウザでも確認可能。
事例

【Modelica】最小構成のMBD事例 第2章 その19【massモデル⑧】

Modelicaコードで変数追加後のOpenModelica Connecter Editor上の見え方確認。まずは普通にシミュレーション。変数ブラウザで変数を書き換えたあとに再シミュレーション。モデルチェック、コンパイル無しで即シミュレーション結果が得られた。ちょっとしたテクニックをしってるだけで効率化可能。
事例

【Modelica】最小構成のMBD事例 第2章 その18【massモデル⑦】

「Modelicaのソースコードに変数を設置」の効能はモデル編集ではなくシミュ―ション時。 シミュレーションをするためには毎回モデル検査、Cコード生成、コンパイルが入る。規模が大きくなれと結構待たされる。 parameterキーワードで宣言した変数はコンパイル後にも修正可。コンパイルせずに再シミュレーション可能。
事例

【Modelica】最小構成のMBD事例 第2章 その17【massモデル⑥】

Modelicaコードを弄ることでいろいろと効率化される可能性がある。実際にparameterキーワードを使って変数を定義。そして、それをconstantForceに設定。今のままでは動作は何も変わらない。ソースコード上でパラメータ調整をし易くなったくらいの効能しかない。即値で調整するのでは労力に差はさなそう。
事例

【Modelica】最小構成のMBD事例 第2章 その16【massモデル⑤】

OpenModelicaはローコード、ノーコードの性質がある。しかし、コードの読み書きも出来ていた方が良い。massモデルのソースコードを確認。equationではconnectキーワードで接続と定義。annotationキーワードでグラフィカルな情報が追記されソースコード内で情報が完結している。