nonlin 1.5.2
A library that provides routines to compute the solutions to systems of nonlinear equations.
|
A class describing nonlinear solvers that use a line search algorithm to improve convergence behavior. More...
Public Member Functions | |
procedure, public | get_line_search lss_get_line_search |
Gets the line search module. | |
procedure, public | set_line_search lss_set_line_search |
Sets the line search module. | |
procedure, public | set_default_line_search lss_set_default |
Establishes a default line_search object for the line search module. | |
procedure, public | is_line_search_defined lss_is_line_search_defined |
Tests to see if a line search module is defined. | |
procedure, public | get_use_line_search lss_get_use_search |
Gets a value determining if a line-search should be employed. | |
procedure, public | set_use_line_search lss_set_use_search |
Sets a value determining if a line-search should be employed. | |
Public Member Functions inherited from nonlin_core::equation_solver | |
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 | |
logical | m_uselinesearch = .true. |
Set to true if a line search should be used regardless of the status of m_lineSearch. | |
Public Attributes inherited from nonlin_core::equation_solver | |
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 | |
class(line_search), allocatable | m_linesearch |
The line search module. | |
A class describing nonlinear solvers that use a line search algorithm to improve convergence behavior.
Definition at line 31 of file nonlin_solve.f90.
procedure, public nonlin_solve::line_search_solver::get_line_search |
Gets the line search module.
[in] | this | The line_search_solver object. |
[out] | ls | The line_search object. |
Definition at line 48 of file nonlin_solve.f90.
procedure, public nonlin_solve::line_search_solver::get_use_line_search |
Gets a value determining if a line-search should be employed.
[in] | this | The line_search_solver object. |
Definition at line 89 of file nonlin_solve.f90.
procedure, public nonlin_solve::line_search_solver::is_line_search_defined |
Tests to see if a line search module is defined.
[in] | this | The line_search_solver object. |
Definition at line 78 of file nonlin_solve.f90.
procedure, public nonlin_solve::line_search_solver::set_default_line_search |
Establishes a default line_search object for the line search module.
[in,out] | this | The line_search_solver object. |
Definition at line 68 of file nonlin_solve.f90.
procedure, public nonlin_solve::line_search_solver::set_line_search |
Sets the line search module.
[in,out] | this | The line_search_solver object. |
[in] | ls | The line_search object. |
Definition at line 58 of file nonlin_solve.f90.
procedure, public nonlin_solve::line_search_solver::set_use_line_search |
Sets a value determining if a line-search should be employed.
[in,out] | this | The line_search_solver object. |
[in] | x | Set to true if a line search should be used; else, false. |
Definition at line 99 of file nonlin_solve.f90.
|
private |
The line search module.
Definition at line 34 of file nonlin_solve.f90.
logical nonlin_solve::line_search_solver::m_uselinesearch = .true. |
Set to true if a line search should be used regardless of the status of m_lineSearch.
Definition at line 37 of file nonlin_solve.f90.