10
1
mirror of https://github.com/pfloos/quack synced 2024-11-05 13:43:51 +01:00

fix huckel guess

This commit is contained in:
Pierre-Francois Loos 2020-01-15 09:22:54 +01:00
parent 43a4ed34c2
commit f3f8186387

View File

@ -30,32 +30,44 @@ subroutine huckel_guess(nBas,nO,S,Hc,ERI,J,K,X,cp,Fp,e,c,P)
a = 1.75d0 a = 1.75d0
Fp = matmul(transpose(X),matmul(Hc,X)) Fp(:,:) = Hc(:,:)
cp(:,:) = Fp(:,:)
call diagonalize_matrix(nBas,cp,e)
c = matmul(X,cp)
P(:,:) = 2d0*matmul(c(:,1:nO),transpose(c(:,1:nO)))
call Coulomb_matrix_AO_basis(nBas,P,ERI,J)
call exchange_matrix_AO_basis(nBas,P,ERI,K)
do mu=1,nBas do mu=1,nBas
Fp(mu,mu) = Hc(mu,mu) + J(mu,mu) + 0.5d0*K(mu,mu)
do nu=mu+1,nBas do nu=mu+1,nBas
Fp(mu,nu) = 0.5d0*a*S(mu,nu)*(Hc(mu,mu) + Hc(nu,nu)) Fp(mu,nu) = 0.5d0*a*S(mu,nu)*(Hc(mu,mu) + Hc(nu,nu))
Fp(nu,mu) = Fp(mu,nu) Fp(nu,mu) = Fp(mu,nu)
enddo enddo
enddo enddo
Fp = matmul(transpose(X),matmul(Fp,X))
Fp(:,:) = matmul(transpose(X(:,:)),matmul(Fp(:,:),X(:,:)))
cp(:,:) = Fp(:,:) cp(:,:) = Fp(:,:)
call diagonalize_matrix(nBas,cp,e) call diagonalize_matrix(nBas,cp,e)
c = matmul(X,cp) c(:,:) = matmul(X(:,:),cp(:,:))
P(:,:) = 2d0*matmul(c(:,1:nO),transpose(c(:,1:nO)))
! call Coulomb_matrix_AO_basis(nBas,P,ERI,J)
! call exchange_matrix_AO_basis(nBas,P,ERI,K)
! do mu=1,nBas
! Fp(mu,mu) = Hc(mu,mu) + J(mu,mu) + 0.5d0*K(mu,mu)
! do nu=mu+1,nBas
! Fp(mu,nu) = 0.5d0*a*S(mu,nu)*(Hc(mu,mu) + Hc(nu,nu))
! Fp(nu,mu) = Fp(mu,nu)
! enddo
! enddo
! Fp = matmul(transpose(X),matmul(Fp,X))
! cp(:,:) = Fp(:,:)
! call diagonalize_matrix(nBas,cp,e)
! c = matmul(X,cp)
end subroutine end subroutine