On 03/18/2015 10:04 AM, Ronghai Wu wrote:
Thanks, after adding the code before solving, it works. I do not exactly understand what you mean by "time-stepping solvers". This problem exists only in sfepy2015.1 or also in sfepy-2014.4? Do you mean a interactive building problem with codes like "pb.time_update, pb.update_materials" does not not work well currently? I am worrying about the influence of this "time-stepping solvers". Where can I find the fix? also in sfepy-devel?
This means that it was not possible to use the time stepping solvers from sfepy (i.e. those in sfepy/solvers/ts_solvers.py) interactively. But you were free to write your own time stepping for time-dependent problems, of course, pb.time_update(), pb.update_materials() etc. work ok.
Anyway, now it is possible, as I have just updated the time stepping code in sfepy, see my next e-mail.
r.
在 2015年3月13日星期五 UTC+1下午1:42:26,Robert Cimrman写道:
The linear option works in connection with time-stepping solvers. I have found recently, that the time stepping solvers do not play well in interactive building of the problem. The fix should be available soon.
The singular matrix warning is caused by the fact, that in the linear case the non-linear solver assumes that the matrix is already assembled (which is the case, if called from the time-stepping solvers in sfepy). In your script, try calling the following before solving the problem:
# pb = Problem('elasticity', equations=eqs, nls=nls, ls=ls) from sfepy.solvers.ts_solvers import prepare_matrix prepare_matrix(pb, pb.create_state())
r.