Input File Format

OpenQuantum input files use a section-based format: a task: header followed by SECTION … END blocks for each computational block.

General Structure

task: <run-type> <method> <basis>

MOLECULE
  Charge        <int>             # default 0
  Multiplicity  <int>             # default 1
  Units         Angstrom | Bohr   # default Angstrom
END

GEOMETRY
  <ELEMENT>  <x>  <y>  <z>     # one line per atom (Angstrom or Bohr)
  ...
END

BASIS
  Library <name>     # overrides task basis
  Ecp  <name>        # optional ECP library
END

SCF
  Algorithm  rhf | uhf | rohf
  Guess      core | huckel | sad | read
  MaxCycle   <int>
  Conver     <int>            # 10^(-N) tolerance
  Diis       <int>            # subspace size
  Shift      <float>          # static level shift, Hartree
  Damp       <float>          # density damping factor
  Fermi      <float>          # Fermi broadening
  Direct     true | false
  Save       true | false
  Restart    true | false
  Tight      true | false
  QC         true | false
  XQC | YQC | SD | SSD
  MaxRot     <int>
  MaxNr      <int>
  FullLinear true | false
  OldQC      true | false
END

INT
  Acc2E        <int>          # ERI threshold = 10^(-N), default 12
  UltraFine    true | false
  Eri          auto | md | sp | rys
  NoSymm       true | false
  Grid         Coarse | Fine | UltraFine
  Relativistic dk | zora | none
  FcMod        <int>          # freeze-core shell count (per atom)
  Semiempirical <name>
END

OPT
  Algorithm   bfgs | berny | rberny | sella
  Coord       cartesian | primitive | dlc | hdlc | tric | tric-p
  MaxCycle    <int>
  Trust       <float>         # initial trust radius, Bohr
  TMax        <float>         # max trust radius, Bohr
  NoTrust     true | false    # disable TRM level-shifted Newton
  TransitionState true | false
  IRC         true | false
  IRCDir      +1 | -1
  NEB         true | false
  Images      <int>           # number of NEB images
  SellaOrder  <int>           # 1 = Hessian, 2 = Hessian + gradient
  Step        trm | prfo | mmf
  Update      bfgs | psb | ms | bofill | sr1 | dfp | bfgs_powell | ts-bfgs
  Diis        true | false    # GEDIIS
  DiisSize    <int>
  Symmetry    true | false    # exploit point-group symmetry in IC build
  OptSymmetry true | false    # enforce symmetry along the path
  NoStep      true | false
  Hessian     analytical | semi
  NoCartHessian true | false
  CartHessian <matrix>         # inline Cartesian Hessian (text)
  Rigid       true | false    # require coord=tric
  RemoveTr    true | false    # require coord=dlc/hdlc/tric
  ConMethod   0 | 1
  Connect     true | false
  AddCart     true | false
  ConnectIsolated true | false
  Primitive   true | false    # alias for coord=primitive
  PrimStep    true | false    # step projection in primitive IC
  Gauss       default | loose | tight
  Tighten     <int>           # tighten all criteria by 10^(-N)
  MaxDisplacement <float>
  Constraints <clause-list>
END

FREQ
  Hessian      analytical | semi
  Numerical    true | false
  Step         <float>         # finite-difference step, Bohr
  Temperature  <float>         # Kelvin (default 298.15)
  Pressure     <float>         # atm (default 1.0)
  Scale        <float>         # ZPE / thermal frequency scaling
  SymmetryNumber <int>
  Read         <file>          # read Hessian from file
  Save         true | false    # write Hessian to checkpoint
END

MP2
  Scaling      none | os | ss | osss
  OS           <float>         # same-spin scale factor
  SS           <float>         # opposite-spin scale factor
  DF           true | false    # density-fitting / RI-MP2
  Aux          <name>          # auxiliary basis set
  KeepHalf     true | false
  DiscardVV    true | false
  Skip         <list>          # comma-separated skip tokens
  Acc2E        <int>
  FreezeCore   true | false
END

CC
  Triples      none | st | pt | f   # perturbative triples model
  FreezeCore   true | false
  DropVirt     <float>             # drop virtual orbital cutoff
  Conv         <int>               # 10^(-N) convergence
  MaxIter      <int>
  Diis         true | false
  DiisStart    <int>
  Shift        <float>
  Read         <file>              # read amplitudes from file
  Skip         <list>
  Acc2E        <int>
  Brueckner    true | false
END

SYMMETRY
  Tolerance  <float>         # default 1e-3 Å
  Disable    true | false
END

Rules

  • The task: line sets the run-type token (RHF, UHF, ROHF, OPT, FREQ, MP2, CCSD, CCSD(T), etc.) and a default method/basis pair. A task: line is required.
  • Section names are case-insensitive. Each section ends with END (or end) on its own line.
  • MOLECULE and GEOMETRY are required; all other sections are optional and only need to be present when their non-default keywords are required.
  • Lines inside a section are key value pairs (whitespace-separated, comment lines start with # or !, blank lines are ignored).

Reserved Section Names

SectionPurpose
MOLECULECharge, multiplicity, coordinate units
GEOMETRYAtom list (required)
BASISBasis set and ECP overrides
SCFMethod, guess, DIIS, level shift, QC, save/restart
INTERI threshold, engine, symmetry, grid, relativistic, semiempirical
OPTGeometry optimization, TS, IRC, NEB, coordinate model, constraints
FREQHessian, finite-difference step, thermochemistry
MP2Spin scaling, density fitting, frozen core, MP2 options
CCCCSD/CCSD(T) convergence, frozen core, Brueckner, read/save
SOLVATIONImplicit solvent model, dielectric, cavity settings
SYMMETRYSymmetry tolerance and toggle

Example

task: OPT RHF 6-31G*

MOLECULE
  Charge        0
  Multiplicity  1
  Units         Angstrom
END

GEOMETRY
  O   0.000000   0.000000   0.117369
  H   0.756950   0.000000  -0.469476
  H  -0.756950   0.000000  -0.469476
END

OPT
  Algorithm  berny
  Coord      tric
  MaxCycle   100
END