10
0
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-06-25 22:52:21 +02:00
QuantumPackage/plugins/local/tc_scf/fock_3e_bi_ortho_uhf.irp.f

78 lines
1.4 KiB
Fortran
Raw Normal View History

2023-09-01 09:34:54 +02:00
! ---
2023-09-02 18:11:05 +02:00
BEGIN_PROVIDER [double precision, fock_3e_uhf_mo_a, (mo_num, mo_num)]
2023-09-01 09:34:54 +02:00
BEGIN_DOC
!
2023-09-02 18:11:05 +02:00
! Fock matrix alpha from three-electron terms
2023-09-01 09:34:54 +02:00
!
! WARNING :: non hermitian if bi-ortho MOS used
!
END_DOC
implicit none
2023-09-02 16:47:24 +02:00
double precision :: ti, tf
2023-09-01 09:34:54 +02:00
PROVIDE mo_l_coef mo_r_coef
2023-09-02 18:11:05 +02:00
!print *, ' Providing fock_3e_uhf_mo_a ...'
2023-09-02 16:47:24 +02:00
!call wall_time(ti)
2023-09-01 09:34:54 +02:00
2023-09-02 16:47:24 +02:00
! CLOSED-SHELL PART
2023-09-01 09:34:54 +02:00
PROVIDE fock_3e_uhf_mo_cs
fock_3e_uhf_mo_a = fock_3e_uhf_mo_cs
2023-09-02 16:47:24 +02:00
if(elec_alpha_num .ne. elec_beta_num) then
2023-09-01 09:34:54 +02:00
2023-09-02 16:47:24 +02:00
! OPEN-SHELL PART
2023-09-02 18:11:05 +02:00
PROVIDE fock_3e_uhf_mo_a_os
2023-09-01 09:34:54 +02:00
2023-09-02 16:47:24 +02:00
fock_3e_uhf_mo_a += fock_3e_uhf_mo_a_os
2023-09-02 18:11:05 +02:00
endif
!call wall_time(tf)
!print *, ' Wall time for fock_3e_uhf_mo_a =', tf - ti
END_PROVIDER
! ---
BEGIN_PROVIDER [double precision, fock_3e_uhf_mo_b, (mo_num, mo_num)]
BEGIN_DOC
!
! Fock matrix beta from three-electron terms
!
! WARNING :: non hermitian if bi-ortho MOS used
!
END_DOC
implicit none
double precision :: ti, tf
PROVIDE mo_l_coef mo_r_coef
!print *, ' Providing and fock_3e_uhf_mo_b ...'
!call wall_time(ti)
! CLOSED-SHELL PART
PROVIDE fock_3e_uhf_mo_cs
fock_3e_uhf_mo_b = fock_3e_uhf_mo_cs
if(elec_alpha_num .ne. elec_beta_num) then
! OPEN-SHELL PART
PROVIDE fock_3e_uhf_mo_b_os
2023-09-02 16:47:24 +02:00
fock_3e_uhf_mo_b += fock_3e_uhf_mo_b_os
endif
2023-09-01 09:34:54 +02:00
2023-09-02 16:47:24 +02:00
!call wall_time(tf)
2023-09-02 18:11:05 +02:00
!print *, ' Wall time for fock_3e_uhf_mo_b =', tf - ti
2023-09-01 09:34:54 +02:00
END_PROVIDER
! ---