JuliaChem.jl is an electronic structure theory program written in Julia, designed to combine Julia's dynamic and interactive nature with its high-performance capabilities to offer users the best of both worlds for quantum chemistry computations.
If you would like to read more about JuliaChem.jl, refer to the following paper:
Poole, D.; Galvez Vallejo, J. L.; and Gordon, M. S. "A New Kid on the Block: Application of Julia to Hartree-Fock Calculations". J. Chem. Theory Comput. 2020, 16(8), 5006-5013.
If you are simply interested in using JuliaChem.jl for your calculations, you can build JuliaChem.jl as follows:
Pkg.add(PackageSpec(url="https://github.com/davpoolechem/JuliaChem.jl.git"))
This will download the JuliaChem.jl package to your computer and build the Libint/JuliaChem.jl interface. If all goes well, this should be all that is needed. Now, you can use JuliaChem.jl in any script you wish simply by importing the JuliaChem.jl module:
using JuliaChem
If you are interested in actively developing JuliaChem.jl, you will want to build and install JuliaChem.jl as follows.
-
Git clone the JuliaChem.jl repo into your directory and cd into it.
-
Next, JuliaChem.jl itself can be set up for development. This can be done in the Julia REPL by first pushing the ] button on your keyboard, and then inputting the following command into the REPL:
dev .
- Finally, JuliaChem.jl needs to be built. This can be done by inputting the following command into the Julia REPL:
build JuliaChem
This will build both the JuliaChem.jl package and the corresponding Libint/JuliaChem.jl interface. If all goes well, this should be all that is needed. Now, you can use JuliaChem.jl in any script you wish simply by importing the JuliaChem.jl module:
using JuliaChem
JuliaChem.jl uses the Documenter.jl package to allow for the generation of its documentation. Much of the information regarding JuliChem, its usage, and its inner workings is contained within the documentation. The documentation is generated by going into the docs/ directory and running
julia make_user.jl
in the shell.