! !======================================================================= ! 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