Abstract interface to define tolerance scheduler for the Newton iteration
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(out) | :: | tol |
Tolerance to be used |
||
real(kind=dp), | intent(in) | :: | target_tol |
Target tolerance |
||
real(kind=dp), | intent(in) | :: | rnorm |
Norm of the residual of the current iterate |
||
integer, | intent(in) | :: | iter |
Newton iteration count |
||
integer, | intent(out) | :: | info |
Information flag |
subroutine constant_atol_dp(tol, target_tol, rnorm, iter, info) !! Abstract interface to define tolerance scheduler for the Newton iteration real(dp), intent(out) :: tol !! Tolerance to be used real(dp), intent(in) :: target_tol !! Target tolerance real(dp), intent(in) :: rnorm !! Norm of the residual of the current iterate integer, intent(in) :: iter !! Newton iteration count integer, intent(out) :: info !! Information flag character(len=256) :: msg tol = target_tol write(msg,'(A,E9.2)') 'Solver tolerance set to tol= ', tol call logger%log_information(msg, module=this_module, procedure='constant_atol_dp') return end subroutine constant_atol_dp