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#
"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
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
"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
"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
"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
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.
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_FACTORtimes that fromDIV_ITERATIONSiterations 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_FACTORtimes that fromDIV_ITERATIONSiterations earlier. This parameter directly affects analysis stability and requires an appropriate value.- Default value:
10
Note
Revision history
Added IC-COCR criterion specifications.
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.
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
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
Added complex-matrix solvers.
Added ICCR and IC QMR-COCG/IC QMR-COCR methods; removed symmetric Gauss-Seidel CG (SGSCG).
Added FSAI-PCG and FSAI-PCR methods for OpenMP parallel calculation to SOLVER.
THETA#
- THETA(5)#
Text-format section
[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”.
"5_Convergence_Conditions" :
{
"THETA" : "2/3",
},
THETA_NETWORK#
- THETA_NETWORK(5)#
Text-format section
[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”.
"5_Convergence_Conditions" :
{
"THETA_NETWORK" : "1/2",
},
THETA_MOTION#
- THETA_MOTION(5)#
Text-format section
[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”.
"5_Convergence_Conditions" :
{
"THETA_MOTION" : "1/2",
},
MAX_ITERATIONS#
- MAX_ITERATIONS(5)#
Text-format section
[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)
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
[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
[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
[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
[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.
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
[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
[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
[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
[row, col] = [2, 8]
Selects the nonlinear calculation method.
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.