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