nonlin 1.5.2
A library that provides routines to compute the solutions to systems of nonlinear equations.
|
A base class for various solvers of nonlinear systems of equations. More...
Public Member Functions | |
procedure, public | get_max_fcn_evals es_get_max_eval |
Gets the maximum number of function evaluations allowed during a single solve. | |
procedure, public | set_max_fcn_evals es_set_max_eval |
Sets the maximum number of function evaluations allowed during a single solve. | |
procedure, public | get_fcn_tolerance es_get_fcn_tol |
Gets the convergence on function value tolerance. | |
procedure, public | set_fcn_tolerance es_set_fcn_tol |
Sets the convergence on function value tolerance. | |
procedure, public | get_var_tolerance es_get_var_tol |
Gets the convergence on change in variable tolerance. | |
procedure, public | set_var_tolerance es_set_var_tol |
Sets the convergence on change in variable tolerance. | |
procedure, public | get_gradient_tolerance es_get_grad_tol |
Gets the convergence on slope of the gradient vector tolerance. | |
procedure, public | set_gradient_tolerance es_set_grad_tol |
Sets the convergence on slope of the gradient vector tolerance. | |
procedure, public | get_print_status es_get_print_status |
Gets a logical value determining if iteration status should be printed. | |
procedure, public | set_print_status es_set_print_status |
Sets a logical value determining if iteration status should be printed. | |
procedure(nonlin_solver), deferred, pass, public | solve nonlin_solver |
Solves the system of equations. | |
Public Attributes | |
real(real64) | m_fcntol = 1.0d-8 |
The convergence criteria on function values. | |
real(real64) | m_xtol = 1.0d-12 |
The convergence criteria on change in variable values. | |
real(real64) | m_gtol = 1.0d-12 |
The convergence criteria for the slope of the gradient vector. | |
logical | m_printstatus = .false. |
Set to true to print iteration status; else, false. | |
Private Attributes | |
integer(int32) | m_maxeval = 100 |
The maximum number of function evaluations allowed per solve. | |
A base class for various solvers of nonlinear systems of equations.
Definition at line 1260 of file nonlin_core.f90.
procedure, public nonlin_core::equation_solver::get_fcn_tolerance |
Gets the convergence on function value tolerance.
[in] | this | The equation_solver object. |
Definition at line 1308 of file nonlin_core.f90.
procedure, public nonlin_core::equation_solver::get_gradient_tolerance |
Gets the convergence on slope of the gradient vector tolerance.
[in] | this | The equation_solver object. |
Definition at line 1357 of file nonlin_core.f90.
procedure, public nonlin_core::equation_solver::get_max_fcn_evals |
Gets the maximum number of function evaluations allowed during a single solve.
[in] | this | The equation_solver object. |
Definition at line 1283 of file nonlin_core.f90.
procedure, public nonlin_core::equation_solver::get_print_status |
Gets a logical value determining if iteration status should be printed.
[in] | this | The equation_solver object. |
Definition at line 1383 of file nonlin_core.f90.
procedure, public nonlin_core::equation_solver::get_var_tolerance |
Gets the convergence on change in variable tolerance.
[in] | this | The equation_solver object. |
Definition at line 1332 of file nonlin_core.f90.
procedure, public nonlin_core::equation_solver::set_fcn_tolerance |
Sets the convergence on function value tolerance.
[in,out] | this | The equation_solver object. |
[in] | x | The tolerance value. |
Definition at line 1322 of file nonlin_core.f90.
procedure, public nonlin_core::equation_solver::set_gradient_tolerance |
Sets the convergence on slope of the gradient vector tolerance.
[in,out] | this | The equation_solver object. |
[in] | x | The tolerance value. |
Definition at line 1372 of file nonlin_core.f90.
procedure, public nonlin_core::equation_solver::set_max_fcn_evals |
Sets the maximum number of function evaluations allowed during a single solve.
[in,out] | this | The equation_solver object. |
[in] | n | The maximum number of function evaluations. |
Definition at line 1298 of file nonlin_core.f90.
procedure, public nonlin_core::equation_solver::set_print_status |
Sets a logical value determining if iteration status should be printed.
[in,out] | this | The equation_solver object. |
[in] | x | True if the iteration status should be printed; else, false. |
Definition at line 1398 of file nonlin_core.f90.
procedure, public nonlin_core::equation_solver::set_var_tolerance |
Sets the convergence on change in variable tolerance.
[in,out] | this | The equation_solver object. |
[in] | x | The tolerance value. |
Definition at line 1346 of file nonlin_core.f90.
|
pure virtual |
Solves the system of equations.
Implemented in nonlin_solve::newton_solver, and nonlin_solve::quasi_newton_solver.
Definition at line 1404 of file nonlin_core.f90.
real(real64) nonlin_core::equation_solver::m_fcntol = 1.0d-8 |
The convergence criteria on function values.
Definition at line 1265 of file nonlin_core.f90.
real(real64) nonlin_core::equation_solver::m_gtol = 1.0d-12 |
The convergence criteria for the slope of the gradient vector.
Definition at line 1269 of file nonlin_core.f90.
|
private |
The maximum number of function evaluations allowed per solve.
Definition at line 1263 of file nonlin_core.f90.
logical nonlin_core::equation_solver::m_printstatus = .false. |
Set to true to print iteration status; else, false.
Definition at line 1271 of file nonlin_core.f90.
real(real64) nonlin_core::equation_solver::m_xtol = 1.0d-12 |
The convergence criteria on change in variable values.
Definition at line 1267 of file nonlin_core.f90.