mirror of
https://github.com/pfloos/quack
synced 2024-11-03 20:53:53 +01:00
fix bug in ROHF
This commit is contained in:
parent
99cbd0e95d
commit
00049621ff
@ -1,5 +1,5 @@
|
||||
# HF: maxSCF thresh DIIS n_diis guess_type ortho_type mix_guess level_shift stability
|
||||
64 0.0000001 F 5 1 1 F 0.0 F
|
||||
64 0.0000001 T 5 1 1 F 0.0 F
|
||||
# MP: reg
|
||||
F
|
||||
# CC: maxSCF thresh DIIS n_diis
|
||||
|
@ -1,7 +1,7 @@
|
||||
subroutine ROHF(maxSCF,thresh,max_diis,guess_type,mix,level_shift,nNuc,ZNuc,rNuc,ENuc, &
|
||||
nBas,nO,S,T,V,Hc,ERI,dipole_int,X,EHF,e,c,P)
|
||||
|
||||
! Perform unrestricted Hartree-Fock calculation
|
||||
! Perform restricted open-shell Hartree-Fock calculation
|
||||
|
||||
implicit none
|
||||
include 'parameters.h'
|
||||
@ -165,7 +165,7 @@ subroutine ROHF(maxSCF,thresh,max_diis,guess_type,mix,level_shift,nNuc,ZNuc,rNuc
|
||||
|
||||
! Diagonalize Fock matrix to get eigenvectors and eigenvalues
|
||||
|
||||
cp(:,:) = Ftot(:,:)
|
||||
cp(:,:) = Fp(:,:)
|
||||
call diagonalize_matrix(nBas,cp,e)
|
||||
|
||||
! Back-transform eigenvectors in non-orthogonal basis
|
||||
|
@ -49,23 +49,23 @@ subroutine ROHF_fock_matrix(nBas,nOa,nOb,S,c,Fa,Fb,F)
|
||||
|
||||
! Block-by-block Fock matrix
|
||||
|
||||
call AOtoMO_transform(nBas,c,Fa)
|
||||
call AOtoMO_transform(nBas,c,Fb)
|
||||
! call AOtoMO_transform(nBas,c,Fa)
|
||||
! call AOtoMO_transform(nBas,c,Fb)
|
||||
|
||||
F(1:nC, 1:nC ) = aC*Fa(1:nC, 1:nC ) + bC*Fb(1:nC, 1:nC )
|
||||
F(1:nC, nC+1:nC+nO ) = Fb(1:nC, nC+1:nC+nO )
|
||||
F(1:nC,nO+nC+1:nC+nO+nV) = 0.5d0*Fa(1:nC,nO+nC+1:nC+nO+nV) + 0.5d0*Fb(1:nC,nO+nC+1:nC+nO+nV)
|
||||
|
||||
F(nC+1:nO+nC, 1:nC ) = Fb(nC+1:nO+nC, 1:nC )
|
||||
F(nC+1:nO+nC, nC+1:nC+nO ) = aO*Fa(nC+1:nC+nO, nC+1:nC+nO ) + bO*Fb(nC+1:nO+nC,nC+1:nC+nO)
|
||||
F(nC+1:nO+nC,nO+nC+1:nC+nO+nV) = Fa(nC+1:nC+nO,nO+nC+1:nC+nO+nV)
|
||||
F(nC+1:nO+nC, nC+1:nC+nO ) = aO*Fa(nC+1:nO+nC, nC+1:nC+nO ) + bO*Fb(nC+1:nO+nC,nC+1:nC+nO)
|
||||
F(nC+1:nO+nC,nO+nC+1:nC+nO+nV) = Fa(nC+1:nO+nC,nO+nC+1:nC+nO+nV)
|
||||
|
||||
F(nO+nC+1:nC+nO+nV, 1:nC ) = 0.5d0*Fa(nO+nC+1:nC+nO+nV, 1:nC ) + 0.5d0*Fb(nO+nC+1:nC+nO+nV, 1:nC )
|
||||
F(nO+nC+1:nC+nO+nV, nC+1:nC+nO ) = Fa(nO+nC+1:nC+nO+nV, nC+1:nC+nO )
|
||||
F(nO+nC+1:nC+nO+nV,nO+nC+1:nC+nO+nV) = aV*Fa(nO+nC+1:nC+nO+nV,nO+nC+1:nC+nO+nV) + bV*Fb(nO+nC+1:nC+nO+nV,nO+nC+1:nC+nO+nV)
|
||||
|
||||
call MOtoAO_transform(nBas,S,c,F)
|
||||
call MOtoAO_transform(nBas,S,c,Fa)
|
||||
call MOtoAO_transform(nBas,S,c,Fb)
|
||||
! call MOtoAO_transform(nBas,S,c,F)
|
||||
! call MOtoAO_transform(nBas,S,c,Fa)
|
||||
! call MOtoAO_transform(nBas,S,c,Fb)
|
||||
|
||||
end subroutine
|
||||
|
Loading…
Reference in New Issue
Block a user