バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
OpenModelicaでシンプルなモデルを作ってみる。
質量と長さを持っただけの最もシンプルと思われるmassモデルを使う。
まずはモデルの配置と接続を実施する。
登場人物
博識フクロウのフクさん
![指差しフクロウ](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
![技術者太郎](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
使用するモデル
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
前回の話だとmassモデルを元にシンプルなモデルをOpenModelicaで動かすんだっけ?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
そうだね。
厳密にはmassモデルと外部から「力」を加えるForce関連のモデルだね。
具体的には「constantForce」という一定に力を加えつつづけるモデルをまずは使う予定だ。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
Force関連?
直線運動の話
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
直線運動に於いての起点となるモデルだね。
直線運動については以下を参照してみると良いだろう。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
\(\vec{F} =m\vec{a}\)
を基本としたいろいろな物理量の話っぽいな・・・。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まぁ
- 加速度
- 速度
- 距離
の関係性と
- 力
- 運動量
- 仕事
- 仕事率
の関係性をふんわりと知っておけばとりあえずはOKだ。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
とりあえずふんわりと把握した。
OpenModelica Connection Editorで各モデル選択
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
まずはOpenModelica Connection Editorの「Modelicaクラス新規作成」を選択。
![ファイル、編集、ビュー、シミュレーション、デバグ、Modelicaクラス新規作成、モデル/ライブラリを開く、エンコードされたModelicaファイルを開く/変換する、ライブラリのロード、Load Encrypted Library](https://www.simulationroom999.com/blog/wp-content/uploads/2021/06/02_Modelicaクラス新規作成.png)
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
モデル名を入力して保存する。
![OMEEdit、新規Modelicaクラス作成、名前、クラス・タイプ、拡張元(オプション)、挿入するクラス(オプション)、ブラウズ、Partial、Encapsulated、State、OK、キャンセル](https://www.simulationroom999.com/blog/wp-content/uploads/2021/06/03_新規Modelicaクラス作成.png)
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
そうすると、まっさらな画面が出てくると思う。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
うん。出てきた。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
次に各モデルを配置するため、
左側のライブラリブラウザから
constantForceとmassのモデルをドラッグ&ドロップで持ってくる。
![OpenModelica、ModelicaReferrence、ModelicaServices、Complex、Modelica、Blocks、ComplexBlocks、StateGraph、Electrical、Magnetic、Mechanics、MultiBody、Rotational、Translational、UserGuide、Example、Components、Fixed、Mass](https://www.simulationroom999.com/blog/wp-content/uploads/2021/06/04_ライブラリブラウザ.png)
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」10アップ.png)
どこに何があるかわからん。
なんかむっちゃ一杯あるんだけど・・・。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
Modelica→Mechanics→Translational
以下に目的にモデルがある。
Componentsの中にMassがあって、
Sourcesの中にconstantForceがある。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者03アップ.png)
あ!あった。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
それを以下にように線で結ぶ。
加える力はconstantForceをダブルクリックすると変更できるんで、
\(-1[N]\)と\(2[N]\)を入れておくか。
![constantForce1、constantForce2、mass、-1N、2N、m=1kg](https://www.simulationroom999.com/blog/wp-content/uploads/2021/06/05_masstestモデル.png)
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
これで今回の目的となるモデルの完成だ。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
なんか思ったよりもあっさりだった。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
次回はこのモデルの意味合いを解説しよう。
まとめ
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まとめだよ。
- 使用するモデルはMassとconstantForce。
- 直線運動をふんわり知って置いた方が良い。
- 加速度、速度、距離、力、運動量、仕事、仕事率。
- OpenModelica Connection Editorで各モデルを配置&接続
- Modelica→Mechanics→Translationalに目的のモデルがある。
バックナンバーはこちら。
コメント