10
0
mirror of https://gitlab.com/scemama/eplf synced 2024-07-31 01:24:32 +02:00

cleaner gamma. Need to update doc.

This commit is contained in:
Anthony Scemama 2010-04-29 18:03:04 +02:00
parent a0eeaf84d3
commit 8c0527d081

View File

@ -4,10 +4,12 @@ BEGIN_PROVIDER [ real, eplf_gamma ]
! Value of the gaussian for the EPLF ! Value of the gaussian for the EPLF
END_DOC END_DOC
include 'constants.F' include 'constants.F'
real :: eps, N real :: eps
N = 1.
eps = -real(dlog(tiny(1.d0))) eps = -real(dlog(tiny(1.d0)))
eplf_gamma = (4./(3.*N)*pi*density_value_p)**(2./3.) * eps !real :: N
!N = 0.1
!eplf_gamma = (4./(3.*N)*pi*density_value_p)**(2./3.) * eps
eplf_gamma = density_value_p * eps
END_PROVIDER END_PROVIDER
BEGIN_PROVIDER [ double precision, ao_eplf_integral_matrix, (ao_num,ao_num) ] BEGIN_PROVIDER [ double precision, ao_eplf_integral_matrix, (ao_num,ao_num) ]
@ -44,11 +46,9 @@ BEGIN_PROVIDER [ double precision, mo_eplf_integral_matrix, (mo_num,mo_num) ]
if (mo_coef(k,i) /= 0.) then if (mo_coef(k,i) /= 0.) then
do l=1,ao_num do l=1,ao_num
t = mo_coef(k,i)*ao_eplf_integral_matrix(l,k) t = mo_coef(k,i)*ao_eplf_integral_matrix(l,k)
if (abs(ao_eplf_integral_matrix(l,k))>1.d-16) then do j=i,mo_num
do j=i,mo_num mo_eplf_integral_matrix(j,i) += t*mo_coef_transp(j,l)
mo_eplf_integral_matrix(j,i) += t*mo_coef_transp(j,l) enddo
enddo
endif
enddo enddo
endif endif
enddo enddo
@ -263,7 +263,6 @@ end function
c = exp(- real(ab(1)*inv_p(1)*xab(1)**2 + & c = exp(- real(ab(1)*inv_p(1)*xab(1)**2 + &
ab(2)*inv_p(2)*xab(2)**2) ) ab(2)*inv_p(2)*xab(2)**2) )
! inv_p = 1.d0/p
S(0,0) = dsqrt(pi*inv_p(2))*c S(0,0) = dsqrt(pi*inv_p(2))*c
! Obara-Saika recursion ! Obara-Saika recursion