ThermoMlip
April 30, 2026 · View on GitHub
Machine learning interatomic potential enhanced thermochemistry predictions across organic small compound space
Description
ThermoMLIP package can do conformer search and thermochemistry analysis.
Requirements
- ThermoMLIP package
- PyTorch
- CUDA (optional, for GPU acceleration)
Installation
Step 1: Create conda environment
conda env create -f environment.yaml
conda activate thermomlip
Step 2: Install FairChem
git clone https://github.com/facebookresearch/fairchem.git
pip install -e fairchem/packages/fairchem-core[dev]
This installs the FairChem package, a required dependency.
Step 3: Install ThermoMLIP
pip install -e .
This will automatically compile the Cython extensions during installation.
Usage
Example scripts are provided in the script/ directory. For single-molecule
calculations, use:
python script/run_single_molecule.py
The old demo.py and demo3.py entry points are no longer used.
Workflow
- Initialize - Set up configuration parameters and methods
- Create Molecule - Generate molecule from SMILES string or XYZ file
- Find Conformers - Search for lowest energy conformer using RR and RDKit methods
- Optimize - Refine molecular geometry with MLIP
- Calculate Thermochemistry - Compute thermodynamic properties at 298.15K
Output
The calculation provides:
- Electronic energy (Ha)
- Gibbs free energy (Ha)
- Enthalpy (Ha)
- Entropy (J/mol·K)
- Zero point energy (Ha)
- Enthalpy and Gibbs corrections
Configuration
Default parameters can be modified in the script:
num_conformers: 10 (number of conformers to generate)initial_structure_method: "rr" (repulsion+relaxed method)n_cores: 10 (parallel processing cores)temperature: 298.15 Kpressure: 101325 Pabatch_size: 32 (active batch size for the hot-swap batch L-BFGS optimiser)steps_between_swaps: 1 (L-BFGS steps between batch refresh checks)
Batch optimisation
When multiple molecules or conformers are optimised in one call, ThermoMLIP
keeps up to batch_size structures active on the GPU and automatically
replaces completed structures with pending ones. This keeps memory use tied
to the active batch while allowing the optimiser to continue processing the
remaining pool.
Citation
If this work is used as part of a publication, please cite:
@article{automlip2024,
title={Machine learning interatomic potential enhanced thermochemistry predictions across organic small compound space},
author={Bowen Deng and Thijs Stuyver},
journal={ChemRxiv},
year={2024}
}
Since this work is inspired by autodE:
@article{young2021autode,
title={autodE: Automated calculation of reaction energy profiles—application to organic and organometallic reactions},
author={Young, Tom A and Silcock, Joseph J and Sterling, Alistair J and Duarte, Fernanda},
journal={Angewandte Chemie},
year={2021}
}