# Interface to gau2grid by D. G. A. Smith

Code author: D. G. A. Smith

Section author: Lori A. Burns

PSI4, relies upon the gau2grid library for Gaussian collocations for DFT. gau2grid requires no additional licence, downloads, or configuration. Conversely, PSI4 cannot build without gau2grid.

## Installation

Binary

- gau2grid is available as a conda package for Linux and macOS (and Windows, through the Ubuntu shell).

- If using the PSI4 binary, gau2grid has already been installed alongside.

- If using PSI4 built from source, and anaconda or miniconda has already been installed (instructions at Quick Installation), gau2grid can be obtained through `conda install gau2grid -c psi4`. Then, hint its location with CMAKE_PREFIX_PATH, and rebuild PSI4 to detect gau2grid and activate dependent code.

- Previous bullet had details. To build PSI4 from source and use gau2grid from conda without thinking, consult sec:condapsi4dev.

- To remove a conda installation, `conda remove gau2grid`.

Source

- If using PSI4 built from source and you want gau2grid built from from source also, let the build system fetch and build it and activate dependent code.

## How to configure gau2gridfor building Psi4

Role and Dependencies

- Role — In PSI4, gau2grid is a library that provides essential grid operations for DFT.
- Downstream Dependencies — PSI4 \(\Leftarrow\) gau2grid
- Upstream Dependencies — gau2grid \(\Leftarrow\) None

CMake Variables

- CMAKE_PREFIX_PATH — CMake list variable to specify where pre-built dependencies can be found. For gau2grid, set to an installation directory containing `include/gau2grid/gau2grid.h`
- gau2grid_DIR — CMake variable to specify where pre-built gau2grid can be found. Set to installation directory containing `share/cmake/gau2grid/gau2gridConfig.cmake`
- CMAKE_DISABLE_FIND_PACKAGE_gau2grid — CMake variable to force internal build of gau2grid instead of detecting pre-built
- CMAKE_INSIST_FIND_PACKAGE_gau2grid — CMake variable to force detecting pre-built gau2grid and not falling back on internal build

Examples

1. Build bundled

>     >>> cmake

2. Link against pre-built

>     >>> cmake -DCMAKE_PREFIX_PATH=/path/to/gau2grid/root

>     >>> cmake -Dgau2grid_DIR=/path/to/gau2grid/configdir

3. Build bundled despite pre-built being detectable

>     >>> cmake -DCMAKE_PREFIX_PATH=/path/to/unwanted/gau2grid/root/and/wanted/other/dependencies/root -DCMAKE_DISABLE_FIND_PACKAGE_gau2grid=ON