.. _3_Potential_Gauge_Conditions:

##################################
**3. ポテンシャルとゲージ条件**
##################################

使用する電磁ポテンシャルやその他オプション設定をします。

---------------------
設定項目
---------------------

:paramdef:`3_Potential_Gauge_Conditions`    JSONキー：ポテンシャルとゲージ条件オブジェクト

:paramdef:`POTENTIAL(3)`    使用するポテンシャルの設定。

:paramdef:`NODAL_FORCE_METHOD(3)`    節点力計算のオプション

:paramdef:`PHI_OPTION(3)`    電気スカラーポテンシャルの設定。

:paramdef:`FIXED_COORDINATE(3)`    直流場渦電流解析（STEADY_CURRENT=1）の時に有効

:paramdef:`TREE_GAUGE(3)`    無効（木構造によるゲージの設定。現在動作不定）

:paramdef:`REGULARIZATION(3)`    電流磁場ソースに対して方程式の正則化の設定

:paramdef:`RENUMBERING(3)`    行列のリナンバリングの設定

:paramdef:`SCALING(3)`    行列の対角スケーリングの設定

:paramdef:`LINE_SEARCH(3)`    非線形計算時の直線探索法の設定

:paramdef:`MATRIX_ASYMMETRICITY(3)`    行列の非対称性の設定。非対称行列を使用する場合の設定
    
---------------------
設定フォーマット
---------------------

.. collapsible:: 
   :title: テキストフォーマットの折りたたみセクション

      :種類: 固定パラメータセット
      :行数: 2
      :パラメータ数: 4, 6

    .. code-block:: text
        :caption: Text format

        * POTENTIAL * NODAL_FORCE_METHOD * PHI_OPTION * FIXED_COORDINATE *
            I              I                 I              I
        * TREE_GAUGE * REGULARIZATION * RENUMBERING * SCALING * LINE_SEARCH * MATRIX_ASYMMETRICITY *
            I              I               I           I            I                 I

    .. important:: 
        ``TREE_GAUGE`` オプションは無効。-1 を指定すること。

======================
JSONフォーマット
======================

.. code-block:: json
    :caption: JSON format from 2024.11

    "3_Potential_Gauge_Conditions": {
        "POTENTIAL": I,
        "NODAL_FORCE_OPTION": I,
        "PHI_OPTION": I,
        "FIXED_COORDINATE": I,
        "TREE_GAUGE": I,
        "REGULARIZATION": I,
        "RENUMBERING": I,
        "SCALING": I,
        "LINE_SEARCH": I,
        "MATRIX_ASYMMETRICITY": I
    },

.. important:: 
    :ref:`Release 2024.11 <rls2024_11>`

    ``JSON`` フォーマットでは，これらのパラメータは定義しなくてもデフォルト値を使用します。
    デフォルト値は詳細説明をご覧ください。

--------
サンプル
--------
=======
静解析
=======

.. collapsible:: 
   :title: テキストフォーマットの折りたたみセクション
   
    .. code-block:: text
        :caption: Text format

        * POTENTIAL * NODAL_FORCE_METHOD * PHI_OPTION * FIXED_COORDINATE *
            0              0                 0              0
        * TREE_GAUGE * REGULARIZATION * RENUMBERING * SCALING * LINE_SEARCH * MATRIX_ASYMMETRICITY *
            -1              0               0           0            0                 0

.. code-block:: json
    :caption: JSON format from 2024.11

    "3_Potential_Gauge_Conditions": {
        "POTENTIAL": 0,
        "NODAL_FORCE_OPTION": 0,
        "PHI_OPTION": 0,
        "FIXED_COORDINATE": 0,
        "TREE_GAUGE": -1,
        "REGULARIZATION": 0,
        "RENUMBERING": 0,
        "SCALING": 0,
        "LINE_SEARCH": 0,
        "MATRIX_ASYMMETRICITY": 0
    },

    "3_Potential_Gauge_Conditions": {
        "POTENTIAL": 0,
    },

========
過渡解析
========
渦電流解析を行う場合， ``POTENTIAL`` =2とするのが適当です。

.. collapsible:: 
   :title: テキストフォーマットの折りたたみセクション

    .. code-block:: text
        :caption: Text format

        * POTENTIAL * NODAL_FORCE_METHOD * PHI_OPTION * FIXED_COORDINATE *
            2              0                 0              0
        * TREE_GAUGE * REGULARIZATION * RENUMBERING * SCALING * LINE_SEARCH * MATRIX_ASYMMETRICITY *
            -1              0               0           0            0                 0

.. code-block:: json
    :caption: JSON format from 2024.11

    "3_Potential_Gauge_Conditions": {
        "POTENTIAL": 2,
        "NODAL_FORCE_OPTION": 0,
        "PHI_OPTION": 0,
        "FIXED_COORDINATE": 0,
        "TREE_GAUGE": -1,
        "REGULARIZATION": 0,
        "RENUMBERING": 0,
        "SCALING": 0,
        "LINE_SEARCH": 0,
        "MATRIX_ASYMMETRICITY": 0
    },

    "3_Potential_Gauge_Conditions": {
        "POTENTIAL": 2,
    },

===========
交流定常解析
===========
渦電流解析を行う場合， ``POTENTIAL`` =2とするのが適当です。

.. collapsible:: 
   :title: テキストフォーマットの折りたたみセクション
   
    .. code-block:: text
        :caption: Text format

        * POTENTIAL * NODAL_FORCE_METHOD * PHI_OPTION * FIXED_COORDINATE *
            2              0                 0              0
        * TREE_GAUGE * REGULARIZATION * RENUMBERING * SCALING * LINE_SEARCH * MATRIX_ASYMMETRICITY *
            -1              0               0           0            0                 0

.. code-block:: json
    :caption: JSON format from 2024.11

    "3_Potential_Gauge_Conditions": {
        "POTENTIAL": 2,
        "NODAL_FORCE_OPTION": 0,
        "PHI_OPTION": 0,
        "FIXED_COORDINATE": 0,
        "TREE_GAUGE": -1,
        "REGULARIZATION": 0,
        "RENUMBERING": 0,
        "SCALING": 0,
        "LINE_SEARCH": 0,
        "MATRIX_ASYMMETRICITY": 0
    },

    "3_Potential_Gauge_Conditions": {
        "POTENTIAL": 2,
    },


----------------
**詳細説明**
----------------
================
**3_Potential_Gauge_Conditions**
================
.. paramdef:: 3_Potential_Gauge_Conditions

:JSONキー: ポテンシャルとゲージ条件オブジェクト

================
**POTENTIAL**
================
.. paramdef:: POTENTIAL(3)

.. collapsible:: 
   :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 1]

使用する電磁ポテンシャルの指定。

.. list-table:: 使用ポテンシャルオプション
   :header-rows: 1

   * - 設定値
     - 説明
   * - 0: **デフォルト値**
     - :math:`A, Ar`
   * - 2
     - :math:`A + \phi, Ar`
   * - 4
     - :math:`As + \phi`

:math:`A` : トータル磁気ベクトルポテンシャル

:math:`Ar` : 変形磁気ベクトルポテンシャル

:math:`\phi` : 電気スカラポテンシャル

:math:`As` :  :paramdef:`COIL(17.1)` 印加磁場による磁気ベクトルポテンシャル。  

:math:`As` を :paramdef:`COIL(17.1)`  により計算し、:math:`\phi` を未知数として解く低周波磁場変動下の誘導電流解析を行う。この時、:paramdef:`TRANSIENT(2)` =1 とし、解析領域全体は空気を含まない導体とする。:paramdef:`FAR_BOUNDARY_CONDITION(13)` =1 とする。

=0 渦電流解析を行わない場合，0とする。   
=2 は渦電流を含む解析では推奨。

.. tip::
   :math:`\phi` を用いると変数が多くなるが、ICCG収束が早くなる場合が多い。特に渦電流を含む解析や、 ``SUFCUR`` を用いる場合に有効。

========================
**NODAL_FORCE_METHOD**
========================
.. paramdef:: NODAL_FORCE_METHOD(3)

.. collapsible:: 
   :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 2]

.. list-table:: 節点力計算オプション
   :header-rows: 1

   * - 設定値
     - 説明
   * - 0: **デフォルト値**
     - 磁性体内の Maxwell 応力を含む。
   * - 1
     - 磁性体内の Maxwell 応力を無視する。磁性体表面に接する空気部の Maxwell 応力が計算されます。

.. tip::
    磁性体全体の力やトルクのみが必要な場合は、=1で十分。また， :paramdef:`NODAL_FORCE_METHOD(3)` =0 の場合に比べ計算も速いですが，通常あまり使用しません。

================
**PHI_OPTION**
================
.. paramdef:: PHI_OPTION(3)

.. collapsible:: 
   :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 3]

.. list-table:: 電気スカラーポテンシャルオプション
   :header-rows: 1

   * - 設定値
     - 説明
   * - 0: **デフォルト値**
     - :math:`\phi` として電気スカラポテンシャルの時間積分を用いる。
   * - 1
     - :math:`\phi` として電気スカラポテンシャルそのものを用いる。CG法の収束が早い。

.. note:: 
    :ref:`Release 2024.11 <rls2024_11>`

    r12.0までは，直流場渦電流計算（ :paramdef:`STEADY_CURRENT(2)` =1）で使用するオプション。
    2023.11以降は通常の渦電流解析でも使用可能だが，0とするのが望ましい。

========================
FIXED_COORDINATE
========================
.. paramdef:: FIXED_COORDINATE(3)

.. collapsible:: 
   :title: テキストフォーマットの折りたたみセクション
   
    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [1, 4]

.. list-table:: 直流場渦電流計算座標系オプション
   :header-rows: 1

   * - 設定値
     - 説明
   * - 0: **デフォルト値**
     - 導体に固定された運動座標系を用いる。
   * - 1
     - 空間に固定された座標系を用いる。 :paramdef:`STEADY_CURRENT(2)` =1 の解析時に，導体が接触導通して運動する場合、このオプションを指定する必要がある。

================
TREE_GAUGE
================
.. paramdef:: TREE_GAUGE(3)

.. collapsible:: 
   :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 1]

.. list-table:: 木構造ゲージオプション
   :header-rows: 1

   * - 設定値
     - 説明
   * - -1 **デフォルト値**
     - 木構造によるゲージを課さない。
   * - 0
     - 木構造により完全にゲージを固定する。ゼロ固定辺は要素順に選択され、規則性はない。
   * - 1
     - x方向のツリー辺をゼロ固定する。
   * - 2
     - y方向のツリー辺をゼロ固定する。
   * - 3
     - z方向のツリー辺をゼロ固定する。


.. warning:: 
    現在動作不定。=-1とすること

    元の設定値: 0とすると変数が少なくなり解析容量が小さくなるが、-1の場合に比べて ICCGの収束が極端に遅くなる。1,2,3の使用は特殊で特に必要はない。

======================
**REGULARIZATION**
======================
.. paramdef:: REGULARIZATION(3)

.. collapsible:: 
   :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 2]

.. list-table:: 正規化オプション
   :header-rows: 1

   * - 設定値
     - 説明
   * - 0: **デフォルト値**
     -  正則化を行わない。 
   * - 1
     - :paramdef:`COIL(17.1)` , :paramdef:`ELMCUR(17.2)` , :paramdef:`SDEFCOIL(17.3)` に対して方程式の正規化を行う。ICCG法の収束が良くなるが、電流不連続性がある場合は注意が必要。

.. important:: 
   **電流磁場ソース** のシリーズ毎に正規化されるため、各シリーズに電流の発散がゼロの条件が課される。

================
RENUMBERING
================
.. paramdef:: RENUMBERING(3)

.. collapsible:: 
   :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 3]

.. list-table:: リナンバリングオプション
   :header-rows: 1

   * - 設定値
     - 説明
   * - 0: **デフォルト値**
     - 行列のリナンバリングを行う。ICCG法の収束を早める。
   * - -1
     - 行列のリナンバリングを行わない。必要容量の節減となる。

.. note:: 
  一般的にリナンバリングしたほうが収束特性が良い。

================
SCALING
================
.. paramdef:: SCALING(3)

.. collapsible:: 
   :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 4]

.. list-table:: スケーリングオプション
   :header-rows: 1

   * - 設定値
     - 説明
   * - 0: **デフォルト値**
     - 行列の対角スケーリングを行う。
   * - -1
     - 行列の対角スケーリングを行わない。効果が無い場合が殆ど。

.. note:: 
  一般的にスケーリングを行ったほうが収束特性が良い。

================
**LINE_SEARCH**
================
.. paramdef:: LINE_SEARCH(3)

.. collapsible:: 
   :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 5]

.. list-table:: 直線探索法オプション
   :header-rows: 1

   * - 設定値
     - 説明
   * - 0: **デフォルト値**
     - 自動決定しない。
   * - 1
     - 非線形解析 ( :paramdef:`NON_LINEAR(2)` ) において、ニュートン・ラフソン計算時の直線探索法によるステップ幅を自動決定する。

.. note:: 
  磁気飽和が強く、非線形反復残差の減少が著しく遅い場合に、本機能が有効になることがあります。

==========================
**MATRIX_ASYMMETRICITY**
==========================
.. paramdef:: MATRIX_ASYMMETRICITY(3)
  
.. collapsible:: 
   :title: テキストフォーマットの折りたたみセクション

    .. code-block:: none
        :caption: 固定パラメータセット1

        [row, col] = [2, 6]

.. list-table:: 行列の非対称性オプション
   :header-rows: 1

   * - 設定値
     - 説明
   * - 0: **デフォルト値**
     - 対称磁気特性とする。もしくは強制的に対称として解析する。 :paramdef:`ANISOTROPY(16.1)` =1 を使用時でBHカーブの異方性が弱いとき、対称化しても収束し，解析結果にはほぼ影響を与えない。
   * - 1
     - 非対称磁気特性とする。異方性が強く、対称化すると収束しない場合に選択する。計算容量は大きくなる。Jiles&Athertonモデル :paramdef:`J_A_Model(16.1)` 、プレイモデル :paramdef:`Play_Model(16.1)` を使用する場合、必須。
