Thread Previous • Date Previous • Date Next • Thread Next |
Anders Logg wrote:
On Thu, Sep 25, 2008 at 03:53:01PM +0100, Garth N. Wells wrote:Anders Logg wrote:I think that we should have an option whether or not to use an initial guess. The default can be to use the guess (as in your above code extract).On Thu, Sep 25, 2008 at 03:11:27PM +0100, Garth N. Wells wrote:Anders Logg wrote:On Thu, Sep 25, 2008 at 12:41:33PM +0100, Garth N. Wells wrote:Nuno David Lopes wrote:Is there a simple way of setting an initial guess for an Iterative LinearSolver? In Umfpack and PETSc the default initial guess is the zero vector right?At the moment, yes (note the UMFPACK is an LU solver, so an initial guess doesn't do anything).It's very simple, and I've been meaning to add an option for using an initial guess. It's also useful for Newton solvers. I'll add something in the next few days.GarthIt would be natural to let the x argument always be the initial guess. I thought we already did this. Would it be enough to make sure that Vector::init() does not reset the values to zero?Yes. The danger is if someone sends an uninitialised vector to the solver. GarthWe can just put something like this in the init() functions: if (x && size() == N) return; I think we had this a while back but at some point VecZeroEntries was inserted.GarthI think it would work nicely if the solver calls x.init() and that will initialize x to a zero vector only if it has not already beeninitialized.
Sounds a bit dangerous to me that Vector::init() sometimes zeroes a the vector, and sometimes it doesn't. Should we get rid of Vector::init() and use Vector::resize() and Vector::zero() instead? No ambiguity then.
Garth Then if someone wants to reset the initial guess between
solves, it's enough to do x.zero(); before calling solve(). ------------------------------------------------------------------------ _______________________________________________ DOLFIN-dev mailing list DOLFIN-dev@xxxxxxxxxx http://www.fenics.org/mailman/listinfo/dolfin-dev
Thread Previous • Date Previous • Date Next • Thread Next |