mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-12-21 11:03:29 +01:00
Doublet also works. Running tests.
This commit is contained in:
parent
4583fa80b0
commit
409aa82373
@ -761,7 +761,10 @@ end subroutine get_phase_qp_to_cfg
|
||||
! 4. DOMO -> SOMO
|
||||
!print *,"Doing DOMO -> SOMO"
|
||||
!AIJpqContainer(NSOMOMin,4,1,1,1,1) = 1.0d0
|
||||
AIJpqContainer(1,1,1:2,1:2,4,NSOMOMin) = 1.0d0
|
||||
AIJpqContainer(1,1,1,1,4,NSOMOMin) = 1.0d0
|
||||
AIJpqContainer(1,1,2,2,4,NSOMOMin) = 1.0d0
|
||||
AIJpqContainer(1,1,2,1,4,NSOMOMin) =-1.0d0
|
||||
AIJpqContainer(1,1,1,2,4,NSOMOMin) =-1.0d0
|
||||
do i = NSOMOMin+2, NSOMOMax, 2
|
||||
Isomo = ISHFT(1_8,i)-1
|
||||
do j = i,i, 2
|
||||
@ -779,6 +782,10 @@ end subroutine get_phase_qp_to_cfg
|
||||
Jsomo = ISHFT(1_8,j)-1
|
||||
endif
|
||||
|
||||
!print *,"k,l=",k,l
|
||||
!call debug_spindet(Jsomo,1)
|
||||
!call debug_spindet(Isomo,1)
|
||||
|
||||
!AIJpqContainer(i,4,k,l,:,:) = 0.0d0
|
||||
AIJpqContainer(:,:,k,l,4,i) = 0.0d0
|
||||
call getApqIJMatrixDims(Isomo, &
|
||||
|
@ -324,7 +324,8 @@ subroutine davidson_diag_cfg_hjj(dets_in,u_in,H_jj,energies,dim_in,sze,sze_csf,N
|
||||
tmpU(kk,ii) = U_csf(ii,shift+kk)
|
||||
enddo
|
||||
enddo
|
||||
!tmpU(1,1)=1.0d0
|
||||
!tmpU =0.0d0
|
||||
!tmpU(1,2)=1.0d0
|
||||
double precision :: irp_rdtsc
|
||||
double precision :: ticks_0, ticks_1
|
||||
integer*8 :: irp_imax
|
||||
@ -333,7 +334,13 @@ subroutine davidson_diag_cfg_hjj(dets_in,u_in,H_jj,energies,dim_in,sze,sze_csf,N
|
||||
call calculate_sigma_vector_cfg_nst_naive_store(tmpW,tmpU,N_st_diag,sze_csf,1,sze_csf,0,1)
|
||||
!ticks_1 = irp_rdtsc()
|
||||
!print *,' ----Cycles:',(ticks_1-ticks_0)/dble(irp_imax)," ----"
|
||||
!print *,' tmpW(1,1)=',tmpW(1,1)
|
||||
!print *,' tmpW(1,2)=',tmpW(1,2)
|
||||
!do ii=1,sze
|
||||
! if (dabs(tmpW(1,ii)) > 1e-18) then
|
||||
! print *,tmpW(1,ii)
|
||||
! print *,ii,"somo=",psi_configuration(1,1,ii)," domo=",psi_configuration(1,2,ii)
|
||||
! endif
|
||||
!end do
|
||||
!stop
|
||||
do kk=1,N_st_diag
|
||||
do ii=1,sze_csf
|
||||
|
@ -149,7 +149,7 @@ subroutine davidson_diag_hjj_sjj(dets_in,u_in,H_jj,s2_out,energies,dim_in,sze,N_
|
||||
character*(16384) :: write_buffer
|
||||
double precision :: to_print(3,N_st)
|
||||
double precision :: cpu, wall
|
||||
integer :: shift, shift2, itermax, istate
|
||||
integer :: shift, shift2, itermax, istate, ii
|
||||
double precision :: r1, r2, alpha
|
||||
logical :: state_ok(N_st_diag_in*davidson_sze_max)
|
||||
integer :: nproc_target
|
||||
@ -362,11 +362,17 @@ subroutine davidson_diag_hjj_sjj(dets_in,u_in,H_jj,s2_out,energies,dim_in,sze,N_
|
||||
irp_imax = 1
|
||||
!ticks_0 = irp_rdtsc()
|
||||
!U = 0d0
|
||||
!U(1,1)=1.0d0
|
||||
!U(4587,1)=1.0d0
|
||||
call H_S2_u_0_nstates_openmp(W(1,shift+1),S_d,U(1,shift+1),N_st_diag,sze)
|
||||
!ticks_1 = irp_rdtsc()
|
||||
!print *,' ----Cycles:',(ticks_1-ticks_0)/dble(irp_imax)," ----"
|
||||
!print *,W(1,1)
|
||||
!print *,' tmpW(4587,1)=',W(4587,1)
|
||||
!do ii=1,sze
|
||||
! if (dabs(W(ii,1)) > 1e-18) then
|
||||
! print *,W(ii,1)
|
||||
! print *,ii,"alpha=",psi_det(1,1,ii)," beta=",psi_det(1,2,ii)
|
||||
! endif
|
||||
!end do
|
||||
!stop
|
||||
endif
|
||||
S(1:sze,shift+1:shift+N_st_diag) = real(S_d(1:sze,1:N_st_diag))
|
||||
|
Loading…
Reference in New Issue
Block a user