1
0
mirror of https://gitlab.com/scemama/qp_plugins_scemama.git synced 2024-11-07 22:53:42 +01:00

Fixed Hmo.qp

This commit is contained in:
Anthony Scemama 2021-03-12 13:15:32 +01:00
commit c3890acae7
3 changed files with 11 additions and 7 deletions

View File

@ -22,8 +22,8 @@ subroutine run
! Pmo.qp : pseudopotential integrals ! Pmo.qp : pseudopotential integrals
! !
! Vmo.qp : electron-nucleus potential ! Vmo.qp : electron-nucleus potential
!
! Hmo.qp : one-electron integrals. If Hmo is present, don't try to read V,P,T ! Hmo.qp : core hamiltonian. If hmo exists, the other 1-e files are not read
! !
! Wmo.qp : electron repulsion integrals ! Wmo.qp : electron repulsion integrals
! !
@ -57,7 +57,6 @@ subroutine run
call ezfio_set_nuclei_io_nuclear_repulsion('Read') call ezfio_set_nuclei_io_nuclear_repulsion('Read')
endif endif
! One-electron integrals ! One-electron integrals
exists = .False. exists = .False.
@ -152,6 +151,7 @@ subroutine run
end if end if
! Two-electron integrals ! Two-electron integrals
iunit = getunitandopen('Wmo.qp','r') iunit = getunitandopen('Wmo.qp','r')

View File

@ -53,6 +53,10 @@ subroutine run
print *, 'threshold: ', 2.858 * D(k/2) print *, 'threshold: ', 2.858 * D(k/2)
print *, 'Entropy : ', entropy print *, 'Entropy : ', entropy
call ezfio_set_spindeterminants_psi_svd_alpha(U)
call ezfio_set_spindeterminants_psi_svd_beta (Vt)
call ezfio_set_spindeterminants_psi_svd_coefs(D)
! do i=1,n_det_alpha_unique ! do i=1,n_det_alpha_unique
! print '(I6,4(X,F12.8))', i, U(i,1:4) ! print '(I6,4(X,F12.8))', i, U(i,1:4)
! enddo ! enddo

View File

@ -55,16 +55,16 @@ subroutine routine_s2
integer :: i,j,k integer :: i,j,k
double precision :: accu(N_states) double precision :: accu(N_states)
print *, 'Weights of the SOP' print *, 'Weights of the CFG'
do i=1,N_det do i=1,N_det
print *, i, real(weight_occ_pattern(det_to_occ_pattern(i),:)), real(sum(weight_occ_pattern(det_to_occ_pattern(i),:))) print *, i, real(weight_configuration(det_to_configuration(i),:)), real(sum(weight_configuration(det_to_configuration(i),:)))
enddo enddo
print*, 'Min weight of the occupation pattern ?' print*, 'Min weight of the occupation pattern ?'
read(5,*) wmin read(5,*) wmin
ndet_max = 0 ndet_max = 0
do i=1,N_det do i=1,N_det
if (maxval(weight_occ_pattern( det_to_occ_pattern(i),:)) < wmin) cycle if (maxval(weight_configuration( det_to_configuration(i),:)) < wmin) cycle
ndet_max = ndet_max+1 ndet_max = ndet_max+1
enddo enddo
@ -73,7 +73,7 @@ subroutine routine_s2
accu = 0.d0 accu = 0.d0
k=0 k=0
do i = 1, N_det do i = 1, N_det
if (maxval(weight_occ_pattern( det_to_occ_pattern(i),:)) < wmin) cycle if (maxval(weight_configuration( det_to_configuration(i),:)) < wmin) cycle
k = k+1 k = k+1
do j = 1, N_int do j = 1, N_int
psi_det_tmp(j,1,k) = psi_det(j,1,i) psi_det_tmp(j,1,k) = psi_det(j,1,i)