.. _17_8_CIRCUIT: ################################## **17.8 電源と結線(CIRCUIT)** ################################## 外部電気回路を定義するための入力項目です。 ``CIRCUIT`` は,電流磁場ソースと電源,外部抵抗,外部インダクタンスを接続行列を用いて定義します。 --------------------- 設定項目 --------------------- :paramdef:`CIRCUIT(17.8)` JSONキー:電源と結線オブジェクト :paramdef:`REGION_FACTOR(17.8)` 解析されている実際の系(全体モデル)が解析モデル領域に対してこの倍数であることを示す。 :paramdef:`REGION_PARALLEL(17.8)` 回路の並列数を設定。(デフォルトは 1) :paramdef:`INDUCTANCE_MATRIX(17.8)` インダクタンス行列の定義。 :paramdef:`SERIES_IDS(17.8)` シリーズの ID 番号。 :paramdef:`IN_IND(17.8)` 外部インダクタンス行列入力法 :paramdef:`MATRIX(17.8)` インダクタンス行列 :paramdef:`RESISTANCE_MATRIX(17.8)` 抵抗行列の定義。 :paramdef:`IN_RES(17.8)` 外部抵抗行列入力法 :paramdef:`MATRIX(17.8)` 抵抗行列 :paramdef:`CONNECTION_MATRIX(17.8)` 接続行列。 :paramdef:`IN_CON(17.8)` 外部接続行列入力法 :paramdef:`MATRIX(17.8)` 接続行列 :paramdef:`POWER_SUPPLIES(17.8)` 電源の定義。 :paramdef:`PS_ID(17.8)` 電源の識別番号。 :paramdef:`TYPE(17.8)` 電源の種類。 :paramdef:`TIME_ID(17.8)` 時間依存性のある電流を与える場合の時間定義番号。 :paramdef:`INITIAL_CURRENT(17.8)` 過渡解析(TRANSIENT(2)の時の,定電圧電源の電流初期値(A) --------------------- 設定フォーマット --------------------- .. collapsible:: :title: テキストフォーマットの折りたたみセクション :種類: 固定パラメータセット1 :行数: 3~6 :パラメータ数: 7, NO_SERIES, 1, 1, 1, NO_POWER_SUPPLIES .. code-block:: text :caption: Text format * CIRCUIT * CIRCUIT * NO_SERIES * NO_POWER_SUPPLIES * REGION_FACTOR * IN_IND * IN_RES * IN_CON* 1 1 8 1 1 0 0 * SERIES_IDS * 1 * SERIES_EXTERNAL_INDUCTANCE * 0 * SERIES_EXTERNAL_RESISTANCE * 0 * CONNEXION MATRIX * 1 * POWER_SUPPLY_ID * TYPE * TIME_ID * INITIAL_CURRENT* 1 0 1 0 END ====================== JSONフォーマット ====================== .. code-block:: json :caption: JSON format from 2024.11 "17_Field_Source" : [ { "CIRCUIT" : { "REGION_FACTOR" : E, "REGION_PARALLEL" : E, "SERIES_IDS" : [ I ], "INDUCTANCE_MATRIX" : { "comment" : "IN_IND=0: lower triangular matrix. \n IN_IND=1: diagonal matrix. IN_ID=2 : not defined.", "format" : "[1st row][2nd row][3rd row]", "IN_IND" : I, "MATRIX" : [ E ] }, "RESISTANCE_MATRIX" : { "comment" : "IN_IND=0: lower triangular matrix. \n IN_IND=1: diagonal matrix. IN_ID=2 : not defined.", "format" : "[1st row][2nd row][3rd row]", "IN_RES" : I, "MATRIX" : [ E ] }, "CONNECTION_MATRIX" : { "comment" : "IN_CON=0: NO_SERIES * NO_POWER_SUPPLIES connection matrix. \n IN_CON=1: diagonal connection matrix.", "IN_CON" : I, "format" : "[1st row][2nd row][3rd row]", "MATRIX" : [ [ E ] ] }, "POWER_SUPPLIES" : [ { "PS_ID" : I, "TYPE" : I, "TIME_ID" : I, "INITIAL_CURRENT" : E } ] } } ] --------------------- **詳細説明** --------------------- ``CIRCUIT`` は,電流磁場ソースと電源,外部抵抗,外部インダクタンスを接続行列を用いて結線するものです。 .. hint:: 単相電源の場合は,接続行列は1行1列の行列になるため簡単です。 三相Y結線の場合は,接続行列は3行3列の行列の設定が必要になります。 :paramdef:`NETWORK(17.9)` の方が簡単に結線を表現することができます。 ========================== **CIRCUIT** ========================== .. paramdef:: CIRCUIT(17.8) .. collapsible:: :title: テキストフォーマットの折りたたみセクション .. code-block:: none :caption: 固定パラメータセット1 [row, col] = [1, 1] :型: 文字列 (S) :説明: 外部回路 ``CIRCUIT`` の指定。 .. collapsible:: :title: テキストフォーマットの折りたたみセクション *NO_SERIES* .. code-block:: none :caption: 固定パラメータセット1 [row, col] = [2, 1] Type=I 電流磁場ソースの総数。 *NO_POWER_SUPPLIES* .. code-block:: none :caption: 固定パラメータセット1 [row, col] = [2, 2] Type=I 接続される独立な電源の数。 *END* CIRCUIT データの終了を示す。 ================ **REGION_FACTOR** ================ .. paramdef:: REGION_FACTOR(17.8) .. collapsible:: :title: テキストフォーマットの折りたたみセクション .. code-block:: none :caption: 固定パラメータセット1 [row, col] = [2, 3] :型: 実数 (E) :解析: 解析されている実際の系(全体モデル)が解析モデル領域に対してこの倍数であることを示す。 例えば,上下対称で N 回回転対称の時は 2N。シリーズ外部インダクタンス,抵抗,電圧を全体モデルの値で入力するために必要。出力される電圧もこの全体モデルとなる。 この値を 1.0 と入力すると解析モデル領域を全体として入出力する。例えば上の場合 1/2N の値を以下入力する必要がある。出力される電圧も解析モデル領域の分となる。 ================ **REGION_PARALLEL** ================ .. paramdef:: REGION_PARALLEL(17.8) .. collapsible:: :title: テキストフォーマットの折りたたみセクション .. code-block:: none :caption: 固定パラメータセット1 [row, col] = [2, 7] :型: 実数 (E) :説明: 回路の並列数を設定する。既定値は 1 であり、JSONでは ``1`` を明示することを推奨する。 ``0`` も入力できるが、EMSolution内部では ``1`` として扱われる。 ``REGION_FACTOR`` に全体モデルが解析モデルに対しての倍数を設定した場合, ``REGION_FACTOR`` の換算を行い,1並列分と同様の計算ができる。その場合, *output* 出力に電源は全体モデルの値,コイルやインダクタンスは 1 並列分の値が出力される。 ================= **SERIES_IDS** ================= .. paramdef:: SERIES_IDS(17.8) .. collapsible:: :title: テキストフォーマットの折りたたみセクション .. code-block:: none :caption: 固定パラメータセット1 [row, col] = [7, 1] :型: 整数 (I) :説明: シリーズの ID 番号。 ================= **INDUCTANCE_MATRIX** ================= .. paramdef:: INDUCTANCE_MATRIX(17.8) 外部インダクタンス行列の定義。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **IN_IND** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. paramdef:: IN_IND(17.8) .. collapsible:: :title: テキストフォーマットの折りたたみセクション .. code-block:: none :caption: 固定パラメータセット1 [row, col] = [2, 4] .. list-table:: インダクタンス行列入力法 :header-rows: 1 * - 設定値 - 説明 * - 0 - 下三角行列を入力。 **デフォルト値** * - 1 - 対角成分のみを入力,非対角項はゼロとする。 * - 2 - 外部インダクタンスは無いとする。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **MATRIX** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. paramdef:: MATRIX(17.8) .. collapsible:: :title: テキストフォーマットの折りたたみセクション SERIES_EXTERNAL_INDUCTANCE .. code-block:: none :caption: 固定パラメータセット1 [row, col] = [3, 1] Type=[ E ] - ``IN_IND`` =0 の時 外部インダクタンス行列。各ソース項シリーズにおける有限要素領域外の自己および相互インダクタンス( :math:`H` )。インダクタンスはソース項で与えた規格化電流値( ``CURRENT(17)`` )で規格化された値とする。 対称マトリックスであり,下半分行列を入力する。 ``NO_SERIES`` 行のデータで I 行目は I 個のデータとなる。 全体のデータ数は ``NO_SERIES`` * ( ``NO_SERIES`` +1)/2。 - ``IN_IND`` =1 の時 対角成分のみを入力。データ数は NO_SERIES。 - ``IN_IND`` =2 の時,不要。 .. caution:: * :paramdef:`COIL(17.1)` ソース項に対しては,:paramdef:`CALC_IND(4)` =1 とし, :paramdef:`MESH(17.1.7)` COIL 積分要素( :paramdef:`LOOP-(17.1.8)` , :paramdef:`GCE-(17.1.8)` , :paramdef:`ARC-(17.1.8)` )を入力した :paramdef:`COIL(17.1)` の自己インダクタンス,およびコイル間の相互インダクタンスは内部で計算され,足しこまれる。 * 上の入力を行わない場合の :paramdef:`COIL(17.1)` に対しては,有限要素領域には :paramdef:`COIL(17.1)` の自己インダクタンスおよびCOIL 間の相互インダクタンスは考慮されない。このため,入出力電圧を実際のものとするためには,外部インダクタンスとして入力する必要がある。 * 上の場合で外部インダクタンスを 0 とすると,トータルポテンシャル内からの誘起磁場および他のソース項からの磁場のコイル鎖交分が電圧となる。 * シリーズに直列に外部に繋がれたインダクタンスや漏れインダクタンスを加えて入力する。 =========================== **RESISTANCE_MATRIX** =========================== .. paramdef:: RESISTANCE_MATRIX(17.8) 外部抵抗行列の定義。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **IN_RES** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. paramdef:: IN_RES(17.8) .. collapsible:: :title: テキストフォーマットの折りたたみセクション .. code-block:: none :caption: 固定パラメータセット1 [row, col] = [2, 5] .. list-table:: 抵抗行列入力法 :header-rows: 1 * - 設定値 - 説明 * - 0 - 下三角行列を入力。 **デフォルト値** * - 1 - 対角成分のみを入力,非対角項はゼロとする。 * - 2 - 外部抵抗は無いとする。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **MATRIX** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. paramdef:: MATRIX(17.8) .. collapsible:: :title: テキストフォーマットの折りたたみセクション SERIES_EXTERNAL_RESISTANCE .. code-block:: none :caption: 固定パラメータセット1 [row, col] = [4, 1] - ``IN_RES`` =0 の時 外部抵抗行列。各ソース項シリーズにおける有限要素領域外の自己および相互抵抗(:math:`\Omega`)。抵抗はソース項で与えた規格化電流値( ``CURRENT(17)`` )で規格化された値とする。 対称マトリックスであり,下半分行列を入力する。 ``NO_SERIES`` 行のデータで I 行目は I 個のデータとなる。 全体のデータ数は ``NO_SERIES`` * ( ``NO_SERIES`` +1)/2。 - ``IN_RES`` =1 の時 対角成分のみを入力。データ数は ``NO_SERIES``。 - ``IN_RES`` =2 の時,不要。 .. caution:: * :paramdef:`COIL(17.1)` ソースに対しては :paramdef:`COIL(17.1)` 抵抗を入力すること。 * :paramdef:`ELMCUR(17.2)` , :paramdef:`SDEFCOIL(17.3)` に対しては,:paramdef:`SIGMA(17.2)` , :paramdef:`SIGMA(17.3)` の値を入力すればその抵抗は考慮される。``SIGMA`` =0 として,本入力で抵抗を入れても同じことになる。 * :paramdef:`SUFCUR(17.6)` に対しては有限要素領域の抵抗を本入力で加えてはならない。 ============================= **CONNECTION_MATRIX** ============================= .. paramdef:: CONNECTION_MATRIX(17.8) 接続行列。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **IN_CON** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. paramdef:: IN_CON(17.8) .. collapsible:: :title: テキストフォーマットの折りたたみセクション .. code-block:: none :caption: 固定パラメータセット1 [row, col] = [5, 1] .. list-table:: 接続行列( ``CONNECTION_MATRIX`` )の入力法。 :header-rows: 1 * - 設定値 - 説明 * - 0 - 接続行列( ``CONNECTION_MATRIX`` ) を入力。 * - 1 - ``NO_SERIES`` = ``NO_POWER_SUPPLIES`` の時で,電源は独立にシリーズに接続されているとし, ``CONNECTION_MATRIX`` は単位行列とする。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **MATRIX** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. paramdef:: MATRIX(17.8) .. collapsible:: :title: テキストフォーマットの折りたたみセクション CONNECTION_MATRIX .. code-block:: none :caption: 固定パラメータセット1 [row, col] = [6, 1] 各シリーズと電源の接続関係を表す行列。 - ``IN_CON`` =0 の時: ``NO_SERIES`` 行, ``NO_POWER_SUPPLIES`` 列の行列である。シリーズ電流電圧ベクトル(i,v),電源電圧ベクトル(I,V)が本 ``CONNECTION_MATRIX`` T で i=TI,V=Ttv と関連付けられる。Tt は転置行列。 - ``IN_CON`` =1 の時:入力不要。 .. hint:: * シリーズと電源が同数であり,独立給電される場合は,単位行列(対角項が 1.0, 他が 0.0)。 * この接続表現と行列を用いることにより,任意のソース間の結合が可能となる。 ========================== **POWER_SUPPLIES** ========================== .. paramdef:: POWER_SUPPLIES(17.8) :JSONキー: 電源オブジェクト 電源の定義。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **PS_ID** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. paramdef:: PS_ID(17.8) .. collapsible:: :title: テキストフォーマットの折りたたみセクション .. code-block:: none :caption: 固定パラメータセット1 [row, col] = [7, 1] :型: 整数 (I) :説明: 電源の識別番号。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **TYPE** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. paramdef:: TYPE(17.8) .. collapsible:: :title: テキストフォーマットの折りたたみセクション .. code-block:: none :caption: 固定パラメータセット1 [row, col] = [7, 2] .. list-table:: 電源の種類 :header-rows: 1 * - 設定値 - 説明 * - 0 - 定電流電源(電流変化が与えられ電圧が未知)。 * - 1 - 定電圧電源(電圧変化が与えられ電流が未知)。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **TIME_ID** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. paramdef:: TIME_ID(17.8) .. collapsible:: :title: テキストフォーマットの折りたたみセクション .. code-block:: none :caption: 固定パラメータセット1 [row, col] = [7, 3] :型: 整数 (I) :説明: 電源の電流( ``TYPE`` =0 の時)あるいは電圧( ``TYPE`` =1 の時)の時間変化を与えるデータ番号( :paramdef:`TIME_ID(18)` )。 0 の場合は,一定であることを示す。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **INITIAL_CURRENT** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. paramdef:: INITIAL_CURRENT(17.8) .. collapsible:: :title: テキストフォーマットの折りたたみセクション .. code-block:: none :caption: 固定パラメータセット1 [row, col] = [7, 4] :型: 実数 (E) :単位: A :説明: 過渡解析( :paramdef:`TRANSIENT(2)` の時の,定電圧電源の電流初期値。 リスタート時,初期実行においても本電源が定電圧源であった場合は,=999.とすると,初期実行の結果が初期値となる。 .. note:: - 閉回路(コイル両端が短絡)の場合は,0 電圧の定電圧電源が結線されていると考える。 - 開回路(コイル両端が切断)の場合は,0 電流の定電流電源が結線されていると考える。 - 下図に 2 つの電源と 3 つの磁場コイルの接続例を示す。:paramdef:`CIRCUIT(17.8)` データは次の通り。 .. collapsible:: :title: テキストフォーマットの折りたたみセクション .. code-block:: none :caption: 固定パラメータセット1 [row, col] = [1, 1] Type=S * CIRCUIT * CIRCUIT * NO_SERIES * NO_POWER_SUPPLIES * REGION_FACTOR * IN_IND * IN_RES * IN_CON* 3 2 4.0 0 0 0 0 * SERIES_IDS * 1 2 3 * SERIES_EXTERNAL_INDUCTANCE * L11 L12 L22 L13 L23 L33 * SERIES_EXTERNAL_RESISTANCE * R11 R12 R22 R13 R23 R33 * CONNECTION MATRIX * 1. 0. 1. 0. 0. 1. .. code-block:: json :caption: JSON format from 2024.11 "17_Field_Source" : [ { "CIRCUIT" : { "REGION_FACTOR" : 4.0, "REGION_PARALLEL" : 1, "SERIES_IDS" : [ 1, 2, 3 ], "INDUCTANCE_MATRIX" : { "comment" : "IN_IND=0: lower triangular matrix. \n IN_IND=1: diagonal matrix. IN_ID=2 : not defined.", "format" : "[1st row][2nd row][3rd row]", "IN_IND" : 0, "MATRIX" : [ L11, L12, L22, L13, L23, L33 ] }, "RESISTANCE_MATRIX" : { "comment" : "IN_IND=0: lower triangular matrix. \n IN_IND=1: diagonal matrix. IN_ID=2 : not defined.", "format" : "[1st row][2nd row][3rd row]", "IN_RES" : 0, "MATRIX" : [ R11, R12, R22, R13, R23, R33 ] }, "CONNECTION_MATRIX" : { "comment" : "IN_CON=0: NO_SERIES * NO_POWER_SUPPLIES connection matrix. \n IN_CON=1: diagonal connection matrix.", "IN_CON" : 0, "format" : "[1st row][2nd row][3rd row]", "MATRIX" : [ [ 1., 0. ], [ 1., 0. ], [ 0., 1. ] ] }, .. figure:: figs/circuit.png :width: 400px :align: center :name: CIRCUIT :alt: CIRCUITの定義例 ``CIRCUIT`` の定義例