tetrahedron_P_matrix_init Subroutine

public subroutine tetrahedron_P_matrix_init(P_matrix)

Uses

  • proc~~tetrahedron_p_matrix_init~~UsesGraph proc~tetrahedron_p_matrix_init tetrahedron_P_matrix_init module~w90_constants w90_constants proc~tetrahedron_p_matrix_init->module~w90_constants

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(inout), dimension(4, 20) :: P_matrix

Called by

proc~~tetrahedron_p_matrix_init~~CalledByGraph proc~tetrahedron_p_matrix_init tetrahedron_P_matrix_init proc~berry_main berry_main proc~berry_main->proc~tetrahedron_p_matrix_init program~postw90 postw90 program~postw90->proc~berry_main

Source Code

  subroutine tetrahedron_P_matrix_init(P_matrix)

    use w90_constants, only: dp

    implicit none

    real(kind=dp), dimension(4, 20), intent(inout) :: P_matrix

    ! correction, Kawamura PRB 89 094515
    P_matrix(1, 1:4) = real((/1440, 0, 30, 0/), dp)
    P_matrix(2, 1:4) = real((/0, 1440, 0, 30/), dp)
    P_matrix(3, 1:4) = real((/30, 0, 1440, 0/), dp)
    P_matrix(4, 1:4) = real((/0, 30, 0, 1440/), dp)
    !
    P_matrix(1, 5:8) = real((/-38, 7, 17, -28/), dp)
    P_matrix(2, 5:8) = real((/-28, -38, 7, 17/), dp)
    P_matrix(3, 5:8) = real((/17, -28, -38, 7/), dp)
    P_matrix(4, 5:8) = real((/7, 17, -28, -38/), dp)
    !
    P_matrix(1, 9:12) = real((/-56, 9, -46, 9/), dp)
    P_matrix(2, 9:12) = real((/9, -56, 9, -46/), dp)
    P_matrix(3, 9:12) = real((/-46, 9, -56, 9/), dp)
    P_matrix(4, 9:12) = real((/9, -46, 9, -56/), dp)
    !
    P_matrix(1, 13:16) = real((/-38, -28, 17, 7/), dp)
    P_matrix(2, 13:16) = real((/7, -38, -28, 17/), dp)
    P_matrix(3, 13:16) = real((/17, 7, -38, -28/), dp)
    P_matrix(4, 13:16) = real((/-28, 17, 7, -38/), dp)
    !
    P_matrix(1, 17:20) = real((/-18, -18, 12, -18/), dp)
    P_matrix(2, 17:20) = real((/-18, -18, -18, 12/), dp)
    P_matrix(3, 17:20) = real((/12, -18, -18, -18/), dp)
    P_matrix(4, 17:20) = real((/-18, 12, -18, -18/), dp)
    !
    P_matrix(1:4, 1:20) = P_matrix(1:4, 1:20)/1260.0_dp

  end subroutine tetrahedron_P_matrix_init