set_status Subroutine

private subroutine set_status(me, istat, string, i, r)

Set status flag and message.

Type Bound

nlesolver_type

Arguments

Type IntentOptional Attributes Name
class(nlesolver_type), intent(inout) :: me
integer, intent(in) :: istat

status code

character(len=*), intent(in) :: string

status message

integer, intent(in), optional :: i

an integer value to append

real(kind=wp), intent(in), optional :: r

a real value to append


Calls

proc~~set_status~~CallsGraph proc~set_status nlesolver_type%set_status proc~int2str int2str proc~set_status->proc~int2str proc~real2str real2str proc~set_status->proc~real2str

Called by

proc~~set_status~~CalledByGraph proc~set_status nlesolver_type%set_status proc~adjust_search_direction nlesolver_type%adjust_search_direction proc~adjust_search_direction->proc~set_status proc~initialize_nlesolver_variables nlesolver_type%initialize_nlesolver_variables proc~initialize_nlesolver_variables->proc~set_status proc~nlesolver_solver nlesolver_type%nlesolver_solver proc~nlesolver_solver->proc~set_status proc~backtracking_linesearch backtracking_linesearch proc~backtracking_linesearch->proc~adjust_search_direction proc~exact_linesearch exact_linesearch proc~exact_linesearch->proc~adjust_search_direction proc~fixed_point_linesearch fixed_point_linesearch proc~fixed_point_linesearch->proc~adjust_search_direction proc~simple_step simple_step proc~simple_step->proc~adjust_search_direction

Source Code

    subroutine set_status(me,istat,string,i,r)

    implicit none

    class(nlesolver_type),intent(inout) :: me
    integer,intent(in)                  :: istat   !! status code
    character(len=*),intent(in)         :: string  !! status message
    integer,intent(in),optional         :: i       !! an integer value to append
    real(wp),intent(in),optional        :: r       !! a real value to append

    character(len=:),allocatable :: message !! the full message to log
    integer :: iostat !! write `iostat` code

    message = trim(string)
    if (present(i)) message = message//' '//int2str(i)
    if (present(r)) message = message//' '//real2str(r)

    if (me%verbose)  write(me%iunit,'(A)',iostat=iostat) message

    ! store in the class:
    me%istat = istat
    me%message = message

    end subroutine set_status