Skip to content

Latest commit

 

History

History
223 lines (129 loc) · 6.27 KB

quickstart.rst

File metadata and controls

223 lines (129 loc) · 6.27 KB

Quick-start guide

This tutorial should teach you everything you need to get started with the the basics of the . As an example, we will run a frozen core calculation on the HCN molecule in the 6-31G basis set.

Demo video

This tutorial can be directly watched at:

https://www.youtube.com/watch?v=4nmdCAPkZlc

Hands on

Important

Before using the , it is required to load the environment variables relatives to the or to be in the mode.

Please execute in the current shell:

${QP_ROOT}/bin/qpsh 

where ${QP_ROOT} is the path to the source files of the installed on your architecture.

The mode: a Bash-like experience for quantum chemistry

The has been designed pretty much as an interactive environment for quantum-chemistry calculations, in order to facilitate the user experience.

Just like in Bash, there are many commands in the (see for instance qp_edit or qp_run) which help in handling useful data or running executables (see for instance scf or fci).

All commands designed within the begin with qp, and there are two ways of running a command:

  • running the executable associated with the command:
qp_command 

or executing the qp shell command which calls the executable qp_command:

qp command 

Usually, when using the qp command, the name of the database is omitted.

The advantage of using qp command is that you can, just like in Bash, have:

  • the Tab key for the auto-completion for basically any command of the
  • man pages with -h, --help or qp man

Just try, for instance:

qp 

and then use the auto-completion. You will show appear all possible commands that you can run:

convert_output_to_ezfio  -h                       plugins                  unset_file               
create_ezfio             man                      set_file                 update            

Then, try, still with the auto-completion,

qp create

You will see appear all the options for the qp_create_ezfio commands.

Create the EZFIO database

The data relative to calculations are stored in an database. is a hierarchical data format which uses the hierarchy of the file system to organize the data, as files stored in a directory. The data in the directory are stored as plain text files, so it can be opened with any text editor. To access the data of the database, the APIs (Fortran, , or Bash) provided by should be used, or tools using these APIs such as qp_edit provided with the .

First, create an xyz file containing the coordinates of the molecule. The file hcn.xyz contains:

3
HCN molecule
C    0.0    0.0    0.0
H    0.0    0.0    1.064
N    0.0    0.0    -1.156

This xyz file is now used with the qp_create_ezfio command to create an database with the 6-31G basis set:

qp create_ezfio -b "6-31g" hcn.xyz -o hcn

The EZFIO database now contains data relative to the nuclear coordinates and the atomic basis set:

$ ls hcn
ao_basis           becke_numerical_grid  dft_keywords  mo_one_e_ints      perturbation
ao_one_e_ints      davidson              dressing      mo_two_e_erf_ints  pseudo
ao_two_e_erf_ints  density_for_dft       electrons     mo_two_e_ints      scf_utils
ao_two_e_ints      determinants          ezfio         nuclei             work

If you need to run using an already existing EZFIO database, use

qp set_file hcn

Run a Hartree-Fock calculation

The program qp_run is the driver program of the . To run a calculation, just run

qp run scf

The expected energy is -92.827856698 au.

The documentation of the module_hartree_fock module and that of the scf program.

This creates the in the database that will be used to in any other post-SCF method. The does not handle symmetry and the are stored by increasing order of Fock energies.

Choose the target space

Now, we will modify the database to make a calculation only in the full set of valence , keeping the core frozen. The simple command qp_set_frozen_core does this automatically:

qp set_frozen_core

The general command to specify core and active orbitals is qp_set_mo_class. In the case of HCN molecule in the 631G basis, one has 20 in total and the two first orbitals are frozen:

qp set_mo_class --core="[1-2]" --act="[3-20]"

Run the calculation

We will now use the algorithm to estimate the energy.

qp run fci | tee hcn.fci.out 

The program will start with a single determinant and will iteratively:

  • Select the most important determinants from the external space and add them to the internal space
  • Add all the necessary determinants to allow the eigenvector of to be also an eigenstate of
  • Diagonalize in the enlarged internal space
  • Compute (stochastically) the second-order perturbative contribution to the energy
  • Extrapolate the variational energy by fitting E = EFCI − αEPT2

By default, the program will stop when more than one million determinants have entered in the internal space, or when the energy is below 10 − 4 au.

To have a pictural illustration of the convergence of the algorithm, just run

qp_e_conv_fci

This will create the files hcn.fci.out.conv containing the data of the convergence of the energy that can be plotted, together with the file hcn.fci.out.conv.1.eps which is obtained from the gnuplot plot file hcn.fci.out.conv.plt.

The estimated energy of HCN is -93.0501 au.

The documentation of the module_fci module and that of the fci program.