Differentiable Molecular Simulations for Control and Learning

Wujie Wang, Simon Axelrod, Rafael Gómez-Bombarelli
2/27/2020
physics.comp-phcs.LGphysics.chem-ph

Official code: torchmd/mdgrad (187 stars, MIT, last commit 2022-09-05).

Abstract

Molecular dynamics simulations use statistical mechanics at the atomistic scale to enable both the elucidation of fundamental mechanisms and the engineering of matter for desired tasks. The behavior of molecular systems at the microscale is typically simulated with differential equations parameterized by a Hamiltonian, or energy function. The Hamiltonian describes the state of the system and its interactions with the environment. In order to derive predictive microscopic models, one wishes to infer a molecular Hamiltonian that agrees with observed macroscopic quantities. From the perspective of engineering, one wishes to control the Hamiltonian to achieve desired simulation outcomes and structures, as in self-assembly and optical control, to then realize systems with the desired Hamiltonian in the lab. In both cases, the goal is to modify the Hamiltonian such that emergent properties of the simulated system match a given target. We demonstrate how this can be achieved using differentiable simulations where bulk target observables and simulation outcomes can be analytically differentiated with respect to Hamiltonians, opening up new routes for parameterizing Hamiltonians to infer macroscopic models and develop control protocols.

View on arXivView PDF

Code Implementations(1)

torchmd/mdgradOfficial100%
MIT

Pytorch differentiable molecular dynamics

18715PythonAug 15, 20204 years agoMIT
chemistrydifferentiable-simulationsforce-field-optimizationgraph-neural-networksmolecular-dynamics+5 more

Similar Papers

Cite this paper

@article{wang2020differentiable,
  title  = {Differentiable Molecular Simulations for Control and Learning},
  author = {Wujie Wang and Simon Axelrod and Rafael Gómez-Bombarelli},
  year   = {2020},
  eprint = {2003.00868},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2003.00868}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2003.00868.svg)](https://codeofpaper.com/paper/2003.00868)

Discussion