mirror of https://gitlab.com/QEF/q-e.git
Merge branch 'fix_paw_spinorb' into 'develop'
fix PAW spinorb See merge request QEF/q-e!545
This commit is contained in:
commit
70d8fb3515
|
@ -430,17 +430,16 @@ SUBROUTINE PAW_xc_potential(i, rho_lm, rho_core, v_lm, energy)
|
|||
!
|
||||
INTEGER :: ix,k ! counters on directions and radial grid
|
||||
INTEGER :: lsd ! switch for local spin density
|
||||
REAL(DP) :: vs !, zeta, amag, vx(2), vc(2), ex, ec !^^^
|
||||
REAL(DP) :: vs, amag
|
||||
INTEGER :: kpol
|
||||
INTEGER :: mytid, ntids
|
||||
!
|
||||
!^^^****************************************** !^^^
|
||||
REAL(DP), ALLOCATABLE :: arho(:,:), zeta(:), amag(:)
|
||||
!^^^
|
||||
REAL(DP), ALLOCATABLE :: arho(:,:)
|
||||
REAL(DP), ALLOCATABLE :: ex(:), ec(:)
|
||||
REAL(DP), ALLOCATABLE :: vx(:,:), vc(:,:)
|
||||
REAL(DP), PARAMETER :: eps = 1.e-30_dp
|
||||
!
|
||||
!^^^*************************************
|
||||
!^^^
|
||||
!
|
||||
#if defined(_OPENMP)
|
||||
INTEGER, EXTERNAL :: omp_get_thread_num, omp_get_num_threads
|
||||
|
@ -472,8 +471,6 @@ SUBROUTINE PAW_xc_potential(i, rho_lm, rho_core, v_lm, energy)
|
|||
ALLOCATE( rho_rad(i%m,nspin_mag) )
|
||||
!
|
||||
ALLOCATE( arho(i%m,2) ) !^^^
|
||||
ALLOCATE( zeta(i%m) )
|
||||
ALLOCATE( amag(i%m) )
|
||||
ALLOCATE( ex(i%m) )
|
||||
ALLOCATE( ec(i%m) )
|
||||
ALLOCATE( vx(i%m,2) )
|
||||
|
@ -515,10 +512,12 @@ SUBROUTINE PAW_xc_potential(i, rho_lm, rho_core, v_lm, energy)
|
|||
e_rad(k) = e2*(ex(k)+ec(k))*(rho_rad(k,1)+rho_core(k)*g(i%t)%r2(k))
|
||||
vs = e2*0.5D0*( vx(k,1) + vc(k,1) - vx(k,2) - vc(k,2) )
|
||||
v_rad(k,ix,1) = e2*(0.5D0*( vx(k,1) + vc(k,1) + vx(k,2) + vc(k,2)))
|
||||
IF ( amag(k) > eps12 ) THEN
|
||||
v_rad(k,ix,2:4) = vs * rho_loc(k,2:4) / amag(k)
|
||||
amag = SQRT(rho_loc(k,2)**2+rho_loc(k,3)**2+rho_loc(k,4)**2)
|
||||
IF ( amag > eps12 ) THEN
|
||||
v_rad(k,ix,2:4) = vs * rho_loc(k,2:4) / amag
|
||||
ELSE
|
||||
v_rad(k,ix,2:4)=0.0_DP
|
||||
IF (present(energy)) e_rad(k)=0.0_DP
|
||||
ENDIF
|
||||
ENDDO
|
||||
!
|
||||
|
@ -584,9 +583,7 @@ SUBROUTINE PAW_xc_potential(i, rho_lm, rho_core, v_lm, energy)
|
|||
DEALLOCATE( rho_rad )
|
||||
DEALLOCATE( rho_loc )
|
||||
!
|
||||
DEALLOCATE( arho ) !^^^
|
||||
DEALLOCATE( zeta )
|
||||
DEALLOCATE( amag )
|
||||
DEALLOCATE( arho )
|
||||
DEALLOCATE( ex )
|
||||
DEALLOCATE( ec )
|
||||
DEALLOCATE( vx )
|
||||
|
|
Loading…
Reference in New Issue