Hi All,
I am still working on solving the maxwell equations to analyse rotary electric machines.
When the machine saturates, the solver struggles to find the correct solutions. One plausible reason for this is that the residual norm is in the order of 10^-10 as is shown in a snippet of the logs below.
0 KSP Residual norm 2.486670416291e-02
1 KSP Residual norm 1.380370820022e-02
2 KSP Residual norm 9.620016501752e-03
3 KSP Residual norm 6.778876375838e-03
4 KSP Residual norm 4.834307630619e-03
5 KSP Residual norm 3.854141821222e-03
6 KSP Residual norm 3.210644257159e-03
7 KSP Residual norm 2.709679289817e-03
8 KSP Residual norm 2.328649140280e-03
9 KSP Residual norm 1.876253299590e-03
10 KSP Residual norm 1.274454537374e-03
11 KSP Residual norm 8.325825129116e-04
12 KSP Residual norm 5.757867813002e-04
13 KSP Residual norm 4.327386318483e-04
...
849 KSP Residual norm 2.568153274638e-08
850 KSP Residual norm 2.549669236354e-08
851 KSP Residual norm 2.536519874296e-08
852 KSP Residual norm 2.529548877872e-08
853 KSP Residual norm 2.519325438527e-08
854 KSP Residual norm 2.504843037186e-08
855 KSP Residual norm 2.488862126196e-08
856 KSP Residual norm 2.469410241949e-08
Linear nls_solve_ solve converged due to CONVERGED_RTOL iterations 856 res rate 0.989229 R^2 0.900292
Residual norms for nls_solve_ solve.
0 KSP Residual norm 2.469410242046e-08
1 KSP Residual norm 2.462401061996e-08
2 KSP Residual norm 2.461975515437e-08
3 KSP Residual norm 2.461965025717e-08
4 KSP Residual norm 2.461553746786e-08
5 KSP Residual norm 2.460004576825e-08
6 KSP Residual norm 2.456632517194e-08
7 KSP Residual norm 2.453535644054e-08
8 KSP Residual norm 2.450601617182e-08
9 KSP Residual norm 2.445647418676e-08
10 KSP Residual norm 2.437671907680e-08
11 KSP Residual norm 2.428631000229e-08
12 KSP Residual norm 2.418247659123e-08
13 KSP Residual norm 2.407611880470e-08
14 KSP Residual norm 2.400868329143e-08
15 KSP Residual norm 2.397678288475e-08
16 KSP Residual norm 2.394553128623e-08
17 KSP Residual norm 2.382607443439e-08
18 KSP Residual norm 2.352944673248e-08
19 KSP Residual norm 2.283270699366e-08
20 KSP Residual norm 2.193691902575e-08
21 KSP Residual norm 2.051287366009e-08
22 KSP Residual norm 1.873364885805e-08
23 KSP Residual norm 1.695480400251e-08
24 KSP Residual norm 1.627732173885e-08
25 KSP Residual norm 1.606847683670e-08
26 KSP Residual norm 1.590508972070e-08
27 KSP Residual norm 1.577590815169e-08
28 KSP Residual norm 1.541737984068e-08
29 KSP Residual norm 1.501066093126e-08
30 KSP Residual norm 1.480147504859e-08
31 KSP Residual norm 1.466179262518e-08
32 KSP Residual norm 1.453793866409e-08
33 KSP Residual norm 1.439628591814e-08
34 KSP Residual norm 1.415070796630e-08
35 KSP Residual norm 1.391827913853e-08
36 KSP Residual norm 1.368773272826e-08
37 KSP Residual norm 1.344939502189e-08
38 KSP Residual norm 1.311544639084e-08
39 KSP Residual norm 1.275379848178e-08
40 KSP Residual norm 1.244343672985e-08
41 KSP Residual norm 1.219182473133e-08
42 KSP Residual norm 1.187614102958e-08
43 KSP Residual norm 1.144368391527e-08
44 KSP Residual norm 1.122369325172e-08
45 KSP Residual norm 1.114966097833e-08
46 KSP Residual norm 1.108994318831e-08
47 KSP Residual norm 1.106811955681e-08
48 KSP Residual norm 1.104313208692e-08
49 KSP Residual norm 1.102025641004e-08
50 KSP Residual norm 1.095850114207e-08
51 KSP Residual norm 1.089196583288e-08
52 KSP Residual norm 1.082586075693e-08
53 KSP Residual norm 1.078094078071e-08
54 KSP Residual norm 1.074012735346e-08
55 KSP Residual norm 1.070722893052e-08
56 KSP Residual norm 1.069240997411e-08
57 KSP Residual norm 1.068885775634e-08
58 KSP Residual norm 1.068607358146e-08
59 KSP Residual norm 1.068243642196e-08
60 KSP Residual norm 1.068148245188e-08
61 KSP Residual norm 1.068147964556e-08
62 KSP Residual norm 1.068142444109e-08
63 KSP Residual norm 1.068105006020e-08
64 KSP Residual norm 1.068054101022e-08
65 KSP Residual norm 1.067969562952e-08
66 KSP Residual norm 1.067750562117e-08
67 KSP Residual norm 1.066839825941e-08
68 KSP Residual norm 1.064962376047e-08
69 KSP Residual norm 1.063323753890e-08
70 KSP Residual norm 1.062285726263e-08
71 KSP Residual norm 1.061568506463e-08
72 KSP Residual norm 1.060217534543e-08
73 KSP Residual norm 1.058592620148e-08
74 KSP Residual norm 1.057428659266e-08
75 KSP Residual norm 1.054556246684e-08
76 KSP Residual norm 1.050702464670e-08
77 KSP Residual norm 1.043881850391e-08
78 KSP Residual norm 1.037598438684e-08
79 KSP Residual norm 1.032607036079e-08
80 KSP Residual norm 1.023824247547e-08
81 KSP Residual norm 1.009643034957e-08
82 KSP Residual norm 9.804912725869e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 82 res rate 0.986886 R^2 0.866716
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
Linear nls_solve_ solve converged due to CONVERGED_ATOL iterations 0 res rate 1. R^2 0.
Residual norms for nls_solve_ solve.
0 KSP Residual norm 9.804912725714e-09
2025-12-04 14:50:49 - MATE - WARNING - -- Failed to solve the nonlinear problem: Newton solver did not converge because maximum number of iterations reached --
To improve this, I heard that it can be useful to normalize the weak form, or even define a dimensionless version. I can however, find very little information on this in literature, specifically concerning the maxwell equations.
Is this indeed a practice that is often used to improve solver robustness? And are there straightforward ways with which this normalization is usually performed? Or is a dimensionless formulation the way to go?