MsSpec-DFM/New_libraries/DFM_library/LANDAU_PARAMETERS_LIBRARY/landau.f90

938 lines
33 KiB
Fortran

!
!=======================================================================
!
MODULE LANDAU_PARAM
!
! This module provides the standard dimensionless Landau parameters
!
USE ACCURACY_REAL
!
CONTAINS
!
!
!=======================================================================
!
SUBROUTINE LANDAU_PARAMETERS_3D(X,XC,U0,W,D,RS,LANDAU, &
F0S,F0A,F1S,F1A,F2S,F2A)
!
! This subroutine computes the standard dimensionless Landau parameters
! as a function of the Hubbard-like bare coupling constant, or the
! hard-sphere radius, in the 3D case
!
!
! Input parameters:
!
! * X : dimensionless factor --> X = q / (2 * k_F)
! * XC : dimensionless cut-off --> XC = q_c / (2 * k_F)
! * U0 / A : bare interaction constant / hard sphere radius (in SI)
! * W : half bandwidth for bare particle (ref. 7)
! * D : filling (dopant concentration) in ref. 7
! * RS : Wigner-Seitz radius (in units of a_0)
! * LANDAU : model chosen for the calculation of the parameters
! LANDAU = 'ANBR' Anderson-Brinkman model
! LANDAU = 'CHEN' Chen's approach
! LANDAU = 'GUTZ' Gutzwiller model
! LANDAU = 'GVYO' Giuliani-Vignale parametrization of
! LANDAU = 'IWPI' Iwamoto-Pines model (hard-sphere)
! Yasuhara-Ousaka approach
! LANDAU = 'RASC' Rayleigh-Schrödinger expansion
! LANDAU = 'SBOH' slave-boson one-band Hubbard model
!
!
! Output parameters:
!
! * F0S,F0A,F1S,F1A,F2S,F2A
!
!
! Author : D. Sébilleau
!
! Last modified : 5 Jun 2020
!
IMPLICIT NONE
!
CHARACTER (LEN = 4) :: LANDAU
!
REAL (WP) :: X,XC,U0,A,W,D,RS
REAL (WP) :: F0S,F0A,F1S,F1A,F2S,F2A
!
IF(LANDAU == 'ANBR') THEN !
!
CALL ANBR_LP_3D(U0,F0S,F0A,F1S,F1A,F2S,F2A) !
!
ELSE IF(LANDAU == 'CHEN') THEN !
!
CALL CHEN_LP_3D(U0,F0S,F0A,F1S,F1A,F2S,F2A) !
!
ELSE IF(LANDAU == 'GUTZ') THEN !
!
CALL GUTZ_LP_3D(U0,F0S,F0A,F1S,F1A,F2S,F2A) !
!
ELSE IF(LANDAU == 'GVYO') THEN !
!
CALL GVYO_LP_3D(RS,F0S,F0A,F1S,F1A,F2S,F2A) !
!
ELSE IF(LANDAU == 'IWPI') THEN !
!
A=U0 !
CALL IPWI_LP_3D(A,F0S,F0A,F1S,F1A,F2S,F2A) !
!
ELSE IF(LANDAU == 'RASC') THEN !
!
CALL RASC_LP_3D(X,XC,U0,F0S,F0A,F1S,F1A,F2S,F2A) !
!
ELSE IF(LANDAU == 'SBOH') THEN !
!
CALL SBOH_LP_3D(U0,W,D,F0S,F0A,F1S,F1A,F2S,F2A) !
!
END IF !
!
END SUBROUTINE LANDAU_PARAMETERS_3D
!
!=======================================================================
!
SUBROUTINE LANDAU_PARAMETERS_2D(RS,LANDAU,X,IX, &
F0S,F0A,F1S,F1A,F2S,F2A)
!
! This subroutine computes the standard dimensionless Landau parameters
! in the 2D case.
!
!
! Input parameters:
!
! * RS : Wigner-Seitz radius (in units of a_0)
! * LANDAU : model chosen for the calculation of the parameters
! LANDAU = 'ERZA' Engelbrecht-Randeria-Zhang approach
! LANDAU = 'GVYO' Giuliani-Vignale parametrization of
! Yasuhara-Ousaka approach
! LANDAU = 'KCMP' Kwoon-Ceperley-Martin parametrization
! * X : either MU or EG (for 'ERZA' only)
! * IX : switch for input value X (for 'ERZA' only)
! IX = 1 --> X = chemical potential MU in SI
! IX = 2 --> X = ground state energy EG in SI
!
!
! Output parameters:
!
! * F0S,F0A,F1S,F1A,F2S,F2A
!
!
! Author : D. Sébilleau
!
! Last modified : 5 Jun 2020
!
IMPLICIT NONE
!
CHARACTER (LEN = 4) :: LANDAU
!
REAL (WP) :: RS,X,G
REAL (WP) :: F0S,F0A,F1S,F1A,F2S,F2A
!
INTEGER :: IX
!
IF(LANDAU == 'ERZA') THEN !
!
CALL ERZA_LP_2D(X,IX,F0S,F0A,F1S,F1A,F2S,F2A) !
!
ELSE IF(LANDAU == 'GVYO') THEN !
!
CALL GVYO_LP_2D(RS,F0S,F0A,F1S,F1A,F2S,F2A) !
!
ELSE IF(LANDAU == 'KCMP') THEN !
!
CALL KCMP_LP_2D(RS,F0S,F0A,F1S,F1A,F2S,F2A) !
!
END IF !
!
END SUBROUTINE LANDAU_PARAMETERS_2D
!
!=======================================================================
!
SUBROUTINE ANBR_LP_3D(U0,F0S,F0A,F1S,F1A,F2S,F2A)
!
! This subroutine computes the standard dimensionless Landau parameters
! for the Anderson-Brinkman model in the 3D case
!
! References: (1) D. Volhardt, Rev. Mod. Phys. 58, 99-120 (1984)
!
!
! Input parameters:
!
! * U0 : bare interaction constant
!
!
! Output parameters:
!
! * F0S,F0A,F1S,F1A,F2S,F2A
!
!
! Author : D. Sébilleau
!
! Last modified : 5 Jun 2020
!
!
USE REAL_NUMBERS, ONLY : ZERO,ONE,TWO,THREE,EIGHT,FOURTH
USE CONSTANTS_P1, ONLY : H_BAR,M_E
USE FERMI_SI, ONLY : EF_SI,KF_SI
USE PI_ETC, ONLY : PI2
!
IMPLICIT NONE
!
REAL (WP) :: U0,UC,XU
REAL (WP) :: NF_SI
REAL (WP) :: F0S,F0A,F1S,F1A,F2S,F2A
!
! Initialization
!
F0S=ZERO !
F0A=ZERO !
F1S=ZERO !
F1A=ZERO !
F2S=ZERO !
F2A=ZERO !
!
NF_SI=M_E*KF_SI/(PI2*H_BAR*H_BAR) ! n(E_F) in SI
!
! Cut-off interaction
!
UC=EIGHT*EF_SI !
XU=U0/UC !
!
F1S=THREE*(ONE/(ONE-XU*XU)) - ONE ! ref. (1) eq. (24)
F0A=-FOURTH*NF_SI*U0*(TWO+XU)/((ONE*XU)*(ONE*XU)) ! ref. (41) eq. (25)
!
END SUBROUTINE ANBR_LP_3D
!
!=======================================================================
!
SUBROUTINE CHEN_LP_3D(U0,F0S,F0A,F1S,F1A,F2S,F2A)
!
! This subroutine computes the standard dimensionless Landau parameters
! in Chen's approach, in the 3D case
!
! References: (1) V. A. Belyakov, Soviet Phys. JETP 13, 850-851 (1961)
! (2) J.-S. Chen, J. Stat. Mech. L08002 (2009)
!
!
!
! Input parameters:
!
! * U0 : bare interaction constant
!
!
! Output parameters:
!
! * F0S,F0A,F1S,F1A,F2S,F2A
!
!
! Author : D. Sébilleau
!
! Last modified : 5 Jun 2020
!
!
USE REAL_NUMBERS, ONLY : ZERO,ONE,TWO,THREE,FOUR,EIGHT, &
NINE,THIRD,FOURTH
USE CONSTANTS_P1, ONLY : H_BAR,M_E
USE FERMI_SI, ONLY : KF_SI
USE PI_ETC, ONLY : PI,PI_INV
!
IMPLICIT NONE
!
REAL (WP) :: U0
REAL (WP) :: A,AKF,P2AKF
REAL (WP) :: F0S,F0A,F1S,F1A,F2S,F2A
!
! Initialization
!
F0S=ZERO !
F0A=ZERO !
F1S=ZERO !
F1A=ZERO !
F2S=ZERO !
F2A=ZERO !
!
! Scattering amplitude from Fermi pseudopotential
!
A= FOURTH*PI_INV*U0 * (M_E/(H_BAR*H_BAR)) ! ref. 1 eq. (3)
!
AKF=A*KF_SI !
P2AKF=PI-TWO * AKF !
!
F1S=FOUR*AKF*AKF/(THREE * P2AKF**2) ! ref. (2) eq. (28)
F0S=(ONE+THIRD*F1S)*(ONE + TWO*AKF/P2AKF + & !
20.0E0_WP*AKF*AKF/(NINE*P2AKF*P2AKF) + & ! ref. (2) eq. (25)
EIGHT*AKF*AKF*AKF/(NINE*(P2AKF**3))) !
!
END SUBROUTINE CHEN_LP_3D
!
!=======================================================================
!
SUBROUTINE ERZA_LP_2D(X,IX,F0S,F0A,F1S,F1A,F2S,F2A)
!
! This subroutine computes the standard dimensionless Landau parameters
! in the 2D case.
!
! References: (1) J. R. Engelbrecht, M. Randeria and L. Zhang,
! Phys. Rev. B 45, 10135-10138 (1992)
!
!
! Input parameters:
!
! * X : either MU or EG
! * IX : switch for input value X
! IX = 1 --> X = chemical potential MU in SI
! IX = 2 --> X = ground state energy EG in SI
!
! Intermediate parameters:
!
! * G : low-density expansion parameter (ref. 1)
!
!
! Output parameters:
!
! * F0S,F0A,F1S,F1A,F2S,F2A
!
!
! Author : D. Sébilleau
!
! Last modified : 5 Jun 2020
!
!
USE REAL_NUMBERS, ONLY : ZERO,TWO,FOUR
!
IMPLICIT NONE
!
INTEGER :: IX
!
REAL (WP) :: X,G
REAL (WP) :: LN2
REAL (WP) :: F0S,F0A,F1S,F1A,F2S,F2A
!
LN2=DLOG(TWO) !
!
! Initialization
!
F0S=ZERO !
F0A=ZERO !
F1S=ZERO !
F1A=ZERO !
F2S=ZERO !
F2A=ZERO !
!
! Computing the expansion parameter G
!
CALL MU_EG_TO_G(X,IX,G) !
!
F0S=TWO*G+FOUR*G*G*(TWO-LN2) !
F0A=-FOUR*G*G*LN2 !
F1S= TWO*G*G !
F1A=- TWO*G*G !
!
END SUBROUTINE ERZA_LP_2D
!
!=======================================================================
!
SUBROUTINE MU_EG_TO_G(X,IX,G)
!
! This subroutine computes the low-density expansion parameter g
! from the knowledge of either the chemical potential mu or
! from the ground state energy EG
!
! References: (1) J. R. Engelbrecht, M. Randeria and L. Zhang,
! Phys. Rev. B 45, 10135-10138 (1992)
!
!
! Input parameters:
!
! * X : either MU or EG
! * IX : switch for input value X
! IX = 1 --> X = chemical potential MU in SI
! IX = 2 --> X = ground state energy EG in SI
!
!
! Output parameters:
!
! * G : low-density expansion parameter (ref. 1)
!
!
! Author : D. Sébilleau
!
! Last modified : 5 Jun 2020
!
!
USE REAL_NUMBERS, ONLY : ONE,TWO,THREE,FOUR
USE FERMI_SI, ONLY : EF_SI
USE POLYNOMIAL_EQ, ONLY : QUADRATIC_EQUATION,CHECK_ROOTS2
!
IMPLICIT NONE
!
INTEGER :: IX
!
REAL (WP) :: X,G
REAL (WP) :: MU,EG
REAL (WP) :: LN2
!
COMPLEX (WP) :: AA,BB,CC
COMPLEX (WP) :: X1,X2
!
LN2=DLOG(TWO) !
!
IF(IX == 1) THEN !
!
MU=X !
!
AA=DCMPLX(FOUR*(ONE-LN2)) !
BB=DCMPLX(TWO) !
CC=DCMPLX(ONE-MU/EF_SI) !
!
CALL QUADRATIC_EQUATION(AA,BB,CC,X1,X2) !
!
CALL CHECK_ROOTS2(X1,X2,G) !
!
ELSE IF(IX == 2) THEN !
!
EG=X !
!
AA=DCMPLX(THREE-FOUR*LN2) !
BB=DCMPLX(TWO) !
CC=DCMPLX(ONE-TWO*EG/EF_SI) !
!
CALL QUADRATIC_EQUATION(AA,BB,CC,X1,X2) !
!
CALL CHECK_ROOTS2(X1,X2,G) !
!
END IF !
!
END SUBROUTINE MU_EG_TO_G
!
!=======================================================================
!
SUBROUTINE GUTZ_LP_3D(U0,F0S,F0A,F1S,F1A,F2S,F2A)
!
! This subroutine computes the standard dimensionless Landau parameters
! for the Gutzwiller approach, in the 3D case
!
! References: (1) D. Volhardt, Rev. Mod. Phys. 58, 99-120 (1984)
!
!
!
! Input parameters:
!
! * U0 : bare interaction constant
!
!
! Output parameters:
!
! * F0S,F0A,F1S,F1A,F2S,F2A
!
!
! Author : D. Sébilleau
!
! Last modified : 5 Jun 2020
!
!
USE REAL_NUMBERS, ONLY : ZERO,ONE,TWO,THREE,FOUR,EIGHT, &
THIRD,FOURTH
USE CONSTANTS_P1, ONLY : H_BAR,M_E
USE FERMI_SI, ONLY : EF_SI,KF_SI
USE PI_ETC, ONLY : PI2
!
IMPLICIT NONE
!
REAL (WP) :: U0,UC,XU
REAL (WP) :: NF_SI,P,I,AA,BB
REAL (WP) :: NUM,DEN
REAL (WP) :: F0S,F0A,F1S,F1A,F2S,F2A
!
! Initialization
!
F0S=ZERO !
F0A=ZERO !
F1S=ZERO !
F1A=ZERO !
F2S=ZERO !
F2A=ZERO !
!
NF_SI=M_E*KF_SI/(PI2*H_BAR*H_BAR) ! n(E_F) in SI
!
! Cut-off interaction
!
UC=EIGHT*EF_SI !
XU=U0/UC !
!
P=FOURTH*UC*NF_SI !
I=XU !
AA=-ONE + (FOUR - I*I)*(ONE - P) !
BB=( ONE + I*I*(ONE-P) )**2 !
NUM=BB + TWO*THIRD*P*AA !
DEN=BB*(ONE+I*I) + TWO*THIRD*P*AA !
!
F0A=-P*(ONE - ONE/((ONE+I)*(ONE+I))) ! ref. (1) eq. (50)
F0S= P*(ONE/((ONE+I)*(ONE+I) - ONE) ) ! ref. (1) eq. (54)
F1A=-THREE*I*I * NUM/DEN ! ref. (1) eq. (71)
!
END SUBROUTINE GUTZ_LP_3D
!
!=======================================================================
!
SUBROUTINE GVYO_LP_3D(RS,F0S,F0A,F1S,F1A,F2S,F2A)
!
! This subroutine computes the Yasuhara-Ousaka
! parametrization of Landau parameters F0s,F0a,
! F1s,F1a,F2s,F2a.
!
! We use a 4-degree polynomial to fit the data of
! table 8.1 and table 8.6 of reference (1)
!
! Input parameters:
!
! * RS : Wigner-Seitz radius (in units of a_0)
!
! Output parameters:
!
! * F0S,F0A,F1S,F1A,F2S,F2A
!
!
! Reference: (1) G. F. Giuliani and G. Vignale,
! "Quantum Theory of the Electron Liquid",
! (Cambridge University Press 2005)
!
!
! Author : D. Sébilleau
!
! Last modified : 5 Jun 2020
!
!
!
IMPLICIT NONE
!
REAL (WP) :: RS,F0S,F0A,F1S,F1A,F2S,F2A
REAL (WP) :: Y,Y2,Y3,Y4
REAL (WP) :: A1(0:4),A2(0:4),A3(0:4),A4(0:4),A5(0:4),A6(0:4)
!
DATA A1 / -0.066667E0_WP , -0.13392E0_WP , -0.0094444E0_WP ,&! F0s
0.00018519E0_WP, 6.8305E-18_WP / !
DATA A2 / -0.10833E0_WP , -0.039854E0_WP , -0.029514E0_WP ,&! F0a
0.008287E0_WP , -0.000625E0_WP / !
DATA A3 / -0.07E0_WP , 0.049167E0_WP , -0.024583E0_WP ,&! F1s
0.0058333E0_WP , -0.00041667E0_WP / !
DATA A4 / -0.0242E0_WP , 0.0066333E0_WP, -0.00068333E0_WP,&! F1a
0.00016667E0_WP, -1.6667E-05_WP / !
DATA A5 / -0.0221E0_WP , -0.00265E0_WP , 0.00395E0_WP ,&! F2s
-0.00075E0_WP , 5.0E-05_WP / !
DATA A6 / -0.0242E0_WP , 0.0066333E0_WP, -0.00068333E0_WP,&! F2a
0.00016667E0_WP, -1.6667E-05_WP / !
!
! Powers of RS
!
Y = RS !
Y2 = Y*Y !
Y3 = Y2*Y !
Y4 = Y3*Y !
!
! Computing the Landau parameters
!
F0S=A1(0) + A1(1)*Y + A1(2)*Y2 + A1(3)*Y3 + A1(4)*Y4 ! F0s
F0A=A2(0) + A2(1)*Y + A2(2)*Y2 + A2(3)*Y3 + A2(4)*Y4 ! F0a
F1S=A3(0) + A3(1)*Y + A3(2)*Y2 + A3(3)*Y3 + A3(4)*Y4 ! F1s
F1A=A4(0) + A4(1)*Y + A4(2)*Y2 + A4(3)*Y3 + A4(4)*Y4 ! F1a
F2S=A5(0) + A5(1)*Y + A5(2)*Y2 + A5(3)*Y3 + A5(4)*Y4 ! F2s
F2A=A6(0) + A6(1)*Y + A6(2)*Y2 + A6(3)*Y3 + A6(4)*Y4 ! F2a
!
END SUBROUTINE GVYO_LP_3D
!
!=======================================================================
!
SUBROUTINE GVYO_LP_2D(RS,F0S,F0A,F1S,F1A,F2S,F2A)
!
! This subroutine computes the Yasuhara-Ousaka
! parametrization of Landau parameters F0s,F0a,
! F1s.
!
! We use a 4-degree polynomial to fit the data of
! table 8.5 of reference (1)
!
! Input parameters:
!
! * RS : Wigner-Seitz radius (in units of a_0)
!
! Output parameters:
!
! * F0S,F0A,F1S,F1A,F2S,F2A
!
!
! Reference: (1) G. F. Giuliani and G. Vignale,
! "Quantum Theory of the Electron Liquid",
! (Cambridge University Press 2005)
!
!
! Author : D. Sébilleau
!
! Last modified : 5 Jun 2020
!
!
USE REAL_NUMBERS, ONLY : ZERO
!
IMPLICIT NONE
!
REAL (WP) :: RS,F0S,F0A,F1S,F1A,F2S,F2A
REAL (WP) :: Y,Y2,Y3,Y4
REAL (WP) :: A1(0:4),A2(0:4),A3(0:4)
!
DATA A1 / -0.13E0_WP , -0.19917E0_WP , -0.12958E0_WP ,& ! F0s
0.0091667E0_WP, -0.00041667E0_WP / !
DATA A2 / -0.1019E0_WP , -0.24296E0_WP , 0.063813E0_WP,& ! F0a
-0.0094683E0_WP, 0.00051984E0_WP / !
DATA A3 / -0.087143E0_WP , 0.10986E0_WP , 0.010738E0_WP,& ! F1s
-0.0037143E0_WP, 0.0002619E0_WP / !
!
! Initialization
!
F0S=ZERO !
F0A=ZERO !
F1S=ZERO !
F1A=ZERO !
F2S=ZERO !
F2A=ZERO !
!
! Powers of RS
!
Y = RS !
Y2 = Y*Y !
Y3 = Y2*Y !
Y4 = Y3*Y !
!
! Computing the Landau parameters
!
F0S=A1(0) + A1(1)*Y + A1(2)*Y2 + A1(3)*Y3 + A1(4)*Y4 ! F0s
F0A=A2(0) + A2(1)*Y + A2(2)*Y2 + A2(3)*Y3 + A2(4)*Y4 ! F0a
F1S=A3(0) + A3(1)*Y + A3(2)*Y2 + A3(3)*Y3 + A3(4)*Y4 ! F1s
!
END SUBROUTINE GVYO_LP_2D
!
!=======================================================================
!
SUBROUTINE IPWI_LP_3D(A,F0S,F0A,F1S,F1A,F2S,F2A)
!
! This subroutine computes the standard dimensionless Landau parameters
! for the Iwamoto-Pines hard-sphere model, in the 3D case
!
! References: (1) N. Iwamoto and D. Pines, Phys. Rev. B 29, 3924 (1984)
!
!
!
! Input parameters:
!
! * A : hard sphere radius (in SI)
!
!
! Output parameters:
!
! * F0S,F0A,F1S,F1A,F2S,F2A
!
!
! Author : D. Sébilleau
!
! Last modified : 5 Jun 2020
!
!
USE REAL_NUMBERS, ONLY : ZERO,ONE,TWO,FOUR,SEVEN,THIRD
USE CONSTANTS_P1, ONLY : H_BAR,M_E
USE FERMI_SI, ONLY : KF_SI
USE PI_ETC, ONLY : PI_INV
!
IMPLICIT NONE
!
REAL*8 A,AKF
REAL*8 LN2
REAL*8 F0S,F0A,F1S,F1A,F2S,F2A
!
LN2=DLOG(TWO) !
!
! Initialization
!
F0S=ZERO !
F0A=ZERO !
F1S=ZERO !
F1A=ZERO !
F2S=ZERO !
F2A=ZERO !
!
AKF=A*KF_SI !
!
F0S= TWO*PI_INV*AKF*( & !
ONE+FOUR*THIRD*PI_INV* & !
(TWO+LN2)*AKF & !
) ! ref. (1) eq. (B1)
F0A=-TWO*PI_INV*AKF*( & !
ONE+FOUR*THIRD*PI_INV* & !
(ONE-LN2)*AKF & !
) ! ref. (1) eq. (B2)
F1A= 1.6E0_WP*PI_INV*PI_INV*(SEVEN*LN2-ONE)*AKF*AKF ! ref. (1) eq. (B3)
F1S=-1.6E0_WP*PI_INV*PI_INV*(TWO+LN2)*AKF*AKF ! ref. (1) eq. (B4)
!
END SUBROUTINE IPWI_LP_3D
!
!=======================================================================
!
SUBROUTINE KCMP_LP_2D(RS,F0S,F0A,F1S,F1A,F2S,F2A)
!
! This subroutine computes the Kwoon-Ceperley-Martin
! parametrization of Landau parameters F0s,F0a,
! F1s,F1a,F2s and F2a.
!
! We use a 4-point Lagrange interpolation to fit the data of
! table VIII of reference (1)
!
! Input parameters:
!
! * RS : Wigner-Seitz radius (in units of a_0)
!
! Output parameters:
!
! * F0S,F0A,F1S,F1A,F2S,F2A
!
! Reference: (1) Y. Kwoon, D. M. Ceperley and R. M. Martin,
! Phys. Rev. B 50, 1684-1694 (1994)
!
!
! Author : D. Sébilleau
!
! Last modified : 5 Jun 2020
!
!
USE REAL_NUMBERS, ONLY : ONE,TWO,THREE,FIVE
USE INTERPOLATION, ONLY : LAG_4P_INTERP
!
IMPLICIT NONE
!
REAL (WP) :: RS,F0S,F0A,F1S,F1A,F2S,F2A
REAL (WP) :: A1(4),A2(4),A3(4),A4(4),A5(4),A6(4)
REAL (WP) :: X(4)
!
! Data of table VIII
!
DATA A1 / -0.60E0_WP, -0.99E0_WP, -1.63E0_WP, -3.70E0_WP / ! F0s
DATA A2 / -0.34E0_WP, -0.41E0_WP, -0.49E0_WP, -0.51E0_WP / ! F0a
DATA A3 / -0.14E0_WP, -0.10E0_WP, -0.03E0_WP, 0.12E0_WP / ! F1s
DATA A4 / -0.19E0_WP, -0.24E0_WP, -0.26E0_WP, -0.27E0_WP / ! F1a
DATA A5 / -0.07E0_WP, -0.16E0_WP, -0.27E0_WP, -0.50E0_WP/ ! F2s
DATA A6 / 0.01E0_WP, 0.07E0_WP, 0.14E0_WP, 0.32E0_WP/ ! F2a
!
! RS values un table VIII
!
X(1)=ONE !
X(2)=TWO !
X(3)=THREE !
X(4)=FIVE !
!
! F0s --> A1 data
!
F0S=LAG_4P_INTERP(X,A1,RS) !
!
! F0a --> A2 data
!
F0A=LAG_4P_INTERP(X,A2,RS) !
!
! F1s --> A3 data
!
F1S=LAG_4P_INTERP(X,A3,RS) !
!
! F1a --> A4 data
!
F1A=LAG_4P_INTERP(X,A4,RS) !
!
! F2s --> A5 data
!
F2S=LAG_4P_INTERP(X,A5,RS) !
!
! F2a --> A6 data
!
F2A=LAG_4P_INTERP(X,A6,RS) !
!
END SUBROUTINE KCMP_LP_2D
!
!=======================================================================
!
SUBROUTINE RASC_LP_3D(X,XC,U0,F0S,F0A,F1S,F1A,F2S,F2A)
!
! This subroutine computes the standard dimensionless Landau parameters
! using a Rayleigh-Schrödinger expansion in the 3D case
!
! References: (1) Slides
!
!
! Input parameters:
!
! * X : dimensionless factor --> X = q / (2 * k_F)
! * XC : dimensionless cut-off --> XC = q_c / (2 * k_F)
! * U0 : bare interaction constant
!
!
! Output parameters:
!
! * F0S,F0A,F1S,F1A,F2S,F2A
!
!
! Author : D. Sébilleau
!
! Last modified : 5 Jun 2020
!
!
USE REAL_NUMBERS, ONLY : ZERO,ONE,TWO,THREE,SEVEN, &
HALF,THIRD,FOURTH
USE CONSTANTS_P1, ONLY : M_E
USE FERMI_SI, ONLY : KF_SI
USE PI_ETC, ONLY : PI2
!
IMPLICIT NONE
!
REAL (WP) :: X,XC,U0,UB
REAL (WP) :: Q_SI,Q_CO
REAL (WP) :: LN2
REAL (WP) :: F0S,F0A,F1S,F1A,F2S,F2A
!
LN2=DLOG(TWO) !
!
! Initialization
!
F0S=ZERO !
F0A=ZERO !
F1S=ZERO !
F1A=ZERO !
F2S=ZERO !
F2A=ZERO !
!
Q_SI=TWO*X*KF_SI ! q in SI
Q_CO=TWO*XC*KF_SI ! q_c in SI
!
! Screened interaction
!
UB=U0*(ONE - U0*FOURTH*M_E/PI2 * HALF*( Q_CO + &!
(Q_SI*Q_SI-Q_CO*Q_CO)* &! ref. 1 p.
DLOG(DABS(Q_CO-Q_SI)/(Q_CO+Q_SI))/ &!
Q_SI)) !
!
F0S= UB * (ONE + UB*(ONE+HALF*THIRD*(TWO+LN2))) !
F0A=-UB * (ONE + UB*(ONE-TWO*THIRD*(ONE-LN2))) ! ref. (1) p. 22
F1S= UB*UB * TWO*(SEVEN*LN2-ONE)/15.0E0_WP !
!
END SUBROUTINE RASC_LP_3D
!
!=======================================================================
!
SUBROUTINE SBOH_LP_3D(U0,W,D,F0S,F0A,F1S,F1A,F2S,F2A)
!
! This subroutine computes the standard dimensionless Landau parameters
! of the slave-boson one-band Hubbard model in the 3D case
!
! References: (1) T. Li and P. Bénard, Phys. Rev. B 50, 17837 (1994)
! (2) Slides
!
!
!
! Input parameters:
!
! * U0 : bare interaction constant
! * W : half bandwidth for bare particle (ref. 7)
! * D : filling (dopant concentration) in ref. 7
!
!
! Output parameters:
!
! * F0S,F0A,F1S,F1A,F2S,F2A
!
!
! Author : D. Sébilleau
!
! Last modified : 5 Jun 2020
!
!
USE REAL_NUMBERS, ONLY : ZERO,ONE,TWO,THREE,FOUR,FIVE, &
SIX,EIGHT,NINE,TEN
USE COMPLEX_NUMBERS, ONLY : ZEROC,ONEC
USE CONSTANTS_P1, ONLY : M_E
USE FERMI_SI, ONLY : KF_SI
USE PI_ETC, ONLY : PI2
USE POLYNOMIAL_EQ, ONLY : CUBIC_EQUATION,CHECK_ROOTS3
!
IMPLICIT NONE
!
REAL*8 U0
REAL*8 W,D,U
REAL*8 D2,D4,D6
REAL*8 Y,Y2,Y3,Y4,Y5,Y6,Y7
REAL*8 NUM,DEN
REAL*8 F0S,F0A,F1S,F1A,F2S,F2A
!
COMPLEX*16 AC,BC,CC,DC
COMPLEX*16 X1,X2,X3
!
! Initialization
!
F0S=ZERO !
F0A=ZERO !
F1S=ZERO !
F1A=ZERO !
F2S=ZERO !
F2A=ZERO !
!
! Scaled interaction
!
U=U0/(FOUR*W) ! ref. 7 eq. (59c)
!
!
! Computing Y, solution of:
!
! (1-Y)*Y^2
! --------- = U ref. (3) eq. (11)
! Y^2-D2
!
AC=ONEC !
BC=DCMPLX(U-ONE) !
CC=ZEROC !
DC=DCMPLX(-U*D*D) !
!
CALL CUBIC_EQUATION(AC,BC,CC,DC,X1,X2,X3) !
!
! Looking for a real and positive solution Y = x^2
!
CALL CHECK_ROOTS3(X1,X2,X3,Y) !
!
D2=D*D !
D4=D2*D2 !
D6=D4*D2 !
Y2=Y*Y !
Y3=Y2*Y !
Y4=Y3*Y !
Y5=Y4*Y !
Y6=Y5*Y !
Y7=Y6*Y !
!
NUM=(ONE-Y)*(TWO*D2-FIVE*D2*Y+TWO*Y2+D2*Y2+Y3-Y4) !
DEN=(D2-TWO*Y+Y2)*(-TWO*D2+THREE*D2*Y-Y3) !
F0S=NUM/DEN ! ref. (1) eq. (61)
!
NUM=(ONE-D2)*(Y2-D2) !
DEN=(TWO*Y-Y2-D2)**2 !
F0A=-ONE + NUM/DEN ! ref. (1) eq. (60)
!
NUM=THREE*(Y-ONE)**2 * ( -TEN*D4 + 19.0E0_WP*D4*Y - &!
EIGHT*D2*Y2 - &!
TWO*D2*Y3+TWO*Y4-Y5 &!
) !
DEN=( 16.0E0_WP*D4 - SIX*D6 - 48.0E0_WP*D4*Y + &!
NINE*D6*Y + EIGHT*D2*Y2 + 48.0E0_WP*D4*Y2 - &!
EIGHT*D2*Y3 - 25.0E0_WP*D4*Y3 - EIGHT*Y4 + &!
TEN*D2*Y4 + EIGHT*Y5-D2*Y5 - FOUR*Y6 + &!
Y7 &!
) !
F1A=NUM/DEN ! ref. (1) eq. (65)
!
NUM=THREE*(ONE-Y2)**2 !
DEN=(TWO*Y-Y2-D2) !
F1S=NUM/DEN ! ref. (1) eq. (23)
!
END SUBROUTINE SBOH_LP_3D
!
END MODULE LANDAU_PARAM