5. Convergence Conditions#

Specifies matrix-solution methods and convergence criteria for finite-element matrix equations.

Input settings#

5_Convergence_Conditions JSON key: convergence conditions object

ICCG_CONV(5) ICCG convergence criterion

ACCEL_FACTOR(5) Factor applied to diagonal entries in incomplete Cholesky decomposition

DIV_FACTOR(5) Stops ICCG calculation as divergent when the residual is at least DIV_FACTOR times that from DIV_ITERATIONS iterations earlier.

DIV_ITERATIONS(5) Stops ICCG calculation as divergent when the residual is at least DIV_FACTOR times that from DIV_ITERATIONS iterations earlier.

SOLVER(5) Matrix-solver setting

THETA(5) Crank-Nicolson time-stepping parameter

THETA_NETWORK(5) Time-stepping parameter for circuit calculation

THETA_MOTION(5) Parameter for solving equations of motion for displacement in time-stepping motion calculation

MAX_ITERATIONS(5) Specifies the maximum number of ICCG iterations for linear calculation

5_2_Nonlinear_Convergence_Condition JSON key: nonlinear convergence conditions object

NON_LINEAR_CONV(5) Nonlinear calculation convergence criterion

NON_LINEAR_RELAXATION(5) Nonlinear calculation relaxation factor

MAX_ITERATIONS(5) Maximum number of nonlinear calculation iterations

NO_ITERATIONS(5) Number of nonlinear calculation iterations

INIT_OPTION(5) Selects whether to use values from all steps during step calculation

ICCG_CONV_RATIO(5) Sets the CG convergence criterion for nonlinear calculation

CHECK_B(5) Specifies the maximum magnetic-flux-density change as the nonlinear convergence criterion

DELTA_A(5) Clears initial values for nonlinear analysis to zero

NON_LINEAR_METHOD(5) Sets the nonlinear calculation method

Input format#

Text-format section
Type:

Fixed parameter set

Number of rows:

2

Number of parameters:

9, 8

Text format#
* ICCG_CONV * ACCEL_FACTOR * DIV_FACTOR * DIV_ITERATIONS * SOLVER * THETA * THETA_NETWORK * THETA_MOTION * MAX_ITERATIONS *
E              E             E              I           I        E            E              E             I
* NON_LINEAR_CONV * NON_LINEAR_RELAXATION * MAX_ITERATIONS * INIT_OPTION * ICCG_CONV_RATIO * CHECK_B * DELTA_A * NON_LINEAR_METHOD *
    E                      E                        I                  I                 E             E         I      I

JSON format#

JSON format from 2024.11#
"5_Convergence_Conditions" :
{
    "ICCG_CONV" : E,
    "ACCEL_FACTOR" : E,
    "DIV_FACTOR" : E,
    "DIV_ITERATIONS" : I,
    "SOLVER" : I,
    "THETA" : E or math,
    "THETA_NETWORK" : E or math,
    "THETA_MOTION" : E or math,
    "MAX_ITERATIONS" : I,
    "5_2_Nonlinear_Convergence_Condition" :
    {
        "NON_LINEAR_CONV" : E,
        "RELAXATION" : E,
        "NO_ITERATIONS" : I,
        "INIT_OPTION" : I,
        "ICCG_CONV_RATIO" : E,
        "CHECK_B" : E,
        "DELTA_A" : E,
        "NON_LINEAR_METHOD" : I
    }
},

Important

Using LINE_SEARCH is more effective than using NON_LINEAR_RELAXATION.

Important

Release 2024.11

In JSON format, default values are used when these parameters are not defined. See the detailed descriptions for default values.

Examples#

When convergence is relatively good#

Use when ICCG residuals decrease approximately linearly and nonlinear residuals also decrease approximately linearly.

Text-format section
Text format#
* ICCG_CONV * ACCEL_FACTOR * DIV_FACTOR * DIV_ITERATIONS * SOLVER * THETA * THETA_NETWORK * THETA_MOTION * MAX_ITERATIONS *
1e-006         1.02          10             10          0     0.6666667       0.5             0.5
* NON_LINEAR_CONV * NON_LINEAR_RELAXATION * MAX_ITERATIONS * INIT_OPTION * ICCG_CONV_RATIO * CHECK_B * DELTA_A *
    0.001                   1.0                      20                0               0.001           0         0
JSON format from 2024.11#
"5_Convergence_Conditions" :
{
    "ICCG_CONV" : 1.0e-06,
    "ACCEL_FACTOR" : 1.02,
    "DIV_FACTOR" : 10,
    "DIV_ITERATIONS" : 10,
    "SOLVER" : 0,
    "THETA" : 6.666666e-01,
    "THETA_NETWORK" : 0.5,
    "THETA_MOTION" : 0.5,
    "MAX_ITERATIONS" : 0,
    "5_2_Nonlinear_Convergence_Condition" :
    {
        "NON_LINEAR_CONV" : 1.0e-03,
        "RELAXATION" : 1.0,
        "NO_ITERATIONS" : 20,
        "INIT_OPTION" : 0,
        "ICCG_CONV_RATIO" : 1.0e-03,
        "CHECK_B" : 0,
        "DELTA_A" : 0,
        "NON_LINEAR_METHOD" : 0
    }
},

"5_Convergence_Conditions" :
{
    "ICCG_CONV" : 1.0e-06,
    "ACCEL_FACTOR" : 1.02,
    "5_2_Nonlinear_Convergence_Condition" :
    {
        "NON_LINEAR_CONV" : 1.0e-03,
        "NO_ITERATIONS" : 20,
        "ICCG_CONV_RATIO" : 1.0e-03,
        "CHECK_B" : 0
    }
},

When convergence is poor (including nonlinear calculation)#

When ICCG residuals fluctuate, increase DIV_FACTOR and DIV_ITERATIONS to avoid terminating iterations prematurely.

When ICCG convergence is poor, slightly increasing ACCEL_FACTOR can also be effective. Increasing the allowed nonlinear iterations is appropriate as well.

Text-format section
Text format#
* ICCG_CONV * ACCEL_FACTOR * DIV_FACTOR * DIV_ITERATIONS * SOLVER * THETA * THETA_NETWORK * THETA_MOTION * MAX_ITERATIONS *
1e-008         1.2          100             100          0     0.6666667       0.5             0.5
* NON_LINEAR_CONV * NON_LINEAR_RELAXATION * MAX_ITERATIONS * INIT_OPTION * ICCG_CONV_RATIO * CHECK_B * DELTA_A *
    0.0001                   1.0                      100                0               0.0001           0         0
JSON format from 2024.11#
"5_Convergence_Conditions" :
{
    "ICCG_CONV" : 1.0e-08,
    "ACCEL_FACTOR" : 1.2,
    "DIV_FACTOR" : 100,
    "DIV_ITERATIONS" : 100,
    "SOLVER" : 0,
    "THETA" : 6.666666e-01,
    "THETA_NETWORK" : 0.5,
    "THETA_MOTION" : 0.5,
    "MAX_ITERATIONS" : 0,
    "5_2_Nonlinear_Convergence_Condition" :
    {
        "NON_LINEAR_CONV" : 1.0e-04,
        "RELAXATION" : 1.0,
        "NO_ITERATIONS" : 100,
        "INIT_OPTION" : 0,
        "ICCG_CONV_RATIO" : 1.0e-04,
        "CHECK_B" : 0,
        "DELTA_A" : 0,
        "NON_LINEAR_METHOD" : 0
    }
},

"5_Convergence_Conditions" :
{
    "ICCG_CONV" : 1.0e-08,
    "ACCEL_FACTOR" : 1.2,
    "DIV_FACTOR" : 10,
    "DIV_ITERATIONS" : 10,
    "5_2_Nonlinear_Convergence_Condition" :
    {
        "NON_LINEAR_CONV" : 1.0e-04,
        "NO_ITERATIONS" : 100,
        "ICCG_CONV_RATIO" : 1.0e-04,
        "CHECK_B" : 0
    }
},

When using CHECK_B as the nonlinear convergence criterion#

When convergence is poor as described above, specify CHECK_B to apply a stricter convergence criterion. This is appropriate for iron-loss or cogging-torque calculations. Here, CHECK_B = -0.01 uses 0.01 T or less as the convergence criterion.

Text-format section
Text format#
* ICCG_CONV * ACCEL_FACTOR * DIV_FACTOR * DIV_ITERATIONS * SOLVER * THETA * THETA_NETWORK * THETA_MOTION * MAX_ITERATIONS *
1e-008         1.2          100             100          0     0.6666667       0.5             0.5
* NON_LINEAR_CONV * NON_LINEAR_RELAXATION * MAX_ITERATIONS * INIT_OPTION * ICCG_CONV_RATIO * CHECK_B * DELTA_A *
    0.0001                   1.0                      100                0               0.0001        -0.01         0
JSON format from 2024.11#
"5_Convergence_Conditions" :
{
    "ICCG_CONV" : 1.0e-08,
    "ACCEL_FACTOR" : 1.2,
    "DIV_FACTOR" : 100,
    "DIV_ITERATIONS" : 100,
    "SOLVER" : 0,
    "THETA" : 6.666666e-01,
    "THETA_NETWORK" : 0.5,
    "THETA_MOTION" : 0.5,
    "MAX_ITERATIONS" : 0,
    "5_2_Nonlinear_Convergence_Condition" :
    {
        "NON_LINEAR_CONV" : 1.0e-04,
        "RELAXATION" : 1.0,
        "NO_ITERATIONS" : 100,
        "INIT_OPTION" : 0,
        "ICCG_CONV_RATIO" : 1.0e-04,
        "CHECK_B" : -0.01,
        "DELTA_A" : 0,
        "NON_LINEAR_METHOD" : 0
    }
},

"5_Convergence_Conditions" :
{
    "ICCG_CONV" : 1.0e-08,
    "ACCEL_FACTOR" : 1.2,
    "DIV_FACTOR" : 10,
    "DIV_ITERATIONS" : 10,
    "5_2_Nonlinear_Convergence_Condition" :
    {
        "NON_LINEAR_CONV" : 1.0e-04,
        "NO_ITERATIONS" : 100,
        "ICCG_CONV_RATIO" : 1.0e-04,
        "CHECK_B" : -0.01
    }
},

Detailed description#

5_Convergence_Conditions#

5_Convergence_Conditions#
JSON key:

Convergence conditions object

ICCG_CONV#

ICCG_CONV(5)#
Text-format section
Fixed parameter set 1#
[row, col] = [1, 1]
Data type:

Real number (E)

Description:

ICCG convergence criterion. A value of approximately 1.e-6 to 1.e-12 is generally appropriate.

Default value:

1.e-6

Note

Revision history

Release 12.0.6

Changed the recommended range from 1.e-6 to 1.e-6–1.e-10.

ACCEL_FACTOR#

ACCEL_FACTOR(5)#
Text-format section
Fixed parameter set 1#
[row, col] = [1, 2]
Data type:

Real number (E)

Description:

Factor applied to diagonal entries in incomplete Cholesky decomposition. A value of approximately 1.02–1.05 is appropriate. For static, frequency-domain, and time-domain analysis, entering 0.0 or a positive number automatically selects an equal or greater value. A negative number fixes the value to its absolute value.

Default value:

Automatically set internally for 0.0 or 1.0

Tip

When ICCG does not converge, increasing this factor to approximately 1.2 can enable convergence.

Note

Revision history

Release 10.0.1

Added automatic calculation for frequency-domain analysis.

DIV_FACTOR#

DIV_FACTOR(5)#
Text-format section
Fixed parameter set 1#
[row, col] = [1, 3]
Data type:

Real number (E)

Description:

In ICCG calculation, stops calculation as divergent when the residual is at least DIV_FACTOR times that from DIV_ITERATIONS iterations earlier. Set this parameter carefully to maintain analysis accuracy.

Default value:

10

DIV_ITERATIONS#

DIV_ITERATIONS(5)#
Text-format section
Fixed parameter set 1#
[row, col] = [1, 4]
Data type:

Integer (I)

Description:

In ICCG calculation, stops calculation as divergent when the residual is at least DIV_FACTOR times that from DIV_ITERATIONS iterations earlier. This parameter directly affects analysis stability and requires an appropriate value.

Default value:

10

Note

Revision history

Release 12.0.16

Added IC-COCR criterion specifications.

Release 12.0.18

Added ICCR and IC QMR-COCR criterion specifications.

SOLVER#

SOLVER(5)#
Text-format section
Fixed parameter set 1#
[row, col] = [1, 5]

Specifies the iterative solver to use.

Real-valued iterative solvers: static and transient analysis#

Setting value

Description

0: Default

ICCG method: symmetric matrices; ILU-BiCGStabs method: asymmetric matrices

1

ICCR method: symmetric matrices; ILU-BiCG method: asymmetric matrices

20

FSAI-PCG method: symmetric matrices

21

FSAI-PCR method: symmetric matrices

PARALLEL_NO(4) >= 2: for OpenMP parallel calculation

    • Setting value

    • Description

    • 0: Default

    • Block-ICCG method: symmetric matrices; Block-ILU-BiCGStabs method: asymmetric matrices

    • 1

    • Block-ICCR method: symmetric matrices; ILU-BiCG method: asymmetric matrices

    • 20

    • FSAI-PCG method: symmetric matrices

    • 21

    • FSAI-PCR method: symmetric matrices

Complex-valued iterative solvers: steady-state AC analysis#

Setting value

Description

0: Default

IC-COCG method: complex symmetric matrices; complex ILU-BiCGStabs method: asymmetric matrices

1

IC-COCR method: complex symmetric matrices

3

IC-QMR-COCR method: complex symmetric matrices

4

IC-QMR-COCR method: complex symmetric matrices

20

parallel FSAI-COCG method: complex symmetric matrices

21

parallel FSAI-COCR method: complex symmetric matrices

PARALLEL_NO(4) >= 2: for OpenMP parallel calculation

    • Setting value

    • Description

    • 0: Default

    • BLOCK-IC-COCG method: complex symmetric matrices; complex ILU-BiCGStabs method: asymmetric matrices

    • 1

    • BLOCK-IC-COCR method: complex symmetric matrices

    • 20

    • parallel FSAI-COCG method: complex symmetric matrices

    • 21

    • parallel FSAI-COCR method: complex symmetric matrices

Tip

The default value of 0 is normally sufficient. If ICCG convergence is poor in frequency-domain or nonlinear calculation, ICCR can improve it.

20 = parallel FSAI-PCG and 21 = parallel FSAI-PCR are useful for OpenMP parallel calculation, particularly for large three-dimensional problems such as those with ACCEL_FACTOR(4) > 1.2.

Note

Revision history

Release 11.3.1

Added complex-matrix solvers.

Release 12.0.18

Added ICCR and IC QMR-COCG/IC QMR-COCR methods; removed symmetric Gauss-Seidel CG (SGSCG).

Release_2026_09

Added FSAI-PCG and FSAI-PCR methods for OpenMP parallel calculation to SOLVER.

THETA#

THETA(5)#
Text-format section
Fixed parameter set 1#
[row, col] = [1, 6]
Data type:

Real number (E)

Description:

Crank-Nicolson time-stepping parameter. Used for analysis including eddy currents when TRANSIENT(2) = 1.

Default value:

2/3 = 0.66666. Entering 0.0 uses the default value.

JSON format also supports equations entered as strings.

Caution

Enter it as a string, such as “2/3”.

JSON format from 2024.11#
"5_Convergence_Conditions" :
{
    "THETA" : "2/3",
},

THETA_NETWORK#

THETA_NETWORK(5)#
Text-format section
Fixed parameter set 1#
[row, col] = [1, 7]
Data type:

Real number (E)

Description:

Time-difference parameter for circuit calculation NETWORK(17.9). The recommended value is 0.5 (central difference).

Default value:

0.5. Entering 0.0 uses the default value.

JSON format also supports equation input.

Caution

Enter it as a string, such as “1/2”.

JSON format from 2024.11#
"5_Convergence_Conditions" :
{
    "THETA_NETWORK" : "1/2",
},

THETA_MOTION#

THETA_MOTION(5)#
Text-format section
Fixed parameter set 1#
[row, col] = [1, 8]
Data type:

Real number (E)

Description:

Parameter for solving equations of motion for displacement in motion calculation MOTION(2). The recommended value is 0.5 (central difference). This value strongly affects motion-analysis results.

Default value:

0.5. Entering 0.0 uses 0.5.

JSON format also supports equation input.

Caution

Enter it as a string, such as “1/2”.

JSON format from 2024.11#
"5_Convergence_Conditions" :
{
    "THETA_MOTION" : "1/2",
},

MAX_ITERATIONS#

MAX_ITERATIONS(5)#
Text-format section
Fixed parameter set 1#
[row, col] = [1, 9]
Data type:

Integer (I)

Description:

Maximum iterations for linear calculation. If not specified, the number depends on the number of unknowns.

Default value:

0 (not specified)

Note

Revision history

Release 11.1.1

Added the MAX_ITERATIONS parameter.

Nonlinear calculation parameters#

5_2_Nonlinear_Convergence_Condition#

5_2_Nonlinear_Convergence_Condition#

JSON key: nonlinear convergence conditions object

NON_LINEAR_CONV#

NON_LINEAR_CONV(5)#
Text-format section
Fixed parameter set 1#
[row, col] = [2, 1]
Data type:

Real number (E)

Description:

Nonlinear calculation convergence criterion. A value of approximately 10^(-3) to 10^(-5) is generally appropriate. To apply a stricter nonlinear convergence criterion, use CHECK_B.

Default value:

1.e-3

NON_LINEAR_RELAXATION#

NON_LINEAR_RELAXATION(5)#
Text-format section
Fixed parameter set 1#
[row, col] = [2, 2]
Data type:

Real number (E)

Description:

Relaxation factor for nonlinear calculation. Normally 1.0; reduce it to approximately 0.5 if convergence fails. When LINE_SEARCH = 1, an internal relaxation factor is calculated automatically and multiplied by this value. In that case, set this value to 1.0.

Default value:

1.0

MAX_ITERATIONS#

MAX_ITERATIONS(5)#
Text-format section
Fixed parameter set 1#
[row, col] = [2, 3]
Data type:

Integer (I)

Description:

Maximum nonlinear iterations. A value of approximately 20 is appropriate. After termination, the next step continues.

Default value:

20

INIT_OPTION#

INIT_OPTION(5)#
Text-format section
Fixed parameter set 1#
[row, col] = [2, 4]

Selects whether to use the previous-step values as initial values for step calculation or clear them to zero. This is effective when previous-step values cause abnormal convergence.

Initial-value zero-clear option#

Setting value

Description

0: Default

Uses previous-step values as initial values for step calculation.

1

Clears values to zero and uses zero initial values.

Tip

Normally, 0 is sufficient. For static analysis STATIC(2) or time-domain analysis TRANSIENT(2), set to 1 when DELTA_TIME(8) and magnetic-field variation are both very small and ICCG may be judged converged after very few iterations.

ICCG_CONV_RATIO#

ICCG_CONV_RATIO(5)#
Text-format section
Fixed parameter set 1#
[row, col] = [2, 5]
Data type:

Real number (E)

Description:

Sets the ICCG convergence criterion to the nonlinear convergence value multiplied by this factor. The default is ICCG_CONV / NON_LINEAR_CONV. This is effective when neither ICCG nor nonlinear calculation converges; it is the so-called \(\epsilon_{CG}\) method.

Default value:

0

CHECK_B#

CHECK_B(5)#
Text-format section
Fixed parameter set 1#
[row, col] = [2, 6]
Data type:

Real number (E)

Description:

During nonlinear iteration, outputs the maximum magnetic-field change and the number of elements that change by at least CHECK_B. For a negative value, the magnetic-field change is used as the nonlinear convergence criterion; this is the so-called \(\delta B_{max}\) method.

Default value:

0.0 (not set)

DELTA_A#

DELTA_A(5)#
Text-format section
Fixed parameter set 1#
[row, col] = [2, 7]
Data type:

Real number (E)

Description:

Clears initial values for nonlinear analysis to zero. This is effective when convergence becomes abnormal at a time with zero current in current-source analysis.

Default value:

0.0 (not set)

Tip

Not normally used. It can be used, for example, for single-phase sinusoidal current-source analysis.

NON_LINEAR_METHOD#

NON_LINEAR_METHOD(5)#
Text-format section
Fixed parameter set 1#
[row, col] = [2, 8]

Selects the nonlinear calculation method.

Nonlinear calculation method option#

Setting value

Description

0: Default

Newton-Raphson method.

1

Fixed-point method.

-1

Improved fixed-point method.

Note

The Newton-Raphson method is normally sufficient. The fixed-point method converges very slowly, but the improved fixed-point method has been reported to converge in nearly the same number of iterations as the Newton-Raphson method.