Skip to content

Latest commit

 

History

History
67 lines (52 loc) · 2.68 KB

README.md

File metadata and controls

67 lines (52 loc) · 2.68 KB

MESS: Modern Electronic Structure Simulations

Important

🔨 💀 ⚠️ 🔧
This project is a constantly evolving work in progress.
Expect bugs and surprising performance cliffs.
🔨 💀 ⚠️ 🔧

docs arXiv unit tests pre-commit checks

Motivation

MESS is primarily motivated by the need to demystify the underpinnings of electronic structure simulations. The target audience is the collective molecular machine learning community. We identify this community as anyone working towards accelerating our understanding of atomistic processes by combining physical models (e.g. density functional theory) with methods that learn from data (e.g. deep neural networks).

Minimal Example

Calculate the ground state energy of a single water molecule using the 6-31g basis set and the local density approximation (LDA):

from mess import Hamiltonian, basisset, minimise, molecule

mol = molecule("water")
basis = basisset(mol, basis_name="6-31g")
H = Hamiltonian(basis, xc_method="lda")
E, C, sol = minimise(H)
E

License

The reader is encouraged to fork, edit, remix, and use the contents however they find most useful. All content is covered by the permissve MIT License to encourage this. Our aim is to encourage a truly interdisciplinary approach to accelerate our understanding of molecular scale processes.

Installing

We recommend installing directly from the main branch from github and sharing any feedback as issues.

pip install git+https://github.com/valence-labs/mess.git

Requires Python 3.11+ and we recommend installing JAX for your target system (e.g. CPU, GPU, etc).

Citation

If you found this library to be useful in academic work, then please cite our arXiv paper

@misc{helal2024mess,
      title={MESS: Modern Electronic Structure Simulations},
      author={Hatem Helal and Andrew Fitzgibbon},
      year={2024},
      eprint={2406.03121},
      archivePrefix={arXiv},
      primaryClass={cs.LG}
}