mirror of
https://github.com/pfloos/quack
synced 2024-12-23 04:43:42 +01:00
problem with rcond in DIIS fixed
This commit is contained in:
parent
c93ae70805
commit
d51f99671d
@ -70,6 +70,7 @@ subroutine evGF2(BSE,TDA,dBSE,dTDA,evDyn,maxSCF,thresh,max_diis,singlet,triplet,
|
|||||||
error_diis(:,:) = 0d0
|
error_diis(:,:) = 0d0
|
||||||
eGF2(:) = eHF(:)
|
eGF2(:) = eHF(:)
|
||||||
eOld(:) = eHF(:)
|
eOld(:) = eHF(:)
|
||||||
|
rcond = 0d0
|
||||||
|
|
||||||
!------------------------------------------------------------------------
|
!------------------------------------------------------------------------
|
||||||
! Main SCF loop
|
! Main SCF loop
|
||||||
|
@ -102,6 +102,7 @@ subroutine evUGF2(maxSCF,thresh,max_diis,BSE,TDA,dBSE,dTDA,evDyn,spin_conserved,
|
|||||||
eGF2(:,:) = eHF(:,:)
|
eGF2(:,:) = eHF(:,:)
|
||||||
eOld(:,:) = eHF(:,:)
|
eOld(:,:) = eHF(:,:)
|
||||||
Z(:,:) = 1d0
|
Z(:,:) = 1d0
|
||||||
|
rcond(:) = 0d0
|
||||||
|
|
||||||
!------------------------------------------------------------------------
|
!------------------------------------------------------------------------
|
||||||
! Main loop
|
! Main loop
|
||||||
|
@ -121,7 +121,7 @@ subroutine qsGF2(maxSCF,thresh,max_diis,BSE,TDA,dBSE,dTDA,evDyn,singlet,triplet,
|
|||||||
c(:,:) = cHF(:,:)
|
c(:,:) = cHF(:,:)
|
||||||
F_diis(:,:) = 0d0
|
F_diis(:,:) = 0d0
|
||||||
error_diis(:,:) = 0d0
|
error_diis(:,:) = 0d0
|
||||||
rcond = 1d0
|
rcond = 0d0
|
||||||
|
|
||||||
!------------------------------------------------------------------------
|
!------------------------------------------------------------------------
|
||||||
! Main loop
|
! Main loop
|
||||||
|
@ -135,7 +135,7 @@ subroutine qsUGF2(maxSCF,thresh,max_diis,BSE,TDA,dBSE,dTDA,evDyn,spin_conserved,
|
|||||||
c(:,:,:) = cHF(:,:,:)
|
c(:,:,:) = cHF(:,:,:)
|
||||||
F_diis(:,:,:) = 0d0
|
F_diis(:,:,:) = 0d0
|
||||||
error_diis(:,:,:) = 0d0
|
error_diis(:,:,:) = 0d0
|
||||||
rcond = 1d0
|
rcond(:) = 0d0
|
||||||
|
|
||||||
!------------------------------------------------------------------------
|
!------------------------------------------------------------------------
|
||||||
! Main loop
|
! Main loop
|
||||||
|
@ -118,6 +118,7 @@ subroutine evGT(maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS, &
|
|||||||
eGT(:) = eG0T0(:)
|
eGT(:) = eG0T0(:)
|
||||||
eOld(:) = eGT(:)
|
eOld(:) = eGT(:)
|
||||||
Z(:) = 1d0
|
Z(:) = 1d0
|
||||||
|
rcond = 0d0
|
||||||
|
|
||||||
!------------------------------------------------------------------------
|
!------------------------------------------------------------------------
|
||||||
! Main loop
|
! Main loop
|
||||||
|
@ -160,7 +160,7 @@ subroutine qsGT(maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,BSE,TDA_T,T
|
|||||||
c(:,:) = cHF(:,:)
|
c(:,:) = cHF(:,:)
|
||||||
F_diis(:,:) = 0d0
|
F_diis(:,:) = 0d0
|
||||||
error_diis(:,:) = 0d0
|
error_diis(:,:) = 0d0
|
||||||
rcond = 1d0
|
rcond = 0d0
|
||||||
|
|
||||||
!------------------------------------------------------------------------
|
!------------------------------------------------------------------------
|
||||||
! Main loop
|
! Main loop
|
||||||
|
@ -139,6 +139,7 @@ subroutine evGW(maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,COHSEX,BSE,
|
|||||||
eGW(:) = eG0W0(:)
|
eGW(:) = eG0W0(:)
|
||||||
eOld(:) = eGW(:)
|
eOld(:) = eGW(:)
|
||||||
Z(:) = 1d0
|
Z(:) = 1d0
|
||||||
|
rcond = 0d0
|
||||||
|
|
||||||
!------------------------------------------------------------------------
|
!------------------------------------------------------------------------
|
||||||
! Main loop
|
! Main loop
|
||||||
|
@ -153,6 +153,7 @@ subroutine evUGW(maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,COHSEX,BSE
|
|||||||
eGW(:,:) = eG0W0(:,:)
|
eGW(:,:) = eG0W0(:,:)
|
||||||
eOld(:,:) = eGW(:,:)
|
eOld(:,:) = eGW(:,:)
|
||||||
Z(:,:) = 1d0
|
Z(:,:) = 1d0
|
||||||
|
rcond(:) = 0d0
|
||||||
|
|
||||||
!------------------------------------------------------------------------
|
!------------------------------------------------------------------------
|
||||||
! Main loop
|
! Main loop
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
subroutine print_qsUGW(nBas,nO,nSCF,Conv,thresh,eHF,eGW,cGW,PGW,Ov,T,V,J,K, &
|
subroutine print_qsUGW(nBas,nO,nSCF,Conv,thresh,eHF,eGW,cGW,Ov, &
|
||||||
ENuc,ET,EV,EJ,Ex,EcGM,EcRPA,EqsGW,SigC,Z,dipole)
|
ENuc,ET,EV,EJ,Ex,EcGM,EcRPA,EqsGW,SigC,Z,dipole)
|
||||||
|
|
||||||
! Print one-electron energies and other stuff for qsUGW
|
! Print one-electron energies and other stuff for qsUGW
|
||||||
@ -24,12 +24,7 @@ subroutine print_qsUGW(nBas,nO,nSCF,Conv,thresh,eHF,eGW,cGW,PGW,Ov,T,V,J,K, &
|
|||||||
double precision,intent(in) :: eHF(nBas,nspin)
|
double precision,intent(in) :: eHF(nBas,nspin)
|
||||||
double precision,intent(in) :: eGW(nBas,nspin)
|
double precision,intent(in) :: eGW(nBas,nspin)
|
||||||
double precision,intent(in) :: cGW(nBas,nBas,nspin)
|
double precision,intent(in) :: cGW(nBas,nBas,nspin)
|
||||||
double precision,intent(in) :: PGW(nBas,nBas,nspin)
|
|
||||||
double precision,intent(in) :: Ov(nBas,nBas)
|
double precision,intent(in) :: Ov(nBas,nBas)
|
||||||
double precision,intent(in) :: T(nBas,nBas)
|
|
||||||
double precision,intent(in) :: V(nBas,nBas)
|
|
||||||
double precision,intent(in) :: J(nBas,nBas,nspin)
|
|
||||||
double precision,intent(in) :: K(nBas,nBas,nspin)
|
|
||||||
double precision,intent(in) :: SigC(nBas,nBas,nspin)
|
double precision,intent(in) :: SigC(nBas,nBas,nspin)
|
||||||
double precision,intent(in) :: Z(nBas,nspin)
|
double precision,intent(in) :: Z(nBas,nspin)
|
||||||
double precision,intent(in) :: dipole(ncart)
|
double precision,intent(in) :: dipole(ncart)
|
||||||
|
@ -153,7 +153,7 @@ subroutine qsGW(maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,COHSEX,BSE,
|
|||||||
c(:,:) = cHF(:,:)
|
c(:,:) = cHF(:,:)
|
||||||
F_diis(:,:) = 0d0
|
F_diis(:,:) = 0d0
|
||||||
error_diis(:,:) = 0d0
|
error_diis(:,:) = 0d0
|
||||||
rcond = 1d0
|
rcond = 0d0
|
||||||
|
|
||||||
!------------------------------------------------------------------------
|
!------------------------------------------------------------------------
|
||||||
! Main loop
|
! Main loop
|
||||||
|
@ -166,7 +166,7 @@ subroutine qsUGW(maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,COHSEX,BSE
|
|||||||
c(:,:,:) = cHF(:,:,:)
|
c(:,:,:) = cHF(:,:,:)
|
||||||
F_diis(:,:,:) = 0d0
|
F_diis(:,:,:) = 0d0
|
||||||
error_diis(:,:,:) = 0d0
|
error_diis(:,:,:) = 0d0
|
||||||
rcond = 1d0
|
rcond(:) = 0d0
|
||||||
|
|
||||||
!------------------------------------------------------------------------
|
!------------------------------------------------------------------------
|
||||||
! Main loop
|
! Main loop
|
||||||
@ -366,7 +366,7 @@ subroutine qsUGW(maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,COHSEX,BSE
|
|||||||
!------------------------------------------------------------------------
|
!------------------------------------------------------------------------
|
||||||
|
|
||||||
call dipole_moment(nBas,P(:,:,1)+P(:,:,2),nNuc,ZNuc,rNuc,dipole_int_AO,dipole)
|
call dipole_moment(nBas,P(:,:,1)+P(:,:,2),nNuc,ZNuc,rNuc,dipole_int_AO,dipole)
|
||||||
call print_qsUGW(nBas,nO,nSCF,Conv,thresh,eHF,eGW,c,P,S,T,V,J,K,ENuc,ET,EV,EJ,Ex,EcGM,EcRPA,EqsGW,SigCp,Z,dipole)
|
call print_qsUGW(nBas,nO,nSCF,Conv,thresh,eHF,eGW,c,S,ENuc,ET,EV,EJ,Ex,EcGM,EcRPA,EqsGW,SigCp,Z,dipole)
|
||||||
|
|
||||||
enddo
|
enddo
|
||||||
!------------------------------------------------------------------------
|
!------------------------------------------------------------------------
|
||||||
|
@ -94,6 +94,7 @@ subroutine RHF(maxSCF,thresh,max_diis,guess_type,nNuc,ZNuc,rNuc,ENuc,nBas,nO,S,T
|
|||||||
error_diis(:,:) = 0d0
|
error_diis(:,:) = 0d0
|
||||||
Conv = 1d0
|
Conv = 1d0
|
||||||
nSCF = 0
|
nSCF = 0
|
||||||
|
rcond = 0d0
|
||||||
|
|
||||||
!------------------------------------------------------------------------
|
!------------------------------------------------------------------------
|
||||||
! Main SCF loop
|
! Main SCF loop
|
||||||
|
@ -30,7 +30,7 @@ subroutine read_methods(doRHF,doUHF,doKS,doMOM, &
|
|||||||
|
|
||||||
! Local variables
|
! Local variables
|
||||||
|
|
||||||
character(len=1) :: answer1,answer2,answer3,answer4,answer5,answer6,answer7
|
character(len=1) :: answer1,answer2,answer3,answer4,answer5
|
||||||
|
|
||||||
! Open file with method specification
|
! Open file with method specification
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user