.. Copyright 2023 NWChemEx-Project .. .. Licensed under the Apache License, Version 2.0 (the "License"); .. you may not use this file except in compliance with the License. .. You may obtain a copy of the License at .. .. http://www.apache.org/licenses/LICENSE-2.0 .. .. Unless required by applicable law or agreed to in writing, software .. distributed under the License is distributed on an "AS IS" BASIS, .. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. .. See the License for the specific language governing permissions and .. limitations under the License. ################ 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 `__: .. code-block:: console 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: .. code-block:: console 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.