Why Use This Engine?
RevIED decomposes the interaction energy between two fragments of a complex using symmetry-adapted perturbation theory (SAPT0). You upload one structure that holds both molecules, choose which atoms belong to each fragment, and RevIED returns the interaction energy split into four physically distinct components: electrostatics, exchange, induction and dispersion. A single interaction energy tells you how strongly two molecules bind. It does not tell you why, or what to change. A decomposition turns “make it bind harder” into a specific answer: a better hydrogen bond, more buried hydrophobic surface, or a more polarizable partner. Typical uses:- Explain a binding contact. See whether a ligand-residue or fragment-fragment contact is held together mainly by electrostatics or by dispersion.
- Guide analog design. Compare the composition of the attraction across a series to decide whether to strengthen a polar interaction or add contact surface.
- Study ion-molecule interactions. Charged complexes such as a salt bridge or a charged ligand against a binding-site fragment are supported, as long as you say which fragment carries the charge.
- Get dispersion you can see. Dispersion is the component a Hartree-Fock or plain-DFT interaction energy does not contain at all, and SAPT0 reports it explicitly.

Background
SAPT treats the interaction as a perturbation between two isolated monomers, so the interaction energy is computed directly rather than as a difference of large total energies. RevIED runs SAPT0, the lowest-order form, which builds on Hartree-Fock descriptions of each monomer. The calculation runs three Hartree-Fock calculations first (the complex and each fragment, all in the complex’s basis set), then the decomposition. SAPT0 produces eight terms. RevIED groups them into the four reported components:- Electrostatics is the Coulomb interaction between the two unperturbed charge distributions. It is the only term with a purely classical interpretation.
- Exchange is the Pauli repulsion where the electron clouds overlap. It is positive: the repulsive wall the other three components push against.
- Induction is the polarization of each monomer by the other, including charge transfer. By convention it also includes , the part of the Hartree-Fock interaction energy beyond second order, which can be a large share of the group.
- Dispersion is the attraction from correlated, fluctuating electron distributions.
The trust diagnostic
The exchange corrections to induction and dispersion are only available in the single-exchange () approximation. First-order exchange is computed both exactly and under , so their ratio measures how well that approximation holds for your geometry: A ratio of 1.000 means the approximation is exact. Across all 22 complexes of the S22 benchmark set, the ratio stays between 1.0004 and 1.0184. RevIED flags a result when the ratio reaches 1.05, which means the monomers are unusually close or overlapping. The same calculation also yields two scaled totals at no extra cost. sSAPT0 (exchange-scaled) corrects the two exchange terms using the ratio above, and is the published remedy when that ratio is high. SCS-SAPT0 (spin-component-scaled) reweights the same-spin and opposite-spin parts of dispersion. On a healthy complex, SAPT0 and sSAPT0 agree closely; a large gap between them is the trust diagnostic stated in kcal/mol.Level of theory
RevIED runs SAPT0 with the jun-cc-pVDZ basis set. jun-cc-pVDZ is aug-cc-pVDZ with the diffuse functions removed from hydrogen and the diffuse d functions removed from heavy atoms. This is not an economy measure: SAPT0 at jun-cc-pVDZ benefits from an error cancellation that makes it more accurate than SAPT0 at the full aug-cc-pVDZ, and it is the level the method’s authors recommend (Parker et al., J. Chem. Phys. 140, 094106 (2014)). The calculation uses Psi4’s SAPT0 implementation, with density-fitted Hartree-Fock references and all electrons correlated by default.Validation
RevIED was run on all 22 complexes of the S22 benchmark set (56 to 397 basis functions) and compared against CCSD(T)/CBS reference interaction energies (S22B, Marshall et al. 2011):
This matches the published accuracy of SAPT0 at this basis. The errors sort by interaction type:
SAPT0/jun-cc-pVDZ systematically over-binds hydrogen bonds by about 0.7 kcal/mol and is nearly unbiased for the other classes. The worst single case is the formic acid dimer.
Components are reported to several decimal places. That precision is useful for comparing two RevIED runs, but SAPT0 is roughly a 0.5 kcal/mol method when compared against high-level reference values or experiment.
Running the Engine
Open Quantum Chemistry > RevQuant > RevIED. The page has two tabs: Decomposition to set up a run and Analysis to view results.1
Name the run
Enter a Name (optional, up to 200 characters). Runs without a name are named after the two fragments, for example
RevIED H2O + H2O.2
Add the complex
Drop a file on Complex, or click to browse. You can also drag a file from the Data Engineering panel. Accepted formats are
.xyz, .sdf, .mol and .mol2, up to 10 MB and 200 atoms. The file must hold both molecules in one structure. RevIED reads the file and shows the atom count and formula.3
Check the fragments
The Fragments panel shows Fragment 1 and Fragment 2 with their formulas and atom numbers. If the file contains exactly two separate molecules, they are split for you. Otherwise, choose the atoms yourself. See Defining the fragments.
4
Set the fragment charges
Enter a Charge for each fragment. Both default to 0. For a charged complex, put the charge on the fragment that carries it.
5
Adjust advanced settings (optional)
Open Advanced to see the level of theory and to turn on Frozen core.
6
Set a runtime limit (optional)
Enter a Runtime Limit (Credits) to cap what the run can spend, or leave it blank for no cap. See Run time and credits.
7
Run the decomposition
Click Run decomposition, then Confirm. A notification shows the runtime estimate, and the page switches to the Analysis tab with your run selected.
Inputs
Defining the fragments
RevIED decides which atoms are bonded from their distances: two atoms are bonded when they are closer than 1.2 times the sum of their covalent radii. Atoms linked by bonds form a molecule.- Exactly two molecules in the file. Fragment 1 is set to the molecule that contains atom 1, and fragment 2 is the other one. Click Swap to exchange them, including their charges.
- More than one molecule. Buttons labeled molecule 1, molecule 2 and so on, with their formulas, let you pick one molecule as fragment 1. Everything else becomes fragment 2.
- Any split. Click Choose atoms to show every atom as a button, labeled with its element and number (for example
O1). Click atoms to move them between fragments; highlighted atoms are fragment 1. When the file does not hold exactly two molecules, fragment 1 starts empty and the atom picker opens automatically.
- The file holds more than one structure. Submit one complex per run.
- The structure contains an element jun-cc-pVDZ does not cover. Supported elements are H through Ar and Ga through Kr. K, Ca, the first-row transition metals and anything heavier than Kr are not supported.
- Fragment 1 is empty, or contains every atom.
- Either fragment has an odd number of electrons for its charge. Both fragments must be closed-shell singlets, so check the split and the charges.
- The complex is too large to finish within the run’s time or disk limits. The message tells you roughly how many basis functions would fit.
Preparing input files
Provide one file with both molecules at the geometry you want to analyze. The distance and orientation between the fragments are what the calculation measures, so use a real structure, such as an optimized complex.RevIED does not move any atoms. The geometry you provide is the geometry that is decomposed. SMILES input is not accepted, because a generated geometry would not represent the contact you want to study.
Run time and credits
The cost of a SAPT0 calculation depends on the number of basis functions, which the form shows after it reads your file. At jun-cc-pVDZ, each hydrogen contributes 5 basis functions; each C, N, O and F contributes 18; each Si, P, S and Cl contributes 22; and each Br contributes 31. Measured on eight vCPUs:
Above 300 basis functions, time grows as roughly the 3.3 power of the basis-function count, so doubling the size of the complex takes roughly ten times as long, not four. The form’s estimate uses this model. Above 397 basis functions, the largest complex it was measured on, the estimate is an extrapolation.
The form also checks the estimate against the run’s hard limits, an 8-hour timeout and 100 GB of scratch disk. If a complex would exceed either one, the form blocks submission, because a SAPT0 calculation that does not finish leaves no partial result. To fit, reduce each fragment to the part that touches the other.
RevIED bills 1 credit per minute of runtime while the calculation runs. Leave Runtime Limit (Credits) blank to run to completion without a cap. If you set it, the run stops when it reaches the limit. To start a run, your credit balance must cover the runtime limit you set, or 10 credits if you leave it blank. A run also stops if your credits run out.
The runtime estimate and the Runtime Limit (Credits) field are separate. The estimate’s over-limit check compares against the 8-hour and 100 GB job limits, not against your credits or your runtime limit.
Viewing Results
Open the Analysis tab and click a run in the list. The list refreshes automatically every 10 seconds while any run is in progress. While a run is going, its results panel shows Running….Run statuses
Each run has two statuses: the pipeline status, shown in the run list and the selected-run header, and the result status, shown as a badge above the results. Pipeline status:
Result status:
For a questionable run, a banner headed These numbers are not a reliable interaction energy appears above the results, with advice for the specific cause:
- Cut bonds. The problem is the fragment selection, not the settings. Check the atom numbering and split the complex between whole molecules.
- Heavy overlap with the split intact. The fragments are separate but very close. The banner gives the sSAPT0 total, which corrects for this, next to the SAPT0 total. If the geometry was not optimized, fix that first.
Results for the complex
The header shows the result badge, the two fragment formulas, the level of theory with the number of basis functions, and the total runtime. Interaction energy. The total interaction energy in kcal/mol, with the kJ/mol value underneath. Below it, The attraction is lists electrostatics, induction and dispersion by their share of the attraction, largest first. If no component is attractive, no composition is shown. For a questionable run, the total is struck through. Components. A bar chart of the four components and the total, drawn from zero in kcal/mol. Bars to the left (negative) attract; bars to the right (positive) repel. Hover over a bar for its value in kcal/mol and kJ/mol and its share of the attraction. Structure viewer. An interactive 3D view of the complex exactly as it was calculated. Fragments table:
Fragment energies are computed in the complex’s basis set, so they are already counterpoise-corrected and are not comparable with a separate calculation on the fragment alone.
Terms (kcal/mol). The individual SAPT0 terms under their components:
Diagnostics:
Downloads
Click Download in the results header to open each of these files in a new browser tab:result.json: the full result document, with the request (including the geometry), result status, components, terms, scaled totals, diagnostics and warnings, fragment details, Hartree-Fock energies, backend settings and timing.components.csv: a flat table with the columnsname,kind,kcal_per_mol,kj_per_molandpercent_of_attraction. Rows withkindcomponentareelectrostatics,exchange,inductionanddispersion; thetotalrow haskindtotal; the SAPT0 terms havekindterm; and thesapt0,ssapt0andscs_sapt0totals havekindvariant.percent_of_attractionis filled only for the attractive components, and is blank for exchange, the total, terms and variants.report.txt: a plain-text summary with the name, status, level of theory and fragments. For a questionable run, the warnings are printed before any numbers.fragments.xyz: the two fragments as separate XYZ frames, exactly as they were split. Each frame’s comment line gives the fragment formula, charge, multiplicity and atom numbers. Open it in a viewer to confirm that the split is what you intended.psi4.log: the calculation’s full output log.
Limits
- One complex per run, up to 200 atoms and 10 MB, split into exactly two fragments.
- SAPT0 with the jun-cc-pVDZ basis set only.
- Supported elements are H through Ar and Ga through Kr. K, Ca, transition metals and elements heavier than Kr are not supported.
- Both fragments must be closed-shell singlets. Radicals, triplets and most transition-metal complexes cannot be run.
- Each run must fit within an 8-hour timeout and 100 GB of scratch disk.
- No geometry optimization. Provide the geometry you want decomposed.
- Expect about 0.5 kcal/mol error against high-level reference values, with hydrogen bonds over-bound by about 0.7 kcal/mol.

