This is a short manual on how to use the EGHrun program.

The EGH stands for Energy Gradient Hessian. This program is intended for massively parallel numerical calculations of the indicated properties of PES provided by quantum chemistry programs.

The source code is available at the In order to download repository you should be included in the list of developers.

The program gets geometry and the template script which runs the desired external software to calculate energy. EGHrun generates required displacements and creates a list of tasks for the specified calculations. Using MPI-based parallelization, the program spreads the tasks between nodes and processors and collects results.

In order to launch parallel version of the EGHrun program, MPI software should be installed. A particular way to execute MPI programs can vary for different MPI packages and depends also on the machine itself. In general,

command should work well. Python version 3.6+ is required for execution of the program.

Calculation of gradients requires 6*n_{\text{atoms}} runs of the script file. Hessian will take 6*n_{\text{atoms}}*(3*n_{\text{atoms}}+1) runs. Therefore, a large computational resources can be required to perform calculations of molecules containing many atoms.

If the molecule of interest has planar symmetry, it should be oriented in z direction. The input flag --z_sym indicates to use the symmetry which can reduce number of required calculations.

Geometry files

The EGHrun program reads geometry from two input files: XYZ_FILE and MOL_FILE.

The XYZ file specifies the molecule geometry by giving the number of atoms with Cartesian coordinates that will be read on the first line, a comment on the second, and the lines of atomic coordinates in the following lines. Atomic coordinates are in ångströms.

As an example here we present the content of XYZ file for the propiolic acid molecule.

The MOL file specifies atomic numbers and atomic masses of atoms. The first column must contain the same atomic labels as specified in XYZ file. Second and third columns contain atomic numbers and atomic masses, respectively.

Template script for external program

EGHrun uses an external quantum chemistry program to provide an energy which then will be used for evaluation of the gradient and Hessian. The script file which runs the desired external program should be provided by user. All parameters of the electronic structure calculations such as method, basis, active space etc. should be specified in this file. However, there are several variables which should be used in the input script to incorporate data generated by EGHrun program.

The molecular geometry must be specified using the following template format.

In the required place of the input script user should insert  $geometry{...} section with template line specifying the order of requested variables. The following template variables are available:  %X, %Y, %Z  – Cartesian coordinates of atoms in a molecule in ångströms, %AN – atomic number, %AL – atomic label, %AM – atomic mass. They can be used all or partially in the desired order depending on the format required by the quantum chemistry package.

The template variable %TMP_DIR can be used to specify temporary variable where the calculations will be performed.

The script must produce the output file specified by  %RUN_OUT variable which contains energy of the state of interest in the following format.

Here we present simple example of SCRIPT_FILE which performs MP2 calculations of the ground electronic energy by gamess-uk package.

Output of EGHrun program

The program by default performs calculations only for the reference geometry. The energy output is in Hartree units. Additional flags --calc_grad and --calc_hess should be requested to calculate gradient and Hessian, respectively. The calculated gradient and Hessian are printed in Hartree/bohr and Hartree/bohr^2 units.