Hi Roy,

So far IIRC we've only been using that value internally to let the
transient solvers and continuation solvers which call
DiffSolver::solve back off their time step or continuation step size
on failure.  My thinking was that whether such reduction succeeded in
making the problem well-behaved enough to succeed on the retry or not,
the original solver divergence would have become moot.  Satisfy my
curiosity: What's the usage case where you have a function which isn't
responsible for calling DiffSolver::solve() but wants to check it's
result?  Whatever the reason, though, a getter method would be great,
if you want to send a patch or commit one.

It's nothing exciting, I've just implemented a simple continuation scheme where I'm doing the continuation parameter adjustments in the main function, so I needed to access the solver info there... It'd probly be better if I did something in the spirit of ContinuationSystem, but the approach I'm using is working for what I need at the moment.

The patch is attached (I must've checked out libmesh anonomously cos I can't seem to commit myself, I'll look into that).

- Dave
Index: diff_solver.h
===================================================================
--- diff_solver.h       (revision 2974)
+++ diff_solver.h       (working copy)
@@ -105,6 +105,11 @@
   unsigned int total_inner_iterations() { return _inner_iterations; }
 
   /**
+   * @returns the value of the SolveResult from the last solve.
+   */
+  unsigned int solve_result() { return _solve_result; }
+
+  /**
    * @returns a constant reference to the system we are solving.
    */
   const sys_type & system () const { return _system; }
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to