On Thu, Mar 17, 2011 at 6:16 AM, Vetter Roman <vette...@student.ethz.ch> wrote: >>> I've just checked in a change which will hopefully please both the >>> people who need to call this->clear() at the end of >>> PetscNonlinearSolver::solve and the people who want >>> PetscNonlinearSolver::print_converged_reason() to work. The basic >>> idea is just to store the SNESConvergedReason at the end of the solve. >>> Then in print_converged_reason() it either re-gets the reason if >>> (_snes), otherwise (if SNES has since been destroyed) it uses the most >>> recently-stored value. >> >> This sounds like a decent workaround [...]. > > What would you think about making _reason public (like > NonlinearSolver::converged) or provide a getter for it? Because with > the reintroduction of this->clear() in PetscNonlinearSolver::solve > with r4238, access to the raw convergence reason from outside the > solver is again lost, which was my motivation for the change in the > first place.
Sorry, I did not know you actually needed the raw value of _reason, I thought you just wanted to get the output of SNESConvergedReasons[_reason]. I've added a public getter for _reason in PetscNonlinearSolver. -- John ------------------------------------------------------------------------------ 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 Libmesh-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-devel