Installing Chronus Quantum on Ubuntu 15.1015 Feb 2016
Chronus Quantum is a free, open-source software package to perform ab-initio computational chemistry calculations. It is primarily developed by Xiaosong Li and his research group at the University of Washington.
In particular, it was designed to excel with explicitly time-dependent calculations, as well as otherwise unconventional electronic structure methods.
In other words,
Chronus Quantum is a free software package that solves the underlying quantum mechanics that determines how molecules react and behave.
Just like physics engines in video games make your gameplay more realistic and lifelike, here
Chronus Quantum is an engine to give a realistic simulation of molecules on computers.
These types of calculations reveal just what electrons are doing in molecules, helping researchers design better drugs, better solar panels, and better computer chips, among many others.
Chronus Quantum is free and open-source, meaning anyone can download it, try it, and even contribute to it.
The latest public release is hosted on GitHub (just like this website), and you can browse and download the entire source code here.
I want to walk you through the steps I took to get
Chronus Quantum working on my fresh install of Ubuntu 15.10. The steps should work for the past few releases of Ubuntu Linux, so if you are on 14.10 or something like that you needn’t worry.
I’ll assume that you are comfortable working on the command line, and have root/sudo privileges, but other than that no particular expertise is necessary!
For starters, open up your terminal. Move to a directory where you want to install (home directory is probably fine, it’s where I installed my copy).
Since the source is hosted on GitHub, we will use
git to obtain our copy of the code. Type
If you don’t have
git, you can install it by typing
In fact, if Ubuntu ever complains about not having some package, 95% of the time you can just
Okay, you should now have
chronusq_public in your directory.
cd into it.
Take care of a few dependencies…
At this point in time,
chronus won’t handle all the dependencies on its own, so we have to help it with a few things before we compile.
You may have some of these installed already, but I’m working with a fresh install.
apt-get will let you know if you already have a certain package.
Let’s take care of
python first, following the
apt-get commands we’ve seen before.
chronus is mostly C++, the high level execution is handled by a
python script. So let’s get that set up. Type
This takes care of the
Same idea as above, but for the required linear algebra libraries.
Let’s knock it out in one shot. Type
Okay, we are done here.
Now, you should still be in the top of the
chronusq_public directory. If not,
From this directory, make a
build directory and
cd into it.
Now, inside the
build/ directory, type
This will configure your compilation.
There are more options you can pass to
cmake, and you can find them in the
Chronus Quantum documentation (in the folder
Most of the defaults should work for us. I wanted to pass the optimizer flag to
cmake as well (
We also want
chronus to deal with compiling the external integral package,
LibInt, so we tell it to do so explicitly with
Don’t forget the
.. at the end!
Perfect. Now just type
<nproc> is the number of processors. I recommend you use all CPUs available. You can check via
I had four, so
chronus will take care of the rest! It will clean up several more dependencies, so a lot more junk will dump to your terminal, but that’s expected. You can pretty much ignore the
boost “warnings” it dumps out.
Heads up: this will probably take a while. It took me around 2 hours to compile. Granted, we are making
chronus deal with
LibInt which accounts for at least half of that compile time, but now would be a good time to take a long lunch or go outside.
Test it out!
build directory, there should now be a
chronus python script, called
You can run it on a test file like so
Here’s a test case from the documentation, which will do a Hartree-Fock SCF calculation on a water molecule:
Save this file to a file named
water.inp. Then you can run
The output will be named
Open this file up, and scroll down until you see
And there you have it! The results of the Hartree-Fock SCF iteration.
The total energy of the water molecule is there at the bottom:
E(ℝ-RHF) = -74.9420798968 in units of Hartrees.
There is plenty more you can do with
chronus, and I’ve only scratched the very surface. You can check out the docs for more information about setting up real-time calculations and more.
If this project sounds interesting to you, and you want to contribute, feel free to fork it!