# 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.

## Features

### 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.

## Acknowledgements

- 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: an Open-Source Geometry Optimizer for Atomistic Simulations, J. Kästner, J. M. Carr, T. W. Keal, W. Thiel, A. Wander, P. Sherwood,
*J. Phys. Chem. A*, 2009,**113**, 11856.

## 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.