subroutine ApproxMemReq() ! This routine makes a quick sum of the memory that will be require to ! transform the integrals from the HF to the new basis. ! Main arrays required are: MemAllocRot = 0 ! Symmetry/Labelling: ! - SymLabelLists(NoOrbs) x 3 ! - SymLabelCounts(32/16 - Spin/Spat) MemAllocRot = MemAllocRot + (3 * NoOrbs * 4) MemAllocRot = MemAllocRot + (32 * 4) ! Finding transformation matrices ! - NatOrbsMat(NoOrbs, NoOrbs) ! - Evalues(NoOrbs) x 2 MemAllocRot = MemAllocRot + ((NoOrbs**2) * 8) MemAllocRot = MemAllocRot + (2 * NoOrbs * 8) ! Transformation of integrals ! - CoeffT1(NoOrbs, NoRotOrbs) ! - FourIndInts(NoRotOrbs, NoRotOrbs, NoOrbs, NoOrbs) ! - Temp4indints(NoRotOrbs, NoOrbs) if (tPrintRODump) then MemAllocRot = MemAllocRot + (NoOrbs * NoRotOrbs * 8 * 2) MemAllocRot = MemAllocRot + ((NoRotOrbs**2) * (NoOrbs**2) * 8) ! Transform fock ! - ArrNew(NoOrbs) - reduce this? MemAllocRot = MemAllocRot + (NoOrbs * 8) ! RefillTMAT2D ! - TMAT2D(nBasis, nBasis) MemAllocRot = MemAllocRot + ((nBasis**2) * 8) end if write(stdout, '(A72, F20.10, A15)') "Rough estimate of the memory required for the orbital transformation = ", & real(MemAllocRot, dp) / 1048576.0_dp, " Mb/Processor" end subroutine ApproxMemReq