WSMLink`
WSMLink`
WSMCreateModel
WSMCreateModelは,バージョン11.3で試験的に導入されたCreateSystemModelに段階的に置き換えられつつある.
WSMCreateModel["newmodel",sys]
システムモデル sys のModelicaモデル "newmodel" を作成する.
WSMCreateModel["newmodel",eqns,t]
独立変数 t でシステム方程式 eqns のモデルを作成する.
WSMCreateModel["newmodel",…,tspecs]
変数とパラメータのタイプ指定 tspecs でモデルを作成する.
WSMCreateModel["newmodel"∈"partial",eqns,t]
"partial" で与えられた指定を拡張するコンポーネントモデルを作成する.
詳細とオプション
- WSMCreateModelは,WSMModelData["newmodel"]を返す.
- WSMCreateModel["PackageA.NewModel"]は,"NewModel"を"PackageA"に挿入する.
- 可能なシステムモデル sys にはTransferFunctionModelとStateSpaceModelが含まれる. »
- 可能な方程式 eqns には,常微分方程式,微分代数方程式,初期値方程式,およびWhenEventで与えられる事象指定が含まれる. »
- eqns と sys のパラメータは,明示的に t に依存しない変数であるとされる.
- 変数とパラメータ{tspec1,…}のタイプ指定 tspecs で,それぞれの tspeci が以下の形式である.
-
pari∈typei パラメータタイプ typei vari∈typei 変数タイプ typei - タイプ typei は,基本的なReals,Integers,Booleans,あるいは単位を含む任意のModelicaのタイプである. »
- WSMNames["Modelica.Units.*","type"]は,組込みの標準単位を求めるのに使える.
- Modelicaモデルは一般に,数多くのモデルを組み合せて1つのより大きなモデルにすることによって構築する.モデル間のインタラクションは,Modelicaの概念 connector(コネクタ)で説明される. »
- コネクタは,エフォート変数とフロー変数からなる.複数のコネクタを接続する場合には,フロー変数の総和は0となり,エフォート変数は等しく設定される.
- 例として,通常端子と呼ばれる電気回路コネクタは,電圧変数 v と電流変数 i からなる.
- 端子 n と p を接続すると,フロー変数(この場合は電流 i)は合計で0になり,エフォート変数(この場合は電圧 v)は等しく設定される.
- すべてのフロー変数は,コンポーネントに流れ込む方向に正である.
- さまざまな領域でのエフォート変数とフロー変数:
-
<領域> <エフォート変数> <フロー変数> 電気回路 電圧 電流 磁気回路 磁位 磁束 平行移動力学 位置 力 回転力学 角度 トルク 3D力学 位置ベクトル,方向オブジェクト 切削力ベクトル,切削トルクベクトル 流体系 圧力,比エンタルピー 質量流量,エンタルピー流量 伝熱系 温 熱流量 ブロック図 実数,整数,ブール数 - - 領域に可能なコネクタ conni は,通常Interfacesパッケージで定義される.例えば,組込みのElectricalライブラリのコネクタを見付けるのにWSMNames["Modelica.Electrical.Analog.Interfaces.*","connector"]を使うことができる.
- 指定 vari∈conni を使って,変数 vari がタイプ conni のコネクタを参照するように指定することができる.
- コネクタ c の変数 vi は,c▴vi を含む eqns の中で参照することができる.この場合,「 ▴」の文字は\[UpPointer]として入力できる.
- コネクタ conn で定義される変数は,WSMModelData[conn,"SystemVariables"]でリストすることができる.
- ライブラリにはしばしば,interfaces と呼ばれる,新しいコンポーネントモデルを構築するための部分的なモデルが含まれている.これらのインターフェースは通常,これらのインターフェース間の基本的な関係を表すコネクタと方程式からなる.
- WSMCreateModel["newmodel"∈"partial",eqns,…]を使うと,"newmodel"は eqns をModelicaで定義された既存の "partial"モデルと組み合せることができる. »
- WSMCreateModel["newmodel"∈"partial",…]は,Modelicaで "extends"キーワードを使うことに対応する.
- モデルは,"newmodel"∈{…,"partiali",…}を使って複数のモデルに拡張することができる.
- 構築する部分的なモデルは通常,Interfacesパッケージで定義される.例えば,WSMNames["Modelica.Electrical.Analog.Interfaces.*","model" "block"]を使って,組込みのElectricalライブラリの部分的なモデルを求めることができる.
- WSMNames["*.type"]が一意的なマッチを与えるところでは,最短の一意的な"type"あるいは"partial"を使うことができる. »
- 以下のオプションを与えることができる.
-
WSMInitialValues Automatic 開始値 WSMParameterValues Automatic パラメータ値 - WSMInitialValuesは,Modelicaモデルの start 特性に対応する.
例題
すべて開くすべて閉じる例 (4)
スコープ (25)
系のモデル (9)
単一入力単一出力のTransferFunctionModelのモデルを作成する:
単一入力単一出力のStateSpaceModelのモデルを作成する:
微分方程式 (11)
コネクタ (3)
オプション (7)
WSMInitialValues (5)
start 値と初期方程式の両方がある場合には,初期方程式に優先権がある:
WSMInitialValuesは,初期化を解くのに開始値を与える: