We present here a short schematic of the program run sequence with emphasis on the description of various files used. First, the integral/SCF program performs the appropriate calculations for the dimer, monomer A, and monomer B (depending on the type of basis set used and on the choice whether to calculate the supermolecular SCF interaction energy). The output of the integral/SCF calculations is included in the file output.file with the name selected on the command submitting the SAPT script. In the later stages, output from other programs as well as output of some system commands will be added to this file. Next, with the aid of an interface program written specifically for that integral/SCF package, several new files are created by extracting information from the data sets of the integral/SCF program just run. The vecta.data and vectb.data files contain the eigenvalues (orbital energies) and eigenvectors (molecular orbital coefficients) produced by the SCF step. The onela.data and onelb.data files contain the one-electron integrals of site A and B, respectively. The file inta.data contains the two-electron integrals (in some cases the original two-electron file from a given package is used). The infoa.data and infob.data files contain some general information about the system being investigated like the number of occupied orbitals, the geometry, and charges of each of the monomers.
These files (vecta.data, vectb.data, onela.data, onelb.data, infoa.data, infob.data, and inta.data) serve as input files to the four-index transformation program. This program transforms the one- and two-electron atomic integrals into molecular integrals and produces the files f2e.000.xxx (direct access, integrals other than four-virtual), f72.000.xxx (sequential, vvvv integrals for monomer A), and f73.000.xxx (vvvv for monomer B) as output. xxx is normally always 001, but on legacy systems with file-size limitations, a series of files with consecutive labels is produced instead. The numbers of these chunks for different file types are stored in the file nfiles, which is used by the other programs.
Next, two interfacing programs, int and sort, are called to extract different types of integrals from f2e.000.xxx and to put them in ccsorta.000.xxx, ccsortb.000.xxx (ov3 integrals, direct access files) and in a number of sequential files named o????__a and o????__b. Additionally, small formatted files ccloca.000 and cclocb.000 with indexing information are created. The infoa.data, infob.data, and nfiles files are required by both interfaces.
Then, the MBPT/CC program is run. It uses the files generated by int and sort, as well as f72.000.xxx, f73.000.xxx, infoa.data, infob.data, vecta.data, vectb.data, and nfiles. The generated cluster amplitudes are stored in sequential files locx_y_m, where x is s for singles and d for doubles, m is a or b depending on the monomer, and y can be 1, 2, 3, or i (amplitudes from the first 3 iterations or from the last one).
The last step of the process is the calculation of the SAPT corrections. The needed input files are vecta.data, vectb.data, infoa.data, infob.data, loc*, and f2e.000.xxx. These files contain the output from each of the previous steps. The perturbation program uses some temporary files and prints to output.file the values of the corrections as well as time needed to compute them. Near the end of the output file, there is a table collecting all the corrections expressed in various energy units.