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
|
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
|
use map_module
|
||||||
implicit none
|
implicit none
|
||||||
BEGIN_DOC
|
BEGIN_DOC
|
||||||
|
@ -50,7 +50,8 @@ BEGIN_PROVIDER [ logical, mo_two_e_integrals_in_map ]
|
|||||||
call cpu_time(cpu_1)
|
call cpu_time(cpu_1)
|
||||||
|
|
||||||
if(no_vvvv_integrals)then
|
if(no_vvvv_integrals)then
|
||||||
call four_idx_novvvv
|
! call four_idx_novvvv
|
||||||
|
call four_idx_novvvv_old
|
||||||
else
|
else
|
||||||
call add_integrals_to_map(full_ijkl_bitmask_4)
|
call add_integrals_to_map(full_ijkl_bitmask_4)
|
||||||
endif
|
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