Acceleration

This commit is contained in:
Anthony Scemama 2010-12-17 11:31:05 +01:00
parent 2df6bebcf8
commit 921e8429cd
4 changed files with 22 additions and 4 deletions

View File

@ -94,6 +94,7 @@ BEGIN_PROVIDER [ real, density_beta_value_p ]
integer :: exc(4)
PROVIDE det
PROVIDE elec_beta_num
do k=1,det_num
do l=1,det_num
exc(1) = abs(det_exc(k,l,1))

View File

@ -33,7 +33,7 @@ BEGIN_PROVIDER [ integer, det, (elec_alpha_num-mo_closed_num,det_num,2) ]
END_PROVIDER
BEGIN_PROVIDER [ integer, det_exc, (det_num, det_num, 2) ]
BEGIN_PROVIDER [ integer*1, det_exc, (det_num, det_num, 2) ]
implicit none
BEGIN_DOC
! Degree of excitation between two determinants. Indices are alpha, beta
@ -141,7 +141,7 @@ subroutine get_single_excitation(k,l,m,n,p)
do i=1,elec_num_2(p)-mo_closed_num
found = .False.
do j=1,elec_num_2(p)-mo_closed_num
if (det(i,k,p) == det(i,l,p)) then
if (det(j,k,p) == det(i,l,p)) then
found = .True.
exit
endif
@ -188,7 +188,7 @@ subroutine get_double_excitation(k,l,m,n,r,s,p)
do i=1,elec_num_2(p)-mo_closed_num
found = .False.
do j=1,elec_num_2(p)-mo_closed_num
if (det(i,k,p) == det(i,l,p)) then
if (det(j,k,p) == det(i,l,p)) then
found = .True.
exit
endif

View File

@ -38,7 +38,7 @@ BEGIN_PROVIDER [ double precision, mo_eplf_integral_matrix, (mo_num,mo_num) ]
integer :: i, j, k, l
double precision :: t
PROVIDE ao_eplf_integral_matrix
PROVIDE mo_coef
PROVIDE mo_coef mo_coef_transp
do i=1,mo_num
do j=i,mo_num
mo_eplf_integral_matrix(j,i) = 0.d0

View File

@ -16,6 +16,23 @@ BEGIN_PROVIDER [ real, mo_value_p, (mo_num) ]
END_PROVIDER
BEGIN_PROVIDER [ real, mo_value_prod_p, (mo_num,mo_num) ]
implicit none
BEGIN_DOC
! Products of 2 molecular orbitals
END_DOC
integer :: i, j, k
do j=1,mo_num
do k=1,mo_num
mo_value_prod_p(k,j) = mo_value_p(k)*mo_value_p(j)
enddo
enddo
END_PROVIDER
BEGIN_PROVIDER [ real, mo_grad_p, (mo_num,3) ]
implicit none