! !======================================================================= ! MODULE GRAND_PARTITION ! USE ACCURACY_REAL ! CONTAINS ! ! !======================================================================= ! SUBROUTINE GRAND_PARTITION_FUNCTION_3D(RS,T,A,GP_TYPE,LXI) ! ! This subroutine computes the grand partition function ! for 3D systems. ! ! Input parameters: ! ! * RS : Wigner-Seitz radius (in units of a_0) ! * T : system temperature in SI ! * A : sqrt(mu_B * B) : magnitude of the magnetic field ! * GP_TYPE : grand partition function type (3D) ! GP_TYPE = 'IK0' Isihara-Kojima formulation ! GP_TYPE = 'RH0' Rebei-Hitchon formulation ! GP_TYPE = 'IKM' Isihara-Kojima with magnetic field ! ! ! Output parameters: ! ! * LXI : logarithm of grand partition function in SI ! ! ! ! Author : D. Sébilleau ! ! Last modified : 11 Jun 2020 ! IMPLICIT NONE ! CHARACTER (LEN = 3) :: GP_TYPE ! REAL (WP) :: RS,T,A REAL (WP) :: LXI ! IF(GP_TYPE == 'IK0') THEN ! LXI=LXI_IK_3D(RS,T) ! ELSE IF(GP_TYPE == 'RH0') THEN ! LXI=LXI_RH_3D(RS,T) ! ELSE IF(GP_TYPE == 'IKM') THEN ! LXI=LXI_IK_M_3D(RS,T,A) ! END IF ! ! END SUBROUTINE GRAND_PARTITION_FUNCTION_3D ! !======================================================================= ! FUNCTION LXI_IK_3D(RS,T) ! ! This function computes the logarithm of the grand partition function ! (per electron) in 3D system in the Isihara-Kojima approach ! ! Note: This is the NO MAGNETIC FIELD result ! ! ! More precisely, ! ! LXI = 1/V * DLOG(XI) where V is the volume ! ! References: (1) A. Isihara and D. Y. Kojima, Z. Physik B 21, ! 33-45 (1975) ! (2) A. Isihara and D. Y. Kojima, Phys. Cond. Matter 18, ! 249-262 (1974) ! (3) D. Y. Kojima and A. Isihara, in ! "Physics of Condensed Matter", Vol. 17, G. Busch ed., ! 179-181 (1974) ! ! Input parameters: ! ! * RS : Wigner-Seitz radius (in units of a_0) ! * T : system temperature in SI ! ! ! Output parameters: ! ! * LXI_IK_3D: logarithm of grand partition function in SI ! ! ! ! Author : D. Sébilleau ! ! Last modified : 11 Jun 2020 ! ! USE REAL_NUMBERS, ONLY : ONE,TWO,THREE,FOUR,FIVE,SIX, & SEVEN,EIGHT,NINE,TEN, & HALF,THIRD,FOURTH USE CONSTANTS_P1, ONLY : E,K_B USE FERMI_SI, ONLY : EF_SI USE PI_ETC, ONLY : PI,PI2,PI3,PI_INV USE EULER_CONST, ONLY : EUMAS USE UTILITIES_1, ONLY : ALFA USE CHEMICAL_POTENTIAL, ONLY : MU ! IMPLICIT NONE ! REAL (WP) :: RS,T REAL (WP) :: LXI_IK_3D REAL (WP) :: LX00,LX1X,LX1R,LR2X,LA2X REAL (WP) :: BETA,ETA,ET2,ET4,PF2,LNE,LNE2 REAL (WP) :: E2,E4 REAL (WP) :: A11,AP11,A12,A13,A14 REAL (WP) :: A21,AP21,A22,A23,A24 REAL (WP) :: A32,A31 REAL (WP) :: XI,XI2,XI4 REAL (WP) :: G,LNG,LNG0 REAL (WP) :: COEF REAL (WP) :: C1,C2 REAL (WP) :: C REAL (WP) :: I,J,I1,I2,I3,K0,K1 REAL (WP) :: TH2,TH3,TH4,TH5 REAL (WP) :: A,A0,A1,A2,AA,DD REAL (WP) :: ZETA_3,LN2,ALPHA ! ZETA_3=1.202056903159594285399738E0_WP ! Apéry's constant LN2=DLOG(TWO) ! ! ALPHA=ALFA('3D') ! ! E2=E*E E4=E2*E2 ! BETA=ONE/(K_B*T) ! PF2=MU('3D',T) ! chemical potential --> check units ETA=BETA*PF2 ! ET2=ETA*ETA ! ET4=ET2*ET2 ! LNE=DLOG(ETA) ! LNE2=LNE*LNE ! G=TWO*E*E*PI_INV/DSQRT(PF2) ! ref. (2) eq. (B4) LNG=DLOG(G) ! LNG0=DLOG(TWO*E*E*PI_INV/DSQRT(EF_SI)) ! --> check consitency of units ! ! Cut-off parameter ! XI=TWO ! XI2=XI*XI ! XI4=XI2*XI2 ! ! ! Coefficients of ref. (2) Table 1 ! ! A11=THIRD*PI*(ONE-LN2) ! AP11=-0.1769447E0_WP ! A12=-PI/96.0E0_WP ! A13=-0.0006136E0_WP ! A14=-0.0034088E0_WP A21=FOURTH*PI*(ONE-DLOG(FOUR)) ! AP21=0.0716913E0_WP ! A22=A12 ! A23=-A22 ! A24=0.0009204E0_WP ! A32=-0.0039884E0_WP ! A31=0.0030680E0_WP ! ! C1=HALF*A11 - AP11 + TWO*XI2*A12 + XI4*(A13+HALF*A14) + & ! ref. (2) eq. (B5) TWO*A11*DLOG(XI) ! C2=AP21 - TWO*A21*DLOG(XI) - XI2*(A22+A23) - & ! ref. (2) eq. (B6) HALF*XI4*(A24+A32+A31) ! ! C=EUMAS ! I=THIRD*LN2 - 1.5E0_WP*ZETA_3/PI2 ! ref. (2) eq. (2.26) I1=DLOG(HALF*PI)-C ! I2=1.1268676E0_WP ! I3=2.9418144E0_WP ! K0=FOUR*LN2*LN2 - 1.5E0_WP - TWO*LN2*(ONE+TWO*I2)+I1+I3 ! K1=FOUR*LN2-ONE+TWO*I2 ! ! A=-0.50166E0_WP ! ref. (1) eq. (B2) ! J=TWO*ET2*( ONE + THIRD*PI2/ET2 *(ONE + 1.5E0_WP*A/PI2 - & ! HALF*LNE) + & ! FIVE*PI3*PI/(144.0E0_WP*ET4) - & ! ref. (3) eq. (16) PI2/(NINE*(ETA**3.5E0_WP)) * & ! (ONE-THREE/(TEN*ETA)) & ! ) ! ! TH2=0.014858E0_WP - 0.20457E0_WP*LNG0 ! TH3=7.93829E0_WP - LNG0 ! ref. (1) app. D table 2 TH4=-4.05265E0_WP ! TH5=-TWO ! A2=1.5E0_WP*(TH5+TWO)/PI2 ! ref. (1) eq. (D3) A1=TWO*( A2 - 0.75E0_WP*(FOUR*(ONE-HALF*K1)-TH4)/PI2 ) ! ref. (1) eq. (D3) DD=TWO*PI_INV*(A11+THREE*C1 +TWO*C2 + & ! (TWO*A21-THREE*A11)*LNG0) ! AA=DD-TH3-SIX+(THREE*J-PI2*I)+THREE*(K1-K0) ! A0=A1-1.5E0_WP*AA/PI2 ! ref. (1) eq. (D3) ! ! ! Different contributions to Ln(Xi): ! ! 1) free electron contribution ! COEF=TWO*(ETA**2.5E0_WP) / (15.0E0_WP*PI2*(BETA**1.5E0_WP)) ! LX00=COEF*( ONE + FIVE*PI2/(EIGHT*ET2) - & ! ref. (2) eq. (2.7) SEVEN*PI2* PI2/(EIGHT*48.0E0_WP*ET4) ) ! ! ! 2) first-order exchange graphs ! COEF=FOURTH*E2*ET2 / (PI3*BETA) ! LX1X=COEF*( ONE + THIRD*PI2/ET2 *(ONE + 1.5E0_WP*A/PI2 - & ! HALF*LNE) + & ! FIVE*PI3*PI/(144.0E0_WP*ET4) - & ! ref. (2) eq. (2.13) PI2/(NINE*(ETA**3.5E0_WP)) * & ! (ONE-THREE/(TEN*ETA)) & ! ) ! ! ! 3) ring diagrams contributions ! COEF=HALF*E4*(ETA**1.5E0_WP) / (PI3*PI*DSQRT(BETA)) ! LX1R=COEF*( C1*PI_INV - A11*LNG*PI_INV - PI/(12.0E0_WP*ET2)*& ! ref. (2) eq. (2.22) (C2-A21*LNG) & ! ) ! ! ! 4) regular second-order exchange graphs ! COEF=FOURTH*THIRD*E4*(ETA**1.5E0_WP) / (PI2*DSQRT(BETA)) ! LR2X=-COEF*( I + PI2/(12.0E0_WP*ET2) * (A0+A1*LNE+A2*LNE2) ) ! ref. (2) eq. (2.25) ! ! 5) anomalous second-order exchange graphs ! COEF=FOURTH*E4*(ETA**1.5E0_WP) / (PI3*PI*DSQRT(BETA)) ! LA2X=COEF*( ONE + PI2/(12.0E0_WP*ET2) * (K0+K1*LNE+LNE2) ) ! ref. (2) eq. (2.28) ! ! Summation of the results ! LXI_IK_3D=LX00+LX1X+LX1R+LR2X+LA2X ! ! END FUNCTION LXI_IK_3D ! !======================================================================= ! FUNCTION LXI_RH_3D(RS,T) ! ! This function computes the logarithm of the grand partition function ! (per electron) in 3D system in the Rebei-Hitchon approach ! ! More precisely, ! ! LXI = 1/V * DLOG(XI) where V is the volume ! ! References: (4) A. Rebei and W. N. G. Hitchon, Physics Letters A 224, ! 127-132 (1996) ! (5) A. Rebei and W. N. G. Hitchon, Int. J. Mod. Phys. B 13, ! 3357-3367 (1999) ! 179-181 (1974) ! (6) A. Rebei and W. N. G. Hitchon, ! https://arxiv.org/pdf/cond-mat/9907025.pdf ! ! Input parameters: ! ! * RS : Wigner-Seitz radius (in units of a_0) ! * T : system temperature in SI ! ! ! Output parameters: ! ! * LXI_RH_3D: logarithm of grand partition function in SI ! ! ! ! Author : D. Sébilleau ! ! Last modified : 11 Jun 2020 ! ! USE REAL_NUMBERS, ONLY : ZERO,ONE,TWO,THREE,FOUR,FIVE, & SEVEN,EIGHT, & HALF,THIRD,FOURTH USE CONSTANTS_P1, ONLY : BOHR,H_BAR,M_E,E,K_B USE FERMI_SI, ONLY : KF_SI USE PI_ETC, ONLY : PI,PI2,PI_INV USE EULER_CONST, ONLY : EUMAS USE UTILITIES_1, ONLY : ALFA USE CHEMICAL_POTENTIAL, ONLY : MU ! IMPLICIT NONE ! REAL (WP) :: RS,T REAL (WP) :: LXI_RH_3D REAL (WP) :: OM0,OME,R,G,LX00 REAL (WP) :: ALPHA,BETA,MMU,ETA,ET2,ET4,LNE REAL (WP) :: A1,A2,B1,B2,C1,BB,EE REAL (WP) :: RT,NT REAL (WP) :: COEF,K1,K2,K3 REAL (WP) :: LN2 ! LN2=DLOG(TWO) ! ! ALPHA=ALFA('3D') ! ! BETA=ONE/(K_B*T) ! MMU=MU('3D',T) ! chemical potential --> check units ETA=BETA*MMU ! ET2=ETA*ETA ! ET4=ET2*ET2 ! LNE=DLOG(ETA) ! ! K1=HALF*KF_SI*KF_SI*KF_SI/PI2 ! K2=-TWO*E*E*KF_SI*PI_INV ! K3=PI2/(12.0E0_WP*ET2) ! ! ! Constants for R ! RT=M_E*E*E/(ALPHA*H_BAR*H_BAR*KF_SI) ! ref. (5) eq. (32) NT=ONE/(FOUR*THIRD*PI*RT*RT*RT*BOHR*BOHR*BOHR) ! ! ! Constants for G --> note: g(1) = 1 (for BB) ! A1=ONE-TWO*LN2 ! C1=ONE-LN2-HALF*EUMAS+0.0616E0_WP+HALF ! BB=TWO*KF_SI*PI_INV*(ONE + PI2/(24.0E0_WP*ET2)) ! B2=(ONE+BB+BB)**2.5E0_WP ! B1=-TWO/15.0E0_WP -TWO*THIRD*BB + TWO*B2/15.0E0_WP ! A2=-HALF + HALF*(ONE-EUMAS) ! EE=ZERO ! --> to be computed ! ! ! Different contributions to Omega: ! ! 1) free electron contribution ! COEF=TWO*(ETA**2.5E0_WP) / (15.0E0_WP*PI2*(BETA**1.5E0_WP)) ! LX00=COEF*( ONE + FIVE*PI2/(EIGHT*ET2) - & ! ref. (2) eq. (2.7) SEVEN*PI2*PI2 /(EIGHT*48.0E0_WP*ET4) ) ! OM0=-BETA*LX00 ! ! 2) first-order exchange graphs ! OME=-HALF*E*E*M_E*M_E/PI2 * ( TWO*PI_INV*MMU*MMU - & ! THIRD*PI/(BETA*BETA) * (ONE+DLOG(BETA*MMU)-EUMAS) & ! ref. (6) eq. (67) ) ! ! ! 3) ring diagrams contributions ! R=0.0622E0_WP*DLOG(RS) - 0.142E0_WP + & ! ref. (5) eq. (31) 0.0181E0_WP*NT*MMU*(ALPHA*RT/ETA)**2 ! in Ryd ! ! 4) new contribution ! G=K1*( K2*( HALF + K3*(HALF*(A1-LNE)+A2) - & ! HALF*K3*(EUMAS+LNE) + K3*(ONE-LN2) - & ! FOURTH*LN2*LN2/ET2 + (EE+PI2/24.0E0_WP)/ET2 & ! ref. (4) eq. (18) ) + MMU*(B1+K3*(B2-ONE)) & ! -K2*(HALF+K3*(C1-HALF*LNE)) & ! ) ! ! ! Summation of the results ! LXI_RH_3D=-(OM0+OME+R-G)/BETA ! ref. (4) eq. (8) ! END FUNCTION LXI_RH_3D ! !======================================================================= ! FUNCTION LXI_IK_M_3D(RS,T,A) ! ! This function computes the logarithm of the grand partition function ! (per electron) in 3D system in the Isihara-Kojima approach, in the ! presence of an external magnetic field ! ! More precisely, ! ! LXI = 1/V * DLOG(XI) where V is the volume ! ! References: (7) A. Isihara and D. Y. Kojima, Phys. Rev. B 10, ! 4925-4931 (1974) ! (8) A. Isihara and D. Y. Kojima, Phys. Rev. B 11, ! 710-727 (1975) ! ! Input parameters: ! ! * RS : Wigner-Seitz radius (in units of a_0) ! * T : system temperature in SI ! * A : sqrt(mu_B * B) : magnitude of the magnetic field ! ! ! Output parameters: ! ! * LXI_IK_M_3D: logarithm of grand partition function in AU ! ! ! ! Author : D. Sébilleau ! ! Last modified : 11 Jun 2020 ! ! USE REAL_NUMBERS, ONLY : ONE,TWO,FOUR,FIVE, & SEVEN,EIGHT,NINE, & THIRD,FOURTH USE CONSTANTS_P1, ONLY : E,K_B USE FERMI_VALUES_M, ONLY : KF_M_3D USE PI_ETC, ONLY : PI,PI2,PI3 USE G_FACTORS, ONLY : G_E ! IMPLICIT NONE ! REAL (WP) :: RS,T,A REAL (WP) :: LXI_IK_M_3D REAL (WP) :: LXI_IK_M REAL (WP) :: LX00,LXA0,LXA1 REAL (WP) :: BETA,ETA,ET2,ET4,KFAU REAL (WP) :: EE,E4,A4,PIE,PIE2 REAL (WP) :: G,LNG REAL (WP) :: COEF REAL (WP) :: KG,K1 REAL (WP) :: C11,A21,C2(2),D1(2),D2,E1(2),E2(2) REAL (WP) :: E3,F1,F2(2),F3 ! INTEGER :: X ! X=1 ! cut-off for q-integration (1 or 2) ! BETA=ONE/(K_B*T) ! KFAU=KF_M_3D(RS,T,A) ! (T,A)-dependent Fermi energy ETA=BETA*KFAU*KFAU ! ET2=ETA*ETA ! ET4=ET2*ET2 ! ! EE=E*E ! E4=EE*EE ! A4=A*A*A*A ! PIE=PI/ETA ! PIE2=PIE*PIE ! KG=FOURTH*G_E*G_E - THIRD ! G=TWO*EE/(PI*KFAU) ! LNG=DLOG(G) ! ! ! Coefficients for correlations ! C11 = 0.19635E0_WP ! A21 =FOURTH*PI*(ONE-DLOG(FOUR)) ! C2(1)= 0.07169E0_WP ! C2(2)= 0.49229E0_WP ! D1(1)= 0.04632E0_WP ! D1(2)= 0.92605E0_WP ! D2 = 0.82699E0_WP ! E1(1)= 0.35282E0_WP ! E1(2)= 0.92701E0_WP ! ref. (8) table I E2(1)= 0.04336E0_WP ! E2(2)=-0.00797E0_WP ! E3 =-0.01023E0_WP ! F1 =-0.14124E0_WP ! F2(1)= 0.06124E0_WP ! F2(2)= 0.15916E0_WP ! F3 =-0.02250E0_WP ! ! ! No magnetic field contribution ! ! 1) free electron contribution ! COEF=TWO*(ETA**2.5E0_WP) / (15.0E0_WP*PI2*(BETA**1.5E0_WP)) ! LX00=COEF*( ONE + FIVE*PI2/(EIGHT*ET2) - & ! ref. (2) eq. (2.7) SEVEN*PI2* PI2/(EIGHT*48.0E0_WP*ET4) ) ! ! ! Non interacting electrons + magnetic field ! LXA0=KG*DSQRT(BETA/PI)*A4/(8.0E0_WP*PI) * ( & ! TWO/(PIE**1.5E0_WP) - (PIE**1.5E0_WP)/12.0E0_WP - & ! ref. (7) eq. (4.1) SEVEN*(PIE**3.5E0_WP)/192.0E0_WP & ! ) ! ! ! Interacting electrons + magnetic field ! K1=BETA*A4/PI2 ! LXA1=K1*FOURTH*KFAU*KG *(ONE-PIE2/24.0E0_WP) + & ! K1*FOURTH*EE/PI * (ONE-PIE2/12.0E0_WP) + & ! K1*E4/(EIGHT*PI3*KFAU)*KG* ( & ! ref. (8) eq. (3.1) -C2(X)-A21*LNG + PIE2/EIGHT * (D1(X)+D2*LNG) & ! ) + & ! K1*EE/(NINE*PI2) * (E1(X)-C11*LNG+G*(E2(X)+E3*LNG) + & ! PIE2/EIGHT * (F1+G*(F2(X)+F3*LNG)) & ! ) ! ! ! Summation of the results ! LXI_IK_M_3D=LX00+LXA0+LXA1 ! ref. (8) eq. (2.12) ! END FUNCTION LXI_IK_M_3D ! !======================================================================= ! SUBROUTINE GRAND_PARTITION_FUNCTION_2D(RS,T,A,FLD,LXI) ! ! This subroutine computes the grand partition function ! for 2D systems. ! ! Input parameters: ! ! * RS : Wigner-Seitz radius (in units of a_0) ! * T : system temperature in SI ! * A : sqrt(mu_B * B) : magnitude of the magnetic field ! * GP_TYPE : grand partition function type (2D) ! GP_TYPE = 'I20' Isihara-Kojima formulation ! GP_TYPE = 'I2M' Isihara-Kojima with magnetic field ! * FLD : strength of the field ! FLD = 'WF' weak field --> ref. (2) ! FLD = 'IF' intermediate field --> ref. (3) ! ! ! Output parameters: ! ! * LXI : logarithm of grand partition function in SI ! ! ! ! Author : D. Sébilleau ! ! Last modified : 11 Jun 2020 ! IMPLICIT NONE ! CHARACTER (LEN = 3) :: GP_TYPE CHARACTER (LEN = 2) :: FLD ! REAL (WP) :: RS,T,A REAL (WP) :: LXI ! IF(GP_TYPE == 'I20') THEN ! LXI=LXI_IK_2D(RS,T) ! ELSE IF(GP_TYPE == 'I2M') THEN ! LXI=LXI_IK_M_2D(RS,T,A,FLD) ! END IF ! ! END SUBROUTINE GRAND_PARTITION_FUNCTION_2D ! !======================================================================= ! FUNCTION LXI_IK_2D(RS,T) ! ! This function computes the grand partition function ! (per electron) in the 2D system according to the ! Isihara-Toyoda model ! ! References: (1) A. Isihara and T. Toyoda, Phys. Rev. B 21, ! 3358-3365 (1980) ! ! Input parameters: ! ! * RS : Wigner-Seitz radius (in units of a_0) ! * T : system temperature in SI ! ! ! Author : D. Sébilleau ! ! Last modified : 11 Jun 2020 ! ! USE REAL_NUMBERS, ONLY : ONE,TWO,HALF,THIRD,FOURTH USE CONSTANTS_P1, ONLY : E,K_B USE PI_ETC, ONLY : PI,PI2,PI3,PI_INV USE EULER_CONST, ONLY : EUMAS USE UTILITIES_1, ONLY : ALFA USE CHEMICAL_POTENTIAL, ONLY : MU ! IMPLICIT NONE ! REAL (WP) :: RS,T REAL (WP) :: LXI_IK_2D REAL (WP) :: A,C,C1,C2,I,J,A0,A1,A2,K0,K1,A11,A21 REAL (WP) :: I1,I2,I3,TH2,TH3,TH5,LNG,LNG0,ALPHA REAL (WP) :: D1,D2,E0,EP1,ES1,EP2,ES2,ET2 REAL (WP) :: BETA,PF2,PF3,PF4,ETA,X REAL (WP) :: E2,E4,LNE,LNE2,DD,AA REAL (WP) :: ZETA_3,LN2 ! ZETA_3=1.202056903159594285399738E0_WP ! Apéry's constant LN2=DLOG(TWO) ! ! ALPHA=ALFA('2D') ! ! E2=E*E E4=E2*E2 ! BETA=ONE/(K_B*T) ! PF2=MU('2D',T) ! chemical potential PF3=PF2*DSQRT(PF2) ! PF4=PF2*PF2 ! ETA=BETA*PF2 ! ET2=ETA*ETA ! LNE=DLOG(ETA) ! LNE2=LNE*LNE ! ! D1=TWO*THIRD/(PI2) ! D2=FOURTH*(ONE-LN2)*PI_INV + ONE/PI3 - & ! (27.3E0_WP + 1.3E0_WP)/(32.0E0_WP*PI*PI3) ! E0=PI/12.0E0_WP ! EP1=-0.02553E0_WP ! ES1=-ONE/24.0E0_WP ! EP2=-0.05508E0_WP ! ES2=0.018316E0_WP ! ET2=PI_INV/48.0E0_WP ! ! LXI_IK_2D=BETA*( FOURTH*PF4*PI_INV + D1*E2*PF3 + D2*E4*PF2 +& ! (E0*PF4 + (EP1+ES1*DLOG(ETA))*E2*PF3 + & ! (EP2+ES2*DLOG(ETA)+ET2*DLOG(ETA)*DLOG(ETA))* & ! ref. (1) eq. (6.1) E4*PF2 & ! )/(ETA*ETA) & ! ) ! ! END FUNCTION LXI_IK_2D ! !======================================================================= ! FUNCTION LXI_IK_M_2D(RS,T,A,FLD) ! ! This function computes the logarithm of the grand partition function ! (per electron) in 2D system in the Isihara-Kojima approach, in the ! presence of an external magnetic field: ! ! (i) weak field --> ref. (2) ! (ii) intermediate field --> ref. (3) ! ! More precisely, ! ! LXI = 1/V * DLOG(XI) where V is the volume ! ! References: (2) A. Isihara and T. Toyoda, Phys. Rev. B 19, ! 831-845 (1979) ! (3) A. Isihara and D. Y. Kojima, Phys. Rev. B 19, ! 846-855 (1979) ! ! ! Input parameters: ! ! * RS : Wigner-Seitz radius (in units of a_0) ! * T : system temperature in SI ! * A : sqrt(mu_B * B) : magnitude of the magnetic field ! * FLD : strength of the field ! FLD = 'WF' weak field --> ref. (2) ! FLD = 'IF' intermediate field --> ref. (3) ! ! ! Output parameters: ! ! * LXI_IK_M_2D: logarithm of grand partition function in AU ! ! ! ! Author : D. Sébilleau ! ! Last modified : 11 Jun 2020 ! ! USE REAL_NUMBERS, ONLY : ZERO,ONE,TWO,FOUR,SEVEN, & HALF,THIRD,FOURTH USE CONSTANTS_P1, ONLY : E,K_B USE FERMI_VALUES_M, ONLY : KF_M_2D USE PI_ETC, ONLY : PI,PI2,PI_INV USE G_FACTORS, ONLY : G_E ! IMPLICIT NONE ! CHARACTER (LEN = 2) :: FLD ! REAL (WP) :: RS,T,A REAL (WP) :: LXI_IK_M_2D REAL (WP) :: ALPHA,BETA,GAMMA,ETA,ET2 REAL (WP) :: KFAU,G2,KG,I REAL (WP) :: LN0,LNA REAL (WP) :: E2,CC,A2,A4,SL1,SL2,SI REAL (WP) :: XL,AL,BL,CL,ZZL ! INTEGER :: L,LMAX ! LMAX=100 ! max. value of l-sum ! G2=G_E*G_E ! ! BETA=ONE/(K_B*T) ! ALPHA=BETA*A*A ! KFAU=KF_M_2D(RS,T,A) ! (T,A)-dependent Fermi energy ETA=BETA*KFAU*KFAU ! ET2=ETA*ETA ! GAMMA=A*A/(KFAU*KFAU) ! ! E2=E*E ! A2=A*A ! A4=A2*A2 ! CC=E2/KFAU ! KG=0.75E0_WP*G2 - ONE ! ! IF(FLD == 'WF') THEN ! ! ! No magnetic field contribution ! ZZL=ONE SL1=ZERO ! DO L=1,LMAX ! XL=DFLOAT(L) ! ZZL=-ZZL*L ! AL=XL*BETA*A2 ! BL=HALF*G_E*AL ! SL1=SL1+ZZL*COSH(AL)/(DSINH(BL)*XL) ! END DO ! LN0=-HALF*A2*SL1*PI_INV ! ! ! Magnetic field ! LNA=BETA*A4*( PI_INV/12.0E0_WP * KG + CC*( &! ONE/(12.0E0_WP*PI2) * KG + &! ONE/(48.0E0_WP*PI2) * (26.0E0_WP/15.0E0_WP + &! SEVEN*PI/16.0E0_WP) &! ref. (2) eq. (6.1) ) - &! ONE/(48.0E0_WP*PI2)*CC*DLOG(FOURTH*CC) + &! ( -ONE/(96.0E0_WP*PI)*KG + &! 11.0E0_WP/(2304.0E0_WP*PI) &! ) * CC*CC &! ) ! ! Summing up ! LXI_IK_M_2D=LN0+LNA ! ! ELSE IF(FLD == 'IF') THEN ! ! I=0.8149E0_WP ! ref. (3) eq. (5.19) ! ! Calculation of l-sums ! SI=-ONE ! init. of sign SL1=ZERO ! SL2=ZERO ! DO L=1,LMAX ! SI=-SI ! XL=DFLOAT(L) ! AL=XL*PI/GAMMA ! BL=HALF*G_E-TWO*XL*PI ! CL=XL*PI2/ALPHA ! SL1=SL1+SI*DCOS(AL)*DCOS(BL)/(XL*DSINH(CL)) ! SL2=SL2+SI*DSIN(AL)*DCOS(BL)/DSINH(CL) ! END DO ! LXI_IK_M_2D=FOURTH*BETA*KFAU*KFAU*KFAU*KFAU*PI_INV*( & ! ONE + THIRD*PI2/ET2 + & ! ((HALF*G2)**2 -THIRD)*GAMMA*GAMMA + & ! ref. (3) eq. (5.21) FOUR*ALPHA/ET2 * SL1 + & ! I*(CC**(FOUR*THIRD))* & ! (ONE + TWO*PI/ETA *SL2 )**(FOUR*THIRD) & ! ) ! ! END IF ! ! END FUNCTION LXI_IK_M_2D ! END MODULE GRAND_PARTITION