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