mirror of https://gitlab.com/QEF/q-e.git
Added support for newer GTH pseudopotentials, thanks (once more) to Sebastiano
Caravati. Minor documentation updates. git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@12810 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
parent
2a089c9c27
commit
c005d7465b
|
@ -7,6 +7,8 @@ New in 6.0 version:
|
|||
(Ivan Carnimeo)
|
||||
* Improved real-space treatment of Q and beta functions with Fourier
|
||||
filtering (Stefano de Gironcoli)
|
||||
* Support for new, improved Goedecker-Hutter-Teter pseudopotentials
|
||||
generated by Santana Saha (Sebastiano Caravati)
|
||||
|
||||
Fixed in 6.0 version:
|
||||
|
||||
|
|
|
@ -1083,10 +1083,8 @@ Sliwa, April 2011).
|
|||
|
||||
The Intel compiler, ifort, is available for free for personal
|
||||
usage (\texttt{http://software.intel.com/}). It produces fast executables,
|
||||
at least on Intel CPUs, but not all versions work as expected.
|
||||
ifort versions $<9.1$ are not recommended, due to the presence of subtle
|
||||
and insidious bugs. In case of trouble, update your version with
|
||||
the most recent patches,
|
||||
at least on Intel CPUs, but not all versions work as expected (see below).
|
||||
In case of trouble, update your version with the most recent patches,
|
||||
available via Intel Premier support (registration free of charge for Linux):
|
||||
\texttt{http://software.intel.com/en-us/articles/intel-software-developer-support}.
|
||||
Since each major release of ifort
|
||||
|
@ -1105,12 +1103,23 @@ The warning: {\em feupdateenv is not implemented and will always fail},
|
|||
can be safely ignored. Warnings on "bad preprocessing option" when compiling
|
||||
iotk and complains about ``recommanded formats'' may also be ignored.
|
||||
|
||||
The following compiler releases are known to give segmentation faults
|
||||
in at least some cases of compilation of \qe\ v.6.0:
|
||||
\begin{quote}
|
||||
12.0.0.084 Build 20101006\\
|
||||
12.0.1.107 Build 20101116\\
|
||||
12.0.2.137 Build 20110112\\
|
||||
12.0.4.191 Build 20110427\\
|
||||
12.0.5.220 Build 20110719\\
|
||||
16.0.1.150 Build 20151021
|
||||
\end{quote}
|
||||
(Filippo Spiga, Aug. 2016)
|
||||
|
||||
{\bf ifort v.12}: release 12.0.0 miscompiles iotk, leading to
|
||||
mysterious errors when reading data files. Workaround: increase
|
||||
the parameter BLOCKSIZE to e.g. 131072*1024 when opening files in
|
||||
\texttt{iotk/src/iotk\_files.f90} (info by Lorenzo Paulatto,
|
||||
Nov. 2010). Release 12.0.2 seems to work and to produce faster executables
|
||||
than previous versions on 64-bit CPUs (info by P. Giannozzi, March 2011).
|
||||
Nov. 2010).
|
||||
|
||||
{\bf ifort v.11}: Segmentation faults were reported for the combination
|
||||
ifort 11.0.081, MKL 10.1.1.019, OpenMP 1.3.3. The problem disappeared
|
||||
|
|
|
@ -509,7 +509,7 @@ subroutine readgth (iunps, np, upf)
|
|||
!-----------------------------------------------------------------------
|
||||
!
|
||||
USE kinds, ONLY: dp
|
||||
USE constants, ONLY: e2
|
||||
USE constants, ONLY: e2, tpi
|
||||
USE parameters, ONLY: lmaxx
|
||||
USE funct, ONLY: set_dft_from_name, dft_is_hybrid
|
||||
USE pseudo_types, ONLY: pseudo_upf
|
||||
|
@ -523,7 +523,7 @@ subroutine readgth (iunps, np, upf)
|
|||
! Local variables
|
||||
integer :: ios, pspdat, pspcod, pspxc, lmax, lloc, mmax, ii, jj, ll, nn, nnonloc, &
|
||||
nprl, os, ns, iv, jv
|
||||
real(dp) :: znucl, r2well, rloc, rrl, cc(4)
|
||||
real(dp) :: rcore, qcore, rc2, prefact, znucl, r2well, rloc, rrl, cc(4)
|
||||
character(len=256) :: info
|
||||
character(len= 1), parameter :: ch10=char(10), spdf(0:3) = ['S','P','D','F']
|
||||
character(len= 2), external :: atom_name
|
||||
|
@ -560,6 +560,14 @@ subroutine readgth (iunps, np, upf)
|
|||
call gth_grid_for_rho(upf,znucl)
|
||||
|
||||
read (iunps, *, err=400) pspcod,pspxc,lmax,lloc,mmax,r2well
|
||||
IF ( pspcod /= 10 .AND. pspcod /= 12 ) &
|
||||
call errore ('readgth', 'unknown/invalid pspcod:', pspcod )
|
||||
IF ( pspcod == 12 ) THEN
|
||||
! pseudo with NLCC
|
||||
upf%nlcc=.true.
|
||||
upf%generated="New Soft-Accurate NLCC pseudopotentials, generated by Santanu Saha"
|
||||
upf%author=upf%author//"/Saha"
|
||||
ENDIF
|
||||
IF ( lmax-1 > lmaxx ) call errore ('readgth', 'strange lmax', lmax-1)
|
||||
IF ( lmax == lloc) THEN
|
||||
upf%lmax = lmax-1
|
||||
|
@ -580,6 +588,8 @@ subroutine readgth (iunps, np, upf)
|
|||
upf%dft = 'PBE'
|
||||
ELSE IF (pspxc == 18) THEN
|
||||
upf%dft = 'BLYP'
|
||||
ELSE IF (pspxc == -101130) THEN ! PBE from libXC
|
||||
upf%dft = 'PBE'
|
||||
ELSE
|
||||
call errore ('readgth', 'pspxc cod. cannot be understood', abs (np) )
|
||||
ENDIF
|
||||
|
@ -620,6 +630,16 @@ subroutine readgth (iunps, np, upf)
|
|||
!& ' k33 =', (kij(ll,3,jj),jj=3,3)
|
||||
end do prjloop
|
||||
!
|
||||
if (upf%nlcc) then
|
||||
read (iunps, *, err=400) rcore, qcore
|
||||
ALLOCATE ( upf%rho_atc(upf%mesh) )
|
||||
rc2 = rcore**2
|
||||
prefact = qcore * (znucl-upf%zp) / (sqrt(tpi)*rcore)**3
|
||||
do ii=1,upf%mesh
|
||||
upf%rho_atc(ii) = prefact * exp(-0.5_dp * upf%r(ii)**2 / rc2)
|
||||
enddo
|
||||
end if
|
||||
!
|
||||
allocate(upf%lll(upf%nbeta), upf%els_beta(upf%nbeta), upf%dion(upf%nbeta,upf%nbeta))
|
||||
allocate(gth_p(ns)%lll(upf%nbeta), gth_p(ns)%ipr(upf%nbeta))
|
||||
iv=0
|
||||
|
|
Loading…
Reference in New Issue