> ## Documentation Index
> Fetch the complete documentation index at: https://docs.revilico.bio/llms.txt
> Use this file to discover all available pages before exploring further.

# RevEnergy

> Single-point quantum chemistry: energies, frontier orbitals, charges, dipoles and gradients at a fixed geometry

## Why Use This Engine?

RevEnergy runs a single-point quantum chemistry calculation: it takes a molecule at a fixed geometry and solves for its electronic structure with Hartree-Fock or density functional theory (DFT). In one pass it returns the total energy, the HOMO and LUMO energies and their gap, atomic charges, the dipole moment and, if you ask for it, the nuclear gradient.

Use RevEnergy when you need quantum-level numbers for a set of compounds without the cost of optimizing their geometries. Typical uses:

* **Rank analogs by electronic properties.** Compare HOMO-LUMO gaps, dipoles and charge distributions across a series to support SAR interpretation.
* **Screen reactivity and stability.** A small HOMO-LUMO gap and strongly polarized atoms flag compounds that may be chemically or metabolically labile.
* **Re-score geometries from other tools.** Compute a DFT energy on a docked pose, a conformer or a force-field structure you already have.
* **Check a geometry.** A large gradient tells you a structure is far from a stationary point.

You can submit up to 500 molecules in one run, from a CSV of SMILES or from 3D structure files.

<Frame>
  <img src="https://mintcdn.com/revilicoinc/IRxho5RindUWmw9-/images/revenergyworkflow.png?fit=max&auto=format&n=IRxho5RindUWmw9-&q=85&s=8a00365dfebc813579d3b91bce9bb8eb" alt="RevEnergy Workflow" width="3400" height="1880" data-path="images/revenergyworkflow.png" />
</Frame>

## Background

A single-point calculation solves the electronic Schrödinger equation for fixed nuclear positions. RevEnergy uses the self-consistent field (SCF) approach: each electron moves in the average field of all the others, and that field is refined iteratively until it stops changing. In Kohn-Sham DFT the orbitals satisfy

$$
\left[ -\frac{1}{2} \nabla^2 + V_{\text{ext}}(\mathbf{r}) + V_H(\mathbf{r}) + V_{XC}(\mathbf{r}) \right] \phi_i(\mathbf{r}) = \epsilon_i \phi_i(\mathbf{r})
$$

where $V_{\text{ext}}$ is the attraction to the nuclei, $V_H$ is the classical electron-electron repulsion and $V_{XC}$ is the exchange-correlation potential. The choice of functional determines how $V_{XC}$ is approximated; Hartree-Fock replaces it with exact exchange and no correlation.

Three choices set the **level of theory**, which RevEnergy writes in the shorthand `method-dispersion/basis` (for example `b3lyp-d3bj/pcseg-1`):

* **Method:** the functional (or Hartree-Fock) that approximates exchange and correlation.
* **Basis set:** the set of functions the orbitals are built from. Larger basis sets are more accurate and much slower: cost grows roughly with the fourth power of the number of basis functions.
* **Dispersion correction:** most functionals miss the long-range attraction between non-bonded atoms (London dispersion). An empirical correction such as D3(BJ) adds it back, which matters for stacking, folded conformations and non-covalent contacts.

Once the SCF converges, the engine derives the properties from the final wavefunction:

* **Total energy** is the electronic energy plus the dispersion correction:

$$
E_{\text{total}} = E_{\text{electronic}} + E_{\text{dispersion}}
$$

* **Frontier orbitals.** The HOMO is the highest occupied orbital and the LUMO the lowest unoccupied one. The gap $\Delta E = \epsilon_{\text{LUMO}} - \epsilon_{\text{HOMO}}$ is the minimum energy needed to move an electron from the most weakly held occupied state to the lowest empty state; a small gap indicates a more reactive, more polarizable molecule.
* **Atomic charges** use Mulliken population analysis, which divides the electron density among the atoms.
* **Dipole moment** measures the overall separation of charge in the molecule.
* **Nuclear gradient** is the derivative of the energy with respect to each atom's position, $\partial E / \partial \mathbf{R}_A$. It is zero at a stationary point, so its size tells you how far the structure is from a minimum.

RevEnergy runs closed-shell molecules (multiplicity 1) with restricted Hartree-Fock or Kohn-Sham, and open-shell molecules with the unrestricted variants.

## Validation

At the recommended settings (B3LYP-D3(BJ)/pcseg-1, **Standard** accuracy, with LANL2DZ on bromine), RevEnergy was benchmarked against an independent reference calculation on 5-bromo-2,3-dihydrooxazole:

| Quantity | Agreement |
| - | - |
| Total energy | Within 1 µEh (0.0006 kcal/mol) |
| HOMO-LUMO gap | 6.07270 vs 6.07268 eV |
| RMS gradient | 0.008302 vs 0.008303 Eh/bohr |
| Basis functions and ECP electrons | Identical |

The other accuracy presets and functionals are fully supported. Only the Standard preset with B3LYP has been benchmarked against an external reference.

## Running the Engine

Open **Quantum Chemistry** > **RevQuant** > **RevEnergy**. The page has two tabs: **Single Point** to set up a run and **Analysis** to view results.

<Steps>
  <Step title="Name the run">
    Enter a **Name** (optional, up to 200 characters). Runs without a name get a default one.
  </Step>

  <Step title="Add your structures">
    Drop a file on **Structures**, or click to browse. You can also drag a file from the **Data Engineering** panel. Accepted formats are `.csv`, `.sdf`, `.mol` and `.xyz`, up to 10 MB and 500 molecules. See [Preparing input files](#preparing-input-files).
  </Step>

  <Step title="Choose the level of theory">
    Select a **Method**, **Basis set**, **Dispersion correction** and **Accuracy**. The **Level of theory** strip shows the resulting shorthand, such as `b3lyp-d3bj/pcseg-1`. The defaults are a sensible starting point for drug-like organic molecules.
  </Step>

  <Step title="Adjust advanced settings (optional)">
    Open **Advanced** to choose which properties to compute, add per-element basis overrides, or set the charge and spin multiplicity for an XYZ file.
  </Step>

  <Step title="Run the calculation">
    Click **Run calculation**, then **Confirm**. A notification shows a rough runtime estimate, and the page switches to the **Analysis** tab with your run selected.
  </Step>
</Steps>

### Inputs

| Setting | Default | Options and notes |
| - | - | - |
| Name | Optional | Up to 200 characters |
| Structures | Required | `.csv`, `.sdf`, `.mol` or `.xyz`; up to 10 MB and 500 molecules |
| Method | B3LYP | Hartree-Fock, B3LYP, PBE, PBE0, BP86, M06-2X, TPSS, r2SCAN, ωB97X-V |
| Basis set | pcseg-1 | STO-3G (screening only), def2-SVP, pcseg-1, def2-TZVP (slow) |
| Dispersion correction | D3(BJ) | None, D3(BJ), D3(0), D4. Not available with ωB97X-V, which includes its own dispersion treatment (VV10) |
| Accuracy | Standard | Draft, Standard, Fine, Ultrafine. See [Accuracy presets](#accuracy-presets) |
| Properties to compute | Energy, Mulliken charges, dipole | Energy is always computed. Add **Nuclear gradient** (adds about 30% runtime) or **Spin densities** (open-shell molecules only) |
| Per-element basis overrides | None | Assign LANL2DZ, LANL2TZ or SBKJC to specific elements, for example `Br, I` |
| Charge | 0 | Used for XYZ files only |
| Spin multiplicity | 1 | Used for XYZ files only. 1 for closed shell, 2 for one unpaired electron, and so on |

<Tip>
  Choosing a method: **B3LYP-D3(BJ)/pcseg-1** is the validated default and a good general choice for organic molecules. **ωB97X-V** and **r2SCAN** are more modern functionals that often perform better for non-covalent interactions and energetics. **Hartree-Fock** has no electron correlation; use it for comparison or as a baseline rather than for final numbers.
</Tip>

### Preparing input files

**CSV (SMILES).** The file needs a `smiles` column (`smile`, `canonical_smiles` or `structure` also work). Optional columns:

* **Name:** `name`, `id`, `molecule_name`, `compound_id` or `title`
* **Charge:** `charge`, `formal_charge` or `net_charge`
* **Multiplicity:** `multiplicity`, `spin_multiplicity` or `mult`

SMILES have no 3D geometry, so each molecule is embedded in 3D and relaxed with the MMFF force field before the calculation. When a row has no charge or multiplicity column, they are read from the SMILES formal charges and radicals.

```csv theme={null}
name,smiles
caffeine,Cn1c(=O)c2c(ncn2C)n(C)c1=O
phenol,Oc1ccccc1
acetate,CC(=O)[O-]
```

<Warning>
  Every SMILES in the CSV must be valid. A SMILES that cannot be parsed or embedded in 3D stops the whole run, not just that row. Check the file in a chemistry toolkit before you submit a large batch.
</Warning>

**SDF or MOL.** The 3D coordinates in the file are used as they are, with explicit hydrogens kept. An SDF can hold many molecules. Charge and multiplicity come from the formal charges and radicals in each record, not from the form. A record with only 2D coordinates is embedded in 3D first, and a record that cannot be read is skipped.

**XYZ.** One molecule per file, used exactly as given. Set its **Charge** and **Spin multiplicity** in **Advanced**, because an XYZ file does not carry them.

<Note>
  The geometry you provide is the geometry that is calculated; RevEnergy does not optimize structures. For SMILES input, results are for a force-field geometry, not a quantum-optimized one. If you need optimized structures, optimize them first and upload the result as SDF or XYZ.
</Note>

### Heavy elements and basis overrides

Heavy elements such as bromine and iodine are usually treated with an **effective core potential (ECP)**, which replaces the inner-shell electrons with a potential and keeps the calculation affordable. Under **Advanced** > **Per-element basis overrides**, click **Add**, enter the elements (for example `Br, I`) and choose LANL2DZ, LANL2TZ or SBKJC. All other atoms keep the main basis set. The **Diagnostics** section of the results reports how many electrons the ECP replaced.

### Accuracy presets

The accuracy preset controls how tightly the SCF must converge and how fine the integration grid for the DFT exchange-correlation energy is.

| Preset | Energy convergence (Eh) | Integration grid (radial × angular) | Max SCF iterations | Use for |
| - | - | - | - | - |
| Draft | 10⁻⁵ | 35 × 110 | 100 | Quick screening; fastest |
| Standard | 10⁻⁶ | 75 × 434 | 100 | The validated default |
| Fine | 10⁻⁸ | 99 × 590 | 250 | Small energy differences between similar structures |
| Ultrafine | 10⁻¹⁰ | 125 × 770 | 500 | Reference-quality numbers; slowest |

### Run time and credits

Molecules in a run are calculated one after another, so the total time grows with the number of molecules and, much more steeply, with their size and basis set. As a guide at pcseg-1 and Standard accuracy:

| Molecule | Approximate time per molecule |
| - | - |
| Small fragment (about 10 atoms) | About 20 seconds |
| Caffeine (24 atoms) | About 5 minutes |
| Larger drug-like molecules | Several minutes or more |

STO-3G takes seconds per molecule, and def2-TZVP takes several times longer than pcseg-1. The estimate shown after you submit is an order-of-magnitude guide that does not account for molecule size.

RevEnergy consumes credits while the calculation runs, based on actual runtime. You need enough credits to start a run, and a run stops if your credits run out.

## Viewing Results

Open the **Analysis** tab and click a run in the list. Runs that are still in progress show their percentage complete and refresh automatically every 10 seconds.

### Run statuses

| Status | Meaning |
| - | - |
| `not_started` | Submitted and waiting for compute |
| `started` | Running |
| `processed` | Finished. At least one molecule completed; check the header for failed molecules |
| `error` | The run failed, or every molecule failed. Also shown for a run that was cancelled |
| `terminated_insufficient_credits` | Stopped because your credit balance ran out |
| `terminated_budget_exceeded` | Stopped because the run reached its credit budget |

A run can finish as `processed` with some failed molecules. The header shows how many completed and how many failed, and failed molecules are marked with a warning icon. Turn on **Failures only** to list them.

### Results for each molecule

The run header shows the level of theory, the completed and failed counts, and the total runtime. Select a molecule from the tabs; for runs with more than eight molecules, you can filter by name, formula or SMILES.

**Calculated geometry.** An interactive 3D view of the exact structure that was calculated. Click **XYZ** to download it. Badges show the formula, status, total energy and HOMO-LUMO gap.

**Properties tab:**

| Section | Values | Units |
| - | - | - |
| Molecule | Name, formula, SMILES, level of theory | |
| Energy | Electronic, dispersion (when a correction is used), total | Hartree (Eh) |
| Frontier orbitals | HOMO, LUMO, gap | eV |
| Dipole moment | Magnitude and x, y, z vector | Debye |
| Nuclear gradient | Largest component and RMS (when requested) | Eh/bohr |
| Atomic charges (Mulliken) | Charge on each atom, in input order | e |
| Diagnostics | Number of basis functions, electrons replaced by an ECP, point group, wall time | |

**Convergence tab.** Shows whether the SCF converged and how many iterations it took, with the energy, energy change and commutator error at each iteration. A steadily shrinking energy change is a healthy run.

**Report tab.** The full plain-text calculation log, including the settings, basis set assignment and timing breakdown.

### Downloads

Click **Download** in the run header to get two files:

* **`{name}-summary.csv`:** one row per molecule, with the energy (in Eh and kcal/mol), electronic and dispersion energies, HOMO, LUMO and gap, dipole magnitude, RMS gradient, SCF iterations and convergence, runtime, geometry source and any error message.
* **`{name}-results.json`:** the full batch document, with the run settings, counts, and each molecule's results and warnings. Warnings, such as a SMILES that needed a fallback force field to embed, appear only in this file.

<Warning>
  A molecule whose SCF did not converge is marked as failed with the message "SCF did not converge". Its values may still appear in the downloads, but they come from an unconverged calculation, so do not use them. Try a finer accuracy preset or check the structure.
</Warning>

## Limits

* Up to 500 molecules and 10 MB per file.
* Gas phase only; solvation models are not available.
* No geometry optimization, frequencies or thermochemistry. For those, use [RevGeometry](/docs/revgeometry).
* Mulliken is the only atomic charge scheme. Mulliken charges depend on the basis set, so compare them only between calculations at the same level of theory.
* Spin densities are reported only for open-shell molecules (multiplicity greater than 1).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.