The DL-FIND geometry optimisation library

DL-FIND is an open-source geometry optimisation library for atomistic simulation codes. It provides methods for local minimisation, transition state search, reaction path optimisation, conical intersection optimisation and population-based (global) optimisation.

A well-defined interface is provided to make it straightforward to integrate the DL-FIND library into computational chemistry software packages. DL-FIND is an integral part of STFC's ChemShell QM/MM code and GAMESS-UK quantum chemistry code, and has been interfaced to several other programs.

The DL-FIND project was started by Johannes Kästner in 2006. The code developers are Jo Carr, Johannes Kästner, Tom Keal and Judith Rommel. DL-FIND is currently maintained for STFC by Tom Keal.


Coordinate systems

  • Optimisations may be carried out in:
    • Cartesian coordinates (including frozen atoms and components)
    • Delocalised internal coordinates (DLCs)
    • Hybrid delocalised coordinates (HDLCs)
    • Total connection (DLC-TC/HDLC-TC)
  • Input/output is in Cartesian coordinates (transformed internally as required)

Local minimisation algorithms

  • Steepest descent
  • Conjugate gradient
  • Newton-Raphson/quasi-Newton (BFGS)
  • L-BFGS (low memory quasi-Newton) for large systems
  • Damped dynamics

Transition state search

  • Partitioned rational function optimisation (P-RFO) with Powell or Bofill updates
  • Dimer method

Reaction path optimisation

  • Nudged elastic band (NEB) method

Conical intersection optimisation

  • Penalty function
  • Gradient projection
  • Lagrange-Newton

Population-based optimisation

  • Genetic algorithm
  • Stochastic search

Parallel methods

  • The following methods can be run in parallel using DL-FIND's task-farming interface:
    • NEB
    • Genetic algorithm
    • Stochastic search
    • Finite-difference Hessian evaluation

Restart mechanism

  • DL-FIND is fully restartable.


  • The HDLC coordinate transformation routines in DL-FIND are derived from the HDLCopt code written by Salomon Billeter and Alexander Turner. This code is included by permission of the Max-Planck-Institute für Kohlenforschung.
  • The L-BFGS code by Jorge Nocedal was used.

Obtaining DL-FIND

DL-FIND is usually distributed to users as part of software packages such as ChemShell or GAMESS-UK and does not need to be downloaded separately.

If you would like to interface DL-FIND to another software package, you can download the standalone DL-FIND library.

DL-FIND is released under the open source GNU LGPL licence.

GPR optimisation

If you wish to use the recently developed Gaussian Process Regression optimisation features in DL-FIND, you can download a development version of DL-FIND with GPR.

Citing DL-FIND

Publications making use of the DL-FIND geometry optimiser either through ChemShell or as a standalone library should cite:

DL-FIND development

The DL-FIND repository is hosted on STFC Gitlab. If you are interested in contributing to the development of DL-FIND, please contact Tom Keal.