Chemist: A Domain-Specific Language by Chemists for Chemists

Managing the complexity of quantum chemistry (QC) software is key to ensuring it remains accessible, maintainable, and reusable. Noticeably missing from the QC ecosystem are modules targeting bottleneck routines. Here we argue that this is likely due to the difficulty in defining interfaces for such modules. To that end, we introduce the open-source, publicly available Chemist library https://github.com/NWChemEx/Chemist. Chemist is a domain-specific language targeting the QC domain. Chemist has been developed focusing on performance and user-friendliness. Using Chemist, QC tasks are defined using familiar domain concepts such as molecules, wave functions, and operators. The domain objects are hierarchical to ensure a systematic encapsulation of information. Key features of Chemist include: extensibility, the ability to alias existing data, and the ability to succinctly define many common QC tasks. The usefulness of Chemist is demonstrated by discussing the interface of NWChemEx's Fock build module and by showcasing a proof-of-concept self-consistent field algorithm containing uncertainty propagation.

Authors

Institutions

Publication Details

Journal
The Journal of Physical Chemistry A
Published
2025-08-15
DOI
https://doi.org/10.1021/acs.jpca.5c02993
Primary Topic
Scientific Computing and Data Management
Type
article
Field-Weighted Citation Impact
0.00

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Chemist: A Domain-Specific Language by Chemists for Chemists

Jonathan M. Waldrop, Wibe A. de Jong, Ryan M. Richard, Edward F. Valeev et al.
The Journal of Physical Chemistry A
Scientific Computing and Data Management
article

Chemist: A Domain-Specific Language by Chemists for Chemists

Jonathan M. Waldrop, Wibe A. de Jong, Ryan M. Richard, Edward F. Valeev, Theresa L. Windus
article en

Abstract

Managing the complexity of quantum chemistry (QC) software is key to ensuring it remains accessible, maintainable, and reusable. Noticeably missing from the QC ecosystem are modules targeting bottleneck routines. Here we argue that this is likely due to the difficulty in defining interfaces for such modules. To that end, we introduce the open-source, publicly available Chemist library https://github.com/NWChemEx/Chemist. Chemist is a domain-specific language targeting the QC domain. Chemist has been developed focusing on performance and user-friendliness. Using Chemist, QC tasks are defined using familiar domain concepts such as molecules, wave functions, and operators. The domain objects are hierarchical to ensure a systematic encapsulation of information. Key features of Chemist include: extensibility, the ability to alias existing data, and the ability to succinctly define many common QC tasks. The usefulness of Chemist is demonstrated by discussing the interface of NWChemEx's Fock build module and by showcasing a proof-of-concept self-consistent field algorithm containing uncertainty propagation.

The Journal of Physical Chemistry AVol. 129(34)
Lawrence Berkeley National Laboratory (US), Iowa State University (US), Ames National Laboratory (US), Computational Physics (United States) (US), Virginia Tech (US)
Office of Science, National Nuclear Security Administration, Office of Advanced Cyberinfrastructure, Basic Energy Sciences
Openalex Percentile: Top 79%
Scientific Computing and Data Management
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Chemist: A Domain-Specific Language by Chemists for Chemists — Jonathan M. Waldrop, Wibe A. de Jong, et al. · The Journal of Physical Chemistry A (2025) | TGRS Research Map | TGRS