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 @@
ELSE
!
CALL scattering_rate_q( iq, ef0, efcb, first_cycle )
! Computes the SERTA mobility
IF (iq == nqf) CALL transport_coeffs (ef0,efcb)
!
ENDIF
!
......@@ -1400,6 +1402,7 @@
ENDIF
ENDIF
ENDDO ! itemp
IF (.not. iterative_bte ) CALL transport_coeffs (ef0,efcb)
ENDIF ! if scattering
!
IF ( ALLOCATED(lambda_all) ) DEALLOCATE( lambda_all )
......@@ -1413,9 +1416,6 @@
DEALLOCATE(irvec_r)
DEALLOCATE(irvec_kk)
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_allcb) ) DEALLOCATE( inv_tau_allcb )
IF ( ALLOCATED(zi_allvb) ) DEALLOCATE( zi_allvb )
......
......@@ -568,8 +568,8 @@
CALL errore('epw_init', 'define either (tempsmin and tempsmax) or temps(:)',1)
IF ( scattering .AND. tempsmax < tempsmin ) &
CALL errore('epw_init', 'tempsmax should be greater than tempsmin',1)
IF ( int_mob .AND. efermi_read) CALL errore('epw_init', &
'Fermi level can not be set (efermi_read) when computing intrinsic mobilities',1)
! IF ( int_mob .AND. efermi_read) CALL errore('epw_init', &
! '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', &
! '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', &
......
......@@ -18,7 +18,7 @@ SUBROUTINE loadkmesh_para
USE mp, ONLY : mp_bcast, mp_sum
USE mp_world, ONLY : mpime
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
USE elph2, ONLY : nkqtotf, nkqf, xkf, wkf, nkf
USE cell_base, ONLY : at, bg
......@@ -127,14 +127,16 @@ SUBROUTINE loadkmesh_para
CALL cryst_to_cart (2*nkqtotf, xkfval, at, -1)
xkf_(:,:) = xkfval(:,:)
!
! Fold the points in the region [0-1] from the region -0.5,0.5
DO ik = 1, 2*nkqtotf
DO idir=1, 3
IF (xkf_(idir,ik) < 0.0 ) THEN
xkf_(idir,ik) = xkf_(idir,ik) + 1.0
ENDIF
ENDDO
ENDDO
IF (iterative_bte) THEN
! Fold the points in the region [0-1] from the region -0.5,0.5
DO ik = 1, 2*nkqtotf
DO idir=1, 3
IF (xkf_(idir,ik) < 0.0 ) THEN
xkf_(idir,ik) = xkf_(idir,ik) + 1.0
ENDIF
ENDDO
ENDDO
ENDIF
!
! redefine nkqtotf to include the k+q points
!
......
......@@ -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, 'mobvb'),
(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.0e+10, 1.0e+2, 'density'),
(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