subroutine CCSDT(t1,t2,EcCCT) ! Compute the (T) correction of the CCSD(T) energy implicit none ! Input variables 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) ! Local variables double precision,allocatable :: ub(:,:,:,:,:,:) double precision,allocatable :: ubb(:,:,:,:,:,:) ! Output variables double precision,intent(out) :: EcCCT ! Memory allocation allocate(ub(spin_occ_num,spin_occ_num,spin_occ_num,spin_vir_num,spin_vir_num,spin_vir_num),ubb(spin_occ_num,spin_occ_num,spin_occ_num,spin_vir_num,spin_vir_num,spin_vir_num)) ! Form CCSD(T) quantities call form_ub(t1,ub) call form_ubb(t2,ubb) call form_T(ub,ubb,EcCCT) end subroutine CCSDT