| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer | :: | nBasis | ||||
| integer | :: | iSize |
SUBROUTINE CalcTMATSize(nBasis, iSize) INTEGER :: iSize, nBasis, basirrep, i, Nirrep IF (tCPMDSymTMat) THEN iSize = 0 Nirrep = NSYMLABELS do i = 1, Nirrep basirrep = SYMLABELCOUNTS(2, i) ! Block diagonal. iSize = iSize + (basirrep * (basirrep + 1)) / 2 end do iSize = iSize + 2 !lower index is -1 ELSE if (tOneElecDiag) then iSize = nBasis else iSize = nBasis * nBasis end if end if END SUBROUTINE CalcTMATSize