:tocdepth: 1

.. role:: bred

==================================
iccgタグ
==================================

.. index::
	single: iccgタグ

[|today| 更新]

| 係数マトリクスの解法であるICCG法に関する項目を設定します．ハンドブックの
|    5. 収束条件
| の節の一部の項目の設定を行います．

| 係数マトリクスの計算が収束しない，収束が悪い場合に値を設定します．
| 加速係数はAC解析を除いて，0を設定しておけば，自動的に最適な値が（内部で）算出されます．
| 逆に，AC解析の場合は，1を超える値（例えば1.2）を指定する必要があります．

.. csv-table:: iccgタグ
	:header: ラベル, 既定値, 説明
	:widths: 3, 1, 7 

	**ICCG_CONV**, :bred:`1e-6`, "収束判定値"
	**ACCEL_FACTOR**, 0, "加速係数"
	**DIV_FACTOR**, :bred:`2`, "反復計算が発散したとみなす倍数"
	**DIV_ITERATION**, :bred:`10`, "反復計算が発散したとみなす連続回数"
	**SOLVER**, 0, "| 対称行列の場合
	| 0: ICCG法, 1: 対称Gauss-SeidelCG法
	| 非対称行列の場合
	| 0: ILUBCG STAB法, 1: ILUBCG法, 2: ILUGPBCG法
	| (対称)複素数行列の場合
	| 0: COCG法, 1: COCOR法"
	**MAX_ITERATIONS**, 0, "最大反復回数"

:bred:`赤字の既定値`: :doc:`configファイル<config>` で既定値の変更が可能

.. note::

	| **DIV_FACTOR** ラベルおよび，**DIV_ITERATION** ラベルの値は，既定値よりも大きな値(例えば，**10** と **20**)を設定しないと，少し収束性の悪い計算では，ICCG法が途中で打ち切りとなる危険があります．
	| :doc:`既定値の変更にはconfigファイルを利用して下さい <config>`

使用例（収束判定値を設定）
---------------------------------

.. code-block:: YAML

	iccg:
	  ICCG_CONV: 1e-8

使用例（最大反復回数を設定）
---------------------------------------------------------

.. code-block:: YAML

	iccg:
	  MAX_ITERATIONS: 10000

使用例（AC解析において加速係数に1.2を設定）
----------------------------------------------------------

.. code-block:: YAML

	iccg:
	  ACCEL_FACTOR: 1.2
