On Tue, Mar 8, 2011 at 5:01 PM, Cody Permann wrote:

> I'm pretty sure "if (_snes)" is guaranteed to be false after a call to
> SNESDestroy, but I could be wrong about that... Vetter since you are
> the one actually using this functionality could you please let me know
> if it's still working OK for you?


Oh, sorry about my delayed response, I overlooked this part. Actually,
"if (_snes)" should indeed be false after a call to SNESDestroy (at least
that's what the PETSc docs are telling), but it will not always be false
after a this->clear(), because SNESDestroy is called only if
this->initialized(). Consequently, the current implementation (r4273) of
PetscNonlinearSolver::get_converged_reason returns bogus values
(and hence calling print_converged_reason() will cause an access-out-
of-range crash). "if (_snes)" should be replaced by
"if (this->initialized())", at least that works for me.

Roman
------------------------------------------------------------------------------
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
_______________________________________________
Libmesh-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to