.. _17_2_ELMCUR:

##################################
**17.2 内部電流ソース**
##################################

有限要素メッシュ内の内部電流を定義するために使用します。  
``ELMCUR`` は、有限要素一つ一つに内部電流を指定します。

---------------------
設定項目
---------------------

:paramdef:`ELMCUR(17.2)`    JSONキー：内部電流ソースオブジェクト

    :paramdef:`SERIES_ID(17.2)`        系列番号。

    :paramdef:`OPTION(17.2)`        電流の与え方のオプション。

    :paramdef:`IN_ROTOR(17.2)`        定義領域が回転子にあるかどうかのフラグ。

    :paramdef:`MAT_ID(17.2)`        領域設定する物性番号。

    :paramdef:`IN_SURFACE(17.2)`        要素における電流が流入する面の番号

    :paramdef:`OUT_SURFACE(17.2)`        要素における電流が流出する面の番号

    :paramdef:`CURRENT(17.2)`        規格化電流値。

    :paramdef:`SIGMA(17.2)`        要素の導電率

    :paramdef:`CAL_Je(17.2)`        定義領域の渦電流を考慮するかのフラグ

---------------------
設定フォーマット
---------------------
.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

        :種類: 固定パラメータセット1
        :行数: 2  
        :パラメータ数: 4, 5

    .. code-block:: text
        :caption: Text format

        * ELMCUR * SERIES_NO * NO_MAT_IDS * OPTION *
        ELMCUR       I          I            I
        * MAT_ID * IN_SURFACE * OUT_SURFACE * CURENT * SIGMA *
            I         I        I               E     E


======================
JSONフォーマット
======================

.. code-block:: json
    :caption: JSON format from 2024.11

    "17_Field_Source" : 
    [
        {
            "ELMCUR" : 
            {
                "SERIES_ID" : I,
                "OPTION" : I,
                "IN_ROTOR" : I,
                "data" : 
                [
                    {
                        "MAT_ID" : I,
                        "IN_SURFACE" : I,
                        "OUT_SURFACE" : I,
                        "CURRENT" : E,
                        "SIGMA" : E,
                        "CAL_Je" : I
                    }
                ]
            }
        }
    ]

---------------------
**詳細説明**
---------------------

``ELMCUR`` は、有限要素の内部電流を定義します。そのため， ``ELMCUR`` に設定される領域の要素はすべて同じ大きさであるのが望ましいです。電流の流入面と流出面は、要素の面番号で指定するため， ``ELMCUR`` 領域内の要素の向きは揃っている必要があります。

.. hint:: 
    三次元解析で上記の条件を満足した有限要素メッシュを作成することは難しいため，二次元解析での使用をお勧めします。

==========================
**ELMCUR**
==========================
.. paramdef:: ELMCUR(17.2)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 1]

:型: 文字列 (S)
:説明: 内部電流ソース ``ELMCUR`` の指定。

==========================================
**SERIES_ID**
==========================================
.. paramdef:: SERIES_ID(17.2)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 2]

:型: 整数 (I)
:説明: ソース項の識別番号。


.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. paramdef:: NO_MAT_IDS(17.2)

    **NO_MAT_IDS**
    
    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 3]
        Type=I 

    要素電流を与える要素の物性番号数。

==========================================
**OPTION**
==========================================
.. paramdef:: OPTION(17.2)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 4]

.. list-table:: 電流の与え方のオプション
    :header-rows: 1

    * - 設定値
      - 説明
    * - 0
      - 要素の面を通過する電流量(:math:`A`)で与える。 **デフォルト値**
    * - 1
      - 電流密度(:math:`A/m^2`)で与える。


==========================================
**IN_ROTOR**
==========================================
.. paramdef:: IN_ROTOR(17.2)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 5]

.. list-table:: 定義領域が回転子にあるかどうかのフラグ
    :header-rows: 1

    * - 設定値
      - 説明
    * - 0
      - 固定部内 **デフォルト値**
    * - 1
      - 可動部内


交流定常解析で，スライド運動でスリップがある場合，  
:paramdef:`N_CORRECT(8)` ≠0 の場合必要。

==========================================
**data**
==========================================
.. paramdef:: data(17.2)

:JSONキー: 内部電流ソースのデータ

``data`` は配列で， ``ELMCUR`` 要素の数だけ定義する。

^^^^^^^^^^^^^^^^^^^^^^^^^^
**MAT_ID**
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: MAT_ID(17.2)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 1]

:型: 整数 (I)
:説明: 要素電流を与える要素の物性番号( :paramdef:`MAT_ID(16.1)` )。

^^^^^^^^^^^^^^^^^^^^^^^^^^
**IN_SURFACE**
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: IN_SURFACE(17.2)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 2]

:型: 整数 (I)
:説明: 要素における電流が流入する面の番号。

^^^^^^^^^^^^^^^^^^^^^^^^^^
**OUT_SURFACE**
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: OUT_SURFACE(17.2)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 3]

:型: 整数 (I)
:説明: 要素における電流が流出する面の番号。

^^^^^^^^^^^^^^^^^^^^^^^^^^
**CURRENT**
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: CURRENT(17.2)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 4]

.. list-table:: 規格化電流値
    :header-rows: 1

    * - 設定値
      - 説明
    * - 0
      - 一要素面を通過する電流量(:math:`A`)。 **デフォルト値**
    * - 1
      - 電流密度(:math:`A/m^2`)

巻線コイルの場合，ターン数と読み替えると理解しやすい。

^^^^^^^^^^^^^^^^^^^^^^^^^^
**SIGMA**
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: SIGMA(17.2)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 5]

:型: 実数 (E)
:単位: :math:`S/m`
:説明: 要素の電気伝導率。シリーズの抵抗が計算される。

^^^^^^^^^^^^^^^^^^^^^^^^^^
**CAL_Je**
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: CAL_Je(17.2)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 6]

.. list-table:: 定義領域の渦電流を考慮するかのフラグ
    :header-rows: 1

    * - 設定値
      - 説明
    * - 0
      - 定義領域の渦電流を考慮しない **デフォルト値**
    * - 1
      - 定義領域の渦電流を考慮する。導電率は :paramdef:`SIGMA(16.1)` で設定した値を使用する。


.. caution::
    - 6 面体，3 角柱要素において使用可。要素は，トータルポテンシャル領域にある必要が
    ある。

    - ``IN_SURFACE(17.2)`` , ``OUT_SURFACE(17.2)`` , ``CURRENT(17.2)`` に対して異なる値を持つ要素は，異なる :paramdef:`MAT_ID(16.1)` を入力メッシュデータファイルで定義しておく必要が有る。これらに対して，物性に対し :paramdef:`SIGMA(16.1)` =0, :paramdef:`MU(16.1)` =1.0 としておく必要がある。

    - :paramdef:`CIRCUIT(17.8)`, :paramdef:`NETWORK(17.9)` の電源と結線が必要。

.. hint::
    * ``IN_SURFACE(17.2)`` と ``OUT_SURFACE(17.2)`` を逆にすると，電流方向は逆になる。

    * 二次元計算では，z( :math:`\theta` )方向電流を与えたいときは， ``IN_SURFACE(17.2)`` =1, ``OUT_SURFACE(17.2)`` =2と置けばよい。

    * ``OPTION(17.2)`` =1 の時は，流入面の通過電流を内部で計算する。断面積が変化して行くコイルの場合は，``OPTION(17.2)`` =0 で与えることが好ましい。
    
    * 要素面番号は以下の図のように定義されている。


.. figure:: figs/elmcur.png
    :align: center
    :name: elmcur

    ``ELMCUR`` 要素面番号の定義

底面が①，上面が②とし，底面から上面に向かって右ねじに③④⑤⑥面が定義されている。