kmesh_spacing_mesh Function

private function kmesh_spacing_mesh(mesh, recip_lattice)

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

Arguments

Type IntentOptional Attributes Name
integer, intent(in), dimension(3) :: mesh
real(kind=dp), intent(in) :: recip_lattice(3,3)

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~berry_get_kubo_k berry_get_kubo_k proc~berry_get_kubo_k->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~dos_get_levelspacing dos_get_levelspacing proc~dos_get_levelspacing->interface~pw90common_kmesh_spacing proc~berry_main berry_main proc~berry_main->proc~berry_get_kubo_k proc~berry_main->proc~berry_get_sc_klist proc~berry_main->proc~berry_get_shc_klist proc~calctdfanddos calcTDFandDOS proc~calctdfanddos->proc~dos_get_levelspacing proc~dos_main dos_main proc~dos_main->proc~dos_get_levelspacing proc~k_path k_path proc~k_path->proc~berry_get_shc_klist proc~k_slice k_slice proc~k_slice->proc~berry_get_shc_klist proc~boltzwann_main boltzwann_main proc~boltzwann_main->proc~calctdfanddos program~postw90 postw90 program~postw90->proc~berry_main program~postw90->proc~dos_main program~postw90->proc~k_path program~postw90->proc~k_slice program~postw90->proc~boltzwann_main

Source Code

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

    integer, dimension(3), intent(in) :: mesh
    real(kind=dp), intent(in) :: recip_lattice(3, 3)
    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