mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-11-09 15:03:37 +01:00
40 lines
878 B
Fortran
40 lines
878 B
Fortran
|
BEGIN_PROVIDER [ double precision, mo_grad_ints, (mo_num, mo_num,3)]
|
||
|
implicit none
|
||
|
BEGIN_DOC
|
||
|
! mo_grad_ints(i,j,m) = <phi_i^MO | d/dx | phi_j^MO>
|
||
|
END_DOC
|
||
|
integer :: i,j,ipoint,m
|
||
|
double precision :: weight
|
||
|
mo_grad_ints = 0.d0
|
||
|
do m = 1, 3
|
||
|
do ipoint = 1, n_points_final_grid
|
||
|
weight = final_weight_at_r_vector(ipoint)
|
||
|
do j = 1, mo_num
|
||
|
do i = 1, mo_num
|
||
|
mo_grad_ints(i,j,m) += mos_grad_in_r_array(j,ipoint,m) * mos_in_r_array(i,ipoint) * weight
|
||
|
enddo
|
||
|
enddo
|
||
|
enddo
|
||
|
enddo
|
||
|
|
||
|
|
||
|
END_PROVIDER
|
||
|
|
||
|
BEGIN_PROVIDER [ double precision, mo_grad_ints_transp, (3,mo_num, mo_num)]
|
||
|
implicit none
|
||
|
BEGIN_DOC
|
||
|
! mo_grad_ints(i,j,m) = <phi_i^MO | d/dx | phi_j^MO>
|
||
|
END_DOC
|
||
|
integer :: i,j,ipoint,m
|
||
|
double precision :: weight
|
||
|
do m = 1, 3
|
||
|
do j = 1, mo_num
|
||
|
do i = 1, mo_num
|
||
|
mo_grad_ints_transp(m,i,j) = mo_grad_ints(i,j,m)
|
||
|
enddo
|
||
|
enddo
|
||
|
enddo
|
||
|
|
||
|
|
||
|
END_PROVIDER
|