20 #ifndef LIBMESH_DIFF_SOLVER_H 21 #define LIBMESH_DIFF_SOLVER_H 38 template <
typename T>
class NumericVector;
47 const double & norm_delta_u,
49 const double & norm_u,
51 const double & norm_res,
52 const unsigned int iteration) = 0;
103 virtual void init ();
116 virtual unsigned int solve () = 0;
334 #endif // LIBMESH_DIFF_SOLVER_H bool continue_after_max_iterations
Real minimum_linear_tolerance
Real absolute_step_tolerance
unsigned int solve_result()
unsigned int max_nonlinear_iterations
Real absolute_residual_tolerance
Real initial_linear_tolerance
static std::unique_ptr< DiffSolver > build(sys_type &s)
unsigned int _solve_result
unsigned int _inner_iterations
unsigned int total_outer_iterations()
unsigned int max_linear_iterations
virtual unsigned int solve()=0
virtual ~LinearSolutionMonitor()
const sys_type & system() const
An object whose state is distributed along a set of processors.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
bool continue_after_backtrack_failure
unsigned int _outer_iterations
unsigned int total_inner_iterations()
Real relative_residual_tolerance
Real relative_step_tolerance
std::unique_ptr< LinearSolutionMonitor > linear_solution_monitor
virtual void operator()(const NumericVector< Number > &delta_u, const double &norm_delta_u, const NumericVector< Number > &u, const double &norm_u, const NumericVector< Number > &res, const double &norm_res, const unsigned int iteration)=0
Manages consistently variables, degrees of freedom, coefficient vectors, and matrices for implicit sy...