diff --git a/input/options b/input/options index 0a181b9..61db18c 100644 --- a/input/options +++ b/input/options @@ -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 diff --git a/src/HF/ROHF.f90 b/src/HF/ROHF.f90 index 2981141..b77308f 100644 --- a/src/HF/ROHF.f90 +++ b/src/HF/ROHF.f90 @@ -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 diff --git a/src/HF/ROHF_fock_matrix.f90 b/src/HF/ROHF_fock_matrix.f90 index 8c6de5e..6f7db38 100644 --- a/src/HF/ROHF_fock_matrix.f90 +++ b/src/HF/ROHF_fock_matrix.f90 @@ -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