w90_readwrite_read_gamma_only Subroutine

public subroutine w90_readwrite_read_gamma_only(settings, gamma_only, num_kpts, error, comm)

Uses

  • proc~~w90_readwrite_read_gamma_only~~UsesGraph proc~w90_readwrite_read_gamma_only w90_readwrite_read_gamma_only module~w90_error w90_error proc~w90_readwrite_read_gamma_only->module~w90_error module~w90_comms w90_comms module~w90_error->module~w90_comms module~w90_error_base w90_error_base module~w90_error->module~w90_error_base module~w90_comms->module~w90_error_base module~w90_constants w90_constants module~w90_comms->module~w90_constants

Reads the flag for Gamma-only mode ("gamma_only")

Arguments

Type IntentOptional Attributes Name
type(settings_type), intent(inout) :: settings
logical, intent(inout) :: gamma_only
integer, intent(in) :: num_kpts
type(w90_error_type), intent(out), allocatable :: error
type(w90_comm_type), intent(in) :: comm

Calls

proc~~w90_readwrite_read_gamma_only~~CallsGraph proc~w90_readwrite_read_gamma_only w90_readwrite_read_gamma_only proc~set_error_input set_error_input proc~w90_readwrite_read_gamma_only->proc~set_error_input proc~w90_readwrite_get_keyword w90_readwrite_get_keyword proc~w90_readwrite_read_gamma_only->proc~w90_readwrite_get_keyword proc~comms_sync_error comms_sync_error proc~set_error_input->proc~comms_sync_error proc~set_base_error set_base_error proc~set_error_input->proc~set_base_error proc~w90_readwrite_get_keyword->proc~set_error_input proc~set_error_fatal set_error_fatal proc~w90_readwrite_get_keyword->proc~set_error_fatal proc~set_error_fatal->proc~comms_sync_error proc~set_error_fatal->proc~set_base_error

Called by

proc~~w90_readwrite_read_gamma_only~~CalledByGraph proc~w90_readwrite_read_gamma_only w90_readwrite_read_gamma_only proc~w90_postw90_readwrite_read w90_postw90_readwrite_read proc~w90_postw90_readwrite_read->proc~w90_readwrite_read_gamma_only proc~w90_wannier90_readwrite_read w90_wannier90_readwrite_read proc~w90_wannier90_readwrite_read->proc~w90_readwrite_read_gamma_only proc~w90_input_reader~2 w90_input_reader proc~w90_input_reader~2->proc~w90_wannier90_readwrite_read proc~w90_input_setopt w90_input_setopt proc~w90_input_setopt->proc~w90_wannier90_readwrite_read program~postw90 postw90 program~postw90->proc~w90_postw90_readwrite_read proc~w90_input_reader w90_input_reader proc~w90_input_reader->proc~w90_input_reader~2 proc~w90_input_setopt_f w90_input_setopt_f proc~w90_input_setopt_f->proc~w90_input_setopt program~wannier wannier program~wannier->proc~w90_input_reader~2

Source Code

  subroutine w90_readwrite_read_gamma_only(settings, gamma_only, num_kpts, error, comm)
    !! Reads the flag for Gamma-only mode ("gamma_only")
    use w90_error, only: w90_error_type, set_error_input
    implicit none

    integer, intent(in) :: num_kpts
    logical, intent(inout) :: gamma_only
    type(settings_type), intent(inout) :: settings
    type(w90_comm_type), intent(in) :: comm
    type(w90_error_type), allocatable, intent(out) :: error

    logical :: found, ltmp

    ltmp = .false.
    gamma_only = .false.

    call w90_readwrite_get_keyword(settings, 'gamma_only', found, error, comm, l_value=ltmp)
    if (allocated(error)) return

    if (found) gamma_only = ltmp

    if (gamma_only .and. (num_kpts .ne. 1)) then
      call set_error_input(error, 'Error: gamma_only is true, but num_kpts > 1', comm)
      return
    end if
  end subroutine w90_readwrite_read_gamma_only