OpenFF Recharge

OpenFF Recharge aims to provide a comprehensive suite of tools for training the partial charges of molecules against quantum chemical electrostatic potential (ESP) and electric field data.

A focus is given to training ‘charge-correction models’ similar to the popular AM1BCC charge model, but support for other methods such as deriving RESP charges or training virtual sites on top of existing partial charges is also supported.


Although a significant effort has been made to ensure the scientific validity of this framework (especially the hand-converted AM1BCC parameters), it is still under heavy development and much care should be taken when using it in production work.

We are always looking to improve this framework so if you do find any undesirable or irritating behaviour, please file an issue!


The framework currently supports:

  • Generating QC ESP and electric field data

    • directly by interfacing with the Psi4 quantum chemical code

    • from wavefunctions stored within a QCFractal instance, including the QCArchive

  • Defining new charge models that contain

    • base QC (e.g. AM1 charges) or tabulated library / RESP charges

    • bond-charge corrections

    • virtual sites

  • A SMARTS port of the AM1BCC charge model

  • Generating RESP charges for multi-conformer molecules

  • Training charge(-correction) parameters by

    • the normal linear least squares method (fixed v-site geometries only)

    • gradient descent using pytorch or numpy

    • Bayesian methods using frameworks like pyro


openff-recharge An automated framework for generating optimized partial charges for molecules.