2019-09-14 15:06:02 +02:00
|
|
|
BEGIN_PROVIDER [ double precision, EcCCSD ]
|
|
|
|
implicit none
|
|
|
|
BEGIN_DOC
|
|
|
|
! CCSD correlation energy in non-canonical form
|
|
|
|
END_DOC
|
2019-09-11 17:09:30 +02:00
|
|
|
|
|
|
|
! Local variables
|
|
|
|
|
|
|
|
integer :: i,j,a,b
|
|
|
|
|
|
|
|
EcCCSD = 0d0
|
|
|
|
|
|
|
|
! Singles contribution
|
|
|
|
|
2019-09-14 14:15:25 +02:00
|
|
|
do i=1,spin_occ_num
|
|
|
|
do a=1,spin_vir_num
|
2019-09-11 17:09:30 +02:00
|
|
|
|
2019-09-14 15:06:02 +02:00
|
|
|
EcCCSD = EcCCSD + spin_fock_matrix_mo_ov(i,a)*t1_cc(i,a)
|
2019-09-11 17:09:30 +02:00
|
|
|
|
|
|
|
end do
|
|
|
|
end do
|
|
|
|
|
|
|
|
! Doubles contribution
|
|
|
|
|
2019-09-14 14:15:25 +02:00
|
|
|
do i=1,spin_occ_num
|
|
|
|
do j=1,spin_occ_num
|
|
|
|
do a=1,spin_vir_num
|
|
|
|
do b=1,spin_vir_num
|
2019-09-11 17:09:30 +02:00
|
|
|
|
|
|
|
EcCCSD = EcCCSD &
|
2019-09-14 14:20:55 +02:00
|
|
|
+ 0.5d0*OOVV(i,j,a,b)*t1_cc(i,a)*t1_cc(j,b) &
|
|
|
|
+ 0.25d0*OOVV(i,j,a,b)*t2_cc(i,j,a,b)
|
2019-09-11 17:09:30 +02:00
|
|
|
|
|
|
|
end do
|
|
|
|
end do
|
|
|
|
end do
|
|
|
|
end do
|
|
|
|
|
2019-09-14 15:06:02 +02:00
|
|
|
END_PROVIDER
|
|
|
|
|