10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-07-03 01:45:59 +02:00

DFT integration works for non overlapping densities

This commit is contained in:
Emmanuel Giner 2017-04-14 01:16:21 +02:00
parent b0a3c73b89
commit 226ca23af8
3 changed files with 21 additions and 11 deletions

View File

@ -5,7 +5,7 @@
BEGIN_PROVIDER [integer, n_points_radial_grid] BEGIN_PROVIDER [integer, n_points_radial_grid]
implicit none implicit none
n_points_radial_grid = 100000 n_points_radial_grid = 10000
END_PROVIDER END_PROVIDER
@ -24,15 +24,22 @@ END_PROVIDER
double precision :: degre_rad double precision :: degre_rad
degre_rad = 180.d0/pi degre_rad = 180.d0/pi
accu = 0.d0 accu = 0.d0
do i = 1, n_points_integration_angular_lebedev !do i = 1, n_points_integration_angular_lebedev
accu += weights_angular_integration_lebedev(i) ! accu += weights_angular_integration_lebedev(i)
weights_angular_points(i) = weights_angular_integration_lebedev(i) * 4.d0 * pi ! weights_angular_points(i) = weights_angular_integration_lebedev(i) * 4.d0 * pi
angular_quadrature_points(i,1) = dcos ( degre_rad * theta_angular_integration_lebedev(i)) & ! angular_quadrature_points(i,1) = dcos ( degre_rad * theta_angular_integration_lebedev(i)) &
* dsin ( degre_rad * phi_angular_integration_lebedev(i)) ! * dsin ( degre_rad * phi_angular_integration_lebedev(i))
angular_quadrature_points(i,2) = dsin ( degre_rad * theta_angular_integration_lebedev(i)) & ! angular_quadrature_points(i,2) = dsin ( degre_rad * theta_angular_integration_lebedev(i)) &
* dsin ( degre_rad * phi_angular_integration_lebedev(i)) ! * dsin ( degre_rad * phi_angular_integration_lebedev(i))
angular_quadrature_points(i,3) = dcos ( degre_rad * phi_angular_integration_lebedev(i)) ! angular_quadrature_points(i,3) = dcos ( degre_rad * phi_angular_integration_lebedev(i))
enddo
!!weights_angular_points(i) = weights_angular_integration_lebedev(i)
!!angular_quadrature_points(i,1) = dcos ( degre_rad * phi_angular_integration_lebedev(i)) &
!! * dsin ( degre_rad * theta_angular_integration_lebedev(i))
!!angular_quadrature_points(i,2) = dsin ( degre_rad * phi_angular_integration_lebedev(i)) &
!! * dsin ( degre_rad * theta_angular_integration_lebedev(i))
!!angular_quadrature_points(i,3) = dcos ( degre_rad * theta_angular_integration_lebedev(i))
!enddo
print*,'ANGULAR' print*,'ANGULAR'
print*,'' print*,''
print*,'accu = ',accu print*,'accu = ',accu

View File

@ -11,6 +11,9 @@ subroutine routine
integer :: i integer :: i
double precision :: accu(2) double precision :: accu(2)
accu = 0.d0 accu = 0.d0
do i = 1, N_det
call debug_det(psi_det(1,1,i),N_int)
enddo
do i = 1, nucl_num do i = 1, nucl_num
accu(1) += integral_density_alpha_knowles_becke_per_atom(i) accu(1) += integral_density_alpha_knowles_becke_per_atom(i)
accu(2) += integral_density_beta_knowles_becke_per_atom(i) accu(2) += integral_density_beta_knowles_becke_per_atom(i)

View File

@ -4,7 +4,7 @@ BEGIN_PROVIDER [integer, degree_max_integration_lebedev]
! needed for the angular integration according to LEBEDEV formulae ! needed for the angular integration according to LEBEDEV formulae
END_DOC END_DOC
implicit none implicit none
degree_max_integration_lebedev= 3 degree_max_integration_lebedev= 7
END_PROVIDER END_PROVIDER