.. _20_BH_Curve:

##################################
**20. B-H カーブ**
##################################

材料非線形データをテーブル入力します。非線形テーブルデータのIDを他から参照して使用することができます。

---------------------
設定項目
---------------------


:paramdef:`20_BH_Curve(20)`    JSONキー：BHカーブオブジェクト

    :paramdef:`BH_CURVE_ID(20)`    JSONキー：B-H カーブ識別番号。

    :paramdef:`data(20)`    JSONキー：H 磁界強度 [A/m]、B 磁束密度 [T]の配列データ。

        :paramdef:`H(20)`    磁場強度 (A/m)。

        :paramdef:`B(20)`    磁束密度 (T)。
    
    :paramdef:`encrypted_data(20)`    JSONキー：暗号化された B-H カーブデータ文字列。

:paramdef:`20_2_TempDepend_B_H_Curve(20)`    JSONキー：温度依存 B-H カーブオブジェクト

    :paramdef:`BH_CURVE_ID(20.2)`    温度依存 B-H カーブ識別番号。

    :paramdef:`TYPE(20.2)`    入力タイプ。=0: 磁場強度に対する磁束密度入力、=1: 温度ごとの BH カーブとして入力。

    :paramdef:`TEMPERATURE(20.2)`    温度 (℃) の配列。

    :paramdef:`data(20.2)`    JSONキー：H 磁場強度 (A/m) と B 磁束密度 (T) の配列データ。

        :paramdef:`H(20.2)`    磁場強度 (A/m)。

        :paramdef:`B(20.2)`    磁束密度 (T)。

        :paramdef:`temp_data(20.2)`    JSONキー：線形内挿用の温度依存データ。

            :paramdef:`HM TYPE=0(20.2)`    基準磁場強度 (A/m)。

            :paramdef:`TEMPERATURE TYPE=0(20.2)`    温度 (℃)。

            :paramdef:`BM TYPE=0(20.2)`    基準磁束密度 (T)。

            :paramdef:`BH_CURVE_ID TYPE=1(20.2)`    温度依存 B-H カーブ識別番号。
            
            :paramdef:`TEMPERATURE TYPE=1(20.2)`    温度 (℃)。

            :paramdef:`data TYPE=1(20.2)`    JSONキー：H 磁場強度 [A/m]、B 磁束密度 [T]の配列データ。

            :paramdef:`H TYPE=1(20.2)`    磁場強度 (A/m)。

            :paramdef:`B TYPE=1(20.2)`    磁束密度 (T)。


:paramdef:`20_3_2D_Anisotropy_B_H_Curve(20)`    JSONキー：二次元磁気異方性 B-H カーブオブジェクト

    :paramdef:`BH_2D_ID(20.3)`    二次元磁気異方性データの識別番号。

    :paramdef:`TYPE(20.3)`    入力タイプ。=0: 圧延方向および垂直方向の H(A/m) を入力、=1: H の絶対値と方向角度を入力。

    :paramdef:`data(20.3)`  JSONキー：H 磁場強度 [A/m]、B 磁束密度 [T]の配列データ。

        :paramdef:`B(20.3)`    磁束密度 (T)。B=0 を含む。

        :paramdef:`H_ROLLING(20.3)`    圧延方向 H または H の絶対値。

        :paramdef:`H_TRANSVERSE(20.3)`    圧延直交方向 H または H の角度。


:paramdef:`20_4_Magnet_Demagnetization_Curve(20)`    JSONキー：永久磁石の減磁曲線オブジェクト

    :paramdef:`MAGNET_BH_CURVE_ID(20.4)`    永久磁石の減磁曲線識別番号。

    :paramdef:`ADD_EXTEND_POINT(20.4)`    外挿オプション。=1: 外挿する、=0: 外挿しない。

    :paramdef:`data(20.4)`  JSONキー：H 磁場強度 [A/m]、B 磁束密度 [T]の配列データ。

        :paramdef:`H(20.4)`    磁場強度 (A/m)。

        :paramdef:`B(20.4)`    磁束密度 (T)。


:paramdef:`20_5_TempDepend_Magnet_Demagnetization_Curve(20)`    JSONキー：永久磁石の温度依存減磁曲線オブジェクト

    :paramdef:`MAGNET_BH_CURVE_ID(20.5)`    永久磁石の温度依存減磁曲線識別番号。

    :paramdef:`TYPE(20.5)`    入力タイプ。=0: 磁場強度に対する磁束密度入力、=1: 温度ごとの減磁曲線として入力。

    :paramdef:`ADD_EXTEND_POINT(20.5)`   外挿オプション。=1: 外挿する、=0: 外挿しない。

    :paramdef:`data(20.5)`  JSONキー：H 磁場強度 [A/m]、B 磁束密度 [T]の配列データ。

        :paramdef:`H(20.5)`    磁場強度 (A/m)。

        :paramdef:`B(20.5)`    磁束密度 (T)。

        :paramdef:`TEMPERATURE(20.5)`    温度 (℃)。


:paramdef:`20_6_Magnetization_Curve(20)`    JSONキー：永久磁石の着磁率曲線オブジェクト

    :paramdef:`BH_CURVE_ID(20.6)`    JSONキー：永久磁石の着磁率曲線識別番号。

    :paramdef:`REF_BH_CURVE_ID(20.6)`    JSONキー：着磁曲線として使用する B-H カーブ識別番号。

    :paramdef:`data(20.6)`  JSONキー：H 磁場強度 [A/m]、B 磁束密度 [T]の配列データ。

        :paramdef:`H(20.6)`    JSONキー：磁場強度 (A/m)。

        :paramdef:`RATE(20.6)`    JSONキー：着磁率。

        :paramdef:`RECOIL_MU(20.6)`    JSONキー：リコイル透磁率。


---------------------
設定フォーマット
---------------------
.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

        :種類: 固定パラメータセット1
        :行数: 2 + NO_DATA  
        :パラメータ数: 1, 2, NO_DATA

    .. code-block:: text
        :caption: Text format

        * NO_CURVES * NO_T_DEPEND_CURVES * NO_2D_B_H * NO_B_H_MAGNET_CURVES * NO_T_DEPEND_B_H_MAGNET_CURVES *
            I         I          I          I          I
        * BH_CURVE_ID * NO_DATA *
                I          I
        * H [A/m] * B [T] *
            E            E
            E            E


======================
JSONフォーマット
======================

.. code-block:: json
    :caption: JSON format from 2024.11

    "20_BH_Curve": 
    [
        {
            "BH_CURVE_ID": I,
            "data": 
            {
                "H": [E, ..., E],
                "B": [E, ..., E]
            }
        },
        {
            "BH_CURVE_ID": I,
            "encrypted_data": "string_encrypted_BH_curve_data"
        }
    ]

---------------------
**詳細説明**
---------------------

材料非線形データの入力をする。

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. paramdef:: NO_CURVES(20)

    NO_CURVES(テキスト)

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 1]
        Type=I 

    定義する一次元 B-H カーブの数。

    .. paramdef:: NO_T_DEPEND_CURVES(20)

    NO_T_DEPEND_CURVES(テキスト)

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 1]
        Type=I 

    定義する温度依存磁化曲線の数。
    
    <*TEMP_DEPEND module*>が必要です。

    .. paramdef:: NO_2D_B_H(20)

    NO_2D_B_H(テキスト)

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 1]
        Type=I 

    定義する非線形二次元磁気異方性曲線の数。

    .. paramdef:: NO_B_H_MAGNET_CURVES(20)

    NO_B_H_MAGNET_CURVES(テキスト)

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 1]
        Type=I 

    定義する永久磁石の減磁曲線の数。
    
    <*PM Demagnetization module*>が必要です。

    .. paramdef:: NO_T_DEPEND_B_H_MAGNET_CURVES(20)

    NO_T_DEPEND_B_H_MAGNET_CURVES(テキスト)

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 1]
        Type=I 

    定義する永久磁石の温度依存減磁曲線の数。
    
    <*TEMP_DEPEND module*>が必要です。
    
    <*PM Demagnetization module*>が必要です。

=========================
**20.1 等方性 B-H カーブ**
=========================
.. paramdef:: 20_BH_Curve(20)

非線形磁化特性を設定する。

^^^^^^^^^^^^^^^^^^^^^^^^^^
**BH_CURVE_ID**
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: BH_CURVE_ID(20)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 1]

:型: 整数 (I)
:説明: B-H カーブ識別番号。

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. paramdef:: NO_DATA(20)

    NO_DATA(テキスト)

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 2]

    :型: 整数 (I)
    :説明: データ点数。

^^^^^^^^^^^^^^^^^^^^^^^^^^
**data**
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: data(20)

:JSONキー: H 磁場強度 [A/m]、B 磁束密度 [T]の配列データ。

~~~~~~~~~~~~~~~~~~~~~
**H**
~~~~~~~~~~~~~~~~~~~~~
.. paramdef:: H(20)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 1]

:型: 実数 (E)
:単位: A/m
:説明: 磁界強度の配列データ。H=0 を含む。

~~~~~~~~~~~~~~~~~~~~~~
**B**
~~~~~~~~~~~~~~~~~~~~~~
.. paramdef:: B(20)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 2]

:型: 実数 (E)
:単位: T [Tesla]
:説明: 磁束密度の配列データ。B=0 を含む。


データ点数は 2 以上とし，2 点間においては線形内挿，範囲外では線形外挿される。

.. code-block:: json
    :caption: JSON format from 2024.11

    "20_BH_Curve": 
    [
        {
            "BH_CURVE_ID": I,
            "data": 
            {
                "H": [0.00, 27.00, 58.00, 100.00, 153.00, 185.00, 205.00, 233.00, 255.00, 285.00, 320.00, 355.00, 405.00, 470.00, 555.00, 673.00, 836.00, 1065.00, 1220.00, 1420.00, 1720.00, 2130.00, 2670.00, 3480.00, 4500.00, 5950.00, 7650.00, 10100.00, 13000.00, 15900.00, 21100.00, 26300.00, 32900.00, 42700.00, 61700.00, 84300.00, 110000.00, 135000.00, 6262000.00],
                "B": [0.00, 0.01, 0.03, 0.05, 0.10, 0.15, 0.20, 0.30, 0.40, 0.50, 0.60, 0.70, 0.80, 0.90, 1.00, 1.10, 1.20, 1.30, 1.35, 1.40, 1.45, 1.50, 1.55, 1.60, 1.65, 1.70, 1.75, 1.80, 1.85, 1.90, 1.95, 2.00, 2.05, 2.10, 2.15, 2.20, 2.25, 2.30, 10.00]
            }
        }
    ]


.. caution:: 

    最初のデータ点は，H=0., B=0.とすること。
    dB/dH が >=0 以上になるように定義すること。特に，H の大きい範囲外で傾きが  :math:`\mu_0` (真空の透磁率) になるように定義すること。

^^^^^^^^^^^^^^^^^^^^^^^^^
**encrypted_data**
^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: encrypted_data(20)
:型: 文字列 (string)
:説明: 暗号化された B-H カーブデータ文字列。

暗号化された B-H カーブデータを入力する場合に使用する。暗号化されたデータは，SSILの材料ライブラリから取得できます。順次提供予定です。

=========================
**20.2 温度依存 B-H カーブ**
=========================
.. paramdef:: 20_2_TempDepend_B_H_Curve(20)

温度依存の B-H カーブを設定する。

各時刻の各要素に対する温度データファイル *temperature.dat* ファイルが必要


.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

        :種類: 固定パラメータセット1
        :行数: 6 + NO_DATA  
        :パラメータ数: 1, 2, NO_DATA

    .. code-block:: text
        :caption: Text format

        * BH_CURVE_ID * NO_DATA * NO_CURVES * TYPE *
            I           I         I         I(0,1)
        * TEMPERATURE *
            E
        * H [A/m] * B [T] *
            E         E
            E         E
        * NO_BM_DATA * HM [A/m] *
            I          E
        * TEMPERATURE *
            E
        * BM [T] *
            E


.. code-block:: json
    :caption: JSON format from 2024.11

    "20_2_TempDepend_B_H_Curve" : 
    [
        {
            "BH_CURVE_ID": I,
            "NO_DATA": I,
            "NO_CURVES": I,
            "TYPE": 0,
            "TEMPERATURE": [E],
            "data": 
            {
                "H": [E],
                "B": [[E], [E]]
            },
            "temp_data": 
            {
                "HM": E,
                "TEMPERATURE": [E],
                "BM": [E]
            }
        },
        {
            "BH_CURVE_ID": I,
            "NO_DATA": I,
            "NO_CURVES": I,
            "TYPE": 1,
            "TEMPERATURE": [E],
            "data": 
            {
                "H": [E],
                "B": [[E], [E]]
            },
            "temp_data": 
            {
                "TEMPERATURE": [E],
                "data": 
                {
                    "H": [E],
                    "B": [E]
                },
                "data": 
                {
                    "H": [E],
                    "B": [E]
                }
            }
        }
    ]

^^^^^^^^^^^^^^^^^^^^^^^^^^
**BH_CURVE_ID**
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: BH_CURVE_ID(20.2)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 1]
        Type=I

:型: 整数 (I)
:説明: 温度依存 B-H カーブ識別番号。

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. paramdef:: NO_DATA(20.2)

    NO_DATA(テキスト)

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 2]
        Type=I

    H のデータ点数。H=0 を含む。

    .. paramdef:: NO_CURVES(20.2)

    NO_CURVES(テキスト)

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 3]
        Type=I
    
    温度データ数。

^^^^^^^^^^^^^^^^^^^^^^^^^^
**TYPE**
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: TYPE(20.2)
.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 4]

.. list-table:: 入力タイプ
    :widths: 10 90
    :header-rows: 1

    * - 型
      - 説明
    * - 0
      - 磁場強度に対する磁束密度入力
    * - 1
      - 温度ごとの BH カーブとして入力


^^^^^^^^^^^^^^^^^^^^^^^^^^
**TEMPERATURE**
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: TEMPERATURE(20.2)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 1]


:型: 実数 (E)
:単位: :math:`^\circ\mathrm{C}`
:説明: 温度。配列で入力。


^^^^^^^^^^^^^^^^^^^^^^^^^^
**data**
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: data(20.2)

:JSONキー: H 磁場強度 [A/m]、B 磁束密度 [T]の配列データ。

~~~~~~~~~~~~~~~~~~~~~
**H**
~~~~~~~~~~~~~~~~~~~~~
.. paramdef:: H(20.2)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [3, 1]

:型: 実数 (E)
:単位: AT/m
:説明: 磁場強度の配列データ。H=0 を含む。

~~~~~~~~~~~~~~~~~~~~~~
**B**
~~~~~~~~~~~~~~~~~~~~~~
.. paramdef:: B(20.2)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [3, 2]

:型: 実数 (E)
:単位: T [Tesla]
:説明: 磁束密度。二次元配列で入力。

``TEMPERATURE`` の数と同じ数の配列を持つ。


^^^^^^^^^^^^^^^^^^^^^^^^^^
**temp_data**
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: temp_data(20.2)

線形内挿用に必要なデータ。

基準磁場強度に対する温度ごとの磁束密度の数値を設定する。

^^^^^^^^^^^^^^^^^^^^^^^^^^^
**TYPE=0 の場合**
^^^^^^^^^^^^^^^^^^^^^^^^^^^
温度データ ``TEMPERATURE`` の数と同じ数の配列を定義する。

~~~~~~~~~~~~~~~~~~~~
**HM**
~~~~~~~~~~~~~~~~~~~~
.. paramdef:: HM TYPE=0(20.2)
.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [4, 2]

:型: 実数 (E)
:単位: AT/m
:説明: 基準磁場強度。

~~~~~~~~~~~~~~~~~~~~
**TEMPERATURE**
~~~~~~~~~~~~~~~~~~~~
.. paramdef:: TEMPERATURE TYPE=0(20.2)
.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [5, 1]


:型: 実数 (E)
:単位: :math:`^\circ\mathrm{C}`
:説明: 温度。

~~~~~~~~~~~~~~~~~~~~
**BM**
~~~~~~~~~~~~~~~~~~~~
.. paramdef:: BM TYPE=0(20.2)
.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [6, 1]


:型: 実数 (E)
:単位: T [Tesla]
:説明: ``HM`` に対する温度ごとの基準磁束密度

^^^^^^^^^^^^^^^^^^^^^^^^^
**TYPE=1 の場合**
^^^^^^^^^^^^^^^^^^^^^^^^^
B-H カーブを温度ごとに定義する。

~~~~~~~~~~~~~~~~~~~~
**BH_CURVE_ID**
~~~~~~~~~~~~~~~~~~~~
.. paramdef:: BH_CURVE_ID TYPE=1(20.2)
.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 1]


:型: 整数 (I)
:説明: 温度依存 B-H カーブ識別番号。

~~~~~~~~~~~~~~~~~~~~
**TEMPERATURE**
~~~~~~~~~~~~~~~~~~~~
.. paramdef:: TEMPERATURE TYPE=1(20.2)
.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 1]


:型: 実数 (E)
:単位: :math:`^\circ\mathrm{C}`
:説明: 温度。

~~~~~~~~~~~~~~~~~~~~
**data**
~~~~~~~~~~~~~~~~~~~~
.. paramdef:: data TYPE=1(20.2)

:JSONキー: H 磁場強度 [A/m]、B 磁束密度 [T]の配列データ。

~~~~~~~~~~~~~~~~~~~~~
**H**
~~~~~~~~~~~~~~~~~~~~~
.. paramdef:: H TYPE=1(20.2)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [3, 1]

:型: 実数 (E)
:単位: AT/m
:説明: 磁場強度の配列データ。 ``H`` =0 を含む。

~~~~~~~~~~~~~~~~~~~~~~
**B**
~~~~~~~~~~~~~~~~~~~~~~
.. paramdef:: B TYPE=1(20.2)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [3, 2]

:型: 実数 (E)
:単位: T [Tesla]
:説明: 磁束密度 (T)。二次元配列で入力。

``TEMPERATURE`` の数と同じ数の配列を持つ。

=========================
**20.3 二次元磁気異方性 B-H カーブ**
=========================
.. paramdef:: 20_3_2D_Anisotropy_B_H_Curve(20)

二次元磁気異方性 B-H カーブを設定する。

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

        :種類: 固定パラメータセット1
        :行数: 3 + NO_DATA  
        :パラメータ数: 1, 2, NO_DATA

    .. code-block:: text
        :caption: Text format

        * BH_2D_ID * NO_B_DATA * NO_ANGLE_DATA * TYPE *
            I         I          I          0
        *  B(T)     * H_ABS(0deg)(A/m) **** H_ABS(90deg) *
            E         E         E
            E         E         E
        *  B(T)     * H_TRANSVERSE(0deg)(A/m) **** H_TRANSVERSE(90deg) *
            E         E
            E         E
        
        * BH_2D_ID * NO_B_DATA * NO_ANGLE_DATA * TYPE *
            I         I          I          1
        *  B(T)     * H_ABS(0deg)(A/m) **** H_ABS(90deg) *
            E         E         E
            E         E         E
        *  B(T)     * H_ANGLE(0deg)(A/m) **** H_ANGLE(90deg) *
            E         E
            E         E


.. code-block:: json
    :caption: JSON format from 2024.11

    "20_3_Anisotropy2D_BH_Curve" : 
    [
        {
            "BH_CURVE_ID" : I,
            "TYPE" : 0,
            "data" : 
            {
                "B" : [ E, ..., E],
                "H_ABS" : 
                [
                    [ E, ..., E],
                    [ E, ..., E]    
                ],
                "H_TRANSVERSE" : 
                [
                    [ E, ..., E],
                    [ E, ..., E]
                ]
            }
        },
        {
            "BH_CURVE_ID" : I,
            "TYPE" : 1,
            "data" : 
            {
                "B" : [ E, ..., E],
                "H_ABS" : 
                [
                    [ E, ..., E],
                    [ E, ..., E]    
                ],
                "H_ANGLE" : 
                [
                    [ E, ..., E],
                    [ E, ..., E]
                ]
            }
        }
    ]


^^^^^^^^^^^^^^^^^^^^^^^^^^
**BH_2D_ID**
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: BH_2D_ID(20.3)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 1]

:型: 整数 (I)
:説明: 二次元磁気異方性 B-H カーブ識別番号。

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. paramdef:: NO_B_DATA(20.3)
    
    **NO_B_DATA**
    
    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 2]
        Type=I

    B 方向データ数。


.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. paramdef:: NO_ANGLE_DATA(20.3)

    **NO_ANGLE_DATA**
    
    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 3]
        Type=I

    角度方向データ数。

^^^^^^^^^^^^^^^^^^^^^^^^^^
**TYPE**
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: TYPE(20.3)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 4]

.. list-table:: 入力タイプ
    :widths: 10 90
    :header-rows: 1

    * - 型
      - 説明
    * - 0
      - 圧延方向および垂直方向の ``H`` (A/m) を入力。
    * - 1
      - ``H`` の絶対値と方向角度を入力。

^^^^^^^^^^^^^^^^^^^^^^^^^^
**data**
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: data(20.3)

:JSONキー: H 磁場強度 [A/m]、B 磁束密度 [T]の配列データ。

~~~~~~~~~~~~~~~~~~~~~
**B**
~~~~~~~~~~~~~~~~~~~~~
.. paramdef:: B(20.3)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 1]

:型: 実数 (E)
:単位: T [Tesla]
:説明: 磁束密度の配列データ。 ``B`` =0 を含む。

~~~~~~~~~~~~~~~~~~~~~
**H_ROLLING / H_ABS**
~~~~~~~~~~~~~~~~~~~~~
.. paramdef:: H_ROLLING(20.3)
.. paramdef:: H_ABS(20.3)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 2]

:型: 実数 (E)
:単位: A/m
:説明: 圧延方向 ``H`` または ``H`` の絶対値を、``B`` の角度 (deg) に対して入力。

- B=0 において ``H_ROLLING`` = ``H_ABS`` =0。
- 角度 90 度において ``H_ROLLING`` =0。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**H_TRANSVERSE / H_ANGLE**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. paramdef:: H_TRANSVERSE(20.3)
.. paramdef:: H_ANGLE(20.3)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [3, 2]

:型: 実数 (E)
:単位: A/m
:説明: 圧延直交方向 ``H`` または ``H`` の角度を、``B`` の角度 (deg) に対して入力。

- B=0 において ``H_TRANSVERSE`` =0。
- 角度 0 において ``H_TRANSVERSE`` =0, ``H_ANGLE`` =0。
- 角度 90 度において ``H_ANGLE`` =90。
- 全てのデータで 0 <= ``H_ANGLE`` <= 90。


=========================
**20.4 永久磁石の減磁曲線**
=========================
.. paramdef:: 20_4_Magnet_Demagnetization_Curve(20)

永久磁石の減磁曲線を設定する。

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

        :種類: 固定パラメータセット1
        :行数: 2 + NO_DATA  
        :パラメータ数: 1, 2, NO_DATA

    .. code-block:: text
        :caption: Text format

        * MAGNET_BH_CURVE_ID * NO_DATA * ADD_EXTEND_POINT *
                I               I             I(0,1)
        * H [A/m] * B [T] *
            E            E
            E            E


.. code-block:: json
    :caption: JSON format from 2024.11

    "20_4_Magnet_Demagnetization_Curve": 
    [
        {
            "MAGNET_BH_CURVE_ID": I,
            "ADD_EXTEND_POINT": 0,
            "data": 
            {
                "H": [E, ..., E],
                "B": [E, ..., E]
            }
        }
    ]

^^^^^^^^^^^^^^^^^^^^^^^^^^
**MAGNET_BH_CURVE_ID**
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: MAGNET_BH_CURVE_ID(20.4)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 1]

:型: 整数 (I)
:説明: 永久磁石の減磁曲線識別番号。


.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. paramdef:: NO_DATA(20.4)
    
    **NO_DATA**
    
    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 2]
        Type=I

    データ点数。

^^^^^^^^^^^^^^^^^^^^^^^^^^
**ADD_EXTEND_POINT**
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: ADD_EXTEND_POINT(20.4)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 3]

.. list-table:: 外挿オプション
    :widths: 10 90
    :header-rows: 1

    * - 型
      - 説明
    * - 0
      - 外挿しない（デフォルト）。
    * - 1
      - 減磁曲線に第 4 象限のデータがない場合に，リコイル透磁率を使用してデータを外挿する。第 4 象限にもデータがある場合はこのオプションは不要。

^^^^^^^^^^^^^^^^^^^^^^^^^^
**data**
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: data(20.4)

:JSONキー: H 磁場強度 [A/m]、B 磁束密度 [T]の配列データ。

~~~~~~~~~~~~~~~~~~~~~~
**H**
~~~~~~~~~~~~~~~~~~~~~~
.. paramdef:: H(20.4)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 1]


:型: 実数 (E)
:単位: A/m
:説明: 磁場強度の配列データ。

~~~~~~~~~~~~~~~~~~~~~~
**B**
~~~~~~~~~~~~~~~~~~~~~~
.. paramdef:: B(20.4)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 2]


:型: 実数 (E)
:単位: T [Tesla]
:説明: 磁束密度の配列データ。

.. caution:: 

    減磁曲線の最後のデータに残留磁束密度 Br（H=0）を入力すること。

    容易磁化方向のリコイル透磁率として残留磁束密度とそのひとつ前のデータの傾きを使用する。

    非容易磁化方向は線形材料として入力した ``MU`` を使用する。

    .. figure:: figs/demagnetization_curve.png
        :align: center
        :name: demagnetization_curve
        :alt: 減磁曲線の外挿補間例

        減磁曲線の外挿補間例

    温度ごとの減磁曲線は，それぞれ ``MAGNET_BH_CURVE`` に設定し， ``MAGNET_BH_CURVE_ID`` に設定する必要がある。
    
    使用には<*PM Demagnetization module*>が必要です。


=========================
**20.5 永久磁石の温度依存減磁曲線**
=========================
.. paramdef:: 20_5_TempDepend_Magnet_Demagnetization_Curve(20)

永久磁石の温度依存減磁曲線を設定する。

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

        :種類: 固定パラメータセット1
        :行数: 4 + NO_DATA  
        :パラメータ数: 1, 2, NO_DATA

    .. code-block:: text
        :caption: Text format

        * MAGNET_BH_CURVE_ID * NO_DATA * NO_CURVES * TYPE *
                I               I          I          0
        * H [A/m] *
            E   E
        * TEMPERATURE *
            E   E
        * B [T] *
            E            E
            E            E
        * MAGNET_BH_CURVE_ID * NO_DATA *
                I               I
        * H [A/m] * B [T] *
            E            E
            E            E

        * MAGNET_BH_CURVE_ID * NO_DATA * NO_CURVES * TYPE *
                I               I          I          1
        * TEMPERATURE *
            E   E
        * H [A/m] * B [T] *
            E            E
            E            E
        * MAGNET_BH_CURVE_ID * NO_DATA *
                I               I
        * H [A/m] * B [T] *
            E            E
            E            E


.. code-block:: json
    :caption: JSON format from 2024.11

    "20_5_TempDepend_Magnet_B_H_Curve" : 
	[
		{
			"CURVE_ID" : I,
			"TYPE" : 0,
            "ADD_EXTEND_POINT" : I,
			"BH_curve" : 
			[
				{
					"BH_CURVE_ID" : I,
					"data" : 
					{
						"H" : [ E, ..., E],
                        "B" : [ [E, ..., E], [E, ..., E] ],
                        "TEMPERATURE" : [ E, ..., E]
					}
				}
            ]
        },
        {
			"CURVE_ID" : I,
			"TYPE" : 1,
            "ADD_EXTEND_POINT" : I,
			"BH_curve" : 
			[
				{
					"BH_CURVE_ID" : I,
					"TEMPERATURE" : E,
                    "ADD_EXTEND_POINT" : I,
					"data" : 
					{
						"H" : [ E, ..., E],
                        "B" : [ E, ..., E]
					}
				},
				{
					"BH_CURVE_ID" : I,
					"TEMPERATURE" : E,
                    "ADD_EXTEND_POINT" : I,
					"data" : 
					{
						"H" : [ E, ..., E],
                        "B" : [ E, ..., E]
					}
				}
            ]
        }
    ]


^^^^^^^^^^^^^^^^^^^^^^^^^^
**MAGNET_BH_CURVE_ID**
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: MAGNET_BH_CURVE_ID(20.5)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 1]


:型: 整数 (I)
:説明: 永久磁石の温度依存減磁曲線識別番号。


.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. paramdef:: NO_DATA(20.5)
    
    **NO_DATA**
    
    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 2]
        Type=I

    H のデータ点数。H=0 を含む。

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. paramdef:: NO_CURVES(20.5)

    **NO_CURVES**
    
    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 3]
        Type=I

    温度データ数。

^^^^^^^^^^^^^^^^^^^^^^^^^^
**TYPE**
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: TYPE(20.5)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 4]


.. list-table:: 入力タイプ
    :header-rows: 1

    * - 型
      - 説明
    * - 0
      - 磁場強度に対する磁束密度入力。
    * - 1
      - 温度ごとの減磁曲線として入力。

^^^^^^^^^^^^^^^^^^^^^^^^^^
**ADD_EXTEND_POINT**
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: ADD_EXTEND_POINT(20.5)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 3]


.. list-table:: 外挿オプション
    :widths: 10 90
    :header-rows: 1

    * - 型
      - 説明
    * - 0
      - 外挿しない（デフォルト）。
    * - 1
      - 減磁曲線に第 4 象限のデータがない場合に，リコイル透磁率を使用してデータを外挿する。第 4 象限にもデータがある場合はこのオプションは不要。

**TYPE=0 の場合**

^^^^^^^^^^^^^^^^^^^^^^^^^^^^
**data**
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: data(20.5)

:JSONキー: H 磁場強度 [A/m]、B 磁束密度 [T]の配列データ。

~~~~~~~~~~~~~~~~~~~~~
**H**
~~~~~~~~~~~~~~~~~~~~~
.. paramdef:: H(20.5)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [3, 1]


:型: 実数 (E)
:単位: AT/m
:説明: 磁場強度の配列データ。

~~~~~~~~~~~~~~~~~~~~~
**B**
~~~~~~~~~~~~~~~~~~~~~
.. paramdef:: B(20.5)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [3, 2]


:型: 実数 (E)
:単位: T [Tesla]
:説明: 磁束密度の配列データ。
    
    H に対する温度ごと B を配列で入力

~~~~~~~~~~~~~~~~~~~~~
**TEMPERATURE**
~~~~~~~~~~~~~~~~~~~~~
.. paramdef:: TEMPERATURE(20.5)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 1]


:型: 実数 (E)
:単位: :math:`^\circ\mathrm{C}`
:説明: 温度。配列で入力。


**TYPE=1 の場合**

~~~~~~~~~~~~~~~~~~~~~
**MAGNET_BH_CURVE_ID**
~~~~~~~~~~~~~~~~~~~~~
.. paramdef:: MAGNET_BH_CURVE_ID(20.5)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 1]


:型: 整数 (I)
:説明: 永久磁石の温度依存減磁曲線識別番号。

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. paramdef:: NO_DATA(20.5)
    
    **NO_DATA**
    
    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 2]
        Type=I

    データ点数。

~~~~~~~~~~~~~~~~~~~~~
**TEMPERATURE**
~~~~~~~~~~~~~~~~~~~~~
.. paramdef:: TEMPERATURE(20.5)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 1]


:型: 実数 (E)
:単位: :math:`^\circ\mathrm{C}`
:説明: 温度。配列で入力。


^^^^^^^^^^^^^^^^^^^^^^^^^^^
**data**
^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: data(20.5)

~~~~~~~~~~~~~~~~~~~~~
**H**
~~~~~~~~~~~~~~~~~~~~~
.. paramdef:: H(20.5)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [5, 1]


:型: 実数 (E)
:単位: AT/m
:説明: 磁場強度の配列データ。

~~~~~~~~~~~~~~~~~~~~~
**B**
~~~~~~~~~~~~~~~~~~~~~
.. paramdef:: B(20.5)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [5, 2]


:型: 実数 (E)
:単位: T [Tesla]
:説明: 磁束密度の配列データ。

.. caution:: 

    各時刻の各要素に対する温度データファイル *temperature.dat* が必要

=============================
**20.6 永久磁石の着磁率曲線**
=============================
.. paramdef:: 20_6_Magnetization_Curve(20)

永久磁石の着磁率曲線を設定する。

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

        :種類: 固定パラメータセット1
        :行数: 3 + NO_DATA  
        :パラメータ数: 1, 2, NO_DATA

    .. code-block:: text
        :caption: Text format

        * NO_MAGNETIZATION_CURVES *
                I
        * BH_CURVE_ID * NO_DATA * REF_BH_CURVE_ID *
                I         I         I
        * H [A/m] * RATE * RECOIL_PERMEABILITY *
                E         E         E
                E         E         E

.. code-block:: json
    :caption: JSON format from 2024.11

    "20_6_Magnetization_BH_Curve" : 
	[
		{
			"BH_CURVE_ID" : I,
			"REF_BH_CURVE_ID" : I,
			"data" : 
			{
				"H" : [ E, ..., E],
                "RATE" : [ E, ..., E],
                "RECOIL_MU" : [ E, ..., E]
			}
		}
	]

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. paramdef:: NO_MAGNETIZATION_CURVES(20.6)

    **NO_MAGNETIZATION_CURVES**
    
    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 1]
        Type=I

    定義する永久磁石の着磁率曲線の数。

^^^^^^^^^^^^^^^^^^^^^^^^^^
**BH_CURVE_ID**
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: BH_CURVE_ID(20.6)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 1]


:型: 整数 (I)
:説明: 永久磁石の着磁率曲線識別番号。


.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

.. paramdef:: NO_DATA(20.6)

    **NO_DATA**
    
    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 2]
        Type=I

    データ点数。

^^^^^^^^^^^^^^^^^^^^^^^^^^
**REF_BH_CURVE_ID**
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: REF_BH_CURVE_ID(20.6)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 3]


:型: 整数 (I)
:説明: 永久磁石の着磁率曲線の参照 B-H カーブ識別番号。

^^^^^^^^^^^^^^^^^^^^^^^^^^^
**data**
^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. paramdef:: data(20.6)

~~~~~~~~~~~~~~~~~~~~~~
**H**
~~~~~~~~~~~~~~~~~~~~~~
.. paramdef:: H(20.6)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [3, 1]


:型: 実数 (E)
:単位: AT/m
:説明: 磁場強度の配列データ。

~~~~~~~~~~~~~~~~~~~~~~
**RATE**
~~~~~~~~~~~~~~~~~~~~~~
.. paramdef:: RATE(20.6)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [3, 2]


:型: 実数 (E)
:説明: 着磁率。

~~~~~~~~~~~~~~~~~~~~~~
**RECOIL_MU**
~~~~~~~~~~~~~~~~~~~~~~
.. paramdef:: RECOIL_MU(20.6)

.. collapsible:: 
    :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [3, 3]


:型: 実数 (E)
:説明: リコイル透磁率。入力なしの場合は 1 として使用される。
