mirror of
https://github.com/LCPQ/quantum_package
synced 2025-05-06 07:05:25 +02:00
Added key -> i,j,k,l function in maps
This commit is contained in:
parent
ef46f87bc6
commit
1316735589
@ -19,11 +19,13 @@ END_PROVIDER
|
|||||||
BEGIN_PROVIDER [ integer, ao_power, (ao_num_align,3) ]
|
BEGIN_PROVIDER [ integer, ao_power, (ao_num_align,3) ]
|
||||||
&BEGIN_PROVIDER [ double precision, ao_expo, (ao_num_align,ao_prim_num_max) ]
|
&BEGIN_PROVIDER [ double precision, ao_expo, (ao_num_align,ao_prim_num_max) ]
|
||||||
&BEGIN_PROVIDER [ double precision, ao_coef, (ao_num_align,ao_prim_num_max) ]
|
&BEGIN_PROVIDER [ double precision, ao_coef, (ao_num_align,ao_prim_num_max) ]
|
||||||
|
&BEGIN_PROVIDER [ integer, ao_l, (ao_num) ]
|
||||||
implicit none
|
implicit none
|
||||||
|
|
||||||
BEGIN_DOC
|
BEGIN_DOC
|
||||||
! Coefficients, exponents and powers of x,y and z
|
! Coefficients, exponents and powers of x,y and z
|
||||||
! ao_coef(i,j) = coefficient of the jth primitive on the ith ao
|
! ao_coef(i,j) = coefficient of the jth primitive on the ith ao
|
||||||
|
! ao_l = l value of the AO: a+b+c in x^a y^b z^c
|
||||||
END_DOC
|
END_DOC
|
||||||
PROVIDE ezfio_filename
|
PROVIDE ezfio_filename
|
||||||
|
|
||||||
@ -91,8 +93,13 @@ END_PROVIDER
|
|||||||
ao_coef(i,j) = d(j,2)
|
ao_coef(i,j) = d(j,2)
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
|
do i=1,ao_num
|
||||||
|
ao_l(i) = ao_power(i,1) + ao_power(i,2) + ao_power(i,3)
|
||||||
|
enddo
|
||||||
END_PROVIDER
|
END_PROVIDER
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
BEGIN_PROVIDER [ double precision, ao_coef_transp, (ao_prim_num_max_align,ao_num) ]
|
BEGIN_PROVIDER [ double precision, ao_coef_transp, (ao_prim_num_max_align,ao_num) ]
|
||||||
&BEGIN_PROVIDER [ double precision, ao_expo_transp, (ao_prim_num_max_align,ao_num) ]
|
&BEGIN_PROVIDER [ double precision, ao_expo_transp, (ao_prim_num_max_align,ao_num) ]
|
||||||
implicit none
|
implicit none
|
||||||
|
@ -139,8 +139,14 @@ double precision function ao_bielec_integral(i,j,k,l)
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
integer function ao_l4(i,j,k,l)
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! Computes the product of l values of i,j,k,and l
|
||||||
|
END_DOC
|
||||||
|
integer, intent(in) :: i,j,k,l
|
||||||
|
ao_l4 = ao_l(i)*ao_l(j)*ao_l(k)*ao_l(l)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -30,6 +30,26 @@ subroutine bielec_integrals_index(i,j,k,l,i1)
|
|||||||
i1 = i1+ishft(i2*i2-i2,-1)
|
i1 = i1+ishft(i2*i2-i2,-1)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
subroutine bielec_integrals_index_reverse(i,j,k,l,i1)
|
||||||
|
implicit none
|
||||||
|
integer, intent(out) :: i,j,k,l
|
||||||
|
integer*8, intent(in) :: i1
|
||||||
|
integer*8 :: i2,i3
|
||||||
|
real :: x
|
||||||
|
x = 0.5*(sqrt(8.*real(i1)+1.)-1.)
|
||||||
|
i2 = ceiling(x)
|
||||||
|
i3 = i1 - ishft(i2*i2-i2,-1)
|
||||||
|
|
||||||
|
l = 0.5*(sqrt(8.*real(i2)+1.)-1.)
|
||||||
|
l = ceiling(x)
|
||||||
|
j = i2 - ishft(l*l-l,-1)
|
||||||
|
|
||||||
|
x = 0.5*(sqrt(8.*real(i3)+1.)-1.)
|
||||||
|
k = ceiling(x)
|
||||||
|
i = i3 - ishft(k*k-k,-1)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
double precision function get_ao_bielec_integral(i,j,k,l,map)
|
double precision function get_ao_bielec_integral(i,j,k,l,map)
|
||||||
use map_module
|
use map_module
|
||||||
implicit none
|
implicit none
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user