mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-06-30 00:44:37 +02:00
40 lines
1.5 KiB
FortranFixed
40 lines
1.5 KiB
FortranFixed
![]() |
BEGIN_PROVIDER [ double precision, mo_one_e_integrals_real,(mo_num,mo_num)]
|
||
|
&BEGIN_PROVIDER [ double precision, mo_one_e_integrals_imag,(mo_num,mo_num)]
|
||
|
&BEGIN_PROVIDER [ complex*16, mo_one_e_integrals_complex,(mo_num,mo_num)]
|
||
|
implicit none
|
||
|
integer :: i,j,n,l
|
||
|
BEGIN_DOC
|
||
|
! array of the one-electron Hamiltonian on the |MO| basis :
|
||
|
! sum of the kinetic and nuclear electronic potentials (and pseudo potential if needed)
|
||
|
END_DOC
|
||
|
print*,'Providing the one-electron integrals'
|
||
|
|
||
|
IF (read_mo_one_e_integrals) THEN
|
||
|
call ezfio_get_mo_one_e_ints_mo_one_e_integrals_real(mo_one_e_integrals_real)
|
||
|
call ezfio_get_mo_one_e_ints_mo_one_e_integrals_imag(mo_one_e_integrals_imag)
|
||
|
ELSE
|
||
|
mo_one_e_integrals_real = mo_integrals_n_e_real + mo_kinetic_integrals_real
|
||
|
mo_one_e_integrals_imag = mo_integrals_n_e_imag + mo_kinetic_integrals_imag
|
||
|
|
||
|
IF (DO_PSEUDO) THEN
|
||
|
mo_one_e_integrals_real += mo_pseudo_integrals_real
|
||
|
mo_one_e_integrals_imag += mo_pseudo_integrals_imag
|
||
|
ENDIF
|
||
|
|
||
|
ENDIF
|
||
|
do i=1,mo_num
|
||
|
do j=1,mo_num
|
||
|
mo_one_e_integrals_complex(j,i)=dcmplx(mo_one_e_integrals_real(j,i), &
|
||
|
mo_one_e_integrals_imag(j,i))
|
||
|
enddo
|
||
|
enddo
|
||
|
|
||
|
IF (write_mo_one_e_integrals) THEN
|
||
|
call ezfio_set_mo_one_e_ints_mo_one_e_integrals_real(mo_one_e_integrals_real)
|
||
|
call ezfio_set_mo_one_e_ints_mo_one_e_integrals_imag(mo_one_e_integrals_imag)
|
||
|
print *, 'MO one-e integrals written to disk'
|
||
|
ENDIF
|
||
|
|
||
|
END_PROVIDER
|
||
|
|