| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(settings_type), | intent(inout) | :: | settings | |||
| type(fermi_surface_plot_type), | intent(inout) | :: | fermi_surface_data | |||
| logical, | intent(in) | :: | fermi_surface_plot | |||
| type(w90_error_type), | intent(out), | allocatable | :: | error | ||
| type(w90_comm_type), | intent(in) | :: | comm |
subroutine w90_wannier90_readwrite_read_fermi_surface(settings, fermi_surface_data, & fermi_surface_plot, error, comm) !================================================! use w90_error, only: w90_error_type implicit none logical, intent(in) :: fermi_surface_plot type(fermi_surface_plot_type), intent(inout) :: fermi_surface_data type(settings_type), intent(inout) :: settings type(w90_comm_type), intent(in) :: comm type(w90_error_type), allocatable, intent(out) :: error logical :: found call w90_readwrite_get_keyword(settings, 'fermi_surface_num_points', found, error, comm, & i_value=fermi_surface_data%num_points) if (allocated(error)) return call w90_readwrite_get_keyword(settings, 'fermi_surface_plot_format', found, error, comm, & c_value=fermi_surface_data%plot_format) if (allocated(error)) return if (fermi_surface_plot) then if ((index(fermi_surface_data%plot_format, 'xcrys') .eq. 0)) then call set_error_input(error, 'Error: fermi_surface_plot_format not recognised', comm) return end if if (fermi_surface_data%num_points < 0) then call set_error_input(error, 'Error: fermi_surface_num_points must be positive', comm) return end if end if end subroutine w90_wannier90_readwrite_read_fermi_surface