Index: mttroot/mtt/lib/cc/mtt_Hybrd_Solver.cc ================================================================== --- mttroot/mtt/lib/cc/mtt_Hybrd_Solver.cc +++ mttroot/mtt/lib/cc/mtt_Hybrd_Solver.cc @@ -14,10 +14,11 @@ } void MTT::Hybrd_Solver::Solve (void) { + static std::fstream ferr ("MTT.Hybrd_messages", ios::out | ios::trunc | ios::app); int info; static int input_errors; static int user_errors; static int convergences; static int progress_errors; @@ -24,11 +25,11 @@ static int limit_errors; static int unknown_errors; NLFunc fcn(&Hybrd_Solver::f_hybrd); NLEqn eqn(Solver::_ui,fcn); - eqn.set_tolerance(0.000001); + eqn.set_tolerance(1.0e-3); Solver::_ui = eqn.solve(info); switch (info) { case 1: @@ -53,14 +54,14 @@ unknown_errors++; break; } if (1 != info) { - std::cerr << "input (" << input_errors << ") " - << " user (" << user_errors << ") " - << " converge (" << convergences << ") " - << " progress (" << progress_errors << ") " - << " limit (" << limit_errors << ")" - << " unknown (" << unknown_errors << ")" - << " (max error = " << std::abs(eval(_ui).max()) << ")" << std::endl; - } + std::cerr + << " converge (" << convergences << ") " + << " limit (" << limit_errors << ")" + << " (max error = " << std::abs (eval(_ui).max()) << ")" + << " other (" << input_errors + user_errors + progress_errors + unknown_errors << ") " + << std::endl; + } + ferr << info << " "; } Index: mttroot/mtt/lib/cc/mtt_Hybrd_Solver.hh ================================================================== --- mttroot/mtt/lib/cc/mtt_Hybrd_Solver.hh +++ mttroot/mtt/lib/cc/mtt_Hybrd_Solver.hh @@ -1,9 +1,10 @@ #ifndef MTT_HYBRDSOLVER #define MTT_HYBRDSOLVER +#include #include #include "mtt_AlgebraicSolver.hh"