Single-Point (SP) calculations is the most basic kind of calculation. The main result from this type of calculation is to obtain the energy associated to a multi-electron system (or a single electron) under the potential created by a given arrangement of nuclei. This kind of calculations does not change the geometry (it is not a geometry optimization), nor it calculates most properties, apart from the energy, the wavefunction. Usually, this calculation also outputs some population analysis as well as the molecular dipole, as these properties usually come as a free by-product of the single-energy calculation.
Why use SP calculations?
This might seem a little bit useless, but there are a number of important uses for this kind of calculation, such as:
- Test the software system. SP calculations are usually the simpler and quickest way to test if the software environment is working.
- Estimate the computational cost of more elaborate computations.
- Refine the energy obtained from a geometry optimization performed at a lower level of theory.
The Input
As usual, Orca input files are plain text files you can edit using a text editor such as Vim (or Emacs, if you are that sort of person). Traditionally, the fist calculation to run on a Electronic Structure Package would be an Hartree-Fock SP energy, but at this day and age, DFT calculations are the bread-and-butter of all Quantum Chemistry methods, so it makes sense that the most basic calculations to be presented will use the old but still venerable B3LYP/6-31G(d) level of theory. A basic input file for the single-point energy of a water molecule would be.
! SP B3LYP 6-31G(d) *xyz 0 1 O 0.00 0.00 0.00 H 0.00 0.00 0.91 H 0.00 0.91 0.00 *
Let’s read this input line-by-line. The fist line starts with and exclamation mark (!), meaning that whatever comes next are keywords to be interpreted by Orca. In the case, we have SP (for Single-Point Calculation), B3LYP (the method used to calculate the energy) and 6-31G(d), which is the basis set used to express the wavefunction.
Orca ignores any empty line, so the next relevant part of the input is the section started by *xyz and ending with the line carrying only one asterisk (*). The *xyz mark indicates that the following lines (up until the asterisk lines) contain the position of all the nuclei of the molecules in Cartesian format. This means that all lines in this section contain the element symbol for every atom in the molecule, as well as three real numbers containing their x, y, and z coordinates. The software also needs to know the system charge (which combined with the atomic symbols is used to calculate the number of electrons in the system) and the spin multiplicity. In our case, we have a neutral singlet system, as denoted by the 0 and 1 numbers following the *xyz tag, respectively.
Now, if you look at the input file closely, you’ll notice that the two hydrogen atoms are at 90º, and not forming the 104º angle we usually find in water. This is because I’m going to use this geometry as the initial guess for the geometry optimization demonstration.
As shown previously, if you save the above input as water_sp.inp, you can run this calculation by using the run-Orca-4.0.1 script:
$ run-Orca-4.0.1 water_sp.inp
This calculation should not take more than a few seconds on a modern system (it took me about 3 second to run on a Core i7 system with a SSD). At the end of the run, you should have some new files on your directory:
- water_sp.out This is the main output file from your calculation. This is a text file with human-readable information concerning the calculation and its results.
- water_sp.gbw This file’s extension stands for Geometry Basis and Wavefunction. This is a binary file that contains the molecules geometry, the basis set and the wavefunction. You cannot read it directly, but can be used to retrieve more information fro the system, with the help of some utility programs. It can also serve as a complementary input for other calculations.
- water_sp.prop This is another binary file, containing some properties of about the system. This file is rarely used and can be deleted, in most cases, without harm.
- water_sp_property.txt This is a novely introduced in version 4.0 of Orca. It contains essentially the same information as the .prop file, but in a human-readable text fashion.
$ cat water_sp_property.txt ----------------------------------------------------------- ----------------------- PROPERTIES ------------------------ ----------------------------------------------------------- PROPERTY: Name: SCF_Energy Comment: The SCF Energy Geometry: 1 Type: DOUBLE Value: -76.3550488545286612 ----------------------------------------------------------- ----------------------- GEOMETRIES ------------------------ ----------------------------------------------------------- GEOMETRY: 1 Number of atoms: 3 Coordinates: O 0.000000000000 0.000000000000 0.000000000000 H 0.000000000000 0.000000000000 0.910000000000 H 0.000000000000 0.910000000000 0.000000000000
Reading the Output
We should now open the water_sp.out file and see what it contains. The first 80 lines or so are program header (including the version of Orca) and the credits for the team responsible for the software. Then Orca notifies you of using the 6-31G(d) basis sets, and gives you the citation data for the articles describing the basis set.
Orca usually gives you some warnings under the WARNINGS section, most of which can safely be ignored. It then echoes the input file on the output file and starts preparing the Single-Point Calculation. After printing the geometry of the system a number of times using different coordinates, it prints some more information about the basis set and the settings of the SCF procedure (in this case, these are all the default settings). Afterwards, it generated an initial guess and starts the SCF iterations (search for the SCF ITERATIONS string in the output). The SCF procedure for this system converges in 8 iterations. Orca then does a new evaluation of the energy using a finer integration grid and starts punching the final results.
The more interesting part starts with the tag “TOTAL SCF ENERGY”. Here you find the total energy of the system, in both Hartree (Eh) and electron-volts (eV). You can also find the components of the energy, such as the Nuclear Repulsion, Electronic Kinetic Energy and the electronic Virial ratio. Orca also lists the components of the DFT energy, specially the Exchange, E(X), and Correlation, E(C), components given by B3LYP.
---------------- TOTAL SCF ENERGY ---------------- Total Energy : -76.35504885 Eh -2077.72651 eV Components: Nuclear Repulsion : 9.71540673 Eh 264.36966 eV Electronic Energy : -86.07045559 Eh -2342.09617 eV One Electron Energy: -123.99715781 Eh -3374.13420 eV Two Electron Energy: 37.92670222 Eh 1032.03804 eV Virial components: Potential Energy : -152.63028637 Eh -4153.28124 eV Kinetic Energy : 76.27523752 Eh 2075.55473 eV Virial Ratio : 2.00104636 DFT components: N(Alpha) : 4.999989121161 electrons N(Beta) : 4.999989121161 electrons N(Total) : 9.999978242323 electrons E(X) : -7.167222741582 Eh E(C) : -0.404039095744 Eh E(XC) : -7.571261837327 Eh
Further down the output, you can find the ORBITAL ENERGIES and occupation numbers.
---------------- ORBITAL ENERGIES ---------------- NO OCC E(Eh) E(eV) 0 2.0000 -19.121026 -520.3096 1 2.0000 -1.036011 -28.1913 2 2.0000 -0.507231 -13.8025 3 2.0000 -0.399761 -10.8780 4 2.0000 -0.295014 -8.0277 5 0.0000 0.077300 2.1034 6 0.0000 0.170872 4.6497 7 0.0000 0.759684 20.6721 8 0.0000 0.893686 24.3184 9 0.0000 0.909085 24.7375 10 0.0000 1.026372 27.9290 11 0.0000 1.083228 29.4761 12 0.0000 1.415380 38.5144 13 0.0000 1.686559 45.8936 14 0.0000 1.749495 47.6062 15 0.0000 1.757083 47.8127 16 0.0000 2.412020 65.6344 17 0.0000 2.618042 71.2406
By default, Orca always performs Mulliken and Loewdin population analysis for every calculation. Although these population analysis techniques are mostly outdated, they can still serve as a way to check whether the charge distribution on your system is what you would expect.
----------------------- MULLIKEN ATOMIC CHARGES ----------------------- 0 O : -0.779262 1 H : 0.389631 2 H : 0.389631 Sum of atomic charges: -0.0000000
After printing a number of time statistics (i.e. how much time was spent doing which task), Orca starts calculating some properties on the resulting wavefunction. By default, the only property calculated is the dipole moment of the molecule, with its nuclear and electronic contributions, as printed in a nice table at the end of the output file.
------------- DIPOLE MOMENT ------------- X Y Z Electronic contribution: 0.00000 -0.12909 -0.12909 Nuclear contribution : 0.00000 0.75745 0.75745 ----------------------------------------- Total Dipole Moment : 0.00000 0.62836 0.62836 ----------------------------------------- Magnitude (a.u.) : 0.88863 Magnitude (Debye) : 2.25873
The final two lines on Orca’s output tell you about the state of termination, and it is expected to always read “ORCA TERMINATED NORMALLY”, followed by a line containing the total run time.
This is it: a simple example of a single-point energy calculation using the Orca Electronic Structure Software. The next logical step is to take the mangled geometry I created in this input and perform a Geometry Optimization.