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.
This tutorial can be directly watched at:
https://www.youtube.com/watch?v=4nmdCAPkZlc
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 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.
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
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.
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]"
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.