diff --git a/Doc/release-notes b/Doc/release-notes index 9bb8cc6db0..fc61ddf301 100644 --- a/Doc/release-notes +++ b/Doc/release-notes @@ -1,4 +1,5 @@ New in 7.0 version: + * GPU support for PWscf and CP significantly extended * RMM-DIIS for CPU (S. Nisihara) and GPU (E. de Paoli, P. Delugas) * DFT-D3: MPI parallelization and GPU acceleration with OpenACC * projwfc.x can be used to compute the PDOS in a local basis (I. Timrov) @@ -31,10 +32,13 @@ Fixed in 7.0 version: * atomic: the exchange of two lines in import_upf.f90 had broken PAW tests since v.6.5 (thanks to Chiara Biz for reporting, to AdC for fixing) * Calculation of ELF for spin-unpolarized cases was grossly wrong in v.6.8 + * Changes to the i-Pi interface to adapt it to usage with ASE had broken + the original functionality Incompatible changes in 7.0 version: * Changes to Makefiles and to file "make.inc" (they must be regenerated) * clib/ deleted, files clib/*.c moved to UtilXlib/ or to Modules/ + * Some reshuffling of variables for noncollinear and spin-orbit calculations Known problems in 6.8 version: * electron-phonon calculation in the non-colinear/spinorbit case is broken diff --git a/Modules/noncol.f90 b/Modules/noncol.f90 index 579db7c1af..aba25f8763 100644 --- a/Modules/noncol.f90 +++ b/Modules/noncol.f90 @@ -14,8 +14,6 @@ MODULE noncollin_module USE kinds, ONLY : DP USE parameters, ONLY : ntypx ! - SAVE - ! INTEGER :: npol !! number of coordinates of wfc INTEGER :: report diff --git a/PP/src/pw2gt.f90 b/PP/src/pw2gt.f90 index 9b6cf6b05f..cacd874f6a 100644 --- a/PP/src/pw2gt.f90 +++ b/PP/src/pw2gt.f90 @@ -182,7 +182,7 @@ SUBROUTINE simple_output ( fileout ) IF ( lspinorb ) THEN DO is = 1, nspin WRITE(iun,'("# spin component n.",i4)') is - WRITE(iun,*) dvan_so(1:nh(nt),1:nh(nt),is,nt) + WRITE(iun,'(2e25.15)') dvan_so(1:nh(nt),1:nh(nt),is,nt) END DO ELSE WRITE(iun,*) dvan(1:nh(nt),1:nh(nt),nt) @@ -252,6 +252,7 @@ SUBROUTINE simple_diag ( fileout ) ! In order to avoid trouble with the format of complex numbers, ! these are written as "a b", not "(a,b)" REAL(dp), ALLOCATABLE :: raux(:,:) + REAL(dp) :: dvan_re, dvan_im ! CHARACTER(LEN=80) :: line INTEGER :: iun, ig, is, ik, ikb, ibnd, na, nt, nt_, i, j, ii, jj, ij, & @@ -355,7 +356,13 @@ SUBROUTINE simple_diag ( fileout ) DO is=1,nspin READ(iun,'(a)') line IF (debug) WRITE(stdout,'(a)') line - READ(iun,*) dvan_so(1:nh(nt),1:nh(nt),is,nt) + !READ(iun,*) dvan_so(1:nh(nt),1:nh(nt),is,nt) + DO jh=1,nh(nt) + DO ih=1,nh(nt) + READ(iun,*) dvan_re, dvan_im + dvan_so(ih,jh,is,nt) = CMPLX(dvan_re,dvan_im) + END DO + END DO END DO ELSE READ(iun,*) dvan(1:nh(nt),1:nh(nt),nt)