Common input mistakes
The things that trip people up most when starting out — usually a one-line difference. ★ marks the ones actually hit while building this guide on ORCA 6.1.1.
| Mistake | Symptom · fix |
|---|---|
| Not redirecting the output | orca a.inp alone scrolls the result past and loses it. Always orca a.inp > a.out. |
| Frequencies on a non-optimised geometry | Freq at a non-stationary point gives spurious imaginary modes. Run Opt first, at the same level. |
| A different basis per species | Comparing reaction energies with a different basis per species breaks error cancellation. Use the same basis for all of them. |
| No dispersion correction with DFT | Standard DFT (B3LYP, …) misses dispersion. Add D4 almost every time. |
| Wrong multiplicity | The second number in * xyz 0 1 is the multiplicity (2S+1). An odd-electron system with 1 breaks the SCF; add UKS for radicals. |
| RIJCOSX without an auxiliary basis | RIJCOSX pairs with def2/J. Omit it and you get a slowdown or an error. |
| Mistaking normal termination for success | TERMINATED NORMALLY only means "ran to the end". Check convergence, imaginary frequencies, and ⟨S²⟩ yourself. |
| ★ DLPNO + Extrapolate without AutoAux | ! DLPNO-CCSD(T) Extrapolate(3/4,cc) alone dies with "auxiliary basis needed". Add AutoAux. |
| ★ A space after the comma in Extrapolate | Extrapolate(3/4, cc) (with a space) fails to parse. Write Extrapolate(3/4,cc). |
★ DFT(D4) → CCSD(T) in one $new_job | D4 dispersion carries into the CC step and dies with "dispersion + correlated method". Split the CC into its own file and drop D4. |
| Adding dispersion to CCSD(T) | CCSD(T) already contains dispersion; adding D4 double-counts it. Run the CC step without a dispersion correction. |
When the SCF refuses to converge
Manual §8.3 emphasises that SCF convergence failures almost always occur in open-shell situations, and that the key to fixing them is "better starting orbitals". Recommended strategies:
Strategy ① — converge a smaller basis first
# Step 1: small basis + loose convergence + strong damping
! BP86 def2-SV def2/J SlowConv LooseSCF
%scf
MaxIter 300
end
* xyzfile 0 3 mol.xyz
$new_job
# Step 2: read orbitals from step 1 and grow the basis
! BP86 def2-TZVP def2/J MOREAD
%moinp "step1.gbw"
%scf
GuessMode CMatrix
end
* xyzfile 0 3
$new_job
# Step 3: finish with the target functional
! B3LYP D4 def2-TZVP RIJCOSX def2/J MOREAD
%moinp "step2.gbw"
* xyzfile 0 3
Strategy ② — SOSCF or TRAH
When DIIS stalls near ~0.001, switch on second-order SCF (SOSCF) or the Trust-Region Augmented Hessian (TRAH) SCF.
%scf
SOSCF true # second-order SCF
SOSCFStart 0.001 # switch to SOSCF when DIIS error drops below this
end
# Last resort for the hardest cases: TRAH
! B3LYP def2-TZVP TRAH
Strategy ③ — heavy damping and a level shift
%scf
DampFac 0.90 # heavy damping
DampErr 0.02 # damping turns off once DIIS error falls below this
Shift shift 0.5 erroff 0 end # push virtual orbitals up by 0.5 Eh
end
Strategy ④ — start from the related closed shell
If an odd-electron system refuses to converge, first converge the closed-shell cation or anion and read its orbitals. Closed-shell SCFs generally converge much more easily.
As the manual itself points out, the most common cause of a failed SCF is an "unreasonable structure" — a 0.5 Å bond length, two atoms occupying the same position, or coordinates accidentally given in bohr rather than Å. Before changing the method, double-check that the geometry is chemically sensible.
When the optimisation diverges
- Shrink the maximum step:
%geom MaxStep 0.1 end(bohr). Damps oscillations. - Switch the coordinate system: try
! COptfor Cartesian coordinates. - Strengthen the initial Hessian: compute a Hessian cheaply, then read it with
InHess Read. The manual's example is a "Step 1 NumFreq → Step 2 OptTS" pattern. - Tighten the SCF: on flat surfaces SCF noise shakes the gradient. Use
TightSCFor better. - Tighten the integration grid:
DefGrid3for DFT.
Small negative frequencies
Imaginary modes of ± 10–30 cm⁻¹ are usually not real negative curvature — they are numerical noise. Work through these in order:
- Re-optimise and re-run frequencies with
VeryTightSCF DefGrid3. - Use
VeryTightOptfor the optimisation thresholds. - Re-run with
NumFreq CentralDiff true(central differences, 2× cost).
Large imaginary frequencies (hundreds of cm⁻¹) are real negative curvature. Displace
slightly along the mode and re-optimise. orca_pltvib conveniently builds
a displaced geometry.
Out of memory
If you see "Please increase MaxCore", check these:
- Increase
%maxcore(in MB). Aim for 60–70 % of the available RAM. - Reduce the number of parallel processes to allocate more memory per core.
- Ensure that the scratch directory (
$ORCA_SCRDIR) points to a fast disk (preferably an NVMe SSD) with sufficient capacity. - Where possible, enable RI (
RIJCOSX,RI-JK) to reduce memory pressure.
# Cluster submission snippet showing a scratch setup
export ORCA_SCRDIR=/scratch/$USER/orca_$$
mkdir -p $ORCA_SCRDIR
cd $ORCA_SCRDIR
orca $SLURM_SUBMIT_DIR/job.inp > $SLURM_SUBMIT_DIR/job.out
cp -r * $SLURM_SUBMIT_DIR/
cd / && rm -rf $ORCA_SCRDIR
When parallelisation feels slow
If more cores do not translate into more speed, check the following:
- I/O bottleneck: running on a networked disk means every core hammers the same storage. Always use a local fast disk (NVMe SSD) for scratch.
- Over-parallelisation: RI-DFT loses efficiency beyond ~16 cores; CCSD(T) is best with 8–16 cores.
- OpenMPI inter-node communication: without a fast fabric (InfiniBand or similar), stay within a single node.
- NumFreq, NEB and similar tasks with many independent displacements / images benefit from
nprocs_group-based parallelisation across displacements.
Spin contamination
In UKS / UHF calculations, deviation of ⟨S²⟩ from its ideal value is called spin contamination. The ideal values are 0.75 for a doublet (S = 1/2) and 2.0 for a triplet (S = 1). Up to ~5 % deviation is usually acceptable; beyond ~10 %, the result becomes unreliable.
The manual's recommended diagnostic combination is ! UNO ! UCO:
! B3LYP D4 def2-SVP UNO UCO TightSCF
* xyzfile 0 1 mol.xyz
If the UCO overlap table contains values below ~0.85, those orbitals form "spin-coupled pairs" — characteristic of singlet diradicals or partially broken bonds. Such systems are at the limit of single-reference DFT / HF; for accurate results consider moving to a multi-reference method (CASSCF / NEVPT2).
Workflow recipes by situation
Precision free energy for a general organic molecule
r2SCAN-3c Opt Freqfor geometry and thermal correction.DLPNO-CCSD(T)/cc-pVTZ + Extrapolate(3/4,cc)single point for the electronic energy.- Add
SMDfor solvation if needed.
Transition-metal complex (3d metal)
TPSSh D4 def2-TZVP Opt Freq— meta-GGA hybrid handles spin states well.- For ambiguous spin states, run every plausible multiplicity at the same level and compare.
- UV-Vis with
TDDFT; EPR g-tensor with! EPRNMR.
Organic photophysics (UV-Vis, fluorescence)
- Ground state:
B3LYP D4 def2-TZVP Opt. - Absorption:
TDDFT NRoots=20on the optimised geometry. - Fluorescence: optimise S1 with
%tddft IRoot 1 end ! Optthen re-run TD-DFT. - If charge transfer is suspected, re-run with
CAM-B3LYPorwB97X-Vand compare.
Reaction mechanism
- Optimise reactant and product with
r2SCAN-3c. ! XTB NEB-TSfor a quick first-pass TS.- DFT OptTS + AnFreq + IRC. Confirm exactly one imaginary mode.
- DLPNO-CCSD(T) single points + SMD on every stationary point.
- Compute ΔG‡ and ΔGrxn.
General principles the manual emphasises
As the manual stresses in §8.2, minimal bases (STO-3G) and small split-valence bases such as 3-21G are inappropriate for quantitative work. Use the Karlsruhe def2 series consistently. Reactants, products and transition states must all use the same basis so that errors cancel.
When working with a large basis (e.g. def2-QZVPP), leaving the DFT grid at
DefGrid2 caps the accuracy at the grid noise level. Raise to
DefGrid3 when you raise the basis. As the manual puts it, "don't
spend basis accuracy on grid noise."
D3 / D4 corrections add essentially no runtime while improving accuracy significantly. Unless the functional already includes dispersion (e.g. VV10 built into ωB97M-V), turn them on by default.
An ORCA TERMINATED NORMALLY message does not automatically mean the
result is reliable. Always check (1) SCF convergence, (2) optimisation
convergence, (3) all real frequencies (or exactly one imaginary mode for a TS),
(4) sensible ⟨S²⟩, and (5) any WARNING messages in the output.
There is a striking line near the end of §8.2 of the manual: "the computer does not solve the problem — the human does. Making one or two numbers slightly more accurate does not necessarily help you understand the chemistry and spectroscopy of the molecule you are working on. The risk of getting lost in technical details and losing sight of the original insight is real." Striving for accuracy is good; never forget that it does not substitute for chemical insight.
This is the final chapter of the guide. I hope it has been of some help in your everyday research. For deeper options or unusual use cases, please consult the official ORCA 6.0.0 manual (PDF) directly. And whenever you get stuck, the official forum (orcaforum.kofo.mpg.de) is a great place to look for similar cases.