mirror of
https://gitlab.com/scemama/qp_plugins_scemama.git
synced 2024-08-30 07:53:39 +02:00
53 lines
1.5 KiB
Fortran
53 lines
1.5 KiB
Fortran
BEGIN_PROVIDER [ double precision, dbERI, (spin_mo_num,spin_mo_num,spin_mo_num,spin_mo_num) ]
|
|
implicit none
|
|
BEGIN_DOC
|
|
! Anti-symmetrized Electron repulsion integrals in spin-orbital basis
|
|
END_DOC
|
|
|
|
! Local variables
|
|
|
|
integer :: p,q,r,s
|
|
double precision,external :: Kronecker_delta
|
|
|
|
! Output variables
|
|
|
|
double precision, external :: get_two_e_integral
|
|
|
|
double precision :: pqrs, pqsr
|
|
|
|
PROVIDE mo_two_e_integrals_in_map
|
|
|
|
do s=1,spin_mo_num
|
|
do r=1,spin_mo_num
|
|
do q=1,spin_mo_num
|
|
do p=1,spin_mo_num
|
|
|
|
pqrs = Kronecker_delta(mod(p,2),mod(r,2)) &
|
|
* Kronecker_delta(mod(q,2),mod(s,2)) &
|
|
* get_two_e_integral( &
|
|
(p+1)/2, &
|
|
(q+1)/2, &
|
|
(r+1)/2, &
|
|
(s+1)/2, &
|
|
mo_two_e_integrals_in_map)
|
|
|
|
pqsr = Kronecker_delta(mod(p,2),mod(s,2)) &
|
|
* Kronecker_delta(mod(q,2),mod(r,2)) &
|
|
* get_two_e_integral( &
|
|
(p+1)/2, &
|
|
(q+1)/2, &
|
|
(s+1)/2, &
|
|
(r+1)/2, &
|
|
mo_two_e_integrals_in_map)
|
|
|
|
dbERI(p,q,r,s) = pqrs - pqsr
|
|
enddo
|
|
enddo
|
|
enddo
|
|
enddo
|
|
|
|
|
|
END_PROVIDER
|
|
|
|
|