From: Tim Kroeger <tim.kroeger@ce...> - 2008-10-30 15:45:13
Dear libMesh team,
It seems as if the thing is now running quite well for me. (I fixed
some bugs in the meantime, all of which were all on the application
side.) I've still not been able to test it in parallel though, since
the cluster is still making trouble. I hope this will be repaired
soon (altough I've been hoping this since several weeks now).
There is one weakness of my implementation: If you have A = B + v*w'
(as I have) and want to use B as the preconditioning matrix (to be
able to use ILU) (as I am doing now), you have to store two sparse
matrices although there is only one. That is because
LinearImplicitSystem::solve() calls have_matrix("Preconditioner") to
find out whether the preconditioning matrix differs from the system
matrix. So I have to add a preconditioning matrix manually. On the
other hand, LinearImplicitSystem::matrix exists nevertheless. I think
I don't have to put too much effort now in solving this problem since
you will restructure the implementation anyway and your restructuring
is likely to resolve this problem "on the fly".
Another issue is a sensible example program that uses the shell matrix
concept. I think it should be sensible to have one since there are
some pitfalls (such as the correct constraining methods I mentioned
last week). Unfortunately, I cannot think of a sensible, simple
example application. (The one I'm working on is far too complicated
for that purpose.) Does anyone have a sensible idea?
Dr. Tim Kroeger Phone +49-421-218-7710
tim.kroeger@..., tim.kroeger@... Fax +49-421-218-4236
MeVis Research GmbH, Universitaetsallee 29, 28359 Bremen, Germany
Amtsgericht Bremen HRB 16222
Geschaeftsfuehrer: Prof. Dr. H.-O. Peitgen