10
0
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-12-23 04:43:45 +01:00

Merge pull request #193 from QuantumPackage/dev

Dev
This commit is contained in:
Emmanuel Giner 2022-03-28 23:46:42 +02:00 committed by GitHub
commit a99cfc82aa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 40 additions and 11 deletions

View File

@ -62,6 +62,7 @@ subroutine run
else else
call H_apply_cis call H_apply_cis
endif endif
print*,''
print *, 'N_det = ', N_det print *, 'N_det = ', N_det
print*,'******************************' print*,'******************************'
print *, 'Energies of the states:' print *, 'Energies of the states:'
@ -69,11 +70,13 @@ subroutine run
print *, i, CI_energy(i) print *, i, CI_energy(i)
enddo enddo
if (N_states > 1) then if (N_states > 1) then
print*,'******************************' print*,''
print*,'Excitation energies ' print*,'******************************************************'
print*,'Excitation energies (au) (eV)'
do i = 2, N_states do i = 2, N_states
print*, i ,CI_energy(i) - CI_energy(1) print*, i ,CI_energy(i) - CI_energy(1), (CI_energy(i) - CI_energy(1))/0.0367502d0
enddo enddo
print*,''
endif endif
call ezfio_set_cis_energy(CI_energy) call ezfio_set_cis_energy(CI_energy)

View File

@ -51,11 +51,24 @@
if(cfg_seniority_index(i+2) > ncfgpersomo) then if(cfg_seniority_index(i+2) > ncfgpersomo) then
ncfgpersomo = cfg_seniority_index(i+2) ncfgpersomo = cfg_seniority_index(i+2)
else else
k = 0 ! l = i+k+2
do while(cfg_seniority_index(i+2+k) < ncfgpersomo) ! Loop over l with a constraint to ensure that l <= size(cfg_seniority_index,1)-1
k = k + 2 ! Old version commented just below
ncfgpersomo = cfg_seniority_index(i+2+k) do l = min(size(cfg_seniority_index,1)-1, i+2), size(cfg_seniority_index,1)-1, 2
if (cfg_seniority_index(l) >= ncfgpersomo) then
ncfgpersomo = cfg_seniority_index(l)
endif
enddo enddo
!k = 0
!if ((i+2+k) < size(cfg_seniority_index,1)) then
! do while(cfg_seniority_index(i+2+k) < ncfgpersomo)
! k = k + 2
! if ((i+2+k) >= size(cfg_seniority_index,1)) then
! exit
! endif
! ncfgpersomo = cfg_seniority_index(i+2+k)
! enddo
!endif
endif endif
endif endif
ncfg = ncfgpersomo - ncfgprev ncfg = ncfgpersomo - ncfgprev
@ -74,11 +87,24 @@
if(cfg_seniority_index(i+2) > ncfgprev) then if(cfg_seniority_index(i+2) > ncfgprev) then
ncfgprev = cfg_seniority_index(i+2) ncfgprev = cfg_seniority_index(i+2)
else else
k = 0 ! l = i+k+2
do while(cfg_seniority_index(i+2+k) < ncfgprev) ! Loop over l with a constraint to ensure that l <= size(cfg_seniority_index,1)-1
k = k + 2 ! Old version commented just below
ncfgprev = cfg_seniority_index(i+2+k) do l = min(size(cfg_seniority_index,1)-1, i+2), size(cfg_seniority_index,1)-1, 2
if (cfg_seniority_index(l) >= ncfgprev) then
ncfgprev = cfg_seniority_index(l)
endif
enddo enddo
!k = 0
!if ((i+2+k) < size(cfg_seniority_index,1)) then
! do while(cfg_seniority_index(i+2+k) < ncfgprev)
! k = k + 2
! if ((i+2+k) >= size(cfg_seniority_index,1)) then
! exit
! endif
! ncfgprev = cfg_seniority_index(i+2+k)
! enddo
!endif
endif endif
enddo enddo
END_PROVIDER END_PROVIDER