10
0
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-06-30 00:44:37 +02:00
QuantumPackage/src/mo_one_e_ints/mo_one_e_ints_cplx.irp.f

62 lines
2.0 KiB
FortranFixed
Raw Normal View History

2020-02-20 22:38:02 +01:00
BEGIN_PROVIDER [ complex*16, mo_one_e_integrals_complex,(mo_num,mo_num)]
2020-01-29 21:15:48 +01:00
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
2020-02-20 22:38:02 +01:00
call ezfio_get_mo_one_e_ints_mo_one_e_integrals_complex(mo_one_e_integrals_complex)
2020-01-29 21:15:48 +01:00
ELSE
2020-02-20 22:38:02 +01:00
mo_one_e_integrals_complex = mo_integrals_n_e_complex + mo_kinetic_integrals_complex
2020-01-29 21:15:48 +01:00
2020-03-13 00:02:03 +01:00
IF (do_pseudo) THEN
2020-02-20 22:38:02 +01:00
mo_one_e_integrals_complex += mo_pseudo_integrals_complex
2020-01-29 21:15:48 +01:00
ENDIF
ENDIF
IF (write_mo_one_e_integrals) THEN
2020-02-20 22:38:02 +01:00
call ezfio_set_mo_one_e_ints_mo_one_e_integrals_complex(mo_one_e_integrals_complex)
2020-01-29 21:15:48 +01:00
print *, 'MO one-e integrals written to disk'
ENDIF
2020-03-13 00:02:03 +01:00
print*,'Provided the one-electron integrals'
2020-01-29 21:15:48 +01:00
END_PROVIDER
2020-03-18 22:30:27 +01:00
!============================================!
! !
! kpts !
! !
!============================================!
BEGIN_PROVIDER [ complex*16, mo_one_e_integrals_kpts,(mo_num_per_kpt,mo_num_per_kpt,kpt_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_kpts(mo_one_e_integrals_kpts)
ELSE
mo_one_e_integrals_kpts = mo_integrals_n_e_kpts + mo_kinetic_integrals_kpts
IF (do_pseudo) THEN
mo_one_e_integrals_kpts += mo_pseudo_integrals_kpts
ENDIF
ENDIF
IF (write_mo_one_e_integrals) THEN
call ezfio_set_mo_one_e_ints_mo_one_e_integrals_kpts(mo_one_e_integrals_kpts)
print *, 'MO one-e integrals written to disk'
ENDIF
print*,'Provided the one-electron integrals'
END_PROVIDER