kmesh_spacing_mesh Function

private function kmesh_spacing_mesh(mesh)

Uses

  • proc~~kmesh_spacing_mesh~~UsesGraph proc~kmesh_spacing_mesh kmesh_spacing_mesh module~w90_parameters w90_parameters proc~kmesh_spacing_mesh->module~w90_parameters module~w90_constants w90_constants module~w90_parameters->module~w90_constants module~w90_io w90_io module~w90_parameters->module~w90_io module~w90_io->module~w90_constants

Same as kmesh_spacing_singleinteger, but for a kmesh with three different mesh samplings along the three directions

Arguments

Type IntentOptional AttributesName
integer, intent(in), dimension(3):: mesh

Return Value real(kind=dp)


Called by

proc~~kmesh_spacing_mesh~~CalledByGraph proc~kmesh_spacing_mesh kmesh_spacing_mesh interface~pw90common_kmesh_spacing pw90common_kmesh_spacing interface~pw90common_kmesh_spacing->proc~kmesh_spacing_mesh proc~dos_get_levelspacing dos_get_levelspacing proc~dos_get_levelspacing->interface~pw90common_kmesh_spacing proc~berry_get_sc_klist berry_get_sc_klist proc~berry_get_sc_klist->interface~pw90common_kmesh_spacing proc~berry_get_shc_klist berry_get_shc_klist proc~berry_get_shc_klist->interface~pw90common_kmesh_spacing proc~berry_get_kubo_k berry_get_kubo_k proc~berry_get_kubo_k->interface~pw90common_kmesh_spacing proc~calctdfanddos calcTDFandDOS proc~calctdfanddos->proc~dos_get_levelspacing proc~dos_main dos_main proc~dos_main->proc~dos_get_levelspacing proc~k_slice k_slice proc~k_slice->proc~berry_get_shc_klist proc~k_path k_path proc~k_path->proc~berry_get_shc_klist proc~berry_main berry_main proc~berry_main->proc~berry_get_sc_klist proc~berry_main->proc~berry_get_shc_klist proc~berry_main->proc~berry_get_kubo_k proc~boltzwann_main boltzwann_main proc~boltzwann_main->proc~calctdfanddos

Contents

Source Code


Source Code

  function kmesh_spacing_mesh(mesh)
    !! Same as kmesh_spacing_singleinteger, but for a kmesh with three
    !! different mesh samplings along the three directions
    use w90_parameters, only: recip_lattice

    integer, dimension(3), intent(in) :: mesh
    real(kind=dp)                     :: kmesh_spacing_mesh

    integer        :: i
    real(kind=dp) :: Delta_k_i(3)

    do i = 1, 3
      Delta_k_i(i) = sqrt(dot_product(recip_lattice(i, :), recip_lattice(i, :))) &
                     /mesh(i)
    end do
    kmesh_spacing_mesh = maxval(Delta_k_i)

  end function kmesh_spacing_mesh