## EPR g-tensor Tutorial

Performing the relativistic EPR g-tensor calculations in ReSpect requires the following sequence of steps

SCF(1c) → SCF(4c) → EPR

where the initial SCF(1c) step represents the self-consistent field (SCF) procedure based on a scalar-relativistic, one-component (1c) Hamiltonian and this step is primarily meant to provide a very good guess of initial molecular orbitals for subsequent fully relativistic calculations, where both scalar- and spin-orbit corrections are included variationally. In the second SCF(4c) step, the actual relativistic molecular orbitals are determined by means of SCF with the relativistic four-component (4c) Dirac—Coulomb Hamiltonian. Note that the second-step must be repeated for all three Cartesian directions of non-collinear spin magnetization as required by an approach implemented in ReSpect [1,2]. The final EPR g-tensor is evaluated in the last step, starting from the relativistic molecular orbitals obtained in SCF(4c).

[1] M. Repisky, S. Komorovsky, E. Malkin, O. L. Malkina, and V. G. Malkin

Relativistic four-component calculations of electronic g-tensors in the matrix Dirac-Kohn-Sham framework

*Chem. Phys. Lett.* **488**, 94-97 (2010)

[2] S. Gohr, P. Hrobarik, M. Repisky, S. Komorovsky, K. Ruud, and M. Kaupp

Four-component relativistic density functional theory calculations of EPR g- and hyperfine-coupling tensors using hybrid functionals: validation on transition-metal complexes with large tensor anisotropies and higher-order spin-orbit effects

*J. Chem. Phys. A* **119**, 12892-12905 (2015)

To perform the SCF(1c) calculation, execute the command

/path/to/ReSpect/respect --scf --inp=1c --scratch=/path/to/scratch/directory

where arguments mandatory to `respect`

mean

**--scf**

starts the SCF procedure;**--inp**

specifies a name of the input file;**--scratch**

specifies a path to the scratch directory.

A simple example of the input file **1c.inp** for a scalar relativistic one-component DFT calculation of GaO with the Douglas–Kroll–Hess Hamiltonian looks like

#1c Kohn-Sham DFT calculation of GaO molecule with DKH2 Hamiltonian scf: geometry: Ga 0.000 0.000 0.000 O 0.000 0.000 1.744 method: ks-dkh2/b3lyp basis: ucc-pvdz charge: 0 multiplicity: 2 maxiterations: 30 nc-model: gauss

Note that a comprehensive list of all SCF keywords can be found **here**.

Having the initial SCF(1c) step finished, let's move on to the next SCF(4c) step. In order to have the 1c molecular orbitals ready for a restart, we execute the linux command first

ln -sf 1c.50 4c_X.50

which soft-links the ReSpect checkpoint file **1c.50** generated in the previous SCF(1c) calculation to a new checkpoint file **4c_X.50**. Now, we can perform the second SCF(4c) step

/path/to/ReSpect/respect --restart --scf --inp=4c_X --scratch=/path/to/scratch/directory

where the additional argument **--restart** enforces `respect`

to search for the initial molecular orbitals in the checkpoint file **4c_X.50**. An example of the input file **4c_X.inp** is

#4c Dirac-Kohn-Sham DFT calculation of GaO molecule with #the Dirac--Coulomb Hamiltonian and the spin magnetization vector along X scf: geometry: Ga 0.000 0.000 0.000 O 0.000 0.000 1.744 spin: X method: mdks/b3lyp basis: ucc-pvdz charge: 0 multiplicity: 2 maxiterations: 30 nc-model: gauss

Here, we replaced the 1c DKH2 Hamiltonian `method:ks-dkh2/dft-functional`

by the 4c Dirac—Coulomb Hamiltonian `method:mdks/dft-functional`

. In addition, the keyword `spin:`

was introduced in order to cover an important aspect associated with EPR g-tensor calculations, namely

**it is necessary to perform three indipendent 4c SCF calculations with the spin magnetization vector oriented along three perpendicular Cartesian directions**.

The way to accomplish this requirement is to set the keyword`spin:`

to X direction

spin: X

or to Y direction

spin: Y

or to Z direction

spin: Z

and rerun the SCF procedure for each direction. Importantly, save the SCF output and checkpoint files with specific suffixes --- **_X.out_scf** and **_X.50** for x-direction, **_Y.out_scf** and **_Y.50** for y-direction, and **_Z.out_scf** and **_Z.50** for z-direction. These name-specific files are required for the final EPR step discussed in the next paragraph.

Having all three SCF(4c) calculations finished successfully, let's perform the final EPR step by running the command

/path/to/ReSpect/respect --gt --inp=epr --start-data="4c_X 4c_Y 4c_Z" --scratch=/path/to/scratch/directory

where the input file for EPR g-tensor calculation **epr.inp** must contain the block `gt:`

. A simple example of **epr.inp** would be

#the EPR g-tensor input block gt: gauge: center-of-mass

A comprehensive list of all EPR g-tensor keywords can be found **here**.

As a final note, there are several important and worth-to-remember aspects associated with the input syntax, namely

**the input is case-insensitive**

This means that the program does not distinguish between uppercase and lowercase letters.**the input is insensitive to the number of blank lines and/or comment lines**

All comments begin with the number sign (#), can start anywhere on a line and continue until the end of the line.**the input is compliant with the dictionary syntax of the YAML markup language**

This means that each input line is represented either by a single`block:`

statement or by a simple`keyword:value`

pair, such as

block1: keyword1: value1 keyword2: value2 ... block2: keyword3: value3 keyword4: value4 ... block3: keyword5: value5 keyword6: value6 ...

It is essential to remember that all members of one `block:`

are **lines beginning at the same indentation level**. **Whitespace indentation** is used to denote the block structure; however, **tab characters are never allowed as indentation**. The only exception to the YAML-based input syntax is the block `geometry:`

which utilizes a simple xyz format for the molecular geometry specification.

## TIPS & TRICKS

**Q: Is there a way to launch SCF and EPR calculations without the need to explicitly setup the scratch path by "--scratch=/path/to/scratch/directory"?**

Yes, the argument "--scratch=/path/to/scratch/directory" can be saved to the file **.respectrc** in your home directory. If the file and the argument exist, then ReSpect takes the scratch directory setting from the file.

**Q: How to set the number of processors for parallel SCF and EPR calculations?**

For OpenMP parallel calculations, the number of processors can be controlled from the command line by the argument **--nt= N**, where

*N*ideally refers to the total number of physical cores of a machine. Thus, the command line for launching an OpenMP parallel SCF or EPR job reads

/path/to/ReSpect/respect --nt=N --scf --inp=my-input-file /path/to/ReSpect/respect --nt=N --gt --inp=my-input-file

Note, however, we have assumed here that the scratch path is setup through the file **.respectrc** (see the previous discussion).

## Latest Publications

### Theoretical and experimental pNMR study of Ru(III) systems

### General trends of NMR SO-HALA effects explained

## Useful Links

## Our Contacts

Department of Chemistry

UiT The Arctic University of Norway

Tromsø, NO-9037 Norway

Email: info@respectprogram.eu