9
1
mirror of https://github.com/QuantumPackage/qp2.git synced 2025-04-25 17:54:44 +02:00
qp2/plugins/local/extra_basis_int/test_e_pol_grid.irp.f
2025-04-02 11:17:54 +02:00

34 lines
943 B
Fortran

program test_e_pol
implicit none
io_extra_grid = "Read"
touch io_extra_grid
call routine
end
subroutine routine
implicit none
integer :: i1,i2
double precision :: integral_12, r1(3), r2(3), weight1, weight2
double precision :: dm_r1_alpha,dm_r1_beta,dm_r1,dm_r2
integral_12 = 0.d0
do i1 = 1, n_points_final_grid
r1(1) = final_grid_points(1,i1)
r1(2) = final_grid_points(2,i1)
r1(3) = final_grid_points(3,i1)
weight1 = final_weight_at_r_vector(i1)
call dm_dft_alpha_beta_at_r(r1,dm_r1_alpha,dm_r1_beta)
dm_r1 = dm_r1_alpha+dm_r1_beta ! rhoA(r1)
do i2 = 1, n_points_extra_final_grid
r2(1) = final_grid_points_extra(1,i2)
r2(2) = final_grid_points_extra(2,i2)
r2(3) = final_grid_points_extra(3,i2)
weight2 = final_weight_at_r_vector_extra(i2)
dm_r2 = ao_extra_one_e_dm_at_extra_r(i2) ! rhoB(r2)
integral_12 += dm_r1 * dm_r2 * weight1 * weight2
enddo
enddo
print*,'integral_12 = ',integral_12
end