2019-09-14 14:15:25 +02:00
|
|
|
subroutine form_taus_nc(t1,t2,taus)
|
2019-09-11 17:09:30 +02:00
|
|
|
|
|
|
|
! Form tau in CCSD
|
|
|
|
|
|
|
|
implicit none
|
|
|
|
|
|
|
|
! Input variables
|
|
|
|
|
2019-09-14 14:15:25 +02:00
|
|
|
double precision,intent(in) :: t1(spin_occ_num,spin_vir_num)
|
|
|
|
double precision,intent(in) :: t2(spin_occ_num,spin_occ_num,spin_vir_num,spin_vir_num)
|
2019-09-11 17:09:30 +02:00
|
|
|
|
|
|
|
! Local variables
|
|
|
|
|
|
|
|
integer :: i,j,k,l
|
|
|
|
integer :: a,b,c,d
|
|
|
|
|
|
|
|
! Output variables
|
|
|
|
|
2019-09-14 14:15:25 +02:00
|
|
|
double precision,intent(out) :: taus(spin_occ_num,spin_occ_num,spin_vir_num,spin_vir_num)
|
2019-09-11 17:09:30 +02:00
|
|
|
|
2019-09-14 14:15:25 +02:00
|
|
|
do b=1,spin_vir_num
|
|
|
|
do a=1,spin_vir_num
|
|
|
|
do j=1,spin_occ_num
|
|
|
|
do i=1,spin_occ_num
|
2019-09-11 17:09:30 +02:00
|
|
|
|
|
|
|
taus(i,j,a,b) = t2(i,j,a,b) + 0.5d0*(t1(i,a)*t1(j,b) - t1(i,b)*t1(j,a))
|
|
|
|
|
|
|
|
enddo
|
|
|
|
enddo
|
|
|
|
enddo
|
|
|
|
enddo
|
|
|
|
|
|
|
|
end subroutine form_taus_nc
|