9
1
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-11-07 05:53:37 +01:00

removed stupid bug in utils/one_e_integration.irp.f

This commit is contained in:
Emmanuel Giner 2020-11-02 17:24:35 +01:00
parent 2c33bca408
commit bd8fcdb030
2 changed files with 18 additions and 11 deletions

View File

@ -54,6 +54,13 @@
call overlap_gaussian_xyz(A_center,B_center,alpha,beta,power_A,power_B,overlap_x,overlap_y,overlap_z,overlap,dim1) call overlap_gaussian_xyz(A_center,B_center,alpha,beta,power_A,power_B,overlap_x,overlap_y,overlap_z,overlap,dim1)
c = ao_coef_normalized_ordered_transp(n,j) * ao_coef_normalized_ordered_transp(l,i) c = ao_coef_normalized_ordered_transp(n,j) * ao_coef_normalized_ordered_transp(l,i)
ao_overlap(i,j) += c * overlap ao_overlap(i,j) += c * overlap
if(isnan(ao_overlap(i,j)))then
print*,'i,j',i,j
print*,'l,n',l,n
print*,'c,overlap',c,overlap
print*,overlap_x,overlap_y,overlap_z
stop
endif
ao_overlap_x(i,j) += c * overlap_x ao_overlap_x(i,j) += c * overlap_x
ao_overlap_y(i,j) += c * overlap_y ao_overlap_y(i,j) += c * overlap_y
ao_overlap_z(i,j) += c * overlap_z ao_overlap_z(i,j) += c * overlap_z

View File

@ -15,10 +15,10 @@ double precision function overlap_gaussian_x(A_center,B_center,alpha,beta,power_
call give_explicit_poly_and_gaussian_x(P_new,P_center,p,fact_p,iorder_p,alpha,& call give_explicit_poly_and_gaussian_x(P_new,P_center,p,fact_p,iorder_p,alpha,&
beta,power_A,power_B,A_center,B_center,dim) beta,power_A,power_B,A_center,B_center,dim)
! if(fact_p.lt.0.000001d0)then if(fact_p.lt.1.d-20)then
! overlap_gaussian_x = 0.d0 overlap_gaussian_x = 0.d0
! return return
! endif endif
overlap_gaussian_x = 0.d0 overlap_gaussian_x = 0.d0
integer :: i integer :: i
@ -53,13 +53,13 @@ subroutine overlap_gaussian_xyz(A_center,B_center,alpha,beta,power_A,&
integer :: iorder_p(3) integer :: iorder_p(3)
call give_explicit_poly_and_gaussian(P_new,P_center,p,fact_p,iorder_p,alpha,beta,power_A,power_B,A_center,B_center,dim) call give_explicit_poly_and_gaussian(P_new,P_center,p,fact_p,iorder_p,alpha,beta,power_A,power_B,A_center,B_center,dim)
! if(fact_p.lt.1d-20)then if(fact_p.lt.1d-20)then
! overlap_x = 0.d0 overlap_x = 0.d0
! overlap_y = 0.d0 overlap_y = 0.d0
! overlap_z = 0.d0 overlap_z = 0.d0
! overlap = 0.d0 overlap = 0.d0
! return return
! endif endif
integer :: nmax integer :: nmax
double precision :: F_integral double precision :: F_integral
nmax = maxval(iorder_p) nmax = maxval(iorder_p)