Lse

Model ElementLseは、線形動的システムを定義する抽象モデリング要素です。

クラス名

Lse

説明

動的システムは、入力のベクトルu、動的状態のベクトルx、および出力のベクトルyによって表現されます。状態ベクトルxは、微分方程式のセットを通して定義されます。出力ベクトルyは、代数方程式のセットによって定義されます。下の図は、動的システムの概念を示しています。


図 1.

属性の概要

名前 プロパティ コマンドで変更可能か 設計可能か
id Int ()   ×
label Str ()
x Reference ("Array")
y Reference ("Array")
u Reference ("Array")
ic Reference ("Array")
a Reference ("Matrix")
b Reference ("Matrix")
c Reference ("Matrix")
d Reference ("Matrix")
static_hold Bool ()
active Bool ()

使用法

# Defined in a compiled user-written subroutine
Lse (x=objArray, A=objMatrix, optional_attributes)

属性

x
タイプ"X"の既存のArrayオブジェクトへの参照
このLSEの状態"x"を格納するために使用するArrayを指定します。Array()関数を使用することで、MotionSolveの式のこの状態にアクセスすることができます。また、SYSFNCおよびSYSARYでこれを使用することで、ユーザーサブルーチンの状態値にアクセスすることもできます。
この属性は必須です。
a
既存のMatrixオブジェクトへの参照
線形動的システムの状態マトリクスを含むMatrixオブジェクトを指定します。Aマトリクスは、動的システムの固有のプロパティをカプセル化します。例えば、Aの固有値は、システムの固有値を表します。同様に、Aの固有ベクトルは、動的システムのモード形状を表します。Aは定数値のマトリクスです。これは正則である必要があります。nx個の状態がある場合、Aマトリクスの次元はnx x nxとなります。
この属性は必須です。
id
整数
要素識別番号を指定します。この番号は、モデル内のすべてのLSEオブジェクトの中で一意にする必要があります。
省略可能です。MotionSolveは、IDが指定されていない場合、自動的にこれを作成します。
値の範囲:id > 0
label
文字列
LSEオブジェクトの名前を指定します。
省略可能です。指定しない場合は、MotionSolveが代わりにラベルを作成します。
u
タイプUのArrayオブジェクトへの参照
このLSEの入力uを格納するために使用するARRAYを指定します。ARYVAL()関数を使用することで、MotionSolveの式のこの入力にアクセスすることができます。また、SYSFNCおよびSYSARYを使用することで、ユーザーサブルーチンの入力にアクセスすることもできます。
省略可能です。
Y
タイプYのArrayオブジェクトへの参照
このLSEの出力yを格納するために使用するARRAYを指定します。ARYVAL()関数を使用することで、MotionSolveの式のこの状態にアクセスできます。SYSFNCおよびSYSARYを使用することで、ユーザーサブルーチンの出力にアクセスできます。
省略可能です。
lc
このLSEの状態xの初期値を格納するために使用するArrayを指定します。
省略可能です。指定しない場合、すべての状態の初期値がデフォルトで0になります。
static_hold
ブール
静的平衡解析および擬似静解析の間、動的状態の値を固定するかどうかを指定します。
  • "TRUE"は、静的解析および擬似静解析の間、動的状態の値が一定に保たれることを意味します。
  • "FALSE"は、静的平衡解析または擬似静解析の間、動的状態の値が変化可能であることを意味します。
省略可能です。指定しない場合は、デフォルトで"FALSE"になります。
b
既存のMatrixオブジェクトへの参照
線形動的システムの入力マトリクスを含むMatrixオブジェクトを指定します。Bは定数値マトリクスです。nx個の状態とnu個の入力がある場合、Bマトリクスの次元はnx x nuとなります。
省略可能です。指定しない場合は、使用されません。
c
既存のMatrixオブジェクトへの参照
線形動的システムの出力マトリクスを含むMatrixオブジェクトを指定します。Cは定数値マトリクスです。nx個の状態とny個の出力がある場合、Cマトリクスの次元はny x nxとなります。
省略可能です。指定しない場合は、使用されません。
d
既存のMatrixオブジェクトへの参照
線形動的システムのフィードフォワード(またはフィードスルー)マトリクスを含むMatrixオブジェクトを指定します。Dは定数値マトリクスです。ny個の出力とnu個の入力がある場合、Dマトリクスの次元はny x nuとなります。
省略可能です。指定しない場合は、使用されません。
active
ブール
"TRUE"または"FALSE"のどちらかを選択します。
  • "TRUE"は、要素がモデル内でアクティブであり、システムの動作に影響を与えていることを示します。
  • "FALSE"は、要素がモデル内で非アクティブであり、システムの動作に影響を与えていないことを示します。エンティティがモデルから削除される場合とほとんど同じですが、必要に応じて“ON”にできる点が異なります。
属性activeは省略可能です。指定しない場合、activeはデフォルトで"TRUE"になります。

3つの状態、2つの出力、1つの入力を持ち、フィードフォワードマトリクスのないLSEを定義します。
# Define the Arrays first
x = Array (type="X")                            # State  Array
y = Array (type="Y")                            # Output Array

var8 = Variable(function="10*sin(2*pi*time)")   # Forcing function
u = Array (type="U", variables=[var8])          # Input Array

# Define the matrices now
aValues = [  0, 1,  0,
           -20, 0,  10,
            10, 0, -10]
a = Matrix (label="A-Matrix", rows=3, columns=3, full="RORDER", values=aValues)

bValues = [ 0, 1, 0]
b = Matrix (label="B-Matrix", rows=3, columns=1, full="RORDER", values=bValues)

cValues = [ 0, 0, 1,
            1, 0, 0]
c = Matrix (label="C-Matrix", rows=3, columns=2, full="RORDER", values=cValues)

# Finally, define the linear system
lse = Lse (label="mass-spring-damper", x=x, y=y, u=u, a=a, b=b, c=c)
Lseは、下に示すシステムの方程式を表します。
  • 入力はFa(t)です。
  • 2つの出力は座標xとyです。
  • 3つの状態はx、vx、およびyです。


図 2.

コメント

  1. プロパティの概要、使用理由、および拡張方法については、プロパティをご参照ください。
  2. Lseの詳細については、制御:状態方程式をご参照ください。