WSMLink`
WSMLink`

WSMConnectComponents

WSMConnectComponentsStringは,バージョン11.3で試験的に導入されたConnectSystemModelComponentsに段階的に置き換えられつつある.

WSMConnectComponents["newmodel",{"c1""comp1",},{"c1.a"->"c2.b",}]

コンポーネント c1のコネクタ a とコンポーネント c2のコネクタ b 等,順に接続することによって,Modelicaモデル "newmodel" を作成する.

詳細とオプション

  • WSMConnectComponents[newmodel,]WSMModelData[newmodel]を返す.
  • WSMConnectComponents["PackageA.NewModel",]は,"NewModel""PackageA"に挿入する.
  • WSMNames["*.comp"]が一意的なマッチを与えるところでは,最短の一意的なコンポーネント名 comp を使うことができる.

例題

すべて開くすべて閉じる

  (3)

Wolfram SystemModeler Linkをロードする:

簡単な電気回路を作成する:

インダクタの電流と電圧を示す:

Modelica.BlocksAbsSineのコンポーネントを参照する短縮名を使う:

スコープ  (4)

一定間隔で正弦波のサンプルを取って,ブロックの例を作成する:

サンプルとして取った信号のシミュレーションを行い,プロットする:

熱導体を持つ熱容量と2つのマスを繋ぐ:

熱容量,マス,初期温度を設定する:

温度平衡に達することを示す:

バネに繋がれたマスを作成する:

バネを伸ばして,マスの最初の位置を動かす:

マスの位置がどのように振動するかを示す:

3Dの減衰振子を構築する:

パラメータの値を設定する:

振子の経路のシミュレーションを行い,アニメーションを作る:

一般化と拡張  (2)

RuleDirectedEdgeUndirectedEdgeのいずれでもコネクタに使うことができる:

Ruleを使って接続を指定する:

DirectedEdgeUndirectedEdgeを使って接続を指定する:

信号のシミュレーションを行い,プロットする:

自動的にレイアウトが入らないようにする:

アプリケーション  (3)

相対加速度に比例する端子で力を加える,イナータを作成する:

イナータを減衰系に加えることによって,どのように振動に影響を与えるかを比較する:

パラメータ値を設定し,正弦振動の力を持つ系のシミュレーションを行う:

減衰の効果は同じくらいの大きさである:

減衰コンポーネントに働く力は,イナータがある場合にかなり軽減される:

電気コンポーネントと機械コンポーネントを繋いで,DCモーターのモデルを作る:

DCモーターの角速度を示す:

デジタルローパスフィルタを作成する:

フィルタを伝達関数に変換する:

フィルタのモデルを作成する:

信号発生源を作成する:

信号源をフィルタに繋ぐ:

信号出力とフィルタされた信号のシミュレーションを行い,これをプロットする:

特性と関係  (4)

WSMCreateModelを使って,微分方程式に基づくモデルを作成する:

WSMCreateModelは,WSMConnectComponentsと同じように使うことができる:

WSMConnectComponentsStringは,モデルの不活性なModelica Stringを作成する:

既存のコンポーネントに基づく階層モデルを使うと,より大規模な系を素早く作成することができる:

コントローラ付きの3Dの倒立振子を構築する:

数個のコンポーネントで,複雑なマルチドメインの系が構築できる:

おもしろい例題  (1)

グラフの頂点間の熱伝導を示す:

コンポーネントを定義する:

接続を定義する:

モデルを作成し,初期値とパラメータ値を設定する:

温度を色で示して,モデルのシミュレーションを行い,アニメーションを作成する: