From: Derek Gaston <friedmud@gm...>  20080917 08:32:22

It appears that currently there is no way to set nonlinear solver tolerances programatically without resorting to calls directly to Petsc / Trilinos from user code. There are currently two parameters used in nonlinear_implicit_system: "nonlinear solver tolerance" and "nonlinear solver maximum iterations" both of which are passed to nonlinear_solver>solv() and neither of which are currently used by PetscNonlinearSolver. Both of the options are wholly inadequate and I suppose they are probably just there as a findreplace operation... I propose 5 new parameters and 5 new methods on NonlinearSolver to get/ set the values: "nonlinear solver absolute tolerance" > NonlinearSolver::absolute_tolerance() "nonlinear solver relative tolerance" > NonlinearSolver::relative_tolerance() "nonlinear solver step tolerance" > NonlinearSolver::step_tolerance() "nonlinear solver maximum iterations" > NonlinearSolver::max_its() "nonlinear solver maximum function evalutations" > NonlinearSolver::max_funcs() I believe that all 5 of these map fairly well to both Petsc and Trilinos. Any objections / suggestions? Derek 