Note: This discussion is about an older version of the COMSOL Multiphysics® software. The information provided may be out of date.

Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.

[SOLVED] Times to store: "Steps taken by solver" causes ERROR

Please login with a confirmed email address before reporting spam

I have a model, which runs fine. If I make a single change — switch Times to store from "Specified values" to "Steps taken by solver" — the model no longer converges. I get the following error:



Nonlinear solver did not converge.
Singular matrix.

There are 101 equations giving NaN/Inf in the matrix rows for the variable mod1.Ve.
at coordinates: (0), (1e-008), (2e-008), (3e-008), (4e-008), ...
There are 100 equations giving NaN/Inf in the matrix rows for the variable mod1.Vi.
at coordinates: (1e-006), (1.01e-006), (1.02e-006), (1.03e-006), (1.04e-006), ...
There are 1 equations giving NaN/Inf in the matrix rows for the variable mod1.h.
at coordinates: (1e-006), ...
There are 1 equations giving NaN/Inf in the matrix rows for the variable mod1.m.
at coordinates: (1e-006), ...
There are 1 equations giving NaN/Inf in the matrix rows for the variable mod1.n.
at coordinates: (1e-006), ...
and similarly for the degrees of freedom, NaN/Inf in the matrix columns.
Time : 0.0002
Last time step is not converged.



The end of the detailed log output says:



Step Time Stepsize Res Jac Sol Order Tfail NLfail
4864 0.0001997 1e-007 out 9820 70 9820 2 5 0
Iter Damping Stepsize #Res #Jac #Sol
1 1.0000000 2.9e-008 9821 70 9821
2 1.0000000 5.1e-009 9822 70 9822

Step Time Stepsize Res Jac Sol Order Tfail NLfail
4865 0.0001998 1e-007 out 9822 70 9822 2 5 0
Iter Damping Stepsize #Res #Jac #Sol
1 1.0000000 2.9e-008 9823 70 9823
2 1.0000000 5.1e-009 9824 70 9824

Step Time Stepsize Res Jac Sol Order Tfail NLfail
4866 0.0001999 1e-007 out 9824 70 9824 2 5 0
Iter Damping Stepsize #Res #Jac #Sol
1 1.0000000 3e-008 9825 70 9825
2 1.0000000 5.1e-009 9826 70 9826

Step Time Stepsize Res Jac Sol Order Tfail NLfail
4867 0.0002 1e-007 out 9826 70 9826 2 5 0

Step Time Stepsize Res Jac Sol Order Tfail NLfail
4867 0.0002 0 out 9837 81 9826 2 5 10
Time-Dependent Solver 1 in Solver 1: Solution time: 49 s.


In particular, Stepsize is zero. But is it really a different step? If the step number is the same as the previous step?



I thought that Times to store shouldn't affect the solution process. All it should do is choose at which points to output the solution. I'd like to use "Steps taken by solver" so that I can resolve certain features in the output, which coincide with the solver taking smaller step sizes.

1 Reply Last Post May 10, 2012, 1:43 a.m. EDT

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago May 10, 2012, 1:43 a.m. EDT
I think I've figured out what went wrong.

In the "Time" field I had an expression like the following

range(0, 0.1[us], 200[us]) range(200[us], 1[us], 2000[us])

Which, for some internal reason, worked fine with the first case ("Times to store" set to "Specified values") but not in the second case ("Steps taken by solver").

This is how I fixed it:

range(0, 0.1[us], 199.999[us]) range(200[us], 1[us], 2000[us])
I think I've figured out what went wrong. In the "Time" field I had an expression like the following range(0, 0.1[us], 200[us]) range(200[us], 1[us], 2000[us]) Which, for some internal reason, worked fine with the first case ("Times to store" set to "Specified values") but not in the second case ("Steps taken by solver"). This is how I fixed it: range(0, 0.1[us], 199.999[us]) range(200[us], 1[us], 2000[us])

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.