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

Reply via email to