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
|
2020-07-14 01:24:37 +02:00
|
|
|
|
|
|
|
BEGIN_PROVIDER [ double precision, mo_one_e_integrals_kpts_real,(mo_num_per_kpt,mo_num_per_kpt,kpt_num)]
|
|
|
|
implicit none
|
|
|
|
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
|
|
|
|
|
|
|
|
integer :: i,j,k
|
|
|
|
do k=1,kpt_num
|
|
|
|
do j=1,mo_num_per_kpt
|
|
|
|
do i=1,mo_num_per_kpt
|
|
|
|
mo_one_e_integrals_kpts_real(i,j,k) = dble(mo_one_e_integrals_kpts(i,j,k))
|
|
|
|
enddo
|
|
|
|
enddo
|
|
|
|
enddo
|
|
|
|
END_PROVIDER
|