メインコンテンツ

branches

コンポーネントのスルー変数とノード間の関係を確立する

親の節: component

構文

branches
    a : node1.a -> node2.a;
end

説明

branches は、end キーワードで終了する branches セクションを開始します。このセクションには、コンポーネントのスルー変数とドメイン間の関係を確立する 1 つ以上の分岐ステートメントが含まれます。

たとえば、ドメイン宣言にスルー変数 a が含まれています。

variables(Balancing=true)
    a = { 0, 'N' }
end

また、コンポーネントで、このドメインに関連付けられた 2 つのノード node1node2 および変数 a を宣言します。

variables
    a = { 0, 'N' };    
end

コンポーネント変数の名前はドメイン変数の名前と一致する必要はありませんが、単位は同一基準でなければなりません (この例では、'N''kg*m/s^2''lbf' など)。

コンポーネント変数 a とドメインのスルー (バランシング) 変数 a 間の接続を確立するには、次のような分岐ステートメントを記述します。

branches
    a : node1.a -> node2.a;    
end

node1.anode2.anode1node2 における保存方程式を識別し、コンポーネント変数 a はそれらの保存方程式に関与している項です。分岐ステートメントは、anode1 から node2 へ流れることを宣言しています。したがって、anode1.a で識別される保存方程式から減算され、anode2.a で識別される保存方程式に加算されます。

コンポーネントでは、各保存方程式の識別子を複数回使用できます。たとえば、コンポーネントで次のような変数と分岐を宣言します。

variables
  a1 = { 0, 'N' }
  a2 = { 0, 'N' }
  a3 = { 0, 'N' }
end

branches
  a1 : node1.a -> node2.a;
  a2 : node1.a -> node2.a;
  a3 : node2.a -> node1.a;
end

この場合、node1node2 が他の branch ステートメントまたは connect ステートメントによって参照されていないと仮定すると、これらのノードにおける保存方程式は次のようになります。

  • node1 の場合

    - a1 - a2 + a3 == 0
    
  • node2 の場合

    a1 + a2 - a3 == 0
    

構文のルール

以下のルールが適用されます。

  • 各保存方程式は、ドメインに関連付けられたノードに属します。当該保存方程式に関与するすべての変数の単位は同一基準でなければなりません。

  • 1 つのノードは、関連付けられたドメイン内のスルー (バランシング) 変数ごとに 1 つの保存方程式を作成します。分岐ステートメントは新しい方程式を作成しません。ノードにおける既存の保存方程式で項を加算および減算します。

  • 2 番目と 3 番目の引数は、同じドメインに関連付けられている必要はありません。たとえば、一方を気体ドメインに関連付け、もう一方を熱ドメインに関連付け、熱流量交換を分岐ステートメントで定義できます。

  • 2 番目または 3 番目の引数のいずれかを * に置き換えて、参照ノードを指定できます。* を使用しても、最初の引数で指定された変数は他の識別子で指定された方程式で加算または減算されますが、どの方程式も * の影響を受けません。

すべて展開する

コンポーネントの宣言セクションに 2 つの電気ノード pn および電流を指定する変数 i = {0,'A'}; が含まれている場合、branches セクションで次の関係を確立できます。

branches
   i : p.i -> n.i;
end

このステートメントは、電流 i をノード p からノード n へ流れるスルー変数として定義しています。

1 つの電気ノード V をもつグラウンディング コンポーネントでは、電流 i をノード V から参照ノードへ流れるスルー変数として定義します。

branches
   i : V.i -> *;
end

1 次巻線と 2 次巻線をもつ相互インダクタまたは変圧器の場合、branches セクションに 2 つのステートメント (巻線ごとに 1 つ) を含める必要があります。

branches
    i1 : p1.i -> n1.i;
    i2 : p2.i -> n2.i;
end

空気圧ドメインと熱ドメイン間の熱流量交換を確立する必要がある定積空気圧チャンバーなどのコンポーネントでは、宣言セクションに 2 つのノードと熱流量変数が含まれます。

nodes
   A = foundation.pneumatic.pneumatic; 
   H = foundation.thermal.thermal; 
end 
variables
   h = { 0 , 'J/s' };
end

また、branches セクションで 2 つのドメイン間の熱流量交換を確立します。

branches
    h : A.Q -> H.Q;
end

このステートメントでは、熱流量 h を、チャンバー入口に関連付けられた空気圧ノード A からチャンバー内の気体の熱質量に関連付けられた熱ノード H へ流れるスルー変数として定義しています。

バージョン履歴

R2013b で導入