| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(settings_type), | intent(inout) | :: | settings | |||
| type(w90_calculation_type), | intent(inout) | :: | w90_calculation | |||
| character(len=*), | intent(in) | :: | seedname | |||
| type(w90_error_type), | intent(out), | allocatable | :: | error | ||
| type(w90_comm_type), | intent(in) | :: | comm |
subroutine w90_wannier90_readwrite_read_restart(settings, w90_calculation, seedname, error, comm) !================================================! use w90_error, only: w90_error_type implicit none character(len=*), intent(in) :: seedname type(settings_type), intent(inout) :: settings type(w90_calculation_type), intent(inout) :: w90_calculation type(w90_comm_type), intent(in) :: comm type(w90_error_type), allocatable, intent(out) :: error logical :: found, chk_found call w90_readwrite_get_keyword(settings, 'restart', found, error, comm, & c_value=w90_calculation%restart) if (allocated(error)) return if (found) then if ((w90_calculation%restart .ne. 'default') .and. (w90_calculation%restart .ne. 'wannierise') & .and. (w90_calculation%restart .ne. 'plot') .and. (w90_calculation%restart .ne. 'transport')) then call set_error_input(error, 'Error in input file: value of restart not recognised', comm) return else inquire (file=trim(seedname)//'.chk', exist=chk_found) if (.not. chk_found) then call set_error_file(error, 'Error: restart requested but '//trim(seedname)//'.chk file not found', comm) return end if end if end if !post processing takes priority (user is not warned of this) if (w90_calculation%postproc_setup) w90_calculation%restart = ' ' end subroutine w90_wannier90_readwrite_read_restart