get_centre_constraint_from_column Subroutine

private subroutine get_centre_constraint_from_column(column, start, finish, wann, dummy, ccentres_frac, error, comm)

Uses

  • proc~~get_centre_constraint_from_column~~UsesGraph proc~get_centre_constraint_from_column get_centre_constraint_from_column module~w90_error w90_error proc~get_centre_constraint_from_column->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

assigns value read to constraint parameters based on column

Arguments

Type IntentOptional Attributes Name
integer, intent(inout) :: column
integer, intent(inout) :: start
integer, intent(inout) :: finish
integer, intent(inout) :: wann
character(len=maxlen), intent(inout) :: dummy
real(kind=dp), intent(inout) :: ccentres_frac(:,:)
type(w90_error_type), intent(out), allocatable :: error
type(w90_comm_type), intent(in) :: comm

Calls

proc~~get_centre_constraint_from_column~~CallsGraph proc~get_centre_constraint_from_column get_centre_constraint_from_column proc~set_error_input set_error_input proc~get_centre_constraint_from_column->proc~set_error_input 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

Called by

proc~~get_centre_constraint_from_column~~CalledByGraph proc~get_centre_constraint_from_column get_centre_constraint_from_column proc~w90_readwrite_get_centre_constraints w90_readwrite_get_centre_constraints proc~w90_readwrite_get_centre_constraints->proc~get_centre_constraint_from_column proc~w90_wannier90_readwrite_read_constrained_centres w90_wannier90_readwrite_read_constrained_centres proc~w90_wannier90_readwrite_read_constrained_centres->proc~w90_readwrite_get_centre_constraints proc~w90_wannier90_readwrite_read w90_wannier90_readwrite_read proc~w90_wannier90_readwrite_read->proc~w90_wannier90_readwrite_read_constrained_centres 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 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 get_centre_constraint_from_column(column, start, finish, wann, dummy, ccentres_frac, &
                                               error, comm)
    !================================================!
    !
    !!  assigns value read to constraint
    !!  parameters based on column
    !
    !================================================!
    use w90_error, only: w90_error_type, set_error_input
    implicit none
    integer, intent(inout):: column, start, finish, wann
    character(len=maxlen), intent(inout):: dummy
    real(kind=dp), intent(inout) :: ccentres_frac(:, :)
    type(w90_error_type), allocatable, intent(out) :: error
    type(w90_comm_type), intent(in) :: comm

    if (column == 0) then
      read (dummy(start:finish), '(i3)') wann
    end if
    if (column > 0) then
      if (column > 4) then
        call set_error_input(error, "Didn't expect anything else after Lagrange multiplier", comm)
        return
      end if
      if (column < 4) read (dummy(start:finish), '(f10.10)') ccentres_frac(wann, column)
    end if
    column = column + 1
  end subroutine get_centre_constraint_from_column