On Mon, 19 Sep 2011, Derek Gaston wrote:

A while back we changed NonlinearSolver::solve() to return a
std::pair that included the total number of nonlinear iterations and
the final nonlinear residual.

I'm now also wanting the total number of _linear_ iterations.

What are we going to do here long term?

This used to not be a problem because we didn't call clear() after
the solve (like we now do) so you could just get the snes object out
and inspect it after a solve… but that is no longer possible.

Not an ideal way to do it anyway; I'd like people to be able to call
abstract base class methods, not have to write package-specific code
for basic functionality.

Should I just modify the interface so it returns a struct?  Or
should we use Boost::tuple?

No, no need for an API change for this one.

Or should we save off this data as
class members that you can query with something like
NonlinearSolver::total_nonlinear_iterations(),
NonlinearSolver::total_linear_iterations() ???  Kind of like we have
get_converged_reason in PetscNonlinearSolver ?

For now I think I'm going to add a get_total_linear_iterations()
just to PetscNonlinearSolver so I can get my work done…. it will
follow the path of get_converged_reason()….

This looks good to me.  Long term we want to make this virtual and add
a Trilinos implementation.

Thanks,
---
Roy
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Libmesh-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to