Commit 70e6f568 authored by Samuel Poncé's avatar Samuel Poncé

Erroneous call to transport_coeff when doing superconductivity.

It should also now be possible to do IBTE with a fixed Fermi level
(typically in the middle of the bandgap)
and two floating Fermi level for electron and hole mobility.
parent 9dc47337
...@@ -1284,6 +1284,8 @@ ...@@ -1284,6 +1284,8 @@
ELSE ELSE
! !
CALL scattering_rate_q( iq, ef0, efcb, first_cycle ) CALL scattering_rate_q( iq, ef0, efcb, first_cycle )
! Computes the SERTA mobility
IF (iq == nqf) CALL transport_coeffs (ef0,efcb)
! !
ENDIF ENDIF
! !
...@@ -1400,6 +1402,7 @@ ...@@ -1400,6 +1402,7 @@
ENDIF ENDIF
ENDIF ENDIF
ENDDO ! itemp ENDDO ! itemp
IF (.not. iterative_bte ) CALL transport_coeffs (ef0,efcb)
ENDIF ! if scattering ENDIF ! if scattering
! !
IF ( ALLOCATED(lambda_all) ) DEALLOCATE( lambda_all ) IF ( ALLOCATED(lambda_all) ) DEALLOCATE( lambda_all )
...@@ -1413,9 +1416,6 @@ ...@@ -1413,9 +1416,6 @@
DEALLOCATE(irvec_r) DEALLOCATE(irvec_r)
DEALLOCATE(irvec_kk) DEALLOCATE(irvec_kk)
DEALLOCATE(irvec_qq) DEALLOCATE(irvec_qq)
!
IF (.not. iterative_bte) CALL transport_coeffs (ef0,efcb)
!
IF ( ALLOCATED(inv_tau_all) ) DEALLOCATE( inv_tau_all ) IF ( ALLOCATED(inv_tau_all) ) DEALLOCATE( inv_tau_all )
IF ( ALLOCATED(inv_tau_allcb) ) DEALLOCATE( inv_tau_allcb ) IF ( ALLOCATED(inv_tau_allcb) ) DEALLOCATE( inv_tau_allcb )
IF ( ALLOCATED(zi_allvb) ) DEALLOCATE( zi_allvb ) IF ( ALLOCATED(zi_allvb) ) DEALLOCATE( zi_allvb )
......
...@@ -568,8 +568,8 @@ ...@@ -568,8 +568,8 @@
CALL errore('epw_init', 'define either (tempsmin and tempsmax) or temps(:)',1) CALL errore('epw_init', 'define either (tempsmin and tempsmax) or temps(:)',1)
IF ( scattering .AND. tempsmax < tempsmin ) & IF ( scattering .AND. tempsmax < tempsmin ) &
CALL errore('epw_init', 'tempsmax should be greater than tempsmin',1) CALL errore('epw_init', 'tempsmax should be greater than tempsmin',1)
IF ( int_mob .AND. efermi_read) CALL errore('epw_init', & ! IF ( int_mob .AND. efermi_read) CALL errore('epw_init', &
'Fermi level can not be set (efermi_read) when computing intrinsic mobilities',1) ! 'Fermi level can not be set (efermi_read) when computing intrinsic mobilities',1)
! IF ( int_mob .AND. (ABS(ncarrier) > 1E+5) ) CALL errore('epw_init', & ! IF ( int_mob .AND. (ABS(ncarrier) > 1E+5) ) CALL errore('epw_init', &
! 'You cannot compute intrinsic mobilities and doped mobilities at the same time',1) ! 'You cannot compute intrinsic mobilities and doped mobilities at the same time',1)
IF ( (ABS(ncarrier) > 1E+5) .and. .not. carrier ) CALL errore('epw_init', & IF ( (ABS(ncarrier) > 1E+5) .and. .not. carrier ) CALL errore('epw_init', &
......
...@@ -18,7 +18,7 @@ SUBROUTINE loadkmesh_para ...@@ -18,7 +18,7 @@ SUBROUTINE loadkmesh_para
USE mp, ONLY : mp_bcast, mp_sum USE mp, ONLY : mp_bcast, mp_sum
USE mp_world, ONLY : mpime USE mp_world, ONLY : mpime
USE kinds, ONLY : DP USE kinds, ONLY : DP
USE epwcom, ONLY : filkf, nkf1, nkf2, nkf3, & USE epwcom, ONLY : filkf, nkf1, nkf2, nkf3, iterative_bte, &
rand_k, rand_nk, mp_mesh_k, system_2d rand_k, rand_nk, mp_mesh_k, system_2d
USE elph2, ONLY : nkqtotf, nkqf, xkf, wkf, nkf USE elph2, ONLY : nkqtotf, nkqf, xkf, wkf, nkf
USE cell_base, ONLY : at, bg USE cell_base, ONLY : at, bg
...@@ -127,14 +127,16 @@ SUBROUTINE loadkmesh_para ...@@ -127,14 +127,16 @@ SUBROUTINE loadkmesh_para
CALL cryst_to_cart (2*nkqtotf, xkfval, at, -1) CALL cryst_to_cart (2*nkqtotf, xkfval, at, -1)
xkf_(:,:) = xkfval(:,:) xkf_(:,:) = xkfval(:,:)
! !
! Fold the points in the region [0-1] from the region -0.5,0.5 IF (iterative_bte) THEN
DO ik = 1, 2*nkqtotf ! Fold the points in the region [0-1] from the region -0.5,0.5
DO idir=1, 3 DO ik = 1, 2*nkqtotf
IF (xkf_(idir,ik) < 0.0 ) THEN DO idir=1, 3
xkf_(idir,ik) = xkf_(idir,ik) + 1.0 IF (xkf_(idir,ik) < 0.0 ) THEN
ENDIF xkf_(idir,ik) = xkf_(idir,ik) + 1.0
ENDDO ENDIF
ENDDO ENDDO
ENDDO
ENDIF
! !
! redefine nkqtotf to include the k+q points ! redefine nkqtotf to include the k+q points
! !
......
...@@ -89,7 +89,7 @@ tolerance = ( (1.0e-6, 5.0e-3, 'e1'), ...@@ -89,7 +89,7 @@ tolerance = ( (1.0e-6, 5.0e-3, 'e1'),
(1.0e-4, 5.0e-4, 'bcsgap'), (1.0e-4, 5.0e-4, 'bcsgap'),
(1.0e-4, 5.0e-4, 'mobvb'), (1.0e-4, 5.0e-4, 'mobvb'),
(1.0e-4, 5.0e-4, 'mobcb'), (1.0e-4, 5.0e-4, 'mobcb'),
(1.0 , 1.5e-1, 'mobx'), (1.0 , 2.0e-1, 'mobx'),
(1.0 , 1.5e-1, 'mobav'), (1.0 , 1.5e-1, 'mobav'),
(1.0e+10, 1.0e+2, 'density'), (1.0e+10, 1.0e+2, 'density'),
(1.0 , 1.0e-2, 'mobxZ'), (1.0 , 1.0e-2, 'mobxZ'),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment