ChemCache Design

This page details some of the decisions made in designing ChemCache.

Generation of Source Files

Most of the ChemCache library is autogenerated by the python scripts located in utils/data_management, using data either provided in the reference_data directory or downloaded from the internet by some of the data_management scripts. Of particular note, a limited selection of basis sets is provided in the master branch. The script utils/data_management/scrape_bse.py can be used to download additional basis sets from the Basis Set Exchange:

python -m venv data_venv
source data_venv/bin/activate
pip install -r requirements.txt
python utils/data_management/scrape_bse.py /reference_data/basis_sets

Once the desired data for generating the source files as been properly placed in reference_data (e.g. the set of basis sets), the corresponding source files can be generated by the associated script:

source data_venv/bin/activate
python utils/data_management/generate_basis.py /reference_data/basis_sets /src/chemcache/bases -r

Consult the data_management API documentation for more details on the usage of each of these scripts. The generated_data branch contains a version of ChemCache where a larger selection of basis sets (Dunning, Ahlrichs, and Pople types) have been included and the corresponding source files have been generated.