mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-12-21 11:03:29 +01:00
added old version of no_vvvv which works
This commit is contained in:
parent
26177b12ca
commit
e7042e65c7
@ -51,6 +51,13 @@ end
|
||||
|
||||
|
||||
subroutine four_idx_novvvv
|
||||
print*,'********'
|
||||
print*,'********'
|
||||
print*,'********'
|
||||
print*,'WARNING :: Using four_idx_novvvv, and we are not sure that this routine is not bugged ...'
|
||||
print*,'********'
|
||||
print*,'********'
|
||||
print*,'********'
|
||||
use map_module
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
|
@ -50,7 +50,8 @@ BEGIN_PROVIDER [ logical, mo_two_e_integrals_in_map ]
|
||||
call cpu_time(cpu_1)
|
||||
|
||||
if(no_vvvv_integrals)then
|
||||
call four_idx_novvvv
|
||||
! call four_idx_novvvv
|
||||
call four_idx_novvvv_old
|
||||
else
|
||||
call add_integrals_to_map(full_ijkl_bitmask_4)
|
||||
endif
|
||||
|
88
src/mo_two_e_ints/no_vvvv.irp.f
Normal file
88
src/mo_two_e_ints/no_vvvv.irp.f
Normal file
@ -0,0 +1,88 @@
|
||||
|
||||
subroutine four_idx_novvvv_old
|
||||
use map_module
|
||||
use bitmasks
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! Retransform MO integrals for next CAS-SCF step
|
||||
END_DOC
|
||||
integer(bit_kind) :: mask_ijkl(N_int,4)
|
||||
integer(bit_kind) :: mask_ijk(N_int,3)
|
||||
|
||||
print*,'Using partial transformation'
|
||||
print*,'It will not transform all integrals with at least 3 indices within the virtuals'
|
||||
integer :: i,j,k,l
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! I I I I !!!!!!!!!!!!!!!!!!!!
|
||||
! (core+inact+act) ^ 4
|
||||
! <ii|ii>
|
||||
print*, ''
|
||||
print*, '<ii|ii>'
|
||||
do i = 1,N_int
|
||||
mask_ijkl(i,1) = core_inact_act_bitmask_4(i,1)
|
||||
mask_ijkl(i,2) = core_inact_act_bitmask_4(i,1)
|
||||
mask_ijkl(i,3) = core_inact_act_bitmask_4(i,1)
|
||||
mask_ijkl(i,4) = core_inact_act_bitmask_4(i,1)
|
||||
enddo
|
||||
call add_integrals_to_map(mask_ijkl)
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! I I V V !!!!!!!!!!!!!!!!!!!!
|
||||
! (core+inact+act) ^ 2 (virt) ^2
|
||||
! <iv|iv> = J_iv
|
||||
print*, ''
|
||||
print*, '<iv|iv>'
|
||||
do i = 1,N_int
|
||||
mask_ijkl(i,1) = core_inact_act_bitmask_4(i,1)
|
||||
mask_ijkl(i,2) = virt_bitmask(i,1)
|
||||
mask_ijkl(i,3) = core_inact_act_bitmask_4(i,1)
|
||||
mask_ijkl(i,4) = virt_bitmask(i,1)
|
||||
enddo
|
||||
call add_integrals_to_map(mask_ijkl)
|
||||
|
||||
! (core+inact+act) ^ 2 (virt) ^2
|
||||
! <ii|vv> = (iv|iv)
|
||||
print*, ''
|
||||
print*, '<ii|vv>'
|
||||
do i = 1,N_int
|
||||
mask_ijkl(i,1) = core_inact_act_bitmask_4(i,1)
|
||||
mask_ijkl(i,2) = core_inact_act_bitmask_4(i,1)
|
||||
mask_ijkl(i,3) = virt_bitmask(i,1)
|
||||
mask_ijkl(i,4) = virt_bitmask(i,1)
|
||||
enddo
|
||||
call add_integrals_to_map(mask_ijkl)
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! V V V !!!!!!!!!!!!!!!!!!!!!!!
|
||||
! if(.not.no_vvv_integrals)then
|
||||
print*, ''
|
||||
print*, '<rv|sv> and <rv|vs>'
|
||||
do i = 1,N_int
|
||||
mask_ijk(i,1) = virt_bitmask(i,1)
|
||||
mask_ijk(i,2) = virt_bitmask(i,1)
|
||||
mask_ijk(i,3) = virt_bitmask(i,1)
|
||||
enddo
|
||||
call add_integrals_to_map_three_indices(mask_ijk)
|
||||
! endif
|
||||
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! I I I V !!!!!!!!!!!!!!!!!!!!
|
||||
! (core+inact+act) ^ 3 (virt) ^1
|
||||
! <iv|ii>
|
||||
print*, ''
|
||||
print*, '<iv|ii>'
|
||||
do i = 1,N_int
|
||||
mask_ijkl(i,1) = core_inact_act_bitmask_4(i,1)
|
||||
mask_ijkl(i,2) = core_inact_act_bitmask_4(i,1)
|
||||
mask_ijkl(i,3) = core_inact_act_bitmask_4(i,1)
|
||||
mask_ijkl(i,4) = virt_bitmask(i,1)
|
||||
enddo
|
||||
call add_integrals_to_map(mask_ijkl)
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! I V V V !!!!!!!!!!!!!!!!!!!!
|
||||
! (core+inact+act) ^ 1 (virt) ^3
|
||||
! <iv|vv>
|
||||
! if(.not.no_ivvv_integrals)then
|
||||
print*, ''
|
||||
print*, '<iv|vv>'
|
||||
do i = 1,N_int
|
||||
mask_ijkl(i,1) = core_inact_act_bitmask_4(i,1)
|
||||
mask_ijkl(i,2) = virt_bitmask(i,1)
|
||||
mask_ijkl(i,3) = virt_bitmask(i,1)
|
||||
mask_ijkl(i,4) = virt_bitmask(i,1)
|
||||
enddo
|
||||
call add_integrals_to_map_no_exit_34(mask_ijkl)
|
||||
end
|
Loading…
Reference in New Issue
Block a user