From 4064243da312068b3ea476d7cf103388a3141938 Mon Sep 17 00:00:00 2001 From: v1j4y Date: Tue, 14 Jun 2022 21:42:08 +0200 Subject: [PATCH] Update davidson guess for cfg. --- src/davidson/diagonalization_hcfg.irp.f | 31 +++++++------------------ 1 file changed, 8 insertions(+), 23 deletions(-) diff --git a/src/davidson/diagonalization_hcfg.irp.f b/src/davidson/diagonalization_hcfg.irp.f index 140c3b69..bde2bdd9 100644 --- a/src/davidson/diagonalization_hcfg.irp.f +++ b/src/davidson/diagonalization_hcfg.irp.f @@ -265,36 +265,21 @@ subroutine davidson_diag_cfg_hjj(dets_in,u_in,H_jj,energies,dim_in,sze,sze_csf,N ! =================== converged = .False. - kk=1 + call convertWFfromDETtoCSF(N_st_diag,u_in(1,1),U_csf(1,1)) do k=N_st+1,N_st_diag - do i=1,sze - !call random_number(r1) - !call random_number(r2) - r1 = 0.5 - r2 = 0.5 + do i=1,sze_csf + call random_number(r1) + call random_number(r2) r1 = dsqrt(-2.d0*dlog(r1)) r2 = dtwo_pi*r2 - u_in(i,k) = r1*dcos(r2) * u_in(i,k-N_st) + U_csf(i,k) = r1*dcos(r2) * u_csf(i,k-N_st) enddo - do while(POPCNT(AND(psi_det(1,1,kk),psi_det(1,2,kk))) .ne. 3) - kk=kk+1 - end do - u_in(kk,k) = u_in(kk,k) + 10.d0 - kk=kk+1 + U_csf(k,k) = u_csf(k,k) + 10.d0 enddo do k=1,N_st_diag - call normalize(u_in(1,k),sze) + call normalize(U_csf(1,k),sze_csf) enddo - - do k=1,N_st_diag - do i=1,sze - U(i,k) = u_in(i,k) - enddo - enddo - - ! Make random verctors eigenstates of S2 - call convertWFfromDETtoCSF(N_st_diag,U,U_csf) - !call convertWFfromCSFtoDET(N_st_diag,U_csf,U) + call convertWFfromCSFtoDET(N_st_diag,U_csf(1,1),U(1,1)) do while (.not.converged) itertot = itertot+1