is an extended Huckel theory calculator.
To download the entire program, including libcint, run
git clone --recurse-submodules https://github.com/clavigne/huckster
A conda environment is the best way to compile the program. The necessary yaml
file is provided build-env.yml
. Install it using,
conda env create --file build-env.yml
The code requires parameters generated by the python script in
scripts/make-data.py
. Running
conda activate huckster-build
cd scripts
python make-data.py
will generate the atomic orbitals used by the program. These can be adjusted
by modifying the make-data.py
script. Once done, the orbital data will be
directly compiled in the final program. A data.h
file is already included,
with STO-3G as the primitive basis set for elements up to and including
iodine.
To compile the program, use the standard CMake build process.
conda activate huckster-build
mkdir build
cd build
cmake ..
make
This will create an executable huckster
that can be relocated. These build
instructions are probably only compatible with linux.
If you don’t need to build the program, you can use a pre-compiled binary with
an appropriate conda environment. A runtime environment is provided in the
environment.yml
file. Install and activate using,
git clone https://github.com/clavigne/huckster
conda env create --file environment.yml
conda env activate huckster
# download program
wget https://github.com/clavigne/huckster/releases/download/v0.2/huckster
# install in conda
cp huckster $CONDA_PREFIX/bin
From there, you should be able to run the program directly using huckster
.
Currently the huckster
program is very simple: it is called using
huckster [options] -- geometry.xyz
where options are command line options and geometry.xyz
is a molecular
geometry in the standard XMOL format. A list of command line option can be
obtained using the huckster -h
.
The program will perform an extended Huckel theory calculation on the starting
geometry, and save the results in a AIM-formatted file with extension .wfn
.
This file can be analyzed in any AIM programs, such as AIM-UC. By default, this
file will have the same name as the geometry input: running huckster --
benzene.xyz
will generate a wavefunction file with name benzene.wfn
.
With the -a
option, the geometry will be searched for critical points using
the algorithm of Rodriguez (Journal of Computational Chemistry 34, 681686,
2013). The critical points are saved in a csv file with the same name (but
different extension) has the .wfn
output. This is easily read using, for
example, pandas.
import pandas
cps = pandas.read_csv('benzene.csv')