On Wed, 23 Feb 2011, Roman Vetter wrote:

> 1. Replace the contents of PetscLinearSolver::print_converged_reason() by
>
> KSPConvergedReason reason;
> KSPGetConvergedReason(_ksp, &reason);
> libMesh::out << "Linear solver convergence/divergence reason: " <<
> KSPConvergedReasons[reason] << std::endl;
>
> or similar.

This sounds like a good idea, if you want to test it and send us the
patch.

> 2. Remove the this->clear() call from PetscNonlinearSolver::solve().
> This prevents the _snes context pointer from being destroyed. In
> PetscLinearSolver, the _ksp context pointer isn't destroyed either.

I'm up for this unless anyone objects.

> 3. Introduce PetscNonlinearSolver::print_converged_reason()
> analogously to the linear solver, using the maintained _snes pointer.

Sounds good.

> no additional enums need to be implemented

I would have loved getting a patch with those additional enums, but
necessity is the mother of invention, there's a long-standing
tradition of libMesh developers only inventing what they have a
personal necessity for, and there's no reason we should stop now.  ;-)
---
Roy

------------------------------------------------------------------------------
Free Software Download: Index, Search & Analyze Logs and other IT data in 
Real-Time with Splunk. Collect, index and harness all the fast moving IT data 
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business 
insights. http://p.sf.net/sfu/splunk-dev2dev 
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to