Skip to content

NWChemEx/Chemist

Chemist Logo

Documentation

Chemist provides chemistry-related data structures. This includes data structures for chemistry concepts including atoms, molecules, and atomic-orbital basis sets.

Features

Chemist was designed as part of the NWChemEx stack, which means the data structures in Chemist are designed to be both user-friendly and performant. Despite being part of the NWChemEx stack, Chemist is a fairly modular library and can easily be leveraged by other electronic structure packages as well. At present the main features of Chemist are:

  • Support of both structure-of-array and array-of-structures usage.
  • Ability to avoid copying via "views".
  • The ability to independently control how the nuclei, atoms, molecules, and overall system are modeled.
  • Efficient C++ classes with Python bindings.

Installation

Chemist ultimately uses CMake for configuring and building. This means that installation is usually achieved via a variation on:

git clone https://github.com/NWChemEx/Chemist
cd Chemist
cmake -H. -Bbuild -D...
cmake --build build --target install

More detailed install instructions can be found here.

Contributing

Acknowledgments

This research was supported by the Exascale Computing Project (17-SC-20-SC), a collaborative effort of the U.S. Department of Energy Office of Science and the National Nuclear Security Administration.