nonlin 1.5.2
A library that provides routines to compute the solutions to systems of nonlinear equations.
Loading...
Searching...
No Matches
nonlin_optimize::line_search_optimizer Type Reference

A class describing equation optimizers that use a line search algorithm to improve convergence behavior. More...

Inheritance diagram for nonlin_optimize::line_search_optimizer:
nonlin_core::equation_optimizer nonlin_optimize::bfgs

Public Member Functions

procedure, public get_line_search lso_get_line_search
 Gets the line search module.
 
procedure, public set_line_search lso_set_line_search
 Sets the line search module.
 
procedure, public set_default_line_search lso_set_default
 Establishes a default line_search object for the line search module.
 
procedure, public is_line_search_defined lso_is_line_search_defined
 Tests to see if a line search module is defined.
 
procedure, public get_use_line_search lso_get_use_search
 Gets a value determining if a line-search should be employed.
 
procedure, public set_use_line_search lso_set_use_search
 Sets a value determining if a line-search should be employed.
 
procedure, public get_var_tolerance lso_get_var_tol
 Gets the convergence on change in variable tolerance.
 
procedure, public set_var_tolerance lso_set_var_tol
 Sets the convergence on change in variable tolerance.
 
- Public Member Functions inherited from nonlin_core::equation_optimizer
procedure, public get_max_fcn_evals oe_get_max_eval
 Gets the maximum number of function evaluations allowed.
 
procedure, public set_max_fcn_evals oe_set_max_eval
 Sets the maximum number of function evaluations allowed.
 
procedure, public get_tolerance oe_get_tol
 Gets the tolerance on convergence.
 
procedure, public set_tolerance oe_set_tol
 Sets the tolerance on convergence.
 
procedure, public get_print_status oe_get_print_status
 Gets a logical value determining if iteration status should be printed.
 
procedure, public set_print_status oe_set_print_status
 Sets a logical value determining if iteration status should be printed.
 
procedure(nonlin_optimize_fcn), deferred, pass, public solve nonlin_optimize_fcn
 Optimizes the equation.
 

Public Attributes

logical m_uselinesearch = .true.
 Set to true if a line search should be used regardless of the status of m_lineSearch.
 
real(real64) m_xtol = 1.0d-12
 The convergence criteria on change in variable.
 
- Public Attributes inherited from nonlin_core::equation_optimizer
real(real64) m_tol = 1.0d-12
 The error tolerance used to determine convergence.
 
logical m_printstatus = .false.
 Set to true to print iteration status; else, false.
 

Private Attributes

class(line_search), allocatable m_linesearch
 The line search object.
 

Detailed Description

A class describing equation optimizers that use a line search algorithm to improve convergence behavior.

Definition at line 265 of file nonlin_optimize.f90.

Member Function/Subroutine Documentation

◆ get_line_search()

procedure, public nonlin_optimize::line_search_optimizer::get_line_search

Gets the line search module.

Syntax
subroutine get_line_search(class(line_search_optimizer) this, allocatable class(line_search) ls)
Parameters
[in]thisThe line_search_optimizer object.
[out]lsThe line_search object.

Definition at line 284 of file nonlin_optimize.f90.

◆ get_use_line_search()

procedure, public nonlin_optimize::line_search_optimizer::get_use_line_search

Gets a value determining if a line-search should be employed.

Syntax
pure logical get_use_line_search(class(line_search_optimizer) this)
Parameters
[in]thisThe line_search_optimizer object.
Returns
Returns true if a line search should be used; else, false.

Definition at line 325 of file nonlin_optimize.f90.

◆ get_var_tolerance()

procedure, public nonlin_optimize::line_search_optimizer::get_var_tolerance

Gets the convergence on change in variable tolerance.

Syntax
pure real(real64) function get_var_tolerance(class(line_search_optimizer) this)
Parameters
[in]thisThe line_search_optimizer object.
Returns
The tolerance value.

Definition at line 345 of file nonlin_optimize.f90.

◆ is_line_search_defined()

procedure, public nonlin_optimize::line_search_optimizer::is_line_search_defined

Tests to see if a line search module is defined.

Syntax
pure logical function is_line_search_defined(class(line_search_optimizer) this)
Parameters
[in]thisThe line_search_optimizer object.
Returns
Returns true if a module is defined; else, false.

Definition at line 314 of file nonlin_optimize.f90.

◆ set_default_line_search()

procedure, public nonlin_optimize::line_search_optimizer::set_default_line_search

Establishes a default line_search object for the line search module.

Syntax
subroutine set_default_line_search(class(line_search_optimizer) this)
Parameters
[in,out]thisThe line_search_optimizer object.

Definition at line 304 of file nonlin_optimize.f90.

◆ set_line_search()

procedure, public nonlin_optimize::line_search_optimizer::set_line_search

Sets the line search module.

Syntax
subroutine set_line_search(class(line_search_optimizer) this, class(line_search) ls)
Parameters
[in,out]thisThe line_search_optimizer object.
[in]lsThe line_search object.

Definition at line 294 of file nonlin_optimize.f90.

◆ set_use_line_search()

procedure, public nonlin_optimize::line_search_optimizer::set_use_line_search

Sets a value determining if a line-search should be employed.

Syntax
subroutine set_use_line_search(class(line_search_optimizer) this, logical x)
Parameters
[in,out]thisThe line_search_optimizer object.
[in]xSet to true if a line search should be used; else, false.

Definition at line 335 of file nonlin_optimize.f90.

◆ set_var_tolerance()

procedure, public nonlin_optimize::line_search_optimizer::set_var_tolerance

Sets the convergence on change in variable tolerance.

Syntax
subroutine set_var_tolerance(class(line_search_optimizer) this, real(real64) x)
Parameters
[in,out]thisThe line_search_optimizer object.
[in]xThe tolerance value.

Definition at line 355 of file nonlin_optimize.f90.

Member Data Documentation

◆ m_linesearch

class(line_search), allocatable nonlin_optimize::line_search_optimizer::m_linesearch
private

The line search object.

Definition at line 268 of file nonlin_optimize.f90.

◆ m_uselinesearch

logical nonlin_optimize::line_search_optimizer::m_uselinesearch = .true.

Set to true if a line search should be used regardless of the status of m_lineSearch.

Definition at line 271 of file nonlin_optimize.f90.

◆ m_xtol

real(real64) nonlin_optimize::line_search_optimizer::m_xtol = 1.0d-12

The convergence criteria on change in variable.

Definition at line 273 of file nonlin_optimize.f90.


The documentation for this type was generated from the following file: