mirror of
https://gitlab.com/scemama/eplf
synced 2024-10-31 19:23:55 +01:00
Bug in density
This commit is contained in:
parent
48a001a353
commit
ce07d1dc50
BIN
EZFIO.tar.gz
BIN
EZFIO.tar.gz
Binary file not shown.
1
EZFIO.tar.gz
Symbolic link
1
EZFIO.tar.gz
Symbolic link
@ -0,0 +1 @@
|
||||
EZFIO.1.0.19.tar.gz
|
3
Makefile
3
Makefile
@ -4,6 +4,9 @@ include make.config
|
||||
|
||||
all: bin/eplf
|
||||
|
||||
EZFIO.tar.gz:
|
||||
ln -s EZFIO.*.tar.gz EZFIO.tar.gz
|
||||
|
||||
EZFIO/config/eplf.config: EZFIO.tar.gz
|
||||
tar -zxf EZFIO.tar.gz
|
||||
cd EZFIO ; IRPF90="`echo $(IRPF90) | cut -f 1`" ./configure
|
||||
|
@ -1,53 +0,0 @@
|
||||
program debug
|
||||
implicit none
|
||||
PROVIDE ao_prim_num_max
|
||||
integer :: i,j
|
||||
integer :: k
|
||||
print *, ''
|
||||
!print *, 'Occupation numbers'
|
||||
!do k=1,mo_num
|
||||
! print *, k, mo_occ(k)
|
||||
!enddo
|
||||
read(*,*) i,j
|
||||
|
||||
print *, ''
|
||||
do k=1,nucl_num
|
||||
print *, nucl_coord(k,:)
|
||||
enddo
|
||||
print *, ''
|
||||
print *, 'AO ', i
|
||||
print *, 'prim num:', ao_prim_num(i)
|
||||
print *, 'powers :', ao_power(i,:)
|
||||
print *, 'center :', ao_nucl(i)
|
||||
print *, 'expo / coef'
|
||||
do k=1,ao_prim_num(i)
|
||||
print *, ao_expo(k,i), ao_coef(k,i)
|
||||
enddo
|
||||
|
||||
print *, ''
|
||||
print *, 'AO ', j
|
||||
print *, 'prim num:', ao_prim_num(j)
|
||||
print *, 'powers :', ao_power(j,:)
|
||||
print *, 'center :', ao_nucl(j)
|
||||
print *, 'expo / coef'
|
||||
do k=1,ao_prim_num(j)
|
||||
print *, ao_expo(k,j), ao_coef(k,j)
|
||||
enddo
|
||||
|
||||
double precision :: ao_overlap, ao_overlap_numeric
|
||||
print *, ''
|
||||
print *, 'Overlap integral :', ao_overlap(i,j)
|
||||
print *, 'Overlap integral N :', ao_overlap_numeric(i,j)
|
||||
|
||||
double precision :: ao_eplf_integral, ao_eplf_integral_numeric
|
||||
print *, ''
|
||||
print *, 'EPLF gamma : ', eplf_gamma
|
||||
print *, 'EPLF integral :', ao_eplf_integral(i,j,eplf_gamma,point)
|
||||
print *, 'EPLF integral N :', ao_eplf_integral_numeric(i,j,eplf_gamma,point)
|
||||
|
||||
print *, ''
|
||||
print *, 'EPLF grid Npoints :', grid_x_num, grid_y_num, grid_z_num
|
||||
print *, 'EPLF grid step :', grid_step(:)
|
||||
print *, 'EPLF grid origin :', grid_origin(:)
|
||||
|
||||
end
|
@ -34,12 +34,12 @@ BEGIN_PROVIDER [ real, density_alpha_value_p ]
|
||||
density_alpha_value_p = 0.
|
||||
|
||||
do i=1,mo_closed_num
|
||||
density_alpha_value_p += mo_value_p(i)**2
|
||||
density_alpha_value_p += mo_value_p(i)*mo_value_p(i)
|
||||
enddo
|
||||
|
||||
do j=1,elec_alpha_num-mo_closed_num
|
||||
do i=1,elec_alpha_num-mo_closed_num
|
||||
density_alpha_value_p += mo_value_prod_p(i,j) * one_e_density_mo(i,j,1)
|
||||
density_alpha_value_p += mo_value_prod_p(i+mo_closed_num,j+mo_closed_num) * one_e_density_mo(i,j,1)
|
||||
enddo
|
||||
enddo
|
||||
|
||||
@ -54,12 +54,12 @@ BEGIN_PROVIDER [ real, density_beta_value_p ]
|
||||
density_beta_value_p = 0.
|
||||
|
||||
do i=1,mo_closed_num
|
||||
density_beta_value_p += mo_value_p(i)**2
|
||||
density_beta_value_p += mo_value_p(i)*mo_value_p(i)
|
||||
enddo
|
||||
|
||||
do j=1,elec_beta_num-mo_closed_num
|
||||
do i=1,elec_beta_num-mo_closed_num
|
||||
density_beta_value_p += mo_value_prod_p(i,j) * one_e_density_mo(i,j,2)
|
||||
density_beta_value_p += mo_value_prod_p(i+mo_closed_num,j+mo_closed_num) * one_e_density_mo(i,j,2)
|
||||
enddo
|
||||
enddo
|
||||
END_PROVIDER
|
||||
|
@ -292,7 +292,6 @@ double precision function ao_eplf_integral(i,j,gmma,center)
|
||||
integer, intent(in) :: i, j
|
||||
real, intent(in) :: center(3)
|
||||
double precision, intent(in) :: gmma
|
||||
!DEC$ ATTRIBUTES FORCEINLINE
|
||||
integer :: p,q,k
|
||||
double precision :: integral
|
||||
double precision :: ao_eplf_integral_primitive_oneD
|
||||
|
@ -16,6 +16,23 @@ BEGIN_PROVIDER [ double precision, ao_overlap_matrix, (ao_num,ao_num) ]
|
||||
END_PROVIDER
|
||||
|
||||
|
||||
BEGIN_PROVIDER [ double precision, mo_overlap_matrix, (mo_tot_num,mo_tot_num) ]
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! Overlap matrix between the Atomic Orbitals
|
||||
END_DOC
|
||||
|
||||
integer :: i, j
|
||||
double precision :: mo_overlap
|
||||
do j=1,mo_tot_num
|
||||
do i=1,j
|
||||
mo_overlap_matrix(i,j) = mo_overlap(i,j)
|
||||
mo_overlap_matrix(j,i) = mo_overlap_matrix(i,j)
|
||||
enddo
|
||||
enddo
|
||||
END_PROVIDER
|
||||
|
||||
|
||||
double precision function primitive_overlap_oneD_numeric(a,xa,i,b,xb,j)
|
||||
implicit none
|
||||
include 'constants.F'
|
||||
@ -255,3 +272,23 @@ double precision function ao_overlap(i,j)
|
||||
|
||||
end function
|
||||
|
||||
double precision function mo_overlap(i,j)
|
||||
implicit none
|
||||
integer, intent(in) :: i, j
|
||||
double precision :: tmp
|
||||
integer :: p,q
|
||||
|
||||
mo_overlap = 0.d0
|
||||
do q=1,ao_num
|
||||
tmp = 0.d0
|
||||
do p=1,ao_num
|
||||
tmp += mo_coef(p,i)*ao_overlap_matrix(p,q)
|
||||
enddo
|
||||
mo_overlap += tmp*mo_coef(q,j)
|
||||
enddo
|
||||
|
||||
end function
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user