- unit 6 replaced by stdout in CPV

- ^M removed from pseudo files
- wavefunctions arrais moved to module
  wavefunctions_module, common to all codes
  this is required to reduce duplicated subroutine
- new lapack subroutine, called from PWCOND,
  added to lib/lapack.f lib/lapack_ibm.f


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@381 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
cavazzon 2003-11-09 10:42:50 +00:00
parent 1d6e63dd5e
commit c5d8ff2f66
110 changed files with 11309 additions and 3801 deletions

File diff suppressed because it is too large Load Diff

View File

@ -75,7 +75,7 @@
use work1, only: wrk1
use work_box, only: qv
use work2, only: wrk2
use io_global, ONLY: io_global_start
use io_global, ONLY: io_global_start, stdout
use mp_global, ONLY: mp_global_start
use mp, ONLY: mp_end
use para_mod
@ -85,12 +85,17 @@
use dpseu
use cdvan
use stre
use pres_mod
use gvecw, only: ggp, agg => ecutz, sgg => ecsig, e0gg => ecfix
use restart
use parameters, only: nacx, natx, nsx, nbndxx
use constants, only: pi, factem
use io_files, only: psfile, pseudo_dir
use input_cp, only: iosys
! wavefunctions
!
use wavefunctions_module, only: c0, cm, phi => cp
!
!
implicit none
!
@ -100,10 +105,6 @@
logical thdiag
logical tfirst, tlast
!
! wavefunctions
!
complex(kind=8), allocatable:: c0(:,:), cm(:,:), phi(:,:)
!
! structure factors e^{-ig*R}
!
complex(kind=8), allocatable:: ei1(:,:,:), ei2(:,:,:), ei3(:,:,:)
@ -272,29 +273,29 @@
call init( ibrav, celldm, ecut, ecutw, tranp, amprp, ndr, nbeg, tfirst, &
twmass, thdiag, iforceh, tau0, taus, delt )
write(6,*) ' out from init'
WRITE( stdout,*) ' out from init'
!
! more initialization requiring atomic positions
!
nas = MAXVAL( na( 1 : nsp ) )
if( iprsta > 1 ) then
write(6,*) ' tau0 '
write(6,'(3f14.8)') (((tau0(i,ia,is),i=1,3),ia=1,na(is)),is=1,nsp)
WRITE( stdout,*) ' tau0 '
WRITE( stdout,'(3f14.8)') (((tau0(i,ia,is),i=1,3),ia=1,na(is)),is=1,nsp)
endif
!
! ==================================================================
! allocate and initialize nonlocal potentials
! ==================================================================
call nlinit
write(6,*) ' out from nlinit'
WRITE( stdout,*) ' out from nlinit'
!
! ==================================================================
! allocation of all arrays not already allocated in init and nlinit
! ==================================================================
!
allocate(c0(ngw,nx))
allocate(cm(ngw,nx))
allocate(phi(ngw,nx))
allocate(c0(ngw,nx,1,1))
allocate(cm(ngw,nx,1,1))
allocate(phi(ngw,nx,1,1))
allocate(wrk2(ngw,max(nas,n)))
allocate(eigr(ngw,nas,nsp))
allocate(eigrb(ngb,nas,nsp))
@ -358,8 +359,8 @@
hnew=h
!
lambda(:,:)=0.d0
cm(:,:) = (0.d0, 0.d0)
c0(:,:) = (0.d0, 0.d0)
cm(:,:,1,1) = (0.d0, 0.d0)
c0(:,:,1,1) = (0.d0, 0.d0)
!
! mass preconditioning: ema0bg(i) = ratio of emass(g=0) to emass(g)
! for g**2>emaec the electron mass ema0bg(g) rises quadratically
@ -376,7 +377,7 @@
!
if(nbeg.eq.-1) then
call readfile_new &
& ( 0, ndr,h,hold,nfi,cm,cm,taus,tausm,vels,velsm,acc, &
& ( 0, ndr,h,hold,nfi,cm(:,:,1,1),cm(:,:,1,1),taus,tausm,vels,velsm,acc, &
& lambda,lambdam,xnhe0,xnhem,vnhe,xnhp0,xnhpm,vnhp,ekincm, &
& xnhh0,xnhhm,vnhh,velh,ecut,ecutw,delt,pmass,ibrav,celldm,fion)
endif
@ -389,9 +390,9 @@
!
if(iprsta.gt.2)then
do is=1,nvb
write(6,'(/,2x,''species= '',i2)') is
WRITE( stdout,'(/,2x,''species= '',i2)') is
do ia=1,na(is)
write(6,2000) ia, (irb(i,ia,is),i=1,3)
WRITE( stdout,2000) ia, (irb(i,ia,is),i=1,3)
2000 format(2x,'atom= ',i3,' irb1= ',i3,' irb2= ',i3, &
& ' irb3= ',i3)
end do
@ -425,7 +426,7 @@
call calbec (1,nsp,eigr,cm,bec)
if (tpre) call caldbec(1,nsp,eigr,cm)
call rhoofr (nfi,cm,irb,eigrb,bec,rhovan,rhor,rhog,rhos,enl,ekin)
if(iprsta.gt.0) write(6,*) ' out from rhoofr'
if(iprsta.gt.0) WRITE( stdout,*) ' out from rhoofr'
!
! put core charge (if present) in rhoc(r)
!
@ -439,10 +440,10 @@
& detot(i,2)*h(j,2)+detot(i,3)*h(j,3))
enddo
enddo
if(iprsta.gt.0) write(6,*) ' out from vofrho'
if(iprsta.gt.0) WRITE( stdout,*) ' out from vofrho'
if(iprsta.gt.2) then
write(6,*) ' fion '
write(6,'(3f14.8)') &
WRITE( stdout,*) ' fion '
WRITE( stdout,'(3f14.8)') &
& (((fion(i,ia,is),i=1,3),ia=1,na(is)),is=1,nsp)
end if
!
@ -451,21 +452,21 @@
! newd calculates deeq and a contribution to fion
!
call newd(rhor,irb,eigrb,rhovan,deeq,fion)
write(6,*) ' out from newd'
WRITE( stdout,*) ' out from newd'
call prefor(eigr,betae)
!
! if n is odd => c(*,n+1)=0
!
do i=1,n,2
call dforce(bec,deeq,betae,i,cm(1,i),cm(1,i+1),c2,c3,rhos)
call dforce(bec,deeq,betae,i,cm(1,i,1,1),cm(1,i+1,1,1),c2,c3,rhos)
ccc=dt2hbe
if(tsde) ccc=dt2bye
do j=1,ngw
c0(j,i) =cm(j,i) +ccc*ema0bg(j)*c2(j)
c0(j,i+1)=cm(j,i+1)+ccc*ema0bg(j)*c3(j)
c0(j,i,1,1) =cm(j,i,1,1) +ccc*ema0bg(j)*c2(j)
c0(j,i+1,1,1)=cm(j,i+1,1,1)+ccc*ema0bg(j)*c3(j)
end do
end do
write(6,*) ' out from dforce'
WRITE( stdout,*) ' out from dforce'
!
! buffer for wavefunctions is unit 21
!
@ -474,13 +475,13 @@
! nlfq needs deeq calculated in newd
!
if (tfor) call nlfq(cm,deeq,eigr,bec,becdr,fion)
write(6,*) ' out from nlfq'
WRITE( stdout,*) ' out from nlfq'
!
! imposing the orthogonality
! ==========================================================
!
call calphi(cm,ema0bg,bec,betae,phi)
write(6,*) ' out from calphi'
WRITE( stdout,*) ' out from calphi'
! ==========================================================
!
if(tortho) then
@ -488,29 +489,29 @@
& bigr,iter,ccc,eps,maxit,delt,bephi,becp)
else
call graham(betae,bec,c0)
write(6,*) ' graham c0 '
WRITE( stdout,*) ' graham c0 '
endif
!
! nlfl needs lambda becdr and bec
!
if (tfor) call nlfl(bec,becdr,lambda,fion)
write(6,*) ' out from nlfl'
WRITE( stdout,*) ' out from nlfl'
!
if(iprsta.ge.3) then
nnn=min(12,n)
write(6,*) 'from main:'
WRITE( stdout,*) 'from main:'
do i=1,nnn
write(6,'(12f8.5)') (lambda(i,j)*ccc,j=1,nnn)
WRITE( stdout,'(12f8.5)') (lambda(i,j)*ccc,j=1,nnn)
end do
write(6,*)
WRITE( stdout,*)
endif
!
if(tpre) then
call nlfh(bec,dbec,lambda)
write(6,*) ' out from nlfh'
write(6,*)
write(6,*) ' internal stress tensor:'
write(6,5555) ((stress(i,j),j=1,3),i=1,3)
WRITE( stdout,*) ' out from nlfh'
WRITE( stdout,*)
WRITE( stdout,*) ' internal stress tensor:'
WRITE( stdout,5555) ((stress(i,j),j=1,3),i=1,3)
endif
5555 format(1x,f12.5,1x,f12.5,1x,f12.5/ &
& 1x,f12.5,1x,f12.5,1x,f12.5/ &
@ -518,11 +519,11 @@
!
if(tortho) then
call updatc(ccc,lambda,phi,bephi,becp,bec,c0)
write(6,*) ' out from updatc'
WRITE( stdout,*) ' out from updatc'
endif
call calbec (nvb+1,nsp,eigr,c0,bec)
if (tpre) call caldbec(1,nsp,eigr,cm)
write(6,*) ' out from calbec'
WRITE( stdout,*) ' out from calbec'
! ==============================================================
! cm now orthogonalized
! ==============================================================
@ -587,11 +588,11 @@
ekincm=0.0
do i=1,n
do j=1,ngw
speed=c0(j,i)-cm(j,i)
speed=c0(j,i,1,1)-cm(j,i,1,1)
ekincm=ekincm+2.*real(conjg(speed)*speed)/ema0bg(j)
end do
if (ng0.eq.2) then
speed=c0(1,i)-cm(1,i)
speed=c0(1,i,1,1)-cm(1,i,1,1)
ekincm=ekincm-real(conjg(speed)*speed)
end if
end do
@ -611,7 +612,7 @@
!======================================================================
call readfile_new &
& ( 1, ndr,h,hold,nfi,c0,cm,taus,tausm,vels,velsm,acc, &
& ( 1, ndr,h,hold,nfi,c0(:,:,1,1),cm(:,:,1,1),taus,tausm,vels,velsm,acc, &
& lambda,lambdam,xnhe0,xnhem,vnhe,xnhp0,xnhpm,vnhp,ekincm, &
& xnhh0,xnhhm,vnhh,velh,ecut,ecutw,delt,pmass,ibrav,celldm,fion)
!
@ -628,16 +629,16 @@
if(trane.and.trhor) then
call prefor(eigr,betae)
call graham(betae,bec,c0)
cm(:, 1:n)=c0(:, 1:n)
cm(:, 1:n,1,1)=c0(:, 1:n,1,1)
endif
!
if(iprsta.gt.2) then
write(6,*) ' read: taus '
write(6,'(3f14.8)') (((taus(i,ia,is),i=1,3),ia=1,na(is)),is=1,nsp)
write(6,*) ' read: cell parameters h '
write(6,*) (h(1,j),j=1,3)
write(6,*) (h(2,j),j=1,3)
write(6,*) (h(3,j),j=1,3)
WRITE( stdout,*) ' read: taus '
WRITE( stdout,'(3f14.8)') (((taus(i,ia,is),i=1,3),ia=1,na(is)),is=1,nsp)
WRITE( stdout,*) ' read: cell parameters h '
WRITE( stdout,*) (h(1,j),j=1,3)
WRITE( stdout,*) (h(2,j),j=1,3)
WRITE( stdout,*) (h(3,j),j=1,3)
endif
!
call phfac(tau0,ei1,ei2,ei3,eigr)
@ -756,34 +757,34 @@
!==== start loop ====
!
do i=1,n,2
call dforce(bec,deeq,betae,i,c0(1,i),c0(1,i+1),c2,c3,rhos)
call dforce(bec,deeq,betae,i,c0(1,i,1,1),c0(1,i+1,1,1),c2,c3,rhos)
if(tsde) then
do j=1,ngw
cm(j, i)=c0(j, i)+dt2bye*ema0bg(j)*c2(j)
cm(j,i+1)=c0(j,i+1)+dt2bye*ema0bg(j)*c3(j)
cm(j, i,1,1)=c0(j, i,1,1)+dt2bye*ema0bg(j)*c2(j)
cm(j,i+1,1,1)=c0(j,i+1,1,1)+dt2bye*ema0bg(j)*c3(j)
end do
else if (tnosee) then
do j=1,ngw
cm(j, i)=cm(j, i) &
& +2.*fccc*(c0(j, i)-cm(j, i) &
cm(j, i,1,1)=cm(j, i,1,1) &
& +2.*fccc*(c0(j, i,1,1)-cm(j, i,1,1) &
& +0.5*dt2bye*ema0bg(j)*c2(j))
cm(j,i+1)=cm(j,i+1) &
& +2.*fccc*(c0(j,i+1)-cm(j,i+1) &
cm(j,i+1,1,1)=cm(j,i+1,1,1) &
& +2.*fccc*(c0(j,i+1,1,1)-cm(j,i+1,1,1) &
& +0.5*dt2bye*ema0bg(j)*c3(j))
end do
else
do j=1,ngw
cm(j, i) = verl1*c0(j, i) &
& + verl2*cm(j, i) &
cm(j, i,1,1) = verl1*c0(j, i,1,1) &
& + verl2*cm(j, i,1,1) &
& + verl3*dt2bye*ema0bg(j)*c2(j)
cm(j,i+1) = verl1*c0(j,i+1) &
& + verl2*cm(j,i+1) &
cm(j,i+1,1,1) = verl1*c0(j,i+1,1,1) &
& + verl2*cm(j,i+1,1,1) &
& + verl3*dt2bye*ema0bg(j)*c3(j)
end do
endif
if (ng0.eq.2) then
cm(1, i)=cmplx(real(cm(1, i)),0.0)
cm(1,i+1)=cmplx(real(cm(1,i+1)),0.0)
cm(1, i,1,1)=cmplx(real(cm(1, i,1,1)),0.0)
cm(1,i+1,1,1)=cmplx(real(cm(1,i+1,1,1)),0.0)
end if
end do
ccc=fccc*dt2bye
@ -825,18 +826,18 @@
if(iprsta.ge.4) then
if((nfi.eq.0).or.tfirst.or.tlast &
& .or.(mod(nfi-1,iprint).eq.0)) then
write(6,*)
write(6,*) ' internal stress tensor (before nlfh):'
write(6,5555) ((stress(i,j),j=1,3),i=1,3)
WRITE( stdout,*)
WRITE( stdout,*) ' internal stress tensor (before nlfh):'
WRITE( stdout,5555) ((stress(i,j),j=1,3),i=1,3)
endif
endif
call nlfh(bec,dbec,lambda)
if(iprsta.ge.4) then
if((nfi.eq.0).or.tfirst.or.tlast &
& .or.(mod(nfi-1,iprint).eq.0)) then
write(6,*)
write(6,*) ' internal stress tensor (after nlfh):'
write(6,5555) ((stress(i,j),j=1,3),i=1,3)
WRITE( stdout,*)
WRITE( stdout,*) ' internal stress tensor (after nlfh):'
WRITE( stdout,5555) ((stress(i,j),j=1,3),i=1,3)
endif
endif
do i=1,3
@ -853,9 +854,9 @@
enddo
if((nfi.eq.0).or.tfirst.or.tlast.or.(mod(nfi-1,iprint).eq.0)) &
& then
write(6,*)
write(6,*) ' internal stress tensor:'
write(6,5555) ((stress(i,j),j=1,3),i=1,3)
WRITE( stdout,*)
WRITE( stdout,*) ' internal stress tensor:'
WRITE( stdout,5555) ((stress(i,j),j=1,3),i=1,3)
endif
endif
!
@ -1040,9 +1041,9 @@
if(iprsta.ge.3) then
nnn=min(12,n)
do i=1,nnn
write(6,*)' main lambda = ',(lambda(i,k),k=1,nnn)
WRITE( stdout,*)' main lambda = ',(lambda(i,k),k=1,nnn)
end do
write(6,*)
WRITE( stdout,*)
endif
!
if(tortho) call updatc(ccc,lambda,phi,bephi,becp,bec,cm)
@ -1106,11 +1107,11 @@
ekinc0=0.0
do i=1,n
do j=1,ngw
speed=cm(j,i)-c0(j,i)
speed=cm(j,i,1,1)-c0(j,i,1,1)
ekinc0=ekinc0+2.*real(conjg(speed)*speed)/ema0bg(j)
end do
if(ng0.eq.2) then
speed=cm(1,i)-c0(1,i)
speed=cm(1,i,1,1)-c0(1,i,1,1)
ekinc0=ekinc0-real(conjg(speed)*speed)
end if
end do
@ -1200,7 +1201,7 @@
!
if(mod(nfi-1,iprint).eq.0 .or. (nfi.eq.(nomore))) then
call eigs(nspin,nx,nupdwn,iupdwn,f,lambda)
write(6,*)
WRITE( stdout,*)
endif
!
epot=eht+epseu+exc
@ -1234,12 +1235,12 @@
endif
!
if(mod(nfi-1,iprint).eq.0.or.tfirst) then
write(6,*)
write(6,1947)
WRITE( stdout,*)
WRITE( stdout,1947)
end if
!
tps=nfi*delt*2.4189d-5
write(6,1948) nfi,ekinc,int(temphc),int(tempp),enthal,econs, &
WRITE( stdout,1948) nfi,ekinc,int(temphc),int(tempp),enthal,econs, &
& econt, &
& vnhh(3,3),xnhh0(3,3),vnhp,xnhp0
write(8,2948) tps,ekinc,int(temphc),int(tempp),enthal,econs, &
@ -1329,7 +1330,7 @@
if(mod(nfi,iprint).eq.0) then
!
call writefile_new &
& ( ndw,h,hold,nfi,c0,cm,taus,tausm,vels,velsm,acc, &
& ( ndw,h,hold,nfi,c0(:,:,1,1),cm(:,:,1,1),taus,tausm,vels,velsm,acc, &
& lambda,lambdam,xnhe0,xnhem,vnhe,xnhp0,xnhpm,vnhp,ekincm, &
& xnhh0,xnhhm,vnhh,velh,ecut,ecutw,delt,pmass,ibrav,celldm,fion)
@ -1343,10 +1344,10 @@
tbump=.false.
if (enow .gt. (epre+0.00002)) then
if (tsde) then
write(6,'(''etot rising with tsde - program stopped'')')
WRITE( stdout,'(''etot rising with tsde - program stopped'')')
delt = delt - 1.
write(6,'(''new delt = delt - 1. = '',f12.6)') delt
write(6,*)
WRITE( stdout,'(''new delt = delt - 1. = '',f12.6)') delt
WRITE( stdout,*)
if (delt .le. 0.) stop
if(nbeg.lt.0) goto 666
endif
@ -1382,10 +1383,10 @@
acc(i)=acc(i)*anor
end do
!
write(6,1949)
WRITE( stdout,1949)
1949 format(//' averaged quantities :',/, &
& 9x,'ekinc',10x,'ekin',10x,'epot',10x,'etot',5x,'tempp')
write(6,1950) (acc(i),i=1,nacc)
WRITE( stdout,1950) (acc(i),i=1,nacc)
1950 format(4f14.5,f10.1)
!
#ifdef __PARA
@ -1396,39 +1397,39 @@
!
call writefile_new &
& ( ndw,h,hold,nfi,c0,cm,taus,tausm,vels,velsm,acc, &
& ( ndw,h,hold,nfi,c0(:,:,1,1),cm(:,:,1,1),taus,tausm,vels,velsm,acc, &
& lambda,lambdam,xnhe0,xnhem,vnhe,xnhp0,xnhpm,vnhp,ekincm, &
& xnhh0,xnhhm,vnhh,velh,ecut,ecutw,delt,pmass,ibrav,celldm,fion)
!
if(iprsta.gt.1) then
write(6,*)
write(6,3370)' lambda n = ',n
WRITE( stdout,*)
WRITE( stdout,3370)' lambda n = ',n
do i=1,n
write(6,3380) (lambda(i,j),j=1,n)
WRITE( stdout,3380) (lambda(i,j),j=1,n)
end do
3370 format(26x,a,i4)
3380 format(9f8.4)
endif
!
if(tfor) then
write(6,1970) ibrav, alat
write(6,1971)
WRITE( stdout,1970) ibrav, alat
WRITE( stdout,1971)
do i=1,3
write(6,1972) (h(i,j),j=1,3)
WRITE( stdout,1972) (h(i,j),j=1,3)
enddo
write(6,1973)
WRITE( stdout,1973)
do is=1,nsp
do ia=1,na(is)
write(6,1974) is,ia,(tau0(i,ia,is),i=1,3), &
WRITE( stdout,1974) is,ia,(tau0(i,ia,is),i=1,3), &
& ((ainv(j,1)*fion(1,ia,is)+ainv(j,2)*fion(2,ia,is)+ &
& ainv(j,3)*fion(3,ia,is)),j=1,3)
end do
end do
write(6,1975)
WRITE( stdout,1975)
do is=1,nsp
do ia=1,na(is)
write(6,1976) is,ia,(taus(i,ia,is),i=1,3)
WRITE( stdout,1976) is,ia,(taus(i,ia,is),i=1,3)
end do
end do
endif
@ -1442,7 +1443,7 @@
1974 format(1x,2i5,3f10.4,2x,3f10.4)
1975 format(/1x,'Scaled coordinates '/1x,'species',' atom #')
1976 format(1x,2i5,3f10.4)
write (6,1977)
WRITE( stdout,1977)
!
call memory
!

View File

@ -254,6 +254,7 @@
! g^2 (dvps)
!
use control_flags, only: iprint, tpre, iprsta
use io_global, only: stdout
use bhs
use gvec
use gvecs
@ -290,7 +291,7 @@
end do
eself=eself/sqrt(2.*pi)
if(tfirst.or.iprsta.ge.4)then
write(6,1200) eself
WRITE( stdout,1200) eself
endif
1200 format(2x,'formf: eself=',f10.5)
!
@ -458,8 +459,8 @@
call reduce(1,vpsum)
call reduce(1,rhopsum)
#endif
write(6,1250) vps(1,is),rhops(1,is)
write(6,1300) vpsum,rhopsum
WRITE( stdout,1250) vps(1,is),rhops(1,is)
WRITE( stdout,1300) vpsum,rhopsum
endif
!
end do
@ -496,7 +497,7 @@
use control_flags, only: iprint
use gvec
use gvecw, only: ngw
use pres_mod
use gvecw, only: ggp, agg => ecutz, sgg => ecsig, e0gg => ecfix
implicit none
!
integer nr1, nr2, nr3
@ -682,6 +683,7 @@
! use ibrav=0 for generic cell vectors given by the matrix h(3,3)
!
use control_flags, only: iprint, thdyn
use io_global, only: stdout
use gvec
use gvecw, only: ngw
use ions_base, only: na, pmass, nsp
@ -689,7 +691,7 @@
use elct
use constants, only: pi, fpi
use cell_base, only: wmass, hold, h
use pres_mod
use gvecw, only: ggp, agg => ecutz, sgg => ecsig, e0gg => ecfix
use betax, only: mmx, refg
use restart
use parameters, only: nacx, nsx, natx
@ -732,7 +734,7 @@
end do
!
refg=1.0*ecut/(mmx-1)
write(6,*) ' NOTA BENE: refg, mmx = ',refg,mmx
WRITE( stdout,*) ' NOTA BENE: refg, mmx = ',refg,mmx
!
if(thdyn) then
if(thdiag) then
@ -763,11 +765,11 @@
& lambda,lambdam,xnhe0,xnhem,vnhe,xnhp0,xnhpm,vnhp,ekincm, &
& xnhh0,xnhhm,vnhh,velh,ecut,ecutw,delt,pmass,ibrav,celldm,fion)
!
write(6,344) ibrav
WRITE( stdout,344) ibrav
do i=1,3
write(6,345) (h(i,j),j=1,3)
WRITE( stdout,345) (h(i,j),j=1,3)
enddo
write(6,*)
WRITE( stdout,*)
else
!
! with variable-cell we use h to describe the cell
@ -809,14 +811,14 @@
end do
!
if(.not. twmass) then
write(6,998) wmass
WRITE( stdout,998) wmass
else
wmass=0.
do is=1,nsp
wmass=wmass+na(is)*pmass(is)
enddo
wmass=wmass*0.75/pi/pi
write(6,999) wmass
WRITE( stdout,999) wmass
endif
998 format(' wmass (read from input) = ',f15.2,/)
999 format(' wmass (calculated) = ',f15.2,/)
@ -834,6 +836,7 @@
! are recalculated according to the value of cell parameter h
!
use control_flags, only: iprint, iprsta
use io_global, only: stdout
use gvec
use grid_dimensions, only: nr1, nr2, nr3
use cell_base, only: ainv, a1, a2, a3
@ -842,7 +845,7 @@
use smallbox_grid_dimensions, only: nr1b, nr2b, nr3b
use small_box, only: a1b, a2b, a3b, ainvb, omegab, tpibab
use cell_base, only: h, deth
use pres_mod
use gvecw, only: ggp, agg => ecutz, sgg => ecsig, e0gg => ecfix
!
implicit none
integer ibrav
@ -901,13 +904,13 @@
end do
! ==============================================================
if(iprsta.ge.4)then
write(6,34) ibrav,alat,omega
WRITE( stdout,34) ibrav,alat,omega
if(ibrav.eq.0) then
write(6,344)
WRITE( stdout,344)
do i=1,3
write(6,345) (h(i,j),j=1,3)
WRITE( stdout,345) (h(i,j),j=1,3)
enddo
write(6,*)
WRITE( stdout,*)
endif
endif
!
@ -926,6 +929,7 @@
! See also comments in nlinit
!
use control_flags, only: iprint, tpre, iprsta
use io_global, only: stdout
use gvec
use gvecw, only: ngw
use reciprocal_vectors, only: ng0 => gstart
@ -968,7 +972,7 @@
! ---------------------------------------------------------------
! calculation of array qradb(igb,iv,jv,is)
! ---------------------------------------------------------------
if(iprsta.ge.4) write(6,*) ' qradb '
if(iprsta.ge.4) WRITE( stdout,*) ' qradb '
c=fpi/omegab
!
do l=1,nqlc(is)
@ -1056,7 +1060,7 @@
! ---------------------------------------------------------------
! calculation of array beta(ig,iv,is)
! ---------------------------------------------------------------
if(iprsta.ge.4) write(6,*) ' beta '
if(iprsta.ge.4) WRITE( stdout,*) ' beta '
c=fpi/sqrt(omega)
do iv=1,nh(is)
lp=indlm(iv,is)
@ -1112,7 +1116,7 @@
do ig=1,ngb
rhocb(ig,is)=c*qgbs(ig)
end do
if(iprsta.ge.4) write(6,'(a,f12.8)') &
if(iprsta.ge.4) WRITE( stdout,'(a,f12.8)') &
& ' integrated core charge= ',omegab*rhocb(1,is)
deallocate(jl)
deallocate(fint)
@ -1226,6 +1230,7 @@
! (this is done in routine newnlinit)
!
use control_flags, only: iprint, tpre
use io_global, only: stdout
use gvec
use gvecw, only: ngw
use cvan
@ -1342,7 +1347,7 @@
! ---------------------------------------------------------------
! calculation of array qradx(igb,iv,jv,is)
! ---------------------------------------------------------------
write(6,*) ' nlinit nh(is),ngb,is,kkbeta,lqx = ', &
WRITE( stdout,*) ' nlinit nh(is),ngb,is,kkbeta,lqx = ', &
& nh(is),ngb,is,kkbeta(is),nqlc(is)
do l=1,nqlc(is)
do il=1,mmx
@ -1412,12 +1417,12 @@
end do
end do
!
write(6,*)
write(6,'(20x,a)') ' qqq '
WRITE( stdout,*)
WRITE( stdout,'(20x,a)') ' qqq '
do iv=1,nbeta(is)
write(6,'(8f9.4)') (qqq(iv,jv,is),jv=1,nbeta(is))
WRITE( stdout,'(8f9.4)') (qqq(iv,jv,is),jv=1,nbeta(is))
end do
write(6,*)
WRITE( stdout,*)
!
deallocate(jl)
deallocate(fint)
@ -1449,7 +1454,7 @@
! ---------------------------------------------------------------
! calculation of array betagx(ig,iv,is)
! ---------------------------------------------------------------
write(6,*) ' betagx '
WRITE( stdout,*) ' betagx '
do iv=1,nh(is)
l=nhtol(iv,is)+1
do il=1,mmx
@ -1524,14 +1529,14 @@
end do
!
do iv=1,nh(is)
write(6,901) iv,indv(iv,is),nhtol(iv,is)
WRITE( stdout,901) iv,indv(iv,is),nhtol(iv,is)
end do
901 format(2x,i2,' indv= ',i2,' ang. mom= ',i2)
!
write(6,*)
write(6,'(20x,a)') ' dion '
WRITE( stdout,*)
WRITE( stdout,'(20x,a)') ' dion '
do iv=1,nbeta(is)
write(6,'(8f9.4)') (fac*dion(iv,jv,is),jv=1,nbeta(is))
WRITE( stdout,'(8f9.4)') (fac*dion(iv,jv,is),jv=1,nbeta(is))
end do
!
deallocate(jltmp)

View File

@ -10,6 +10,7 @@
subroutine errore(a,b,n)
!-----------------------------------------------------------------------
use io_global, only: stdout
character(len=*) a,b
integer n
#ifdef __PARA
@ -17,7 +18,7 @@ subroutine errore(a,b,n)
integer ierr
#endif
!
write(6,1) a,b,n
WRITE( stdout,1) a,b,n
1 format(//' program ',a,':',a,'.',8x,i8,8x,'stop')
#ifdef __MPI
call mpi_abort( MPI_COMM_WORLD, ierr, ierr)

View File

@ -51,7 +51,7 @@ CONTAINS
use constants, only: pi, scmass, factem, eps8
use parameters, only: nsx, natx, nbndxx
use io_global, only: ionode
use io_global, only: ionode, stdout
use mp, only: mp_bcast
!
@ -577,54 +577,54 @@ CONTAINS
! --------------------------------------------------------
! print out heading
!
write(6,500) nbeg_ , nomore_ , iprint_ , ndr_ , ndw_
write(6,505) delt_
write(6,510) emass_ , emaec_
WRITE( stdout,500) nbeg_ , nomore_ , iprint_ , ndr_ , ndw_
WRITE( stdout,505) delt_
WRITE( stdout,510) emass_ , emaec_
!
if( tortho_ ) then
write(6,511) eps_ , max_
WRITE( stdout,511) eps_ , max_
else
write(6,512)
WRITE( stdout,512)
endif
!
if( tsde_ ) then
write(6,513)
WRITE( stdout,513)
else
if ( tnosee_ ) frice_ = 0.
write(6,509)
write(6,514) frice_ , grease_
WRITE( stdout,509)
WRITE( stdout,514) frice_ , grease_
endif
!
if ( trhor_ ) then
write(6,720)
WRITE( stdout,720)
endif
!
if( .not. trhor_ .and. trhow_ )then
write(6,721)
WRITE( stdout,721)
endif
!
if( tvlocw_ )then
write(6,722)
WRITE( stdout,722)
endif
!
if( trane_ ) then
write(6,515) ampre_
WRITE( stdout,515) ampre_
endif
write(6,516)
WRITE( stdout,516)
do is =1, nsp_
if(tranp_(is)) write(6,517) is, amprp_(is)
if(tranp_(is)) WRITE( stdout,517) is, amprp_(is)
end do
!
if(tfor_) then
if(tnosep_) fricp_ = 0.
write(6,520)
WRITE( stdout,520)
if(tsdp_)then
write(6,521)
WRITE( stdout,521)
else
write(6,522) fricp_ , greasp_
WRITE( stdout,522) fricp_ , greasp_
endif
else
write(6,518)
WRITE( stdout,518)
endif
!
if( tfor_ ) then
@ -632,7 +632,7 @@ CONTAINS
call errore(' main',' t contr. for ions when tsdp=.t.',0)
endif
if(.not. tcp_ .and. .not. tcap_ .and. .not. tnosep_ ) then
write(6,550)
WRITE( stdout,550)
else if(tcp_ .and. tcap_ ) then
call errore(' main',' tcp and tcap both true',0)
else if(tcp_ .and. tnosep_ ) then
@ -640,35 +640,35 @@ CONTAINS
else if(tcap_ .and. tnosep_ ) then
call errore(' main',' tcap and tnosep both true',0)
else if(tcp_ ) then
write(6,555) tempw_ , tolp_
WRITE( stdout,555) tempw_ , tolp_
else if(tcap_) then
write(6,560) tempw_ , tolp_
WRITE( stdout,560) tempw_ , tolp_
else if(tnosep_ ) then
write(6,562) tempw_ , qnp_
WRITE( stdout,562) tempw_ , qnp_
end if
if(tnosee_) then
write(6,566) ekincw_ , qne_
WRITE( stdout,566) ekincw_ , qne_
end if
end if
!
if(tpre_) then
write(6,600)
WRITE( stdout,600)
if(thdyn_) then
if(thdiag_) write(6,608)
if(thdiag_) WRITE( stdout,608)
if(tnoseh_) then
frich_=0.
write(6,604) temph_,qnh_,press_
WRITE( stdout,604) temph_,qnh_,press_
else
write(6,602) frich_,greash_,press_
WRITE( stdout,602) frich_,greash_,press_
endif
else
write(6,606)
WRITE( stdout,606)
endif
endif
if ( agg_ .ne. 0.d0) then
write(6,650) agg_, sgg_, e0gg_
WRITE( stdout,650) agg_, sgg_, e0gg_
end if
write(6,700) iprsta_
WRITE( stdout,700) iprsta_
!
500 format(// &

View File

@ -146,6 +146,7 @@
#ifdef __PARA
use para_mod, only: me
#endif
use io_global, only: stdout
implicit none
character(len=80) command
integer pid
@ -155,7 +156,7 @@
pid=getpid_()
write(command,10) pid
10 format('ps -lp ',i8,' | grep -v SZ | awk ''{print $10}'' ')
write(6,'(''Estimated size (kB) of each process: '',$)')
WRITE( stdout,'(''Estimated size (kB) of each process: '',$)')
call system(command)
#endif
@ -164,7 +165,7 @@
pid=getpid()
write(command,10) pid
10 format('ps -lp ',i8,'|grep -v SZ|awk ''{print $10}''|cut -f1 -d:')
write(6,'(''Total estimated size (pages) of each process: '',$)')
WRITE( stdout,'(''Total estimated size (pages) of each process: '',$)')
#ifdef __PARA
if(me.eq.1) &
#endif

View File

@ -322,10 +322,3 @@ module cdvan
drhovan(:,:,:,:,:)
end module cdvan
module pres_mod
use gvecw, only: agg => ecutz, sgg => ecsig, e0gg => ecfix
implicit none
save
real(kind=8),allocatable:: ggp(:)
end module pres_mod

View File

@ -92,6 +92,7 @@ end module para_mod
!
use para_mod
use mp, only: mp_start, mp_env
use io_global, only: stdout
use global_version
!
implicit none
@ -122,16 +123,16 @@ end module para_mod
! only the first processor writes
!
if ( me == 1 ) then
write(6,'(72("*"))')
write(6,'(4("*"),64x,4("*"))')
write(6,'(4("*")," CPV: variable-cell Car-Parrinello ", &
WRITE( stdout,'(72("*"))')
WRITE( stdout,'(4("*"),64x,4("*"))')
WRITE( stdout,'(4("*")," CPV: variable-cell Car-Parrinello ", &
& "molecular dynamics ",4("*"))')
write(6,'(4("*")," using ultrasoft Vanderbilt ", &
WRITE( stdout,'(4("*")," using ultrasoft Vanderbilt ", &
& "pseudopotentials - v.",a6,8x,4("*"))') version_number
write(6,'(4("*"),64x,4("*"))')
write(6,'(72("*"))')
write(6,'(/5x,''Parallel version (MPI)'')')
write(6,'(5x,''Number of processors in use: '',i4)') nproc
WRITE( stdout,'(4("*"),64x,4("*"))')
WRITE( stdout,'(72("*"))')
WRITE( stdout,'(/5x,''Parallel version (MPI)'')')
WRITE( stdout,'(5x,''Number of processors in use: '',i4)') nproc
else
open(6,file='/dev/null',status='unknown')
!
@ -264,6 +265,7 @@ end module para_mod
use para_mod
use stick_base
use fft_scalar, only: good_fft_dimension
use io_global, only: stdout
!
implicit none
real(kind=8) b1(3), b2(3), b3(3), gcut, gcuts, gcutw
@ -523,14 +525,14 @@ end module para_mod
! ipc is the processor for this column in the dense grid
! ipcs is the same, for the smooth grid
!
write(6,"( &
WRITE( stdout,"( &
& ' Proc planes cols G planes cols G columns G',/, &
& ' (dense grid) (smooth grid) (wavefct grid)' )" )
do i=1,nproc
write(6,'(i3,2x,3(i5,2i7))') i, npp(i),ncp(i),ngp(i), &
WRITE( stdout,'(i3,2x,3(i5,2i7))') i, npp(i),ncp(i),ngp(i), &
& npps(i),ncps(i),ngps(i), ncpw(i), ngpw(i)
end do
write(6,'(i3,2x,3(i5,2i7))') 0, SUM(npp(1:nproc)), SUM(ncp(1:nproc)), &
WRITE( stdout,'(i3,2x,3(i5,2i7))') 0, SUM(npp(1:nproc)), SUM(ncp(1:nproc)), &
SUM(ngp(1:nproc)), SUM(npps(1:nproc)), SUM(ncps(1:nproc)), &
SUM(ngps(1:nproc)), SUM(ncpw(1:nproc)), SUM(ngpw(1:nproc))
!
@ -675,13 +677,13 @@ end module para_mod
call tictac(27,1)
! do i = 1, nproc
! write(6,fmt="('DEBUG fft_setup ',3I5 )" ) i, npp(i), dfftp%npp(i)
! write(6,fmt="('DEBUG fft_setup ',3I5 )" ) i, npps(i), dffts%npp(i)
! WRITE( stdout,fmt="('DEBUG fft_setup ',3I5 )" ) i, npp(i), dfftp%npp(i)
! WRITE( stdout,fmt="('DEBUG fft_setup ',3I5 )" ) i, npps(i), dffts%npp(i)
! end do
! write(6,fmt="('DEBUG fft_setup ',3I9 )" ) nnr_, dfftp%nnr
! write(6,fmt="('DEBUG fft_setup ',3I9 )" ) nnrs_, dffts%nnr
! write(6,fmt="('DEBUG fft_setup ',3I9 )" ) nct, dfftp%nst
! write(6,fmt="('DEBUG fft_setup ',3I9 )" ) ncts, dffts%nst
! WRITE( stdout,fmt="('DEBUG fft_setup ',3I9 )" ) nnr_, dfftp%nnr
! WRITE( stdout,fmt="('DEBUG fft_setup ',3I9 )" ) nnrs_, dffts%nnr
! WRITE( stdout,fmt="('DEBUG fft_setup ',3I9 )" ) nct, dfftp%nst
! WRITE( stdout,fmt="('DEBUG fft_setup ',3I9 )" ) ncts, dffts%nst
!
return
end
@ -807,6 +809,7 @@ end module para_mod
!
use para_mod
use timex_mod
use io_global, only: stdout
!
implicit none
include 'mpif.h'
@ -828,12 +831,12 @@ end module para_mod
if (ierr.ne.0) &
& call errore('print_para_times','error in maximum',ierr)
!
write(6,*)
write(6,*) ' routine calls cpu time elapsed'
write(6,*) ' node0 node0, min, max node0'
write(6,*)
WRITE( stdout,*)
WRITE( stdout,*) ' routine calls cpu time elapsed'
WRITE( stdout,*) ' node0 node0, min, max node0'
WRITE( stdout,*)
do i=1, maxclock
if (ntimes(i).gt.0) write(6,30) routine(i), &
if (ntimes(i).gt.0) WRITE( stdout,30) routine(i), &
& ntimes(i), cputime(i), mincpu(i),maxcpu(i), elapsed(i)
end do
30 format(a10,i7,4f8.1)

View File

@ -440,16 +440,16 @@ CONTAINS
strlen = index(filename,' ') - 1
OPEN(unit=ndr, file=filename(1:strlen), form='unformatted', status='old')
REWIND (ndr)
WRITE(6,10)
WRITE( stdout,10)
10 FORMAT(/,3X,'READING FROM RESTART FILE ...')
end if
if (flag.eq.-1) then
write(6,'((a,i3,a))') ' ### reading from file ',ndr,' only h ##'
WRITE( stdout,'((a,i3,a))') ' ### reading from file ',ndr,' only h ##'
else if (flag.eq.0) then
write(6,'((a,i3,a))') ' ## reading from file ',ndr,' only c0 ##'
WRITE( stdout,'((a,i3,a))') ' ## reading from file ',ndr,' only c0 ##'
else
write(6,'((a,i3))') ' ## reading from file ',ndr
WRITE( stdout,'((a,i3))') ' ## reading from file ',ndr
end if
! ==--------------------------------------------------------------==

View File

@ -99,7 +99,7 @@ subroutine which_dft (dft, iexch, icorr, igcx, igcc)
dftout = exc (iexch) //'-'//corr (icorr) //'-'//gradx (igcx) //'-' &
&//gradc (igcc)
!cc write (6,'(a)') dftout
!cc WRITE( stdout,'(a)') dftout
return
end subroutine which_dft
!

View File

@ -52,6 +52,8 @@
! nac=number of columns of a, number of rows of b
! nbc=number of columns of b and c
!
use io_global, only: stdout
implicit none
integer na, iad, nb, ibd, nc, icd, nar, nac, nbc
real(kind=8) a(iad,nac), b(ibd,nbc), c(icd,nbc)
@ -76,9 +78,9 @@
!
if ( na.ne.1.and.iad.ne.1 .or. &
& nb.ne.1.and.ibd.ne.1 .or. nc.ne.1 ) then
write (6,'(''MXMA : na,nb,nc,iad,ibd,icd,nar,nac,nbc =''/ &
WRITE( stdout,'(''MXMA : na,nb,nc,iad,ibd,icd,nar,nac,nbc =''/ &
& 9i8)') na,nb,nc,iad,ibd,icd,nar,nac,nbc
write (6,'(''MXMA : not implemented'')')
WRITE( stdout,'(''MXMA : not implemented'')')
stop
end if
!

View File

@ -169,7 +169,6 @@ PHOBJS = ../PH/phcom.o \
MODULES = ../Modules/*.o
PWOBJS = ../PW/pwcom.o \
../PW/wavefunctions.o \
../PW/aainit.o \
../PW/addusdens.o \
../PW/addusforce.o \

View File

@ -16,7 +16,7 @@ subroutine d0rhod2v (ipert, drhoscf)
#include "machine.h"
USE io_global, ONLY : stdout
use pwcom
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
use phcom
use d3com
#ifdef __PARA

View File

@ -16,7 +16,7 @@ subroutine d3vrho
!
#include "machine.h"
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
use phcom
use d3com
!

View File

@ -16,7 +16,7 @@ subroutine dqrhod2v (ipert, drhoscf)
!
#include "machine.h"
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
use phcom
use d3com
#ifdef __PARA

View File

@ -19,7 +19,7 @@ subroutine gen_dpdvp
!
#include "machine.h"
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
use phcom
use d3com

View File

@ -17,7 +17,7 @@ subroutine incdrhoscf2 (drhoscf, weight, ik, dbecsum, mode, flag)
!
#include "machine.h"
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
use phcom
implicit none

View File

@ -31,7 +31,7 @@ subroutine solve_linter_d3 (irr, imode0, npe, isw_sl)
#include "machine.h"
USE io_global, ONLY : stdout
use pwcom
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
use phcom
use d3com

View File

@ -7,7 +7,6 @@ include ../make.sys
# targets
#
PWOBJS=../PW/pwcom.o \
../PW/wavefunctions.o \
../PW/para.o \
../PW/funct.o \
../PW/g_psi_mod.o \

View File

@ -12,7 +12,7 @@ subroutine A_h(e,h,ah)
#include "machine.h"
use parameters, only: DP
use pwcom
USE wavefunctions, ONLY: evc, psic
USE wavefunctions_module, ONLY: evc, psic
USE constants, ONLY: degspin
use rbecmod, only: becp
use cgcom

View File

@ -20,7 +20,7 @@ subroutine allocate_wfc
USE ldaU, ONLY : swfcatom, lda_plus_u
USE gvect, ONLY : ngl
USE us, ONLY : nkb
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
implicit none
!
! Allocate memory

View File

@ -19,7 +19,7 @@ subroutine c_bands (iter, ik_, dr2)
#include "machine.h"
USE io_global, ONLY : stdout
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
USE rbecmod, ONLY: becp, becp_
USE g_psi_mod
implicit none

View File

@ -13,7 +13,7 @@ subroutine cg_setup
#include "machine.h"
use parameters, only: DP
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
use io_files, only: prefix
use cgcom
use funct

View File

@ -16,7 +16,7 @@ subroutine dvpsi_e(kpoint,ipol)
#include "machine.h"
use parameters, only: DP
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
USE rbecmod, ONLY: becp, becp_
use cgcom
!

View File

@ -14,7 +14,7 @@ subroutine dvpsi_kb(kpoint,nu)
#include "machine.h"
use parameters, only: DP
use pwcom
USE wavefunctions, ONLY: evc, psic
USE wavefunctions_module, ONLY: evc, psic
use cgcom
!
implicit none

View File

@ -12,7 +12,7 @@ subroutine dynmatcc(dyncc)
!
#include "machine.h"
use pwcom
USE wavefunctions, ONLY: psic
USE wavefunctions_module, ONLY: psic
use cgcom
implicit none
real(kind=DP):: dyncc(3*nat,nmodes)

View File

@ -15,7 +15,7 @@ subroutine force_us (forcenl)
#include "machine.h"
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
implicit none
!
real(kind=DP) :: forcenl (3, nat)

View File

@ -14,7 +14,7 @@ subroutine rhod2vkb(dyn0)
!
#include "machine.h"
use pwcom
USE wavefunctions, ONLY: evc, psic
USE wavefunctions_module, ONLY: evc, psic
use cgcom
!
implicit none

View File

@ -13,7 +13,7 @@ subroutine solve_e
#include "machine.h"
USE io_global, ONLY : stdout
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
USE rbecmod, ONLY: becp, becp_
use cgcom
!

View File

@ -13,7 +13,7 @@ subroutine solve_ph
#include "machine.h"
USE io_global, ONLY : stdout
use pwcom
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
USE rbecmod, ONLY : becp, becp_
use cgcom
#ifdef __PARA

View File

@ -13,7 +13,7 @@ subroutine stres_us (ik, gk, sigmanlc)
!
#include "machine.h"
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
#ifdef __PARA
use para
#endif

View File

@ -30,7 +30,7 @@ subroutine sum_band
USE symme, ONLY: nsym, s, ftau
USE units, ONLY: iunwfc, nwordwfc, iunigk
USE us, ONLY: okvan, tvanp, becsum, nh, nkb, vkb
USE wavefunctions, ONLY: evc, psic
USE wavefunctions_module, ONLY: evc, psic
USE wvfct, ONLY: nbnd, npwx, npw, igk, wg, et
#ifdef __PARA
use para

View File

@ -13,7 +13,7 @@ subroutine vloc_psi(lda, n, m, psi, v, hpsi)
USE parameters, only : DP
USE gsmooth, ONLY : nls, nlsm, nr1s, nr2s, nr3s, nrx1s, nrx2s, nrx3s, nrxxs
USE wvfct, ONLY : igk
USE wavefunctions, ONLY: psic
USE wavefunctions_module, ONLY: psic
!
implicit none
!

View File

@ -16,7 +16,7 @@ subroutine wfcinit
#include "machine.h"
USE io_global, ONLY : stdout
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
USE rbecmod, only: becp, becp_
implicit none
!

View File

@ -37,6 +37,7 @@ read_cards.o \
berry_phase.o \
energies.o \
io_files.o \
wavefunctions.o \
version.o
#
include ../make.rules

View File

@ -41,6 +41,12 @@
REAL(dbl) :: ekcut = 0.0d0
REAL(dbl) :: gkcut = 0.0d0
! array of G vectors module plus penalty function for constant cut-off
! simulation.
!
! ggp = g + ( agg / tpiba**2 ) * ( 1 + erf( ( tpiba2 * g - e0gg ) / sgg ) )
REAL(dbl), ALLOCATABLE :: ggp(:)
!=----------------------------------------------------------------------------=!
END MODULE gvecw

45
Modules/wavefunctions.f90 Normal file
View File

@ -0,0 +1,45 @@
!
! Copyright (C) 2002 FPMD group
! This file is distributed under the terms of the
! GNU General Public License. See the file `License'
! in the root directory of the present distribution,
! or http://www.gnu.org/copyleft/gpl.txt .
!
!=----------------------------------------------------------------------------=!
MODULE wavefunctions_module
!=----------------------------------------------------------------------------=!
USE kinds
USE parameters, ONLY : DP
IMPLICIT NONE
SAVE
!
COMPLEX(KIND=DP), ALLOCATABLE, TARGET :: &
evc(:,:) ! wavefunctions in the PW basis
!
COMPLEX(KIND=DP) , ALLOCATABLE, TARGET :: &
psic(:) ! additional memory for FFT
! three index wave functions, for non colinear code
!
COMPLEX(KIND=DP), ALLOCATABLE, TARGET :: &
evc_nc(:,:,:) ! wavefunctions in the PW basis
!
COMPLEX(KIND=DP), ALLOCATABLE, TARGET :: &
psic_nc(:,:) ! additional memory for FFT
!
! electronic wave functions, FPMD code
!
COMPLEX(dbl), ALLOCATABLE :: c0(:,:,:,:) ! wave functions at time t
COMPLEX(dbl), ALLOCATABLE :: cm(:,:,:,:) ! wave functions at time t-delta t
COMPLEX(dbl), ALLOCATABLE :: cp(:,:,:,:) ! wave functions at time t+delta t
COMPLEX(dbl), ALLOCATABLE :: ce(:,:,:,:) ! empty states wave func. at time t
!=----------------------------------------------------------------------------=!
END MODULE wavefunctions_module
!=----------------------------------------------------------------------------=!

View File

@ -115,7 +115,6 @@ addnlcc_zstar_eu_us.o
MODULES = ../Modules/*.o
PWOBJS = ../PW/pwcom.o \
../PW/wavefunctions.o \
../PW/aainit.o \
../PW/add_efield.o \
../PW/addusdens.o \

View File

@ -10,7 +10,7 @@ subroutine add_dkmds(kpoint, uact, jpol, dvkb)
use pwcom
use parameters, only : DP
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
use becmod
use phcom

View File

@ -15,7 +15,7 @@ subroutine add_zstar_ue (imode0, npe)
!
#include "machine.h"
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
use parameters, only : DP
use phcom
implicit none

View File

@ -12,7 +12,7 @@ subroutine add_zstar_ue_us(imode0,npe)
USE pwcom
USE parameters, ONLY : DP
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
USE phcom
USE becmod
implicit none

View File

@ -18,7 +18,7 @@ subroutine addusddens (drhoscf, dbecsum, irr, mode0, npe, iflag)
#include "machine.h"
use pwcom
USE wavefunctions, ONLY: psic
USE wavefunctions_module, ONLY: psic
use phcom
use parameters, only : DP
implicit none

View File

@ -15,7 +15,7 @@ subroutine addusldos (ldos, becsum1)
!
#include "machine.h"
use pwcom
USE wavefunctions, ONLY: psic
USE wavefunctions_module, ONLY: psic
implicit none
complex(kind=DP) :: ldos (nrxx, nspin)
! local density of states

View File

@ -16,7 +16,7 @@ subroutine allocate_phq
#include "machine.h"
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
use parameters, only : DP
use phcom
use el_phon

View File

@ -17,7 +17,7 @@ subroutine compute_drhous (drhous, dbecsum, wgg, becq, alpq)
#include"machine.h"
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
use parameters, only : DP
use phcom
implicit none

View File

@ -9,7 +9,7 @@ subroutine dvkb3(kpoint,dvkb)
use pwcom
use parameters, only : DP
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
use becmod
use phcom

View File

@ -20,7 +20,7 @@ subroutine dvpsi_e (kpoint, ipol)
!
USE io_global, ONLY : stdout
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
use parameters, only : DP
use becmod
use phcom

View File

@ -18,7 +18,7 @@ subroutine dvqpsi_us (ik, mode, uact, addnlcc)
#include "machine.h"
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
use parameters, only : DP
use phcom
implicit none

View File

@ -16,7 +16,7 @@ subroutine dynmat_us
#include "machine.h"
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
use parameters, only : DP
use phcom
#ifdef __PARA

View File

@ -15,7 +15,7 @@ subroutine ef_shift (drhoscf, ldos, ldoss, dos_ef, irr, npe, flag)
USE io_global, ONLY : stdout
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
use parameters, only : DP
use phcom
implicit none

View File

@ -163,7 +163,7 @@ subroutine elphel (npe, imode0, dvscfins)
!
#include "machine.h"
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
use parameters, only : DP
use phcom
use el_phon

View File

@ -18,7 +18,7 @@ subroutine h_psiq (lda, n, m, psi, hpsi, spsi)
!
use pwcom
USE wavefunctions, ONLY: psic
USE wavefunctions_module, ONLY: psic
use becmod
use parameters, only : DP
use phcom

View File

@ -17,7 +17,7 @@ subroutine incdrhoscf (drhoscf, weight, ik, dbecsum, mode)
#include "machine.h"
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
use parameters, only : DP
use phcom
implicit none

View File

@ -20,7 +20,7 @@ subroutine localdos (ldos, ldoss, dos_ef)
#include "machine.h"
use pwcom
USE wavefunctions, ONLY: evc, psic
USE wavefunctions_module, ONLY: evc, psic
use becmod
use parameters, only : DP
use phcom

View File

@ -33,7 +33,7 @@ subroutine phq_init
#include"machine.h"
USE io_global, ONLY : stdout
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
use parameters, only : DP
use phcom
implicit none

View File

@ -19,7 +19,7 @@ subroutine psidspsi (ik, uact, pdsp)
USE pwcom
USE parameters, ONLY : DP
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
USE phcom
implicit none
!

View File

@ -22,7 +22,7 @@ subroutine solve_e
#include "machine.h"
USE io_global, ONLY : stdout
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
use parameters, only : DP
use becmod
use phcom

View File

@ -22,7 +22,7 @@ subroutine solve_linter (irr, imode0, npe, drhoscf)
#include "machine.h"
USE io_global, ONLY : stdout
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
USE constants, ONLY: degspin
use becmod
use parameters, only : DP

View File

@ -16,7 +16,7 @@ subroutine zstar_eu
USE io_global, ONLY : stdout
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
use parameters, only : DP
use phcom
implicit none

View File

@ -8,7 +8,7 @@ subroutine zstar_eu_us
#include "machine.h"
use parameters, only : DP
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
use pwcom
use phcom
use becmod

View File

@ -26,7 +26,6 @@ work_function.o
MODULES = ../Modules/*.o
PWOBJS = ../PW/pwcom.o \
../PW/wavefunctions.o \
../PW/aainit.o \
../PW/add_efield.o \
../PW/addusdens.o \

View File

@ -41,7 +41,7 @@ program average
USE io_global, ONLY : stdout
use parameters, only : DP
use pwcom
USE wavefunctions, ONLY : psic
USE wavefunctions_module, ONLY : psic
use io_files, only : nd_nmbr
#ifdef __PARA
use para, only : me

View File

@ -82,7 +82,7 @@ subroutine punch_band (filband)
use units
use wvfct
use us
use wavefunctions, only: evc
use wavefunctions_module, only: evc
implicit none
character (len=*) :: filband

View File

@ -26,7 +26,7 @@ program chdens
use pseud, only: zv
use scf, only: rho
use workspace
USE wavefunctions, ONLY: psic
USE wavefunctions_module, ONLY: psic
use io_files, only: nd_nmbr
#ifdef __PARA
use para, only: me

View File

@ -31,7 +31,7 @@ subroutine do_elf (elf)
#include "machine.h"
use parameters
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
!
! I/O variables
!

View File

@ -20,7 +20,7 @@ subroutine local_dos (iflag, lsign, kpoint, kband, emin, emax, dos)
#include "machine.h"
use parameters, only: DP
use pwcom
USE wavefunctions, ONLY: evc, psic
USE wavefunctions_module, ONLY: evc, psic
#ifdef __PARA
use mp, only: mp_bcast
#endif

View File

@ -14,7 +14,7 @@ subroutine local_dos1d (ik, kband, plan)
!
#include "machine.h"
use pwcom
USE wavefunctions, ONLY: evc, psic
USE wavefunctions_module, ONLY: evc, psic
use becmod
implicit none
!

View File

@ -26,7 +26,7 @@ subroutine plan_avg (averag, plan, ninter)
#include "machine.h"
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
use becmod
implicit none

View File

@ -110,7 +110,7 @@ subroutine projwave (io_choice,Emin, Emax, DeltaE, smoothing)
use us
use becmod
use io_files, only: nd_nmbr, prefix, tmp_dir
use wavefunctions, only: evc
use wavefunctions_module, only: evc
#ifdef __PARA
use para
#endif

View File

@ -81,7 +81,7 @@ subroutine write_wannier (nk, s0, kunit)
#include "machine.h"
USE io_global, ONLY : stdout
use pwcom
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
use io_files, only : nd_nmbr, tmp_dir, prefix
use io_base, only : write_restart_wfc
use io_global, only : ionode

View File

@ -26,7 +26,7 @@ subroutine stm (wf, sample_bias, z, dz, stm_wfc_matching, stmdos)
#include "machine.h"
USE io_global, ONLY : stdout
use pwcom
USE wavefunctions, ONLY : evc, psic
USE wavefunctions_module, ONLY : evc, psic
USE constants, ONLY : degspin
!
implicit none

View File

@ -8,7 +8,6 @@ PWOBJS = pwcom.o \
noncol.o \
para.o \
becmod.o \
wavefunctions.o \
clean_pw.o \
aainit.o \
add_efield.o \

View File

@ -15,7 +15,7 @@ subroutine addusdens
!
#include "machine.h"
use pwcom
USE wavefunctions, ONLY : psic
USE wavefunctions_module, ONLY : psic
implicit none
!
! here the local variables

View File

@ -16,7 +16,7 @@ subroutine allocate_fft
#include "machine.h"
USE io_global, ONLY : stdout
use pwcom
USE wavefunctions, ONLY : psic
USE wavefunctions_module, ONLY : psic
implicit none
!
! determines the data structure for fft arrays

View File

@ -15,7 +15,7 @@ subroutine allocate_wfc
#include "machine.h"
use pwcom
USE io_global, ONLY : stdout
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
use becmod
implicit none
!

View File

@ -24,7 +24,7 @@ subroutine atomic_rho (rhoa, nspina)
#include "machine.h"
USE io_global, ONLY : stdout
use pwcom
USE wavefunctions, ONLY : psic
USE wavefunctions_module, ONLY : psic
implicit none
integer :: nspina
! the number of spin polarizations

View File

@ -150,7 +150,7 @@ SUBROUTINE c_phase
! --- Make use of the module with common information ---
USE io_global, ONLY : stdout
USE pwcom
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
! --- Avoid implicit definitions ---
IMPLICIT NONE

View File

@ -27,7 +27,7 @@ subroutine c_bands (iter, ik_, dr2)
okvan, et, istep, ethr, lscf, max_cg_iter, vltot, nrxx, nr1, nr3, nr2, nbnd, &
nks, npwx, diis_ethr_cg, isolve, iunigk, vkb, xk, reduce_io, nwordwfc, &
current_spin, lsda, isk, igk, npw
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
use g_psi_mod
implicit none
!

View File

@ -23,7 +23,7 @@ SUBROUTINE clean_pw
USE force_mod, ONLY : force
USE scf, ONLY : rho, rho_save,vr, vltot, rho_core, vrs
USE relax, ONLY : if_pos
USE wavefunctions, ONLY : evc, psic
USE wavefunctions_module, ONLY : evc, psic
USE us, ONLY : indv, nhtol, nhtom, qq, dvan, deeq, qrad, &
vkb, qgm, becsum, tab
USE ldaU, ONLY : ns, nsnew, swfcatom

View File

@ -14,7 +14,7 @@ subroutine dndepsilon ( dns,ldim,ipol,jpol )
!
#include "machine.h"
use pwcom
USE wavefunctions, ONLY: evc
USE wavefunctions_module, ONLY: evc
use becmod
use io_files
#ifdef __PARA

View File

@ -15,7 +15,7 @@ subroutine dndtau(dns,ldim,alpha,ipol)
!
#include "machine.h"
use pwcom
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
use becmod
use io_files
#ifdef __PARA

View File

@ -16,7 +16,7 @@ subroutine dprojdepsilon ( ik,dproj,wfcatom,spsi,ipol,jpol )
!
#include "machine.h"
use pwcom
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
use becmod
use io_files
#ifdef __PARA

View File

@ -16,7 +16,7 @@ subroutine dprojdtau(dproj,wfcatom,spsi,alpha,ipol,offset)
!
#include "machine.h"
use pwcom
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
use becmod
#ifdef __PARA
use para

View File

@ -46,7 +46,7 @@ SUBROUTINE electrons
Hubbard_lmax, lda_plus_u
USE extfield, ONLY : tefield, etotefield
USE bp, ONLY : lberry
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
USE io_files, ONLY : prefix
!
! ... a few local variables

View File

@ -12,7 +12,7 @@ subroutine force_cc (forcecc)
!
#include "machine.h"
use pwcom
USE wavefunctions, ONLY : psic
USE wavefunctions_module, ONLY : psic
implicit none
!
! first the dummy variable

View File

@ -19,7 +19,7 @@ subroutine force_corr (forcescc)
!
#include "machine.h"
use pwcom
USE wavefunctions, ONLY : psic
USE wavefunctions_module, ONLY : psic
implicit none
!
real(kind=DP) :: forcescc (3, nat)

View File

@ -15,7 +15,7 @@ subroutine force_us (forcenl)
!
#include "machine.h"
use pwcom
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
use becmod
implicit none
!

View File

@ -28,7 +28,7 @@ subroutine h_psi (lda, n, m, psi, hpsi)
use scf, only: vrs
use becmod
use workspace
USE wavefunctions, ONLY: psic
USE wavefunctions_module, ONLY: psic
implicit none
!
integer :: lda, n, m

View File

@ -19,7 +19,7 @@ subroutine mix_rho (rhout, rhoin, nsout, nsin, alphamix, dr2, iter, &
!
use parameters, only : DP
use pwcom
USE wavefunctions, ONLY : psic
USE wavefunctions_module, ONLY : psic
!
! First the I/O variable
!
@ -571,7 +571,7 @@ end subroutine approx_screening
!
use parameters, only : DP
use pwcom
USE wavefunctions, ONLY : psic
USE wavefunctions_module, ONLY : psic
!
! I/O
!

View File

@ -18,7 +18,7 @@ subroutine new_ns
#include "machine.h"
USE io_global, ONLY : stdout
use pwcom
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
use io_files
#ifdef __PARA
use para

View File

@ -17,7 +17,7 @@ subroutine newd
#include "machine.h"
use pwcom
USE wavefunctions, ONLY : psic
USE wavefunctions_module, ONLY : psic
implicit none
integer :: ig, nt, ih, jh, na, is
! counters on g vectors, atom type, beta functions x 2, atoms, spin

View File

@ -15,7 +15,7 @@ subroutine ortho
! overlap=.false.
!
use pwcom
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
use becmod
implicit none
integer :: ik

View File

@ -20,7 +20,7 @@ subroutine punch
USE io_global, ONLY : stdout
use pwcom, only: nks, filpun, reduce_io, nwordwfc, iunwfc, lscf, &
rho, nspin, iunpun, et, wg, nbnd, nkstot
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
use io_files, only: prefix
#ifdef __PARA
use para
@ -92,7 +92,7 @@ subroutine punch
!
USE io_global, ONLY : stdout
use pwcom
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
use io_files, only: prefix
#ifdef __PARA
use para

View File

@ -37,7 +37,7 @@ subroutine writefile_new( what, ndw, et_g, wg_g, kunit )
nqf, nqlc, ifqopt, lll, iver, tvanp, okvan, newpseudo, a_nlcc, b_nlcc, alpha_nlcc, &
nlcc, psd, lsda, bg, xk, wk, isk, igk_l2g, nwordwfc, iunwfc, gamma_only, &
tfixed_occ, tefield, dipfield, edir, emaxpos, eopreg, eamp
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
use control_flags, only: twfcollect
use io_files, only: prefix, tmp_dir, pseudo_dir, psfile
use funct, only: iexch, icorr, igcx, igcc
@ -496,7 +496,7 @@ subroutine readfile_new( what, ndr, et_g, wg_g, kunit, nsizwfc, iunitwfc, ierr )
ig_l2g, nbrx, lqmax, nqfm, gamma_only, &
tfixed_occ, tefield, dipfield, edir, emaxpos, eopreg, eamp
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
USE pseudo_types, ONLY: pseudo_upf
use control_flags, only: twfcollect

View File

@ -10,7 +10,7 @@ subroutine restart_in_electrons (iter, ik_, dr2)
!-----------------------------------------------------------------------
USE io_global, ONLY : stdout
use pwcom
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
implicit none
character :: where * 20
! are we in the right place?

View File

@ -10,7 +10,7 @@ subroutine restart_in_ions (iter, ik_, dr2)
!-----------------------------------------------------------------------
USE io_global, ONLY : stdout
use pwcom
USE wavefunctions, ONLY : evc, psic
USE wavefunctions_module, ONLY : evc, psic
implicit none
character :: where * 20
! are we in the right place?

View File

@ -10,7 +10,7 @@ subroutine stres_cc (sigmaxcc)
!-----------------------------------------------------------------------
#include "machine.h"
use pwcom
USE wavefunctions, ONLY : psic
USE wavefunctions_module, ONLY : psic
implicit none
! output
real(kind=DP) :: sigmaxcc (3, 3)

View File

@ -13,7 +13,7 @@ subroutine stres_har (sigmahar)
!
#include "machine.h"
use pwcom
USE wavefunctions, ONLY : psic
USE wavefunctions_module, ONLY : psic
implicit none
!
real(kind=DP) :: sigmahar (3, 3), shart, g2

View File

@ -12,7 +12,7 @@ subroutine stres_knl (sigmanlc, sigmakin)
!
#include "machine.h"
use pwcom
USE wavefunctions, ONLY : evc
USE wavefunctions_module, ONLY : evc
implicit none
real(kind=DP) :: sigmanlc (3, 3), sigmakin (3, 3)
real(kind=DP), allocatable :: gk (:,:), kfac (:)

View File

@ -12,7 +12,7 @@ subroutine stres_loc (sigmaloc)
!
#include "machine.h"
use pwcom
USE wavefunctions, ONLY : psic
USE wavefunctions_module, ONLY : psic
implicit none !
real(kind=DP) :: sigmaloc (3, 3)
real(kind=DP) , allocatable :: dvloc(:)

Some files were not shown because too many files have changed in this diff Show More