Orca
Orca
Release 6.0
1 General Information 1
1.1 Program Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Units and Conversion Factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
i
4.3 Basis Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.4 Numerical Integration in ORCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.5 Input priority and processing order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.6 ORCA and Symmetry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.7 Jobs with Multiple Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5 Input of Coordinates 55
5.1 Reading coordinates from the input file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.2 Reading coordinates from external files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.3 Special definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
ii
7.25 CI methods using generated code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
7.26 Geometry Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
7.27 Frequency calculations - numerical and analytical . . . . . . . . . . . . . . . . . . . . . . . . . . 714
7.28 Intrinsic Reaction Coordinate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716
7.29 Nudged Elastic Band Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718
7.30 Excited States via RPA, CIS, TD-DFT and SF-TDA . . . . . . . . . . . . . . . . . . . . . . . . 734
7.31 Excited States via ROCIS and DFT/ROCIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763
7.32 Excited States via MC-RPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786
7.33 Excited States via EOM-CCSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795
7.34 Excited States via STEOM-CCSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801
7.35 Excited States via IH-FSMR-CCSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808
7.36 Excited States using PNO-based coupled cluster . . . . . . . . . . . . . . . . . . . . . . . . . . 811
7.37 Excited States via DLPNO-STEOM-CCSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812
7.38 Core-level spectroscopy with coupled cluster methods . . . . . . . . . . . . . . . . . . . . . . . 814
7.39 The Multireference Correlation Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826
7.40 Multireference Equation of Motion Coupled-Cluster (MR-EOM-CC) Theory . . . . . . . . . . . 852
7.41 Simulation and Fit of Vibronic Structure in Electronic Spectra, Resonance Raman Excitation Pro-
files and Spectra with the orca_asa Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873
7.42 One Photon Spectroscopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 917
7.43 Magnetic properties through Quasi Degenerate Perturbation Theory . . . . . . . . . . . . . . . . 925
7.44 Simulation of (Magnetic) Circular Dichroism and Absorption Spectra . . . . . . . . . . . . . . . 931
7.45 More on the Excited State Dynamics module . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935
7.46 More details on the ORCA DOCKER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948
7.47 More on the ORCA SOLVATOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952
7.48 Ab initio Molecular Dynamics Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955
7.49 Fast Multipole Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 982
7.50 Implicit Solvation Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 988
7.51 Calculation of Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1010
7.52 Natural Bond Orbital (NBO) Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028
7.53 Population Analyses and Control of Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1040
7.54 Orbital and Density Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054
7.55 Utility Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1062
7.56 Compound Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104
7.57 Compound Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165
7.58 orca_2json . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1187
7.59 Property File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1205
C Bibliography 1257
Bibliography 1259
iii
iv
ORCA Manual, Release 6.0
PREFACE 1
ORCA Manual, Release 6.0
2 PREFACE
ORCA 6.0 FOREWORD
i
ORCA Manual, Release 6.0
bugs, mistakes and incompleteness of the new infrastructure. But they did do that and showed great dedication,
appreciation and skill in doing so. And of course, a number of individuals also helped with the tedious part of the
whole project and to all those, I am particularly grateful.
The result of our efforts, you now hold in your hands: the ORCA program, version 6.0. But as I explained above,
ORCA 6.0 is not just an update to the program, it is essentially an entirely new quantum chemistry package – but
one that was designed with a master plan, a vision of how such a package could or should be organized. This led
to a highly streamlined and highly efficient new infrastructure that will greatly facilitate future developments.
Please allow me a few personal words: This release of ORCA is a turning point and also a very emotional moment
for me. Recreating the ORCA infrastructure and deleting much of the legacy code amounted to reliving a large part
of my scientific life in fast forward. Many memories were tied to specific code parts and so many images returned
along the way of how life was when this or that was written and what that world looked like back then. Hitting the
“delete” button did not come easy and there might have been a tear or two lurking here and there, especially on the
last weekend before the initial code freeze where I deleted more than 250000 lines of legacy code and edited over
500 files of source code.
ORCA 6 was the result of the work of a large number of outstanding and dedicated individuals. Unfortunately, It is
impossible to individually mention all of them here (for this, please check the credit section at the beginning of the
output), but I do want to ensure all ORCA developers of my deepest sympathy, my admiration and my gratitude for
staying on path, for their hard work, for their creativity, for their intellectual brilliance, for the dedication and for
sharing in the vision. Especially the latter was not a given, in particular in those moments where things were broken
that once upon a time were working perfectly. Specifically, I am indebted to Frank Wennmohs for his long-term
friendship, for enduring my stubbornness in pursuing this project and for his decisive contributions in important
moments. I also want to praise Dagmar Lenk for running our testsuite with almost 2000 jobs every night, analyze
the results with superhuman patience and patiently going after the people that were supposed to fix the errors. And
of course, my very special thanks and deepest gratitude also goes to Ute Becker. Ute has been a member of the
team since the early 2000s. She has single-handedly parallelized ORCA and in all these years, she always had
everybody’s back – implementing, helping, testing, cleaning up behind people without ever complaining and with
laser precision and the highest efficiency. Ute will formally retire by the end of 2024 but we consider ourselves
lucky that she has agreed to keep working with us on the next generations of ORCA, at least for a while.
I am also deeply indebted to the members of FAccTs. Ever since the foundation of FAccTs, it has been continuously
growing and is now very successful in the market. This is largely due to Christoph Riplinger’s ingenuity, vision and
insightful leadership. It is a major pleasure to see FAccTs bloom and grow, drive technology and also assemble a
significant number of the most talented individuals that passed through the group in Mülheim. Importantly, several
FAccTs members have made major contributions to the release of ORCA 6, in particular Bernardo de Souza,
Georgi Stoychev and Miquel Garcia Rates have written extremely effective and important code and have also been
instrumental in streamlining and optimizing the infrastructure.
Now that ORCA 6 has become reality we are highly excited to give it you and we sincerely hope that you embrace
it and make good use of it. Thank you for staying with us through the long wait that led to ORCA 6. We believe
that we have made the program fit for the next decades to come and to be a great platform for keeping up with the
rapidly changing hard- and software landscape. The efficient new infrastructure that Orca 6 is based on will allow
for much improved development speed and consequently, we are looking highly forward to giving you the next
ORCA versions with exciting new functionality in due course.
Thank you for your support!
Frank Neese, on behalf of the development team on July 17, 2024
0.1.4 Relativity
• X2C
• New and consistent DKH infrastructure
iii
ORCA Manual, Release 6.0
• Interface to openCOSMO-RS
• Explicit Solvator
• Molecule Docker
• FMM implementation for embedding
• CIM implementation works with DLPNO-CC, DLPNO-MP2
0.1.6 Optimization
• More robust optimizer (fewer cycles, fewer cases with negative frequencies)
• GOAT global optimizer and conformer generator
• Basis set limit extrapolated optimizations through compound scripts
• Extrapolation with counterpoise correction through compound scripts
0.1.7 Hessian
• Group parallelization
• Performance improvements
0.2.1 Why do some of my calculations give slightly different results with ORCA-
6.0.0?
When running RPA or the CP-SCF with COSX, the algorithm from ORCA-6.0.0 was hard-coded to a memory-
hungry one, which was not the original intention. In ORCA-6.0.1 that was fixed, and the automatic one is now the
default (see, for example, CP-SCF Options). This might cause very small differences to these results, specially if
the number of densities is small.
This does not affect any “normal” energy, gradient or etc. calculations. Only those particular cases of RPA and
CP-SCF.
v
ORCA Manual, Release 6.0
0.9 My old inputs don’t work with the new ORCA version! Why?
Please be aware that between ORCA revisions keywords and defaults might have changed or keywords may have
been deprecated (for detailed information please see the Release Notes). It is therefore not unexpected that the
same inputs will now either give slightly different results, or will totally crash. If you are unsure about an input,
please consult the manual. It is provided by the ORCA developers and should contain all information implemented
in the published version of ORCA.
0.11 When dealing with array structures, when does ORCA count
starting from zero and in which cases does counting start
from one?
Since ORCA is a C++ based program its internal counting starts from zero. Therefore all electrons, atoms, fre-
quencies, orbitals, excitation energies etc. are counted from zero. User-based counting such as the numeration of
fragments is counted from one.
for open-shell systems, especially with transition metal complexes, to check the UCO (unrestricted corresponding
orbitals) overlaps and visualise the corresponding orbitals. Additionally, spin-population on atoms that contribute
to the singly occupied orbitals is also an identifier of the electronic structure.
0.13 I can’t locate the transition state (TS) for a reaction expected
to feature a low/very low barrier, what should I do?
For such critical case of locating the TS, running a very fine (e.g. 0.01 Å increment of the bond length) relaxed
scan of the key reaction coordinate is recommended. In this way the highest energy point on a very shallow surface
can be identified and used for the final TS optimisation.
0.10. My SCF calculations suddenly die with ‘Please increase MaxCore’! Why? vii
ORCA Manual, Release 6.0
0.16 With all the GRID and RI and associated basis set settings I’m
getting slightly confused. Can you provide a brief overview?
Hartree–Fock (HF) and DFT require the calculation of Coulomb and exchange integrals. While the Coulomb
integrals are usually done analytically, the exchange integrals can be evaluated semi-numerically on a grid. Here,
the pure DFT exchange is calculated on one type of grid (controlled through the GRID keyword) while the HF
exchange can be evaluated on a different, often smaller grid (GRIDX). For both parts, further approximations can
be made (RI-J and RI-K1 or COSX, respectively). When RI is used, auxiliary basis sets are required (<basis >/ J
for RI-J and <basis >/ JK for RI-JK). The following possible combinations arise:
• HF calculation
– Exact J + exact K: no auxiliary functions and no grids needed.
– RIJ + exact K (RIJONX, RIJDX): <basis >/ J auxiliaries, no grids.
– RIJ + RIK = RIJK: <basis >/JK auxiliaries, no grids.
– RIJ + COSX: <basis >/ J auxiliaries, COSX grid controlled by the GRIDX keyword.
• GGA DFT functional
– Exact J + GGA-XC: no auxiliary functions needed, DFT grid controlled by the GRID keyword.
– RIJ + GGA-XC: <basis >/ J auxiliaries, DFT grid controlled by the GRID keyword.
• Hybrid DFT functional
– Exact J + exact K + GGA-XC: no auxiliary functions needed, DFT grid controlled by the GRID keyword.
– RIJ + exact K (RIJONX, RIJDX) + GGA-XC: <basis >/ J auxiliaries, DFT grid controlled by the GRID
keyword.
– RIJ + RIK (RIJK) + GGA-XC: <basis >/ JK auxiliaries, DFT grid controlled by the GRID keyword.
– RIJ + COSX + GGA-XC: <basis >/ J auxiliaries, COSX grid controlled by the GRIDX keyword, DFT
grid controlled by the GRID keyword.
0.17 There are a lot of basis sets! Which basis should I use when?
ORCA offers a variety of methods and a large choice of basis sets to go with them. Here is an incomplete overview:
1 Note that ORCA can only use RI-K in conjunction with RI-J; hence the combination RI-JK.
HF+F12-RI-CCSD RI-JK <basis >-F12 + <basis >-F12/CABS + <basis >/C + <basis >/JK
0.17. There are a lot of basis sets! Which basis should I use when? ix
ORCA Manual, Release 6.0
ONE
GENERAL INFORMATION
Utility programs:
1
ORCA Manual, Release 6.0
orca_2aim Produces WFN and WFX files suitable for AIM analysis
orca_2json Converts information from the gbw-file into JSON files
orca_2mkl Produces an ASCII file to be read by molekel, molden or other visualization programs
orca_asa Calculation of absorption, fluorescence and resonance Raman spectra
orca_chelpg Electrostatic potential derived charges
orca_euler Calculate Euler angles from .property.txt file
orca_exportbasis Prints out any basis set in ORCA or GAMESS-US format
orca_fitpes Simple program to fit potential energy curves of diatomics
orca_mapspc Produces files for transfer into plotting programs
orca_mergefrag Merges MO coefficients from two independent .gbw files
orca_pltvib Produces files for the animation of vibrations
orca_pnmr Calculation of paramagnetic NMR shielding tensors
orca_vib Calculation of vibrational frequencies from a completed frequency run (also used for
isotope shift calculations)
otool_gcp Geometrical Counterpoise Correction
otool_xtb For this release, xtb 6.7.1 needs to be downloaded from the Grimme lab
Friends of ORCA:
gennbo The NBO analysis package of Weinhold (must be purchased separately from the univer-
sity of Wisconsin; older versions available for free on the internet may also work)
Molekel Molecular visualization program (see Interface to Molekel)
gOpenMol Molecular visualization program (see Interface to gOpenMol)
Avogadro Molecular builder and visualization program with ORCA support (see download page
and original repository)
Chemcraft Molecular builder and visualization program with ORCA support (see download page)
SEQCROW Molecular builder and visualization program with ORCA support (see repository)
In principle every individual module can also be called “standalone”. However, it is most convenient to do every-
thing via the main module.
There is no real installation procedure. Just copy the executables wherever you want them to be and make sure
that your path variable contains a reference to the directory where you copied the files. This is important to make
sure that the programs can call each other (but you can also tell the main program the explicit position of the other
programs in the input file as described below). The xtb tool (recommended version 6.7.1 or higher) needs to be
downloaded separately from the Grimme lab’s repository. The xtb binary needs to be copied to the directory to
which the orca binaries were copied to.
1 Eh = 27.2113834 eV
kcal
1 eV = 8065.54477 cm−1 = 23.0605 mol
1 cm−1 = 29979.2458 MHz
1 𝑎0 = 0.5291772083 Å
1 a.t.u. = 2.4188843 10−17 s
TWO
In this chapter we describe the broad features of ORCA’s internal structure. This knowledge is not necessary to
carry out calculations with ORCA. It may, however, help to understand which modules are being called in which
order and why this is happening in the sequence it does.
3
ORCA Manual, Release 6.0
The lowest layer of the shell consists of the SHARK integral package. This is the “motor” of the program that
takes care of most compute intensive tasks and essentially all parts that involve integrals over basis functions. This
amounts to calculating all one- and two-electron integrals, forming Fock and Fock-like matrices and performing
integral transformations using all kinds of basis sets and kernels. Most of the SHARK code is independent of the
remaining ORCA source code infrastructure.
The layer above SHARK is the actual ORCA source code. ORCA interacts with the user through the interface
and it orchestrates the entire workflow of the calculation. At this point in time, it also performs compute intensive
tasks like forming diagonalizing and handling Fock-operators , solving large linear equation systems, forming
sigma vectors, densities etc in correlated calculations and similar tasks. The ORCA source code interacts with
SHARK through a small set of DRIVERS. The drivers feature genuine ORCA data structures as well as SHARK
infrastructure. The DRIVERS call the genuine SHARK functions (ORCA calls SHARK directly only in a few
places) and, most importantly, the DRIVERS take care of finding their way through the approximation jungle. By
this we mean they handle the necessary basis sets, auxiliary basis sets, grids, integral approximations, solvation,
relativity, point charges etc.
Concentrating these important and highly error prone tasks in a number of well documented routines provides a
highly transparent way of identifying and properly maintaining the functionality that is at the heart of the program.
Above the ORCA software layer there are tools that orchestrate workflows. Workflows typically consisting of a
number of interdepend computational steps that are later combined into a single meaningful chemical result. For
example, one may optimize the geometry with a DFT functional and calculate zero-point and thermodynamic
corrections at the same level and follow it up with a single point calculation at the coupled cluster level that may
or may not feature another correction for core correlation at the MP2 level or complete basis set extrapolation.
Such tasks and many others, like running series of calculations on a test-sets of molecules or permuting calculation
options like functionals or basis sets on a given test system can be addressed with workflow tools. Inside ORCA,
there is the very powerful compound scripting language to achieve and organize such tasks. On the commercial
branch, FAccTs develops the Weasel tool that is a powerful and highly reliable workflow organizer.
At the final layer, one might envision a graphical user interface (GUI) that helps building molecules and facilitates
running calculations and analyzing results. At this point in time, ORCA does not have a dedicated GUI. There
are many free and commercial solutions that interface to ORCA. This form of interfacing is facilitated by the
orca_2json interface and the property file that ORCA produces. We hope that the transparency of this interface
motivates GUI developers to provide ever improved GUIs that interface ORCA. We do not exclude the possibility
that ORCA will feature it’s own GUI sometime down the road.
calculation (MOREAD). In the latter case, the calculation may feature a different geometry and/or a different basis
set but the number, nature and ordering of atoms need to be consistent with the target system.
In the third step, the program branches out into either the SCF or the CASSCF module (orca_leanscf or
orca_casscf). These modules produces converged orbitals and a self-consistent field energy as well as one-
particle density matrix. The latter is stored in in the DensityContainer, which is a centralized storage facility
for densities that will also be left over after the calculation and can be accessed by the users.
The next step of the calculation consists of calling various post-SCF programs like orca_mp2, orca_mdci or
orca_autoci. NEVPT2 and CASPT2 are calculated by code that is integrated with orca_casscf. These calcu-
late correlation energies and excited states among many other things.
There are many different pathways that the program can take next, for example geometry optimization or embedding
calculations or molecular dynamics to only name a few. Rather than going into each and every one of the possible
pathways, we will describe the calculation of molecular properties inside ORCA.
Here, 𝑃𝜇𝜈±
is the first-order electron (‘+’) or spin (‘-‘) density ̂︀
ℎ𝑀 is the operator that is describing the property of
interest (e.g. the dipole moment operator) and the basis set is {𝜇}.
Second order properties are:
𝜕2𝐸 ⟨ ⃒ ⃒ ⟩ ∑︁ 𝜕𝑃 ± ⟨ ⃒ ⃒ ⟩
𝜇𝜈
∑︁
±
𝑋𝑀 𝑁 = = 𝑃𝜇𝜈 𝜇⃒̂︀
ℎ𝑀 𝑁 ⃒𝜈 + 𝜇⃒̂︀
ℎ𝑀 ⃒𝜈
⃒ ⃒ ⃒ ⃒
𝜕𝑀 𝜕𝑁 𝜇𝜈 𝜇𝜈
𝜕𝑁
𝜕𝑃 ±
Here the important quantity is 𝜕𝑁𝜇𝜈 , the first derivative (or “response”) of the electron or spin density with respect
to perturbation 𝑁 . It can be shown that the order of perturbations 𝑀 and 𝑁 is immaterial and hence one can
choose the more convenient perturbation to calculate the response density for.
It is important to point out that the equations for response properties can always be brought into this form, irrespec-
tive of whether the calculation is a Hartree-Fock, DFT, MP2, coupled cluster, CASSCF or full-CI wavefunction.
Given the considerable generality of the property equations, it seems logical to create an infrastructure in which
these similarities are exploited to the largest possible extent. In ORCA the central place where all densities and
response densities are stored is the DensityContainer. This is used intensely throughout the actual calculation
and left on disk as BaseName.densities where it can be used for visualization.
In terms of the calculation flow the main program contains all the logic to drive this calculation. It first drives the
SCF and possibly the post-SCF calculations. After this is done, the SCF program collects the information about
which property integrals will be needed down the road and call the property integral program orca_propint that
will calculate the necessary integrals and stores them in another central storage container, the “property integral
container”.
The next step of the calculation is that the main program determines for which properties response densities are
needed. It collects these perturbations and calls the response modules. In the case of a SCF wavefunction (HF
or DFT), this is the orca_scfresp program. This program will divide the requested perturbations into different
types like, real-symmetric, imaginary-antisymmetric, triplet etc. Then it solves the response equations for all types
of perturbations simultaneously. This leads to large efficiency gains since the same integrals are needed on the
left-hand side of the coupled-perturbed SCF (CP-SCF) equations irrespective of the actual perturbations. Hence,
pooling all perturbations of a given type together is much more efficient than treating these perturbations one at a
time. This leads to high efficiency gains, in particular for properties like NMR parameters where nucleus dependent
perturbations are required.
For a number of other electronic structure methods like MP2, CASSCF or AutoCI the respective modules can be
run in “response mode” where instead of solving the equations for the energy, they pick up the amplitudes that
were determined in the energy run and use them together with the property integrals in order to produce response
densities.
The response densities are then stored in the density container too. At this point, one has everything that is required
in order to calculate the actual properties – a task that is performed by orca_prop.
The orca_prop program works by browsing through the density container and looks for densities that are appropri-
ate for calculating a requested property. As soon as it finds an appropriate density (or combination of unperturbed
and response density), it will calculate the property. For example, if you have calculated SCF, MP2 and CCSD
in the same calculation and have asked for the calculation of all three densities, orca_prop will calculate three
dipole moments and print them right next to each other.
One beneficial side effect of this organization is that it is very well suited for future extensions. If a new method
becomes available in ORCA that is able to produce densities and possibly response densities, the properties for this
method will be fully available without any programmer needing to write a single line of additional code. It also
ensures that all properties are calculated in a consistent fashion and with a consistent printout.
The results of all property calculations are stored in the central property file that will be left after the calculation.
Users interested in reading properties, it should be read from the property file or its JSON translation.
Here ⃒Ψ𝑆𝑀 are the roots of a given method that can generate excited states with energy 𝐸𝐼 . For example, these can
⃒ ⟩︀
𝐼
be TD-DFT roots, CASSCF roots, CASSCF roots with energy corrections from NEVPT2 or CASPT2, MRCI-roots,
EOM-CCSD roots etc. and 𝐻 ̂︀ 𝑆𝑂𝐶 is the spin-orbit coupling (SOC) operator, 𝐻̂︀ 𝑆𝑆 the electron-electron spin-spin
coupling operator, 𝐻 ̂︀ 𝐿𝐵 the molecular Zeeman operator etc. In practice, only the principle component 𝑀 = 𝑆 (i.
e. Ψ𝑆𝑆
𝐼 ) is calculated and the necessary matrix elements are generated using the Wigner-Eckart theorem.
The diagonalization produces the complex valued relativistic eigenstates as linear combinations of the non-
relativistic or scalar relativistic eigenstates. Using the eigenstates relativistic densities or transition densities can
be calculated that subsequently can be used to calculate magnetic properties or “relativistic” optical or magneto-
optical spectra.
The procedure obviously suffers from a truncation error because only a finite number of roots can be calculated in
practice. However, results indicate that the QDPT generated properties compare often very favorable with experi-
mental data provided that the underlying electronic structure method delivers reasonable results.
In ORCA, all QDPT properties are calculated in a consistent infrastructure and then also leads to consistent printing
and reporting of the results.
Here k is the wavevector of the radiation with frequency 𝜔 and 𝜀 is its polarization. 𝐴0 is the intensity of the
radiation, r the electronic coordinate and 𝑡 is the time.
⟨ ⃒∑︀ ⃒ ′ ′⟩
Evaluation of the matrix element Ψ𝑆𝑀 amount to generating the “exact” field-matter tran-
⃒ 𝑆𝑀
𝐴(r , 𝑡)
⃒
𝐼 ⃒ 𝑖 𝑖 ⃒Ψ𝐽
sition moments. This can be requested by setting the flag DoFullSemiClassical = true in the appropriate
ORCA input block.
A series expansion of the cosine term yields the familiar electric dipole, electric quadrupole, magnetic dipole etc.
contributions. Interestingly, the direct evaluation of the electric dipole term would yield it in the gauge independent
“velocity” form. They are related to the more familiar “length” form dipole matrix elements by:
⟨ ⃒ ⃒ ⟩ ⟨ ⃒ ⃒ ⟩
𝑆𝑀
⃒∑︁ ⃒ ′ ′
𝑆 𝑀 −𝑖 𝑆𝑀
⃒∑︁ ⃒ ′ ′
⃒ 𝑆𝑀
Ψ𝐼 ⃒ p𝑖 ⃒Ψ𝐽 = (𝐸𝐽 − 𝐸𝐼 ) Ψ𝐼 ⃒ r𝑖 ⃒Ψ𝐽
⃒ ⃒ ⃒
⃒
𝑖
⃒ ℏ ⃒
𝑖
⃒
The results of the length and velocity transition moment evaluation are expected to match in the basis set limit if
the electronic structure method at hand satisfies certain conditions. In practice, they usually do not agree very well,
even if large basis sets are used.
In order to generate electric length and velocity as well as higher moment evaluations, you can use the keywords
DoDipoleLength = true
DoDipoleVelocity = true
DoHigherMoments = true
in the appropriate ORCA input blocks that trigger the respective excited state calculation.
THREE
Under UNIX based operating systems the following call is convenient (here also: make sure that the PATH variable
is set to the directory where the orca executables reside):
The program writes to stdout and stderr. Therefore the output must be redirected to the file MyMol.out in this
example. MyMol.inp is a free format ASCII file that contains the input description. The program will produce
a number of files MyMol.x.tmp and the file MyMol.gbw. The “*.gbw” file contains a binary summary of the
calculation. GBW stands for “Geometry-Basis-Wavefunction”. Basically this together with the calculation flags is
what is stored in this file. You need this file for restarting SCF calculations or starting other calculations with the
orbitals from this calculation as input. The “*.tmp” files are temporary files that contain integrals, Fock matrices
etc. that are used as intermediates in the calculation. If the program exits normally all of these files are deleted.
If it happens to crash you have to remove the files manually (rm MyMol*.tmp under Unix or del MyMol*.tmp
under Windows). In case you want to monitor the output file while it is written, you can use the command (under
Unix):
tail -f MyMol.out
to follow (option -f) the progress of the calculation. Under Windows you have to either open another command
shell and use:
type MyMol.out
type MyMol.out |more
or you have to copy the output file to another file and then use any text editor to look at it.
you cannot use edit MyMol.out because this would result in a sharing violation.
9
ORCA Manual, Release 6.0
AUTOCI
CASSCF / NEVPT2 / CASSCFRESP
CIPSI
CIS/TDDFT
GRAD (general Gradient program)
GUESS
LEANSCF (memory conserving SCF solver)
MCRPA
MDCI (Canonical- and DLPNO-Methods)
MM
MP2 and RI-MP2 (including Gradients)
MRCI
PC
PLOT
PNMR
POP
PROP
PROPINT
REL
ROCIS
SCFGRAD
SCFRESP (with SCFHessian)
STARTUP
VPOT
Numerical Gradients, Frequencies, Overtones-and-Combination-Bands
VPT2
NEB (Nudged Elastic Band)
Thus, all major modules are parallelized in the present version. The efficiency is such that for RI-DFT perhaps up
to 16 processors are a good idea while for hybrid DFT and Hartree-Fock a few more processors are appropriate.
Above this, the overhead becomes significant and the parallelization loses efficiency. Coupled-cluster calculations
usually scale well up to at least 8 processors but probably it is also worthwhile to try 16. For Numerical Frequencies
or Gradient runs it makes sense to choose nprocs = 4 or 8 times 6*Number of Atoms. For VPT2 on larger systems
you may well even try 16 times 6*Number of Atoms - if you use multiple processes per displacement. (Please check
out the section Hints on the Use of Parallel ORCA what you have to take care of for such kind of calculations.)
If you run a queuing system you have to make sure that it works together with ORCA in a reasonable way.
ò Note
Parallelization is a difficult undertaking and there are many different protocols that work differently for different
machines. Please understand that we can not provide support for each and every platform. We are trying our best
to make the parallelization transparent and provide executables for various platforms but we can not possibly
guarantee that they always work on every system. Please see the download information for details of the version.
The OpenMPI version is configurable in a large variety of ways, which cannot be covered here. For a more
detailed explanation of all available options, cf. http://www.open-mpi.org
2. Please note that the OpenMPI version is dynamically linked, that is, it needs at runtime the OpenMPI libraries
(and several other standard libraries)! If you compile MPI on your own computer, you also need to have a
fortran compiler, as mpirun will contain fortran bindinngs.
(Remember to set PATH and LD_LIBRARY_PATH to mpirun and the mpi libraries)
3. Many problems arise, because parallel ORCA does not find its executables. To avoid this, it is crucial to call
ORCA with its complete pathname. The easiest and safest way to do so is to include the directory with the
orca-executables in your $PATH. Then start the calculation:
- interactively:
start orca with full path: "/mypath_orca_executables/orca MyMol.inp"
- batch :
set your path: `export PATH=/mypath_orca_executables:$PATH` (for bash) then
start orca with full path: "$PATH/orca $jobname.inp"
This seems redundant, but it really is important if you want to run a parallel calculation to call ORCA with
the full path! Otherwise it will not be able to find the parallel executables.
4. Assuming that the MPI libraries are installed properly on your computer, it is fairly easy to run the parallel
version of ORCA. You simply have to specify the number of parallel processes, like:
! PAL4 # everything from PAL2 to PAL8 and Pal16, Pal32, Pal64 is recognized
or
The parallelized modules of ORCA are started by the (serial) ORCA-Driver. If the driver finds PAL4 or %pal
nprocs 4 end (e.g.) in the input, it will start up the parallel modules instead of the serial ones. So - please
do not start the driver with mpirun! (Please see below for what else has to be taken care of for a successfull
parallel run.)
5. It is recommended to run orca in local (not nfs-mounted) scratch-directories, (/tmp1 or /usr/local e.g.)
and to renew these directories for each run to avoid confusion with left-overs of a previous run.
6. It has proven convenient to use “wrapper” scripts. These scripts should
A basic example of such a submission script for the parallel ORCA version is shown below (this is for the
Torque/PBS queuing system, running on Apple Mac OS X):
#!/bin/zsh
setopt EXTENDED_GLOB
setopt NULL_GLOB
#export MKL_NUM_THREADS=1
b=${1:r}
setopt EXTENDED_GLOB
setopt NULL_GLOB
export PATH=$PBS_O_PATH
logfile=$PBS_O_WORKDIR/${b}.log
tdir=$(mktemp -d /Volumes/scratch/$USER/${b}__XXXXXX)
trap '
echo "Job terminated from outer space!" >> $logfile
rm -rf $tdir
exit
' TERM
cp $PBS_O_WORKDIR/$1 $tdir
foreach f ($PBS_O_WORKDIR/*.gbw $PBS_O_WORKDIR/*.pot) { cp $f $tdir }
cd $tdir
cp ^(*.(inp|tmp*)) $PBS_O_WORKDIR/
rm -rf $tdir
EOF
node1 cpu=2
node2 cpu=2
or
node1
node1
node2
node2
ò Note
If you run the parallel ORCA version on only one computer, you do not need to provide a nodefile, and
neither have to enable an rsh/ssh access, as in this case the processes will simply be forked! If you start
ORCA within a queueing system you also don’t need to provide a nodefile. The queueing system will
care for it.
9. It is possible to pass additional MPI-parameters to mpirun by adding these arguments to the ORCA call - all
arguments enclosed in a single pair of quotes:
10. If the MPI-environment variables are not equally defined on all participating compute nodes it might be
advisable to export these variables. This can be achieved by passing the following additional parameters to
mpirun via the ORCA call:
11. An additional remark on multi-process numerical calculations (frequencies, gradient, hybrid Hessian): The
processes that execute these calculations do not work in parallel, but independently, often in a totally asyn-
chronous manner. The numerical calculations will start as many processes, as you dedicated for the parallel
parts before and they will run on the same nodes. If your calculation runs on multiple nodes, you have to set
the environment variable RSH_COMMAND to either “rsh” or “ssh”. If RSH_COMMAND is not defined, ORCA
will abort. This prevents that all processes of a multi-node run are started on the ‘master’-node.
12. On multiple user request the ‘parallelization’ of NumCalc has been made more flexible. If before ORCA
would start nprocs displacements with a single process each, the user can now decide on how many processes
should work on a single displacement.
For this the nprocs keyword got a sibling:
This setting will ORCA make use 32 processes, with 4 processes working on the same displacement, thus
running 8 displacements simultaneously. The methods that can profit from this new feature are
• all NumCalc-methods: as NumGrad, NumFreq, VPT2, Overtones, NEB, and GOAT.
• the analytical Hessian, leading to a nice increase of parallel performance for really large calculations.
It is highly recommended to choose nprocs_group to be an integer divisor of nprocs_world!
For convenient use a couple of standard ‘groupings’ are made available via simple input keyword:
ò Note
If your system-administration does not allow to connect via rsh/ssh to other compute nodes, you unfor-
tunately cannot make use of parallel sub-calculations within NumCalc runs. This affects NEB as well as
GOAT, VPT2, Overtone-and-Combination-Bands, as well as Numerical Frequencies and Gradients.
FOUR
In general, the input file is a free format ASCII file and can contain one or more keyword lines that start with a
“!” sign, one or more input blocks enclosed between an “%” sign and “end” that provide finer control over specific
aspects of the calculation, and finally the specification of the coordinates for the system along with the charge and
multiplicity provided either with a %coords block, or more usually enclosed within two “*” symbols. Here is an
example of a simple input file that contains all three input elements:
! HF def2-TZVP
%scf
convergence tight
end
* xyz 0 1
C 0.0 0.0 0.0
O 0.0 0.0 1.13
*
Comments can also be closed by a second “#”, as the example below where TolE and TolMaxP are two variables
that can be user specified:
The input may contain several blocks, which consist of logically related data that can be user controlled. The
program tries to choose sensible default values for all of these variables. However, it is impossible to give defaults
that are equally sensible for all systems. In general the defaults are slightly on the conservative side and more
aggressive cutoffs etc. can be chosen by the user and may help to speed things up for actual systems or give higher
accuracy if desired.
15
ORCA Manual, Release 6.0
Blocks start with “%” and end with “end”. Note that input is not case sensitive. For example:
%method method HF
end
No blocks need to be present in an input file but they can be present if detailed control over the behavior of the
program is desired. Otherwise all normal jobs can be defined via the keywords described in the next section.
Variable assignments have the following general structure:
VariableName Value
Some variables are actually arrays. In this case several possible assignments are useful:
Array[1] Value1
Array[1] Value1,Value2,Value3
Array Value1,Value2
ò Note
Arrays always start with index 0 in ORCA (this is because ORCA is a C++ program). The first line in the
example gives the value “Value1” to Array[1], which is the second member of this array. The second line
assigns Value1 to Array[1], Value2 to Array[2] and Value3 to Array[3]. The third line assigns Value1
to Array[0] and Value2 to Array[1].
MOInp "Myfile.gbw"
In general the input is not case sensitive. However, inside strings the input is case sensitive. This is because on unix
systems MYFILE.GBW and MyFile.gbw are different files. Under Windows the file names are not case sensitive.
! Keywords
Table 4.2: Main keywords that can be used in the simple input of ORCA.
Keyword Input block Variable Comment
HF METHOD METHOD Selects the Hartree-Fock method
DFT Selects the DFT method (see section Density Functional
Methods for a list of functionals)
FOD FOD analysis (see Fractional Occupation Number
Weighted Electron Density (FOD)) employing default set-
tings (TPSS/def2-TZVP, TightSCF, SmearTemp = 5000 K)
Runtypes
Symmetry handling
Other coupled-pair methods are available and are documented later in the manual in detail (section 7.8) In general
you can augment the method with RI-METHOD in order to make the density fitting approximation operative; RI34-
METHOD does the same but only for the 3- and 4-external integrals). MO-METHOD performs a full four index
transformation and AO-METHOD computes the 3- and 4-external contributions on the fly. With AOX-METHOD
this is is done from stored AO integrals.
ò Note
This deviates from previous versions of ORCA! We are now counting core electrons rather than using an
energy window. If you do want to use an orbital energy window use %method FrozenCore FC_EWIN end.
Otherwise the EWin commands will be ignored! (alternatives are FC_ELECTRONS(default) and FC_NONE).
Semiempirical methods
Relativistic options
There are several variants of scalar relativistic Hamiltonians to use in all electron calculations. See Relativistic
Options for details.
Grid options
Convergence thresholds
These keywords control how tightly the SCF and geometry optimizations will be converged. The program makes
an effort to set the convergence thresholds for correlation modules consistently with that of the SCF.
Convergence acceleration
The default is DIIS which is robust. For most closed-shell organic molecules SOSCF converges somewhat bet-
ter and might be a good idea to use. For “trailing convergence”, KDIIS or the trust-region augmented Hessian
procedures TRAH-SCF might be good choices.
Convergence strategies
(does not modify the convergence criteria)
Spin-orbit coupling
Miscellaneous options
Output control
³ Caution
• It is possible that FLOAT may lead to unacceptable errors. Thus it is not the recommended option when
MP2 or RI-MP2 gradients or relaxed densities are computed. For this reason the default is DOUBLE.
• If you have convinced yourself that FLOAT is OK, it may save you a factor of two in both storage and
CPU.
%MaxCore 4000
sets 4000 MB (= 4 GB) as the limit for these scratch arrays. This limit applies per processing core. Do not be
surprised if the program takes more than that – this size only refers to the dominant work areas. Thus, you are
well advised to provide a number that is significantly less than your physical memory. Note also that the memory
use of the SCF program cannot be controlled: it dynamically allocates all memory that it needs and if it runs out
of physical memory you are out of luck. This, however, rarely happens unless you run on a really small memory
computer or you are running a gigantic job.
Hybrid functionals
B1LYP The one-parameter hybrid functional with Becke ‘88 exchange and Lee-Yang-Parr correlation
(25% HF exchange)
B3LYP and The popular B3LYP functional (20% HF exchange) as defined in the TurboMole program
B3LYP/G system and the Gaussian program system, respectively
O3LYP The Handy hybrid functional
X3LYP The Xu and Goddard hybrid functional
B1P The one-parameter hybrid version of BP86
B3P The three-parameter hybrid version of BP86
B3PW The three-parameter hybrid version of PW91
PW1PW One-parameter hybrid version of PW91
mPW1PW One-parameter hybrid version of mPWPW
mPW1LYP One-parameter hybrid version of mPWLYP
PBE0 One-parameter hybrid version of PBE
REVPBE0 “Revised” PBE0
REVPBE38 “Revised” PBE0 with 37.5% HF exchange
BHANDHLYP Half-and-half hybrid functional by Becke
Composite Methods
HF-3c HF-based composite method by Grimme et al. emplyoing the MINIX basis
set
B97-3c GGA composite method by Grimme et al. employing a modified def2-
mTZVP basis set
R2SCAN-3c meta-GGA composite method by Grimme et al. employing a modified def2-
mTZVPP basis set
PBEh-3c Hybrid (42% HF exchange) composite method by Grimme et al. employing
a modified def2-mSVP basis set
wB97X-3c Range-separated hybrid composite DFT method by Grimme et al. employing
a polarized valence double-𝜁 basis set
Dispersion corrections
See DFT Calculations with Atom-pairwise Dispersion Correction and Treatment of Dispersion Interactions with
DFT-D3 for details.
D4 density dependent atom-pairwise dispersion correction with Becke-Johnson damping and ATM
D3BJ Atom-pairwise dispersion correction to the DFT energy with Becke-Johnson damping
D3ZERO Atom-pairwise dispersion correction with zero damping
D2 Empirical dispersion correction from 2006 (not recommended)
Non-local correlation
See DFT Calculations with the Non-Local, Density Dependent Dispersion Correction (VV10): DFT-NL for details.
Polarization functions for the 6-311G basis set: All of the above plus (3df) and (3df,3pd)
Diffuse functions for the 6-31G and 6-311G basis sets:
ò Note
Past versions of ORCA used to load all-electron basis sets also for elements Rb-I with the above keywords for
double- and triple-zeta basis sets. The Rb-I basis sets originated from non-relativistic all-electron basis sets of
the Turbomole library (such as “TZVPAlls”). This automatic substitution is now deprecated. However, we
offer temporarily the ability to reproduce that behavior by adding the prefix “old-” to the above keywords, e.g.
old-TZVP.
Minimally augmented def2 basis Augmented def2 basis sets by diffuse s and p functions according to Truh-
sets: lar[918]. Recommended for general use.
ma-def2-SVP Minimally augmented def2-SVP basis set.
ma-def2-SV(P) Minimally augmented def2-SV(P) basis set.
ma-def2-TZVP Minimally augmented def2-TZVP basis set.
ma-def2-TZVP(-f) Minimally augmented def2-TZVP(-f) basis set.
ma-def2-TZVPP Minimally augmented def2-TZVPP basis set.
ma-def2-QZVPP Minimally augmented def2-QZVPP basis set.
Rappoport property-optimized dif- Augmented def2 basis sets by diffuse functions according to Rappoport et
fuse def2 basis sets: al.[710, 711]
def2-SVPD Diffuse def2-SVP basis set for property calculations
def2-TZVPD Diffuse def2-TZVP basis set for property calculations
def2-TZVPPD Diffuse def2-TZVPP basis set for property calculations
def2-QZVPD Diffuse def2-QZVP basis set for property calculations
def2-QZVPPD Diffuse def2-QZVPP basis set for property calculations
The same functionality is offered for the “def” basis sets, e.g. “ZORA-TZVP”. In this case too, the relativistically
recontracted versions refer to the elements H-Kr. To replicate the behavior of past ORCA versions for elements
Rb-I, the prefix “old-” can be used with these keywords as in the non-relativistic case.
. Warning
Previous verions of ORCA made extensive use of automatic basis set substitution and aliasing when the use of
the DKH or ZORA Hamiltonians was detected. This is no longer the case! Relativistic versions of Karlsruhe
basis sets now have to be requested explicitly with the appropriate prefix. SARC basis sets also have to be
requested explicitly
All-electron Karlsruhe basis sets up to Rn for the exact two-component (X2C) Hamiltonian.[690] The “-s” variants,
e.g. “def2-TZVPall-s”, are augmented with additional tight functions for NMR shielding calculations.[275] The
“-2c” variants, e.g. “def2-TZVPall-2c”, are intended for two-component calculations including spin-orbit coupling
(Note that two-component calculations are not implemented in ORCA).
SARC-DKH-TZVP
SARC-DKH-TZVPP
SARC-ZORA-TZVP
SARC-ZORA-TZVPP
ò Note
SARC/J is the general-purpose Coulomb-fitting auxiliary for all SARC orbital basis sets.
SARC2-DKH-QZVP
SARC2-ZORA-QZVP
ò Note
Can be called without the polarization functions using . . . -QZV. Each basis set has a large dedicated /JK aux-
iliary basis set for simultaneous Coulomb and exchange fitting.
HGBS-𝑚 (𝑚 = 5, 7, 9) Lehtolas hydrogenic Gaussian basis sets optimized to the energy threshold
𝑚 (H-Og)
HGBSP𝑛-𝑚 (𝑛 = 1, 2, 3; 𝑚 = 5, 7, 9) Variants with 𝑛 polarization shells
Augmented versions:
cc-pV𝑛Z-DK (𝑛 = D, T, Q, 5) Correlation-consistent all-electron basis sets for use with the 2nd-
order Douglas-Kroll-Hess Hamiltonian
aug-cc-pV𝑛Z-DK (𝑛 = D, T, Q, 5) as above, augmented with diffuse functions
cc-pwCV𝑛Z-DK (𝑛 = D, T, Q, 5) DK versions of weighted core correlation-consistent basis sets
aug-cc-pwCV𝑛Z-DK (𝑛 = D, T, Q, 5) weighted-core DK basis sets with diffuse functions
cc-pV𝑛Z-DK3 (𝑛 = D, T, Q) Correlation-consistent all-electron basis sets for lanthanides and
actinides with the 3rd-order Douglas-Kroll-Hess Hamiltonian
cc-pwCV𝑛Z-DK3 (𝑛 = D, T, Q) DK versions of weighted core correlation-consistent basis sets for
lanthanides and actinides
cc-pV𝑛Z-F12 (𝑛 = D, T, Q) Special orbital basis sets for F12 calculations (larger than the
regular D, T, Q-zeta basis sets!)
cc-pCV𝑛Z-F12 (𝑛 = D, T, Q) with core polarization functions
cc-pV𝑛Z-PP-F12 (𝑛 = D, T, Q) ECP-based versions
cc-pV𝑛Z-F12-CABS (𝑛 = D, T, Q) Near-complete auxiliary basis sets for F12 calculations
cc-pV𝑛Z-F12-OptRI (𝑛 = D, T, Q) identical to the cc-pV𝑛Z-F12-CABS basis above
cc-pCV𝑛Z-F12-OptRI (𝑛 = D, T, Q)
cc-pV𝑛Z-PP-F12-OptRI (𝑛 = D, T, Q)
aug-cc-pV𝑛Z-PP-OptRI (𝑛 = D, T, Q, 5)
aug-cc-pwCV𝑛Z-PP-OptRI (𝑛 = D, T, Q, 5)
ANO-pV𝑛Z (𝑛 = D, T, Q, 5, 6). Our newly contracted ANO basis sets on the basis of the cc-pV6Z (or
pc-4 where missing) primitives. These are very accurate basis sets that are significantly
better than the cc-pV𝑛Z counterparts for the same number of basis functions (but much
larger number of primitives of course).
saug-ANO-pV𝑛Z (𝑛 = D, T, Q, 5) augmentation with a single set of sp functions. Greatly enhances the
accuracy of the SCF energies but not for correlation energies.
aug-ANO-pV𝑛Z (𝑛 = D, T, Q, 5) full augmentation with spd, spdf, spdfg set of polarization functions.
Almost as expensive as the next higher basis set. In fact, aug-ANO-pV𝑛Z = ANO-
pV(𝑛 + 1)Z with the highest angular momentum polarization function deleted.
ANO-RCC-FULL The complete ANO-RCC basis sets (H-Cm). Some default contractions are provided for
convenience with the keywords:
ANO-RCC-DZP
ANO-RCC-TZP
ANO-RCC-QZP
EPR-II Barone’s basis set (H, B–F) for EPR calculations (double-zeta).
EPR-III Barone’s basis set for EPR calculations (triple-zeta).
IGLO-II Kutzelnigg’s basis set (H, B-F, Al–Cl) for NMR and EPR calculations.
IGLO-III Larger version of the above.
aug-cc-pVTZ-J Sauer’s basis set for accurate hyperfine coupling constants.
Def/J Weigend’s “universal” Coulomb fitting basis that is suitable for all def type basis sets. Assumes
the use of ECPs beyond Kr (do not use with DKH/ZORA).
Def2/J Weigend’s “universal” Coulomb fitting basis that is suitable for all def2 type basis sets. As-
sumes the use of ECPs beyond Kr (do not use with DKH/ZORA).
SARC/J General-purpose Coulomb fitting basis set for all-electron calculations. Consists of the decon-
tracted def2/J up to Kr and of our own auxiliary basis sets for the rest of the periodic table.
Appropriate for use in DKH or ZORA calculations with the recontracted versions of the all-
electron def2 basis sets (up to Kr) and the SARC basis sets for the heavier elements.
x2c/J Weigend’s Coulomb fitting basis for the all-electron x2c-XVPall basis sets.
ò Note
ORCA versions before 4.0 allowed the use of multiple keywords to invoke the same def2 Coulomb or
Coulomb+exchange fitting basis set of Weigend. To avoid confusion all these keywords are now deprecated
and the auxiliary basis sets are simply called using “def2/J” and “def2/JK”.
ò Note
Starting from version 4.1 ORCA internally stores up to five basis sets for each calculation: the obligatory or-
bital basis set; an AuxJ Coulomb-fitting basis for the RI-J, RIJDX/RIJONX, and RIJCOSX approximations; an
AuxJK Coulomb- and exchange-fitting basis used for RIJK; an AuxC auxiliary basis for the RI approximation
in dynamical electron correlation treatments (such as RI-MP2, RI-CCSD, and DLPNO methods); and a com-
plementary auxiliary basis set (CABS) for F12 methods. “/J” basis sets given in the simple input are assigned
to AuxJ and likewise for the other types. Non-standard assignments like AuxJ="def2/JK" are possible only
through the %basis block input (see section Built-in Basis Sets).
If an auxiliary basis set is required for these recontracted Karlsruhe basis sets, we recommend the use of the
decontracted def2/J. This can be obtained simply by using the keyword “! SARC/J” (instead of the equivalent “!
def2/J DecontractAuxJ”) and is the recommended option as it simultaneously covers the use of SARC basis
sets for elements beyond Krypton.
For all-electron calculations with elements heavier than Krypton we offer the SARC (segmented all-electron rel-
ativistically contracted) basis sets [62, 641, 642, 643, 644, 729]. These were specifically developed for scalar
relativistic calculations and are individually adapted to the DKH2 and ZORA Hamiltonians. In this case the
Coulomb-fitting auxiliary basis set must be specified as SARC/J, or alternatively the AutoAux keyword (Auto-
matic generation of auxiliary basis sets) can be employed to create auxiliary basis sets.
Specifically for wavefunction-based calculations of lanthanide systems we recommend the more heavily polarized
SARC2 basis sets [52].
Other basis sets suitable for scalar relativistic calculations are various versions of the all-electron correlation-
consistent basis sets that are optimized for the DKH2 Hamiltonian and can be called with the suffix “-DK”. The
relativistically contracted atomic natural orbital (ANO-RCC) basis sets of Roos and coworkers were also developed
for the DKH2 Hamiltonian and have almost complete coverage of the periodic table (up to Cm).
For calculations with the X2C Hamiltonian, all-electron basis sets with the prefix “x2c-” (e.g. x2c-TZVPall)
developed by Weigend and coworkers are available.[275, 690] The matching AuxJ basis set is “x2c/J” and AutoAux
can be used as well.
Table 4.3: Overview of library keywords for ECPs and associated basis sets available in ORCA.
ECP keyword Core sizePage 45, 1 Elements Valence basis sets
Recommended
continues on next page
ò Note
Some basis sets assign an ECP by default when requested through the simple input (but not through the %basis
block): for example, “def2” basis sets use the def2-ECP. For others, see the footnotes under Table 7.10.
The simplest way to assign ECPs is by using the ECP keyword within the keyword line, although input through
the %basis block is also possible (Advanced Specification of Effective Core Potentials). The ECP keyword itself
assigns only the effective core potential, not a valence basis set! As an example for an explicitly named ECP you
could use
! def2-TZVP def2-SD
This would assign the def2-SD ECP according to the definition given in the table above. Without the def2-SD
keyword ORCA would default to def2-ECP.
applications (see Section Details on the numerical integration grids for details). The last is a heavier, higher-quality
grid, that is close to the limit if one considers an enormous grid as a reference.
In order to change from the default DEFGRID2, one just needs to add !DEFGRID1 or !DEFGRID3 to the main
input.
It is also important to note that the COSX approximation is now the default for DFT, whenever HFexchange is
neede. This can always be turned off by using !NOCOSX.
! def2-TZVP UKS
%method
functional BP86
correlation C_LYP
SpecialGridAtoms[1] 26, 27
SpecialGridIntacc 8, 8, 8
SpecialGridAtoms 28, 29
end
! PBE def2-SVP RKS
Using the rules above, one can figure out why it is equivalent to this one:
A great method to obtain a structure with perfect symmetry avoiding any expensive calculation is to use the simple
keywords ! NoIter XYZFile with an appropriate threshold. The structure in the resulting file with the extension
.xyz may then be used as input for the actual calculation.
To give an illustrative example, coordinates for staggered ethane have been obtained by geometry optimization
without using symmetry. If symmetry is turned on, point group 𝐶𝑖 is recognized instead of the expected point
group 𝐷3𝑑 due to the remaining numerical noise. To counter this, the detection threshold is increased to 10−2 a.
u. and a coordinate file with perfect symmetry is produced by the following input:
If ORCA fails to find the expected point group even though a value of 10−2 atomic units has been selected for
SymThresh, the user is strongly advised to take a careful look at the structure by means of their favorite visualization
tool before increasing this value any further. Look for any obvious distortions or even missing atoms. An especially
tricky point may be the orientation of methyl groups or the conformation of floppy side chains. A small rotation
about a single bond may be enough to push some atom positions above the limit. If the conformational deviations
cannot be fixed using a molecular editor or modelling program, a possible alternative may be to pre-optimize
the structure without symmetry using a less expensive method like PB86 and a small basis set like def2-SVP.
Even several passes of pre-optimization and structure editing may be considered until all symmetry-equivalent
side chains are locked in the same conformation so that ORCA finally detects the correct point group.
It is not recommended to run calculations using a value of SymThresh which is much too high or much too small
since this may result in some really strange behavior of the symmetry module. Consider for instance the following
input file which contains a perfectly octahedral geometry of a sulfur hexafluoride molecule. Its coordinates may be
easily created by hand by placing the sulfur atom into the origin and two fluorine atoms on each coordinate axis at
equal distances 𝑟 from the origin (𝑟 = 1.56 Å or approximately 2.95 atomic units). Using a value for SymThresh
as large as 0.1 Bohr radii works fine in this case, resulting in the correct point group Oℎ .
However, if SymThresh is increased further to 𝑡 = 0.5 atomic units, the point group detection algorithm breaks
down (strange warnings are printed as a consequence) and the reported point group decreases to C𝑖 (in which the
center of inversion is the only non-trivial symmetry element). This is because the center of inversion is easy to
detect and this is done by one of the early checks. The breakdown of the point group recognition may be explained
as follows. During the process of point group detection the symmetry module is of course unaware that the given
input geometry is exact. Hence it will be treated as any other input structure. A value of 𝑡 = 0.5 Bohr radii for
SymThresh means that the unknown exact atom position √ is located within a sphere of radius 𝑡 = 0.5 atomic units
around the input atom position. The input distance 𝑎 = 2 𝑟 between two adjacent fluorine atoms is approximately
𝑎 ≈ 2.21 Å ≈ 4.17 a. u., so their unknown exact distance 𝑑 may vary in the following interval (see the diagram in
Fig. 4.1):
Analogously, the unknown exact distance 𝑑′ between two opposite fluorine atoms with the input distance 𝑎′ =
2𝑟 = 5.90 a. u. is:
Since the possible intervals of 𝑑 and 𝑑′ overlap (due to 𝑑max > 𝑑′min ), all fifteen F–F distances are considered
equal. Since there is no solid with six vertices and fifteen equal inter-vertex distances in three dimensions, the
point group detection algorithm fails.
Fig. 4.1: The relation between the value 𝑡 of SymThresh, the distance 𝑎 of some input atom pair, and the allowed
interval [𝑑min , 𝑑max ] for the distance 𝑑 between the exact atom positions. This interval has the width 𝑑max −𝑑min =
4𝑡.
Setting both switches false would allow the point group to change during the optimization but at the same time,
a change would be impossible to detect. Therefore this setting is strongly discouraged.
4.6.3 Default alignment of the symmetry elements with the coordinate system
If ORCA determines the point group of a molecule and the user has not selected any special options, the follow-
ing principles apply to the manner in which the symmetry elements of the full point group are aligned with the
coordinate system:
1. The center of mass of the molecule will be shifted into the origin by default.5 If the point group leaves one
unique vertex invariant to all symmetry operations, the center of mass agrees with this vertex. This is the
case for all point groups except 𝐶𝑠 , 𝐶𝑛 (𝑛 ≥ 1), 𝐶𝑛𝑣 (𝑛 ≥ 2), and 𝐶∞𝑣 .
2. If the molecule exhibits a unique axis of symmetry with the highest number of positions, this axis will become
the 𝑧 axis. This applies to all point groups except 𝐶1 , 𝐶𝑖 , 𝐶𝑠 , 𝐷2 , 𝐷2ℎ , the cubic point groups, and 𝐾ℎ .
3. For point group 𝐶𝑠 , the mirror plane will become the 𝑥𝑦 plane.
4. For point groups 𝐶𝑛𝑣 (𝑛 ≥ 2), one of the vertical mirror planes will become the 𝑥𝑧 plane.
5. For point groups 𝐷𝑛 (𝑛 ≥ 3), 𝐷𝑛ℎ (𝑛 ≥ 3), and 𝐷𝑛𝑑 (𝑛 ≥ 2), one of the two-fold rotation axes perpendic-
ular to the axis with the highest number of positions will become the 𝑥 axis.
6. For point groups 𝐷2 , 𝐷2ℎ , 𝑇 , and 𝑇ℎ , the three mutually orthogonal 𝐶2 axes will become the coordinate
axes.
7. For point groups 𝑇𝑑 , 𝑂, and 𝑂ℎ , the three mutually orthogonal four-fold rotation or rotation-reflection axes
will become the coordinate axes.
8. Finally, for point groups 𝐼 and 𝐼ℎ , one of the five sets of three mutually orthogonal 𝐶2 axes will become the
coordinate axes. The pair of 𝐶5 or 𝑆10 axes closest to the 𝑧 axis will be located in the 𝑦𝑧 plane.
9. In general the orientation of the molecule will be changed as little as possible to meet the criteria above. If
the input geometry meets these criteria already, the molecule will not be moved or rotated at all.
If the point group of the system is 𝐷𝑛𝑑 with 𝑛 ≥ 2 or 𝑇𝑑 and the user has selected subgroup 𝐶2𝑣 using option
PreferC2v, the following rules apply instead:
• For point group 𝐷𝑛𝑑 with 𝑛 ≥ 2, one of the diagonal mirror planes will become the 𝑥𝑧 plane.
• For point group 𝑇𝑑 , one of the diagonal mirror planes containing the 𝑧 axis will become the 𝑥𝑧 plane, i. e.
the molecule will be rotated by 45 degrees about the 𝑧 axis compared to the default orientation.
Table 4.4 gives an overview over all point groups and the way in which the symmetry elements of the reduced point
group (the largest common subgroup of 𝐷2ℎ ) are aligned with the coordinate system.
Table 4.4: Point groups and corresponding subgroups suitable for electronic-structure calculations.
Full Index Unique Consistent Chosen Alignment
point 𝑛 centerPage 51, 6 with planar subgroup of the
group moleculePage 51, 7 subgroupPage 51, 8
𝐶1 no no 𝐶1
𝐶𝑖 𝑖 no 𝐶𝑖
𝐶𝑠 no yes 𝐶𝑠
𝐶𝑛 odd no no 𝐶1
even no no 𝐶2 𝑧 axis
𝐶𝑛𝑣 odd no no 𝐶𝑠 𝑥𝑧 plane
even no for 𝑛 = 2 𝐶2𝑣 𝑧, 𝑥𝑧, 𝑦𝑧
𝐶𝑛ℎ odd yes yes 𝐶𝑠 𝑥𝑦 plane
even 𝑖 yes 𝐶2ℎ 𝑧, 𝑥𝑦
𝐷𝑛 odd yes no 𝐶2 𝑥 axis
even yes no 𝐷2
𝐷𝑛ℎ odd yes yes 𝐶2𝑣 𝑥, 𝑥𝑦, 𝑥𝑧
even 𝑖 yes 𝐷2ℎ
𝐷𝑛𝑑 odd 𝑖 no 𝐶2ℎ 𝑥, 𝑦𝑧
continues on next page
5 In the very special case that the Z matrix contains no atoms with mass, the geometric center will be used instead.
Table 4.5: Species and species product table of point group 𝐶2𝑣 . The species table for 𝐶2𝑣 corresponds to Table
III in [600]. The directions of the two-fold axis and the mirror planes in each column are related to each other by
cyclic permutations.
𝐶2 (𝑧) 𝜎𝑣 (𝑥𝑧) 𝜎𝑣 (𝑦𝑧)
𝐶2𝑣 𝐸 𝐶2 (𝑥) 𝜎𝑣 (𝑥𝑦) 𝜎𝑣 (𝑥𝑧)
𝐶2 (𝑦) 𝜎𝑣 (𝑦𝑧) 𝜎𝑣 (𝑥𝑦) × 𝐴1 𝐴2 𝐵1 𝐵2
𝐴1 +1 +1 +1 +1 𝐴1 𝐴1 𝐴2 𝐵1 𝐵2
𝐴2 +1 +1 −1 −1 𝐴2 𝐴2 𝐴1 𝐵2 𝐵1
𝐵1 +1 −1 +1 −1 𝐵1 𝐵1 𝐵2 𝐴1 𝐴2
𝐵2 +1 −1 −1 +1 𝐵2 𝐵2 𝐵1 𝐴2 𝐴1
Table 4.6: Species and species product table of point group 𝐷2 . The species table for 𝐷2 has been obtained by
dropping the center of inversion and the mirror planes from the species table for 𝐷2ℎ (see Table 4.7).
𝐷2 𝐸 𝐶2 (𝑧) 𝐶2 (𝑦) 𝐶2 (𝑥) × 𝐴 𝐵1 𝐵2 𝐵3
𝐴 +1 +1 +1 +1 𝐴 𝐴 𝐵1 𝐵2 𝐵3
𝐵1 +1 +1 −1 −1 𝐵1 𝐵1 𝐴 𝐵3 𝐵2
𝐵2 +1 −1 +1 −1 𝐵2 𝐵2 𝐵3 𝐴 𝐵1
𝐵3 +1 −1 −1 +1 𝐵3 𝐵3 𝐵2 𝐵1 𝐴
6 A center of inversion is denoted 𝑖. “yes” indicates the existence of a unique vertex that remains invariant to all symmetry operations of
point group (the largest common subgroup of the full point group and 𝐷2ℎ ) by default. If the full point group contains a unique principle axis
of symmetry (with the highest number of positions), this axis is presumed to coincide with the 𝑧 axis.
Table 4.7: Species and species product table of point group 𝐷2ℎ . The species table for 𝐷2ℎ corresponds to Table
IV in [600].
𝐷2ℎ 𝐸 𝐶2 (𝑧) 𝐶2 (𝑦) 𝐶2 (𝑥) 𝑖 𝜎(𝑥𝑦) 𝜎(𝑥𝑧) 𝜎(𝑦𝑧)
𝐴𝑔 +1 +1 +1 +1 +1 +1 +1 +1
𝐵1𝑔 +1 +1 −1 −1 +1 +1 −1 −1
𝐵2𝑔 +1 −1 +1 −1 +1 −1 +1 −1
𝐵3𝑔 +1 −1 −1 +1 +1 −1 −1 +1
𝐴𝑢 +1 +1 +1 +1 −1 −1 −1 −1
𝐵1𝑢 +1 +1 −1 −1 −1 −1 +1 +1
𝐵2𝑢 +1 −1 +1 −1 −1 +1 −1 +1
𝐵3𝑢 +1 −1 −1 +1 −1 +1 +1 −1
× 𝐴𝑔 𝐵1𝑔 𝐵2𝑔 𝐵3𝑔 𝐴𝑢 𝐵1𝑢 𝐵2𝑢 𝐵3𝑢
𝐴𝑔 𝐴𝑔 𝐵1𝑔 𝐵2𝑔 𝐵3𝑔 𝐴𝑢 𝐵1𝑢 𝐵2𝑢 𝐵3𝑢
𝐵1𝑔 𝐵1𝑔 𝐴𝑔 𝐵3𝑔 𝐵2𝑔 𝐵1𝑢 𝐴𝑢 𝐵3𝑢 𝐵2𝑢
𝐵2𝑔 𝐵2𝑔 𝐵3𝑔 𝐴𝑔 𝐵1𝑔 𝐵2𝑢 𝐵3𝑢 𝐴𝑢 𝐵1𝑢
𝐵3𝑔 𝐵3𝑔 𝐵2𝑔 𝐵1𝑔 𝐴𝑔 𝐵3𝑢 𝐵2𝑢 𝐵1𝑢 𝐴𝑢
𝐴𝑢 𝐴𝑢 𝐵1𝑢 𝐵2𝑢 𝐵3𝑢 𝐴𝑔 𝐵1𝑔 𝐵2𝑔 𝐵3𝑔
𝐵1𝑢 𝐵1𝑢 𝐴𝑢 𝐵3𝑢 𝐵2𝑢 𝐵1𝑔 𝐴𝑔 𝐵3𝑔 𝐵2𝑢
𝐵2𝑢 𝐵2𝑢 𝐵3𝑢 𝐴𝑢 𝐵1𝑢 𝐵2𝑔 𝐵3𝑔 𝐴𝑔 𝐵1𝑢
𝐵3𝑢 𝐵3𝑢 𝐵2𝑢 𝐵1𝑢 𝐴𝑢 𝐵3𝑔 𝐵2𝑔 𝐵1𝑔 𝐴𝑔
* int 0 2
B 0 0 0 0 0 0
O 1 0 0 1.2049 0 0
*
# *************************************************
# ****** This starts the input for the next job *
# *************************************************
$new_job
# --------------------------------------------------
! BP86 DEF2-SVP SmallPrint ReadInts NoKeepInts
# --------------------------------------------------
%eprnmr gtensor 1 end
(continues on next page)
* int 0 2
B 0 0 0 0 0 0
O 1 0 0 1.2049 0 0
*
What happens if you use the $new_job feature is that all calculation flags for the actual job are transferred from
the previous job and that only the changes in the settings must be input by the user. Thus if you turn on some flags
for one calculation that you do not want for the next, you have to turn them off again yourself (for example the use
of the RI approximation)! In addition, the default is that the new job takes the orbitals from the old job as input. If
you do not want this you have to overwrite this default by specifying your desired guess explicitly.
%base "job1"
FIVE
INPUT OF COORDINATES
Coordinates can be either specified directly in the input file or read from an external file, and they can be in either
Cartesian (“xyz”) or internal coordinate format (“Z-matrix”).
Here CType can be one of xyz, int (or internal), or gzmt, which correspond to Cartesian coordinates, internal
coordinates, and internal coordinates in Gaussian Z-matrix format.
The input of Cartesian coordinates in the “xyz” option is straightforward. Each line consists of the label for a given
atom type and three numbers that specify the coordinates of the atom. The units can be either Ångström or Bohr.
The default is to specify the coordinates in Ångströms (this can be changed through the keyword line or via the
variable Units in the %coords main block described below).
* xyz 1 2
C 0.0 0.0 0.0
O 0.0 0.0 1.1105
*
Internal coordinates are specified in the form of the familiar “Z-matrix”. A Z-matrix basically contains informa-
tion about molecular connectivity, bond lengths, bond angles and dihedral angles. The program then constructs
Cartesian coordinates from this information. Both sets of coordinates are printed in the output such that conversion
between formats is facilitated. The input in that case looks like:
55
ORCA Manual, Release 6.0
* gzmt 0 1
C
O 1 4.454280
Si 2 1.612138 1 56.446186
O 3 1.652560 2 114.631525 1 -73.696925
C 4 1.367361 3 123.895399 2 -110.635060
...
*
An alternative way to specify coordinates in the input file is through the use of the %coords block, which is
organized as follows:
%coords
CTyp xyz # the type of coordinates = xyz or internal
Charge 0 # the total charge of the molecule
Mult 2 # the multiplicity = 2S+1
Units Angs # the unit of length = angs or bohrs
For example:
* xyzfile 1 2 mycoords.xyz
A lot of graphical tools like Gabedit, molden or Jmol can write Gaussian Z-Matrices (.gzmt). ORCA can also
read them from an external file with the following
* gzmtfile 1 2 mycoords.gzmt
Note that if multiple jobs are specified in the same input file then new jobs can read the coordinates from previous
jobs. If no filename is given as fourth argument then the name of the actual job is automatically used.
$new_job
! keywords
* xyzfile 1 2
In this way, optimization and single point jobs can be very conveniently combined in a single, simple input file.
Examples are provided in the following sections.
ò Note
• Fragments can be conveniently defined by declaring the fragment number a given atom belongs to in paren-
theses “(n)” following the element symbol (see Fragment Specification).
• Frozen coordinates, which are not changed during optimizations in Cartesian coordinates, are defined with
a “$” symbol after the X, Y, and/or Z coordinate value (cf. constraints on all 3 Cartesian components Con-
strained Optimizations).
SIX
Before entering the detailed documentation of the various features of ORCA it is instructive to provide a chapter that
shows how “typical” tasks may be performed. This should make it easier for the user to get started on the program
and not get lost in the details of how-to-do-this or how-to-do-that. We hope that the examples are reasonably
intuitive.
#
# My first ORCA calculation :-)
#
! HF DEF2-SVP
* xyz 0 1
C 0 0 0
O 0 0 1.13
*
As an example consider this simple calculation on the cyclohexane molecule that may serve as a prototype for this
type of calculation.
59
ORCA Manual, Release 6.0
# CuCl$_4$
! HF
%basis basis "SV"
newGTO Cl "DUNNING-DZP" end
end
* xyz -2 2
Cu 0 0 0 newGTO "TZVPP" end
Cl 2.25 0 0
Cl -2.25 0 0
Cl 0 2.25 0
Cl 0 -2.25 0
*
In this example the basis set is initialized as the Ahlrichs split valence basis. Then the basis set on all atoms of type
Cl is changed to SVP and finally the basis set for only the copper atom is changed to the more accurate TZVPP set.
In this way you could treat different atom types or even individual groups in a molecule according to the desired
accuracy. Similar functionality regarding per-element or per-atom assignments exists for effective core potentials.
More details are provided in section Choice of Basis Set.
Sometimes you will like to change the ordering of the starting orbitals to obtain a different electronic state in the
SCF calculation. For example, if we take the last input and want to converge to a ligand field excited state this can
be achieved by:
! HF SV
%basis newGTO Cl "Dunning-DZP" end
end
%scf rotate {48, 49, 90, 1, 1} end
end
* xyz -2 2
Cu 0 0 0 newGTO "TZVPP" end
Cl 2.25 0 0
Cl -2.25 0 0
Cl 0 2.25 0
Cl 0 -2.25 0
*
In the present case, MO 48 is the spin-down HOMO and MO49 the spin-down LUMO. Since we do a calculation
on a Cu(II) complex (d9 electron configuration) the beta LUMO corresponds with the “SOMO”. Thus, by changing
the SOMO we proceed to a different electronic state (in this case the one with the “hole” in the “d𝑥𝑦 ” orbital instead
of the “d𝑥2 −𝑦2 ” orbital). The interchange of the initial guess MOs is achieved by the command rotate {48, 49,
90, 1, 1} end. What this does is the following: take the initial guess MOs 48 and 49 and rotate them by an angle
of 90 degree (this just interchanges them). The two last numbers mean that both orbitals are from the spin-down
set. For RHF or ROHF calculations the operator would be 0. In general you would probably first take a look at the
initial guess orbitals before changing them.
! SVP UseSym
* xyz 1 2
O 0.000000 0.000000 0.068897
H 0.000000 0.788011 -0.546765
H 0.000000 -0.788011 -0.546765
*
The program will recognize the C2𝑣 symmetry and adapt the orbitals to this:
------------------
SYMMETRY DETECTION
------------------
The point group will now be determined using a tolerance of 1.0000e-04.
Splitting atom subsets according to nuclear charge, mass and basis set.
Splitting atom subsets according to distance from the molecule's center.
Identifying relative distance patterns of the atoms.
Splitting atom subsets according to atoms' relative distance patterns.
Bring atoms of each subset into input order.
The molecule is planar.
There is at least one atom subset not centered around the molecule's center.
The molecule does not have a center of inversion.
Analyzing the first atom subset for its symmetry.
Testing point group C2v.
Success!
This point group has been found: C2v
Largest non-degenerate subgroup: C2v
------------------
SYMMETRY REDUCTION
------------------
ORCA supports only abelian point groups.
It is now checked, if the determined point group is supported:
Point Group ( C2v ) is ... supported
----------------------
ASYMMETRIC UNIT IN C2v
----------------------
\# AT MASS COORDS (A.U.) BAS
0 O 15.9990 0.00000000 0.00000000 0.13019595 0
1 H 1.0080 0.00000000 1.48912498 -1.03323662 0
----------------------
SYMMETRY ADAPTED BASIS
----------------------
The coefficients for the symmetry adapted linear combinations (SALCS)
of basis functions will now be computed:
(continues on next page)
The initial guess in the SCF program will then recognize and freeze the occupation numbers in each irreducible
representation of the C2𝑣 point group.
The symmetry of the initial guess is 2-B1
Irrep occupations for operator 0
A1 - 3
A2 - 0
B1 - 1
B2 - 1
Irrep occupations for operator 1
A1 - 3
A2 - 0
B1 - 0
B2 - 1
Suppose now that we want to converge on an excited state formed by flipping the spin-beta HOMO and LUMO
that have different symmetries.
! SVP UseSym
! moread
%moinp "Test-SYM-H2O+.gbw"
(continues on next page)
Which is obviously an excited state of the H2 O+ molecule. In this situation (and in many others) it is an advantage
to have symmetry adapted orbitals.
SymRelax. Sometimes, one may want to obtain the ground state of a system but due to a particularly bad initial
guess, the calculation converges to an excited state. In such cases, the following option can be used:
This will allow the occupation numbers in each irreducible representation to change if and only if a virtual orbital
has a lower energy than an occupied one. Hence, nothing will change for the excited state of H2 O+ discussed
above. However, the following calculation
! SVP UseSym
! moread
%moinp "Test-SYM-H2O+.gbw"
%scf rotate {3,13,90,1,1}
end
end
* xyz 1 2
O 0.000000 0.000000 0.068897
H 0.000000 0.788011 -0.546765
H 0.000000 -0.788011 -0.546765
*
ORCA will finish execution after having printed the estimated amount of memory needed.
If you want to run the calculation (if doable), and only are interested in the estimated memory consumption, you
can ask for the printing via
%scf Print[P_SCFMemInfo] 1
end
ò Note
The estimation is given per process. If you want to run a parallel job, you will need the estimated memory ×
number of parallel processes.
6.1.2 MP2
MP2 and RI-MP2 Energies
You can do conventional or integral direct MP2 calculations for RHF, UHF or high-spin ROHF reference wave-
functions. MP3 functionality is not implemented as part of the MP2 module, but can be accessed through the
MDCI module. Analytic gradients are available for RHF and UHF. The analytic MP2-Hessians have been depre-
cated with ORCA-6.0. The frozen core approximation is used by default. For RI-MP2 the ⟨𝑆ˆ2 ⟩ expectation value
is computed in the unrestricted case according to [531]. An extensive coverage of MP2 exists in the literature.[96,
187, 258, 359, 370, 450, 473, 495, 576, 694, 737, 840, 882, 883]
ò Note
There are two algorithms for MP2 calculations without the RI approximation. The first one uses main memory
as much as possible. The second one uses more disk space and is usually faster (in particular, if you run the
calculations in single precision using ! FLOAT, UCFLOAT or CFLOAT). The memory algorithm is used by
specifying Q1Opt >0 in the %mp2 block whereas the disk based algorithm is the default or specified by Q1Opt
= -1. Gradients are presently only available for the memory based algorithm.
The RI approximation to MP2[96, 258, 882, 883] is fairly easy to use, too. It results in a tremendous speedup of
the calculation, while errors in energy differences are very small. For example, consider the same calculation as
before:
Generally, the RI approximation can be switched on by setting RI true in the %mp2 block. Specification of an
appropriate auxiliary basis set (“/C”) for correlated calculations is required. Note that if the RIJCOSX method
(section Hartree–Fock and Hybrid DFT Calculations with RIJCOSX) or the RI-JK method (section Hartree–Fock
and Hybrid DFT Calculations with RI-JK) is used to accelerate the SCF calculation, then two basis sets should be
specified: firstly the appropriate Coulomb (“/J”) or exchange fitting set (“/JK”), and secondly the correlation fitting
set (“/C”), as shown in the example below.
The MP2 module can also do Grimme’s spin-component scaled MP2 [318]. It is a semi-empirical modification
of MP2 which applies different scaling factors to same-spin and opposite-spin components of the MP2 energy.
Typically it gives fairly bit better results than MP2 itself.
#
# Spin-component scaled MP2 example
#
! SCS-MP2 def2-TZVPP TightSCF
%paras rCO = 1.20
(continues on next page)
Energy differences with SCS-MP2 appear to be much better than with MP2 itself according to Grimme’s de-
tailed evaluation study. For the sake of efficiency, it is beneficial to make use of the RI approximation using the
RI-SCS-MP2 keyword. The opposite-spin and same-spin scaling factors can be modified using PS and PT in the
%mp2 block, respectively. By default, PS = 6/5 and PT = 1/3.
NOTE
• In very large RI-MP2 runs you can cut down the amount of main memory used by a factor of two if you use
the keyword ! FLOAT. This is more important in gradient runs than in single point runs. Deviations from
double precision values for energies and gradients should be in the 𝜇Eh and sub-𝜇Eh range. However, we
have met cases where this option introduced a large and unacceptable error, in particular in transition metal
calculations. You are therefore advised to be careful and check things out beforehand.
A word of caution is due regarding MP2 calculations with a linearly dependent basis. This can happen, for example,
with very diffuse basis sets (see Linear Dependence for more information). If some vectors were removed from
the basis in the SCF procedure, those redundant vectors are still present as “virtual” functions with a zero orbital
energy in the MP2 calculation. When the number of redundant vectors is small, this is often not critical (and when
their number is large, one should probably use a different basis). However, it is better to avoid linearly dependent
basis sets in MP2 calculations whenever possible. Moreover, in such a situation the orbitals should not be read
with the MORead and NoIter keywords, as that is going to produce wrong results!
More information and the different options can be found in section Frozen Core Options
Since every iteration of the OO-MP2 method is as expensive as a RI-MP2 relaxed density calculation, the compu-
tational cost is much higher than for RI-MP2 itself. One should estimate about a factor of 10 increase in computa-
tional time with respect to the RI-MP2 time of a normal calculation. This may still be feasible for calculations in
the range of 1000–2000 basis functions (the upper limit, however, implies very significant computational costs). A
full assessment of the orbital optimized MP2 method has been published.[621]
OO-RI-MP2 is triggered either with ! OO-RI-MP2 or ! OO-RI-SCS-MP2 (with spin component scaling) in the
simple input line or by OrbOpt true in the %mp2 block. The method comes with the following new variables:
The solver is a simple DIIS type scheme with additional level shifting. We have found that it is not really beneficial
to first converge the Hartree-Fock equations. Thus it is sensible to additionally use the keyword ! noiter in order
to turn off the standard Hartree-Fock SCF process before entering the orbital optimizations.
The OO-RI-MP2 method is implemented for RHF and UHF reference wavefunctions. Analytic gradients are avail-
able.
The density does not need to be requested separately in OO-RI-MP2 calculations because it is automatically calcu-
lated. Also, there is no distinction between relaxed and unrelaxed densities because the OO-RI-MP2 energy is fully
stationary with respect to all wavefunction parameters and hence the unrelaxed and relaxed densities coincide.
#
# MP2 optimization example
#
! SCS-MP2 def2-TZVP OPT NoFrozenCore
* int 0 1
C 0 0 0 0.00 0.0 0.00
O 1 0 0 1.20 0.0 0.00
H 1 2 0 1.09 120.0 0.00
H 1 2 3 1.09 120.0 180.00
*
---------------------------------------------------------------------------
Redundant Internal Coordinates
Just to demonstrate the accuracy of RI-MP2, here is the result with RI-SCS-MP2 instead of SCS-MP2, with the
addition of def2-TZVP/C:
---------------------------------------------------------------------------
Redundant Internal Coordinates
You see that nothing is lost in the optimized geometry through the RI approximation thanks to the efficient and
accurate RI-auxiliary basis sets of the Karlsruhe group (in general the deviations in the geometries between standard
MP2 and RI-MP2 are very small). Thus, RI-MP2 really is a substantial improvement in efficiency over standard
MP2.
Geometric gradients can be calculated with RI-MP2 in conjunction with the RIJCOSX method. They are called the
same way as with a conventional SCF wave function, for example to perform a geometry optimization with tight
convergence parameters: (Please note that you have to switch on NumFreq for the MP2-Hessian, as the analytical
(RI-)MP2-Hessians are no longer available).
#
# MP2 densities and natural orbitals
#
%mp2 Density none # no density
(continues on next page)
NMR chemical shielding as well as g-tensor calculations with GIAOs are only available for RI-MP2. The input for
NMR chemical shielding looks as follows:
Note that by default core electrons are not correlated unless the NoFrozenCore keyword is present.
For details, see sections The Second Order Many Body Pertubation Theory Module (MP2) and MP2 level magnetic
properties.
Coupled-Cluster Calculations and and Local correlation is recommended. A full description of the method for
RHF reference wave functions has been published.[685]
Since DLPNO-MP2 employs an auxiliary basis set to evaluate integrals, its energies converge systematically to
RI-MP2 as thresholds are tightened. The computational effort of DLPNO-MP2 with default settings is usually
comparable with or less than that of a Hartree-Fock calculation. However, for small and medium-sized molecules,
RI-MP2 is even faster than DLPNO-MP2.
Calculations on open-shell systems are supported through a UHF treatment. While most approximations are con-
sistent between the RHF and UHF versions, this is not true for the PNO spaces. DLPNO-MP2 gives different
energies for closed-shell molecules in the RHF and UHF formalisms. When calculating reaction energies or
other energy differences involving open-shell species, energies of closed-shell species must also be calculated
with UHF-DLPNO-MP2, and not with RHF-DLPNO-MP2. As for canonical MP2, ROHF reference wave func-
tions are subject to an ROMP2 treatment through the UHF machinery. It is not consistent with the RHF version of
DLPNO-MP2, unlike in the case of RHF-/ROHF-DLPNO-CCSD.
Input for DLPNO-MP2 requires little specification from the user:
%maxcore 2000
*xyz 0 1
... (coordinates)
*
• It may be beneficial to accelerate the Hartree-Fock calculation by means of the RIJCOSX method (requiring
specification of a second auxiliary set).
Explicit correlation has been implemented in the DLPNO-MP2-F12 methodology for RHF reference wave func-
tions.[654] The available approaches are C (keyword ! DLPNO-MP2-F12) and the somewhat more approximate
D (keyword ! DLPNO-MP2-F12/D). Approach D is generally recommended as it results in a significant speedup
while leading only to small errors relative to approach C. In addition to the MO and correlation fitting sets, a CABS
basis set is also required for both F12 approaches as shown below.
The implementation supports spin-component scaling and can be used together with double-hybrid density func-
tionals. The latter are invoked with the name of the functional preceded by “DLPNO-”. A simple geometry opti-
mization with a double-hybrid density functional is illustrated in the example below:
For smaller systems, the performance difference between DLPNO-MP2 and RI-MP2 is not particularly large, but
very substantial savings in computational time over RI-MP2 can be achieved for systems containing more than
approximately 70-80 atoms.
Since MP2 is an expensive method for geometry optimizations, it is generally a good idea to use well-optimized
starting structures (calculated, for example, with a dispersion-corrected DFT functional). Moreover, it is highly
advisable to employ accurate Grids for RIJCOSX or the exchange-correlation functional (if applicable), as the SCF
iterations account only for a fraction of the overall computational cost. If calculating calculating properties without
requesting the gradient, Density Relaxed needs to be specified in the %MP2-block.
Only the Foster-Boys localization scheme is presently supported by the derivatives implementation. The default lo-
calizer in DLPNO-MP2 is AHFB, and changing this setting is strongly discouraged, since tightly converged localized
orbitals are necessary to calculate the gradient.
Analytical second derivatives for closed-shell DLPNO-MP2 are available for the calculation of NMR shielding
and static polarizability tensors.[827] The implementation supports spin-component scaling and double-hybrid
functionals. Errors in the calculated properties are well below 0.5% when NormalPNO thresholds are used. Re-
fer to section Local MP2 Response Properties for more information about the DLPNO-MP2 second derivatives
implementation, as well as to the sections on electric (Electric Properties) and magnetic (EPR and NMR proper-
ties) properties and CP-SCF settings (CP-SCF Options). Below is an example for a simple DLPNO-MP2 NMR
shielding calculation:
! DLPNO-MP2 def2-TZVP def2-TZVP/C TightSCF NMR
# MP2 relaxed density is requested automatically
*xyz 0 1
H 0 0 0
F 0 0 0.9
*
! AOX-METHOD
# computes contributions from integrals with 3- and 4-external
# labels directly from AO integrals that are pre-stored in a
# packed format suitable for efficient processing
! AO-METHOD
# computes contributions from integrals with 3- and 4-external
# labels directly from AO integrals. Can be done for integral
# direct and conventional runs. In particular, the conventional
# calculations can be very efficient
! RI-METHOD
# selects the RI approximation for all integrals. Rarely advisable
! RI34-METHOD
# selects the RI approximation for the integrals with 3- and 4-
# external labels
#
# The module has many additional options that are documented
# later in the manual.
! RCSinglesFock
! RIJKSinglesFock
! NoRCSinglesFock
! NoRIJKSinglesFock
# Keywords to select the way the so-called singles Fock calculation
# is evaluated. The first two keywords turn on, the second two turn off
# RIJCOSX or RIJK, respectively.
ò Note
• The same FrozenCore options as for MP2 are applied in the MDCI module.
• Since ORCA 4.2, an additional term, called “4th-order doubles-triples correction” is considered in open-
shell CCSD(T). To reproduce previous results, one should use a keyword,
%mdci
Include_4thOrder_DT_in_Triples false
end
The computational effort for these methods is high — O(N6 ) for all methods and O(N7 ) if the triples correction
is to be computed (calculations based on an unrestricted determinant are roughly 3 times more expensive than
closed-shell calculations and approximately six times more expensive if triple excitations are to be calculated).
This restricts the calculations somewhat: on presently available PCs 300–400 basis functions are feasible and if
you are patient and stretch it to the limit it may be possible to go up to 500–600; if not too many electrons are
correlated maybe even up to 800–900 basis functions (when using AO-direct methods).
Tip
• For calculations on small molecules and large basis sets the MO-METHOD option is usually the most
efficient; say perhaps up to about 300 basis functions. For integral conventional runs, the AO-METHOD
may even more efficient.
• For large calculations (>300 basis functions) the AO-METHOD option is a good choice. If, however,
you use very deeply contracted basis sets such as ANOs these calculations should be run in the integral
conventional mode.
• AOX-METHOD is usually slightly less efficient than MO-METHOD or AO-METHOD.
• RI-METHOD is seldom the most efficient choice. If the integral transformation time is an issue than you
can select %mdci trafotype trafo_ri or choose RI-METHOD and then %mdci kcopt kc_ao.
• Regarding the singles Fock keywords (RCSinglesFock, etc.), the program usually decides which method
to use to evaluate the singles Fock term. For more details on the nature of this term, and options related
to its evaluation, see The singles Fock term.
To put this into perspective, consider a calculation on serine with the cc-pVDZ basis set — a basis on the lower end
of what is suitable for a highly correlated calculation. The time required to solve the equations is listed in Table
6.1. We can draw the following conclusions:
• As long as one can store the integrals and the I/O system of the computer is not the bottleneck, the most
efficient way to do coupled-cluster type calculations is usually to go via the full transformation (it scales as
O(N5 ) whereas the later steps scale as O(N6 ) and O(N7 ) respectively).
• AO-based coupled-cluster calculations are not much inferior. For larger basis sets (i.e. when the ratio of
virtual to occupied orbitals is larger), the computation times will be even more favorable for the AO based
implementation. The AO direct method uses much less disk space. However, when you use a very expensive
basis set the overhead will be larger than what is observed in this example. Hence, conventionally stored
integrals — if affordable — are a good choice.
• AOX-based calculations run at essentially the same speed as AO-based calculations. Since AOX-based cal-
culations take four times as much disk space, they are pretty much outdated and the AOX implementation is
only kept for historical reasons.
• RI-based coupled-cluster methods are significantly slower. There are some disk space savings, but the com-
putationally dominant steps are executed less efficiently.
• CCSD is at most 10% more expensive than QCISD. With the latest AO implementation the awkward coupled-
cluster terms are handled efficiently.
• CEPA is not much more than 20% faster than CCSD. In many cases CEPA results will be better than CCSD
and then it is a real saving compared to CCSD(T), which is the most rigorous.
• If triples are included practically the same comments apply for MO versus AO based implementations as in
the case of CCSD.
ORCA is quite efficient in this type of calculation, but it is also clear that the range of application of these rig-
orous methods is limited as long as one uses canonical MOs. ORCA implements novel variants of the so-called
local coupled-cluster method which can calculate large, real-life molecules in a linear scaling time. This will be
addressed in Sec. Local Coupled Pair and Coupled-Cluster Calculations.
Table 6.1: Computer times (minutes) for solving the coupled-cluster/coupled-pair equations for Serine (cc-pVDZ
basis set)
Method SCFMode Time (min)
MO-CCSD Conv 38.2
AO-CCSD Conv 47.5
AO-CCSD Direct 50.8
AOX-CCSD Conv 48.7
RI-CCSD Conv 64.3
AO-QCISD Conv 44.8
AO-CEPA/1 Conv 40.5
MO-CCSD(T) Conv 147.0
AO-CCSD(T) Conv 156.7
All of these methods are designed to cover dynamic correlation in systems where the Hartree-Fock determinant
dominates the wavefunctions. The least attractive of these methods is CISD which is not size-consistent and there-
fore practically useless. The most rigorous are CCSD(T) and QCISD(T). The former is perhaps to be preferred,
since it is more stable in difficult situations.1 One can get highly accurate results from such calculations. However,
one only gets this accuracy in conjunction with large basis sets. It is perhaps not very meaningful to perform a
CCSD(T) calculation with a double-zeta basis set (see Table 6.2). The very least basis set quality required for
meaningful results would perhaps be something like def2-TZVP(-f) or preferably def2-TZVPP (cc-pVTZ, ano-
pVTZ). For accurate results quadruple-zeta and even larger basis sets are required and at this stage the method is
restricted to rather small systems.
Let us look at the case of the potential energy surface of the N2 molecule. We study it with three different basis
sets: TZVP, TZVPP and QZVP. The input is the following:
! TZVPP CCSD(T)
%paras R= 1.05,1.13,8
end
* xyz 0 1
N 0 0 0
N 0 0 {R}
*
For even higher accuracy we would need to introduce relativistic effects and - in particular - turn the core correlation
on.2
QCISD model that only features at most a linear T1T2 term in the singles residuum. Hence, if the Hartree-Fock wavefunction is a poor starting
point but static correlation is not the main problem, CCSD is much preferred over QCISD. This is not uncommon in transition metal complexes.
2 Note that core correlation is not simply introduced by including the core orbitals in the correlation problem. In addition, special correlation
core-polarization functions are needed. They have been standardized for a few elements in the cc-pCVxZ (X=D,T,Q,5,6) basis sets.
One can see from Table 6.2 that for high accuracy - in particular for the vibrational frequency - one needs both - the
connected triple-excitations and large basis sets (the TZVP result is fortuitously good). While this is an isolated
example, the conclusion holds more generally. If one pushes it, CCSD(T) has an accuracy (for reasonably well-
behaved systems) of approximately 0.2 pm in distances, <10 cm−1 for harmonic frequencies and a few kcal/mol
for atomization energies.3 It is also astonishing how well the Ahlrichs basis sets do in these calculations — even
slightly better than the much more elaborate ANO bases.
ò Note
The quality of a given calculation is not always high because it carries the label “coupled-cluster”. Accurate
results are only obtained in conjunction with large basis sets and for systems where the HF approximation is a
good 0𝑡ℎ order starting point.
Coupled-Cluster Densities
If one is mainly accustomed to Hartree-Fock or DFT calculations, the calculation of the density matrix is more or
less a triviality and is automatically done together with the solution of the self-consistent field equations. Unfortu-
nately, this is not the case in coupled-cluster theory (and also not in MP2 theory). The underlying reason is that in
^
coupled-cluster theory, the expansion of the exponential 𝑒𝑇 in the expectation value
^ ^
⟨Ψ|𝐸𝑝𝑞 |Ψ⟩ ⟨𝑒𝑇 Ψ0 |𝐸𝑝𝑞 |𝑒𝑇 Ψ0 ⟩
𝐷𝑝𝑞 = =
⟨Ψ|Ψ⟩ ⟨𝑒𝑇^ Ψ0 |𝑒𝑇^ Ψ0 ⟩
only terminates if all possible excitation levels are exhausted, i.e., if all electrons in the reference determinant Ψ0
(typically the HF determinant) are excited from the space of occupied to the space of virtual orbitals (here 𝐷𝑝𝑞
denotes the first order density matrix, 𝐸𝑝𝑞 are the spin traced second quantized orbital replacement operators, and
𝑇ˆ is the cluster operator). Hence, the straightforward application of these equations is far too expensive. It is,
however, possible to expand the exponentials and only keep the linear term. This then defines a linearized density
which coincides with the density that one would calculate from linearized coupled-cluster theory (CEPA/0). The
difference to the CEPA/0 density is that converged coupled-cluster amplitudes are used for its evaluation. This
density is straightforward to compute and the computational effort for the evaluation is very low. Hence, this is a
density that can be easily produced in a coupled-cluster run. It is not, however, what coupled-cluster aficionados
would accept as a density.
The subject of a density in coupled-cluster theory is approached from the viewpoint of response theory. Imagine
one adds a perturbation of the form
∑︁
𝐻 (𝜆) = 𝜆 ℎ𝜆𝑝𝑞 𝐸𝑝𝑞
𝑝𝑞
to the Hamiltonian. Then it is always possible to cast the first derivative of the total energy in the form:
𝑑𝐸 ∑︁
(response) 𝜆
= 𝐷𝑝𝑞 ℎ𝑝𝑞
𝑑𝜆 𝑝𝑞
3 However, in recent years it became more evident that even CCSD(T) achieves its high apparent accuracy through error cancellations. The
full CCSDT method (triples fully included) usually performs worse than CCSD(T). The reason is that the (T) correction undershoots the effects
of the triples to some extent and thereby compensates for the neglect of connected quadruple excitations. For very high accuracy quantum
chemistry, even these must be considered. The prospects for treating chemically more relevant molecules with such methods is not particularly
bright for the foreseeable future. . .
(response)
This is a nice result. The quantity 𝐷𝑝𝑞 is the so-called response density. In the case of CC theory where
the energy is not obtained by variational optimization of an energy functional, the energy has to be replaced by a
Lagrangian reading as follows:
∑︁ ∑︁
𝐿𝐶𝐶 = ⟨Φ0 |𝐻|Φ ¯ 0⟩ + ¯ 0⟩ +
𝜆𝜂 ⟨Φ𝜂 |𝐻|Φ 𝑓𝑎𝑖 𝑧𝑎𝑖
𝜂 𝑎𝑖
Here ⟨Φ𝜂 | denotes any excited determinant (singly, doubly, triply, . . . .). There are two sets of Lagrange multipliers:
the quantities 𝑧𝑎𝑖 that guarantee that the perturbed wavefunction fulfills the Hartree-Fock conditions by making
the off-diagonal Fock matrix blocks zero and the quantities 𝜆𝜂 that guarantee that the coupled-cluster projection
equations for the amplitudes are fulfilled. If both sets of conditions are fulfilled then the coupled-cluster Lagrangian
simply evaluates to the coupled-cluster energy. The coupled-cluster Lagrangian can be made stationary with respect
to the Lagrangian multipliers 𝑧𝑎𝑖 and 𝜆𝜂 . The response density is then defined through:
𝑑𝐿𝐶𝐶 ∑︁
(response) 𝜆
= 𝐷𝑝𝑞 ℎ𝑝𝑞
𝑑𝜆 𝑝𝑞
The density 𝐷𝑝𝑞 appearing in this equation does not have the same properties as the density that would arise from
an expectation value. For example, the response density can have eigenvalues lower than 0 or larger than 2. In
practice, the response density is, however, the best “density” there is for coupled-cluster theory.
Unfortunately, the calculation of the coupled-cluster response density is quite involved because additional sets of
equations need to be solved in order to determine the 𝑧𝑎𝑖 and 𝜆𝜂 . If only the equations for 𝜆𝜂 are solved one speaks
of an “unrelaxed” coupled-cluster density. If both sets of equations are solved, one speaks of a “relaxed” coupled-
cluster density. For most intents and purposes, the orbital relaxation effects incorporated into the relaxed density
are small for a coupled-cluster density. This is so, because the coupled-cluster equations contain the exponential
^
of the single excitation operator 𝑒𝑇1 = exp( 𝑎𝑖 𝑡𝑖𝑎 𝐸𝑖𝑎 ). This brings in most of the effects of orbital relaxation. In
∑︀
#
# coupled-cluster density
#
%mdci density none
linearized
unrelaxed
orbopt
end
which will work together with CCSD or QCISD (QCISD and CCSD are identical in the case of OOCCD because
of the absence of single excitations). Note, that an unrelaxed density for CCSD(T) is NOT available.
Instead of using the density option “orbopt” in the mdci-block, OOCCD can also be invoked by using the keyword:
! OOCCD
Fig. 6.1: A rigid scan along the twisting coordinate of C2 H4 . The inset shows the T1 diagnostic for the CCSD
calculation.
As can be seen in Fig. 6.1, there is a steep rise in energy as one approaches a 90∘ twist angle. The HF curve is
actually discontinuous and has a cusp at 90∘ . This is immediately fixed by a simple CASSCF(2,2) calculation
which gives a smooth potential energy surface. Dynamic correlation is treated on top of the CASSCF(2,2) method
with the MRACPF approach as follows:
#
# twisting the double bond of C2H4
#
! SV(P) def2-TZVP/C SmallPrint NoPop MRACPF
%casscf nel 2
norb 2
mult 1
nroots 1
TrafoStep RI
end
%mrci tsel 1e-10
tpre 1e-10
end
%method scanguess pmodel
end
%paras R= 1.3385
Alpha=0,180,18
end
* int 0 1
(continues on next page)
This is the reference calculation for this problem. One can see that the RHF curve is far from the MRACPF reference
but the CASSCF calculation is very close. Thus, dynamic correlation is not important for this problem! It only
appears to be important since the RHF determinant is such a poor choice. The MP2 correlation energy is insufficient
in order to repair the RHF result. The CCSD method is better but still falls short of quantitative accuracy. Finally,
the CCSD(T) curve is very close the MRACPF. This even holds for the total energy (inset of Fig. 6.2) which does
not deviate by more than 2–3 mEh from each other. Thus, in this case one uses the powerful CCSD(T) method in
an inappropriate way in order to describe a system that has multireference character. Nevertheless, the success of
CCSD(T) shows how stable this method is even in tricky situations. The “alarm” bell for CCSD and CCSD(T) is
the so-called “T1 -diagnostic”4 that is also shown in Fig. 6.2. A rule of thumb says, that for a value of the diagnostic
of larger than 0.02 the results are not to be trusted. In this calculation we have not quite reached this critical point
although the T1 diagnostic blows up around the 90∘ twist.
Fig. 6.2: Comparison of the CCSD(T) and MRACPF total energies of the C2 H4 along the twisting coordinate. The
inset shows the difference E(MRACPF)-E(CCSD(T)).
The computational cost (disregarding the triples) is such that the CCSD method is the most expensive followed
by QCISD (∼10% cheaper) and all other methods (about 50% to a factor of two cheaper than CCSD). The most
accurate method is generally CCSD(T). However, this is not so clear if the triples are omitted and in this regime
the coupled pair methods (in particular CPF/1 and NCPF/15 ) can compete with CCSD.
Let us look at the same type of situation from a slightly different perspective and dissociate the single bond of F2 .
4 It is defined as ‖𝑇1 ‖ /𝑁 1/2 where T1 are the singles amplitudes and N the number of correlated electrons. The original reference is [504]
5 The “N” methods have been suggested by [886] and are exclusive to ORCA. Please note that our NCPF/1 is different from the MCPF
method in the literature [173]. The original CPF method — which we prefer — is from [16]; see also [15] for a nice review about the coupled
pair approaches and the underlying philosophy.
As is well known, the RHF approximation fails completely for this molecule and predicts it to be unbound. Again
we use a much too small basis set for quantitative results but it is enough to illustrate the principle.
We first generate a “reference” PES with the MRACPF method:
Note that we scan from outward to inward. This helps the program to find the correct potential energy surface
since at large distances the 𝜎 and 𝜎 * orbitals are close in energy and fall within the desired 2 × 2 window for the
CASSCF calculation (see section Complete Active Space Self-Consistent Field Method). Comparing the MRACPF
and CASSCF curves it becomes evident that the dynamic correlation brought in by the MRACPF procedure is very
important and changes the asymptote (loosely speaking the binding energy) by almost a factor of two (see Fig.
6.3). Around the minimum (roughly up to 2.0 Å) the CCSD(T) and MRACPF curves agree beautifully and are
almost indistinguishable. Beyond this distance the CCSD(T) calculation begins to diverge and shows an unphysical
behavior while the multireference method is able to describe the entire PES up to the dissociation limit. The CCSD
curve is qualitatively OK but has pronounced quantitative shortcomings: it predicts a minimum that is much too
short and a dissociation energy that is much too high. Thus, already for this rather “simple” molecule, the effect
of the connected triple excitations is very important. Given this (rather unpleasant) situation, the behavior of the
much simpler CEPA method is rather satisfying since it predicts a minimum and dissociation energy that is much
closer to the reference MRACPF result than CCSD or CASSCF. It appears that in this particular case CEPA/1 and
CEPA/2 predict the correct result.
Fig. 6.3: Potential energy surface of the F2 molecule calculated with some single-reference methods and compared
to the MRACPF reference.
available since ORCA 2.7.0, the calculations are not even much more expensive than those with standard basis sets.
Obviously, the correlation energies delivered by the ANO bases are also the best of all 12 basis sets tested. Hence,
ANO basis sets are a very good choice for highly correlated calculations. The advantages are particularly large for
the early members (DZ/TZ).
Table 6.3: Comparison of various basis sets for highly correlated calculations
Basis set No. Basis Fcns E(SCF) EC (CCSD(T)) Etot (CCSD(T)) Total Time
cc-pVDZ 38 -113.876184 -0.34117952 -114.217364 2
cc-pVTZ 88 -113.911871 -0.42135475 -114.333226 40
cc-pVQZ 170 -113.920926 -0.44760332 -114.368529 695
def2-SVP 38 -113.778427 -0.34056109 -114.118988 2
def2-TZVPP 90 -113.917271 -0.41990287 -114.337174 46
def2-QZVPP 174 -113.922738 -0.44643753 -114.369175 730
pc-1 38 -113.840092 -0.33918253 -114.179274 2
pc-2 88 -113.914256 -0.41321906 -114.327475 43
pc-3 196 -113.922543 -0.44911659 -114.371660 1176
ano-pVDZ 38 -113.910571 -0.35822337 -114.268795 12
ano-pVTZ 88 -113.920389 -0.42772994 -114.348119 113
ano-pVQZ 170 -113.922788 -0.44995355 -114.372742 960
Fig. 6.4: Error in Eh for various basis sets for highly correlated calculations relative to the ano-pVQZ basis set.
Let us look at one more example in Table 6.4: the optimized structure of the N2 molecule as a function of basis set
using the MP2 method (these calculations are a bit older from the time when the ano-pVnZ basis sets did not yet
exist. Today, the ano-pVnZ would be preferred) .
The highest quality basis set here is QZVP and it also gives the lowest total energy. However, this basis set contains
up to g-functions and is very expensive. Not using g-functions and a set of f-functions (as in TZVPP) has a
noticeable effect on the outcome of the calculations and leads to an overestimation of the bond distance of 0.2
pm — a small change but for benchmark calculations of this kind still significant. The error made by the TZVP
basis set that lacks the second set of d-functions on the bond distance, binding energy and ionization potential is
surprisingly small even though the deletion of the second d-set “costs” more than 20 mEh in the total energy as
compared to TZV(2d,2p), and even more compared to the larger TZVPP.
A significant error on the order of 1 – 2 pm in the calculated distances is produced by smaller DZP type basis sets,
which underlines once more that such basis sets are really too small for correlated molecular calculations — the
ANO-DZP basis sets are too strongly biased towards the atom, while the “usual” molecule targeted DZP basis sets
like SVP have the d-set designed to cover polarization but not correlation (the correlating d-functions are steeper
than the polarizing ones). The performance of the very economical SVP basis set should be considered as very
good, and (a bit surprisingly) slightly better than cc-pVDZ despite that it gives a higher absolute energy.
Essentially the same picture is obtained by looking at the (uncorrected for ZPE) binding energy calculated at the
MP2 level – the largest basis set, QZVP, gives the largest binding energy while the smaller basis sets underestimate
it. The error of the DZP type basis sets is fairly large (≈ 2 eV) and therefore caution is advisable when using such
bases.
ò Note
• This functionality is deprecated - it may still be usable but we will not actively maintain this part of code
anymore. For basis set extrapolation please use the respective compound scripts (Table Protocols, known
to the simple input line, with short explanation).
As eluded to in the previous section, one of the biggest problems with correlation calculations is the slow conver-
gence to the basis set limit. One possibility to overcome this problem is the use of explicitly correlated methods.
The other possibility is to use basis set extrapolation techniques. Since this involves some fairly repetitive work,
some procedures were hardwired into the ORCA program. So far, only energies are supported. For extrapola-
tion, a systematic series of basis sets is required. This is, for example, provided by the cc-pV𝑛Z, aug-cc-pV𝑛Z or
the corresponding ANO basis sets. Here 𝑛 is the “cardinal number” that is 2 for the double-zeta basis sets, 3 for
triple-zeta, etc.
The convergence of the HF energy to the basis set limit is assumed to be given by:
(︁ √ )︁
(𝑋) (∞)
𝐸SCF = 𝐸SCF + 𝐴 exp −𝛼 𝑋 (6.1)
(𝑋) (∞)
Here, 𝐸SCF is the SCF energy calculated with the basis set with cardinal number 𝑋, 𝐸SCF is the basis set limit
SCF energy and 𝐴 and 𝛼 are constants. The approach taken in ORCA is to do a two-point extrapolation. This
means that either 𝐴 or 𝛼 have to be known. Here, we take 𝐴 as to be determined and 𝛼 as a basis set specific
constant.
The correlation energy is supposed to converge as:
(𝑋) (𝑌 )
(∞) 𝑋 𝛽 𝐸corr − 𝑌 𝛽 𝐸corr (6.2)
𝐸corr =
𝑋𝛽 − 𝑌 𝛽
The theoretical value for 𝛽 is 3.0. However, it was found by Truhlar and confirmed by us, that for 2/3 extrapolations
𝛽 = 2.4 performs considerably better.
For a number of basis sets, we have determined the optimum values for 𝛼 and 𝛽[607]:
Since the 𝛽 values for 2/3 are close to 2.4, we always take this value. Likewise, all 3/4 and higher extrapolations
are done with 𝛽 = 3. However, the optimized values for 𝛼 are taken throughout.
Using the keyword ! Extrapolate(X/Y,basis), where X and Y are the corresponding successive cardinal num-
bers and basis is the type of basis set requested (= cc, aug-cc, cc-core, ano, saug-ano, aug-ano, def2) ORCA
will calculate the SCF and optionally the MP2 or MDCI energies with two basis sets and separately extrapolate.
The keyword works also in the following way: ! Extrapolate(n,basis) where n is the is the number of energies
to be used. In this way the program will start from a double-zeta basis and perform calculations with n cardinal
numbers and then extrapolate the different pairs of basis sets. Thus for example the keyword ! Extrapolate(3,
CC) will perform calculations with cc-pVDZ, cc-pVTZ and cc-pVQZ basis sets and then estimate the extrapolation
results of both cc-pVDZ/cc-pVTZ and cc-pVTZ/cc-pVQZ combinations.
Let us take the example of the H2O molecule at the B3LYP/TZVP optimized geometry. The reference values have
been determined from a HF calculation with the decontracted aug-cc-pV6Z basis set and the correlation energy
was obtained from the cc-pV5Z/cc-pV6Z extrapolation. This gives:
E(SCF,CBS) = -76.066958 Eh
EC(CCSD(T),CBS) = -0.30866 Eh
Etot(CCSD(T),CBS) = -76.37561 Eh
NOTE:
• The RI-JK and RIJCOSX approximations work well together with this option and RI-MP2 is also possible.
Auxiliary basis sets are automatically chosen and can not be changed.
• All other basis set choices, externally defined bases etc. will be ignored — the automatic procedure only
works with the default basis sets!
• The basis sets with the “core” postfix contain core correlation functions. By default it is assumed that this
means that the core electrons are also to be correlated and the frozen core approximation is turned off. How-
ever, this can be overridden in the method block by choosing, e.g. %method frozencore fc_electrons
end!
• So far, the extrapolation is only implemented for single points and not for gradients. Hence, geometry opti-
mizations cannot be done in this way.
• The extrapolation method should only be used with very tight SCF convergence criteria. For open shell
methods, additional caution is advised.
This gives:
Thus, the error in the total energy is indeed strongly reduced. Let us look at the more rigorous 3/4 extrapolation:
In our experience, the ANO basis sets extrapolate similarly to the cc-basis sets. Hence, repeating the entire calcu-
lation with Extrapolate(3,ANO) gives:
Which is within 1 mEh of the estimated CCSD(T) basis set limit energy in the case of the 3/4 extrapolation and
within 2 mEh for the 2/3 extrapolation.
For larger molecules, the bottleneck of the calculation will be the CCSD(T) calculation with the larger basis set.
In order to avoid this expensive (or prohibitive) calculation, it is possible to estimate the CCSD(T) energy at the
basis set limit as:
(CCSD(T);𝑌 )
𝐸corr (CCSD(T);𝑋)
≈ 𝐸corr (MP2;∞)
+ 𝐸corr (MP2;𝑋)
− 𝐸corr (6.3)
This assumes that the basis set dependence of MP2 and CCSD(T) is similar. One can then extrapolate as before.
Alternatively, the standard way — as extensively exercised by Hobza and co-workers — is to simply use:
(CCSD(T);CBS)
𝐸total
(𝑌 ) (CCSD(T);𝑋)
≈ 𝐸SCF + 𝐸corr (MP2;∞)
+ 𝐸corr (MP2;𝑋)
− 𝐸corr (6.4)
The estimated correlation energy is not really bad — within 3 mEh from the basis set limit.
Using the ExtrapolateEP2(n/m,bas,[method, method-details]) keyword one can use a generalization
of the above method where instead of MP2 any available correlation method can be used as described in Ref. [519].
method is optional and can be either MP2 or DLPNO-CCSD(T), the latter being the default. In case the method
is DLPNO-CCSD(T) in the method-details option one can ask for LoosePNO, NormalPNO or TightPNO.
(CCSD(T);𝐶𝐵𝑆)
𝐸corr (CCSD(T);𝑋)
≈ 𝐸corr (M;𝐶𝐵𝑆)
+ 𝐸corr (M;𝑋)
(𝑋, 𝑋 + 1) − 𝐸corr (6.5)
Here M represents any correlation method one would like to use. For the previous water molecule the input of a
calculation that uses DLPNO-CCSD(T) (which is the default now) instead of MP2 would look like:
which is less than 2 mEh from the basis set limit. Finally it was shown [519] that instead of extrapolating the cheap
method, M, using cardinal numbers 𝑋 and 𝑋 + 1 it is better to use cardinal numbers 𝑋 + 1 and 𝑋 + 2.
(CCSD(T);𝐶𝐵𝑆)
𝐸corr (CCSD(T);𝑋)
≈ 𝐸corr (M;𝐶𝐵𝑆)
+ 𝐸corr (M;𝑋)
(𝑋 + 1, 𝑋 + 2) − 𝐸corr (6.6)
For the ExtrapolateEP2, and ExtrapolateEP3 keywords the default cheap method is the DLPNO-CCSD(T) with
the NormalPNO thresholds. There also available options with MP2, and DLPNO-CCSD(T) with LoosePNO and
TightPNO settings.
#
! F12-MP2 cc-pVDZ-F12 cc-pVDZ-F12-CABS VeryTightSCF PModel
* xyz 0 1
O 0.000000000000 0.000000000000 0.369372944000
(continues on next page)
* xyz 0 1
O 0.000000000000 0.000000000000 0.369372944000
H 0.783975899000 0.000000000000 -0.184686472000
H -0.783975899000 0.000000000000 -0.184686472000
*
It consists of several parts. The first is the regular (RI-)MP2 correlation energy in the orbitals basis followed by
the additive MP2 correction which are combined to provide an MP2 correlation energy basis set limit estimate.
The second part consists of an estimate in the error in the underlying SCF energy. This is the “(2)_S CABS”
correction. The combination of the SCF energy with this correction yields an estimate of the SCF basis set limit.
The correction will typically undershoot somewhat, but the error is very smooth. Finally, the corrected correlation
energy and the corrected SCF energy are added to yield the F12 total energy estimate at the basis set limit.
Let’s look at some results and compare to extrapolation:
#
# Correlation energies of the water molecule: extrapolation versus F12
#
# cc-pVDZ MP2: -0.201380894
# T : -0.261263141
# Q : -0.282661311
# T/Q : -0.298276192
# Q/5 : -0.300598282
# F12-DZ : -0.295775804
# RI-F12-DZ : -0.295933560 (cc-pVDZ/C)
# -0.295774489 (cc-pVTZ/C)
# F12-TZ : -0.299164006
# RI-F12-TZ : -0.299163478 (cc-pVQZ/C)
# F12-QZ : -0.300130086
It is obvious that extrapolated and F12 correlation energies converge to the same number (in this case around 300
mEh). The best extrapolated result is still below the F12 result (this would primarily be meaningful in a variational
calculation). However, first of all this was an expensive extrapolation and second, the small residual F12 error is
very smooth and cancels in energy differences. In any case, already the F12-double-zeta (where “double zeta”
is to be interpreted rather loosely) brings one into within 5 mEh of the basis set limit correlation energy and the
F12-triple-zeta calculation to within 1 mEh, which is impressive.
The additional effort for the F12 calculation is rather high, since five types of additional two-electron integrals
need to be calculated. Both integrals in CABS space and in the original orbital (OBS) space must be calculated
and mixed Fock matrices are also required. Hence, one may wonder, whether a double-zeta F12 calculation actually
saves any time over, say, a quadruple-zeta regular calculation. The actual answer to this question is: “NO”. Given
all possibilities of obtained approximate MP2 and SCF energies, we have investigated the question of how to obtain
MP2 basis set limit energies most efficiently in some detail. The results show that in terms of timings, basis set
extrapolation in combination with RI-JK is the method of choice for MP2.[521] However, energy differences are
more reliable with F12-MP2. In combination with RI-JK or RIJCOSX F12-MP2 becomes also competitive in
terms of computational efficiency.
This situation is different in the case of coupled-cluster methods, where F12 methods outperform extrapolation and
are the method of choice.
For coupled-cluster theory, everything works in a very similar fashion:
# the keywords
! F12-CCSD(T)
# and
! CCSD(T)-F12
# are equivalent
A special feature of ORCA that can save large amounts of time, is to use the RI approximation only for the F12-part.
The keyword here is:
! F12/RI-CCSD(T)
# or
! CCSD(T)-F12/RI
• F. Neese, A. Hansen, D. G. Liakos: Efficient and accurate local approximations to the coupled-cluster singles
and doubles method using a truncated pair natural orbital basis.[617]
• F. Neese, A. Hansen, F. Wennmohs, S. Grimme: Accurate Theoretical Chemistry with Coupled Electron
Pair Models.[618]
• F. Neese, F. Wennmohs, A. Hansen: Efficient and accurate local approximations to coupled electron pair
approaches. An attempt to revive the pair-natural orbital method.[623]
• D. G. Liakos, A. Hansen, F. Neese: Weak molecular interactions studied with parallel implementations of
the local pair natural orbital coupled pair and coupled-cluster methods.[520]
• A. Hansen, D. G. Liakos, F. Neese: Efficient and accurate local single reference correlation methods for
high-spin open-shell molecules using pair natural orbitals.[361]
• C. Riplinger, F. Neese: An efficient and near linear scaling pair natural orbital based local coupled-cluster
method.[721]
• C. Riplinger, B. Sandhoefer, A. Hansen, F. Neese: Natural triple excitations in local coupled-cluster calcu-
lations with pair natural orbitals.[723]
• C. Riplinger, P. Pinski, U. Becker, E. F. Valeev, F. Neese: Sparse maps - A systematic infrastructure for
reduced-scaling electronic structure methods. II. Linear scaling domain based pair natural orbital coupled
cluster theory.[722]
• D. Datta, S. Kossmann, F. Neese: Analytic energy derivatives for the calculation of the first-order molecular
properties using the domain-based local pair-natural orbital coupled-cluster theory[191]
• M. Saitow, U. Becker, C. Riplinger, E. F. Valeev, F. Neese: A new linear scaling, efficient and accurate,
open-shell domain based pair natural orbital coupled cluster singles and doubles theory.[740]
In 2013, the so-called DLPNO-CCSD method (“domain based local pair natural orbital”) was introduced.[721] This
method is near linear scaling with system size and allows for giant calculations to be performed. In 2016, significant
changes to the algorithm were implemented leading to linear scaling with system size concerning computing time,
hard disk and memory consumption.[722] The principal idea behind DLPNO is the following: it became clear
early on that the PNO space for a given electron pair (ij) is local and located in the same region of space as the
electron pair (ij). In LPNO-CCSD this locality was partially used in the local fitting to the PNOs (controlled by the
parameter TCutMKN). However, the PNOs were expanded in canonical virtual orbitals which led to some higher
order scaling steps. In DLPNO, the PNOs are expanded in the set of projected atomic orbitals:
(︁ ∑︁ )︁
|˜
𝜇⟩ = 1 − |𝑖⟩ ⟨𝑖| |𝜇⟩
𝑖
where |𝜇⟩ is an atomic orbital and |𝑖⟩ refers to an occupied molecular orbital. Such projected orbitals are an
overcomplete representation of the virtual space. The projected orbital |˜ 𝜇⟩ is located in the same region of space
as |𝜇⟩ and hence can be assigned to atomic centers. This has first been invented and used by Pulay and Saebo [705]
in their pioneering work on local correlation methods and widely exploited by Werner, Schütz and co-workers ⃒ in⟩︀
their local correlation approaches. [755, 756] DLPNO-CCSD goes one step further in expanding the PNOs ⃒𝑎 ˜𝑖𝑗
of a given pair (𝑖𝑗) as:
⃒ ⟩︀ ∑︁ 𝑖𝑗
⃒𝑎
˜𝑖𝑗 = 𝑑𝜇˜𝑎˜ |˜
𝜇⟩
˜ ∈{𝑖𝑗}
𝜇
Fig. 6.5: a) Scaling behavior of the canonical CCSD, LPNO-CCSD and DLPNO2013-CCSD(T) methods. It is
obvious that only DLPNO2013-CCSD and DLPNO2013-CCSD(T) can be applied to large molecules. The ad-
vantages of DLPNO2013-CCSD over LPNO-CCSD do not show before the system has reached a size of about 60
atoms. b) Scaling behavior of DLPNO2013-CCSD(T), DLPNO-CCSD(T) and RHF using RIJCOSX. It is obvious
that only DLPNO-CCSD(T) can be applied to truly large molecules, is faster than the DLPNO2013 version, and
even has a crossover with RHF at about 400 atoms.
Using the DLPNO-CCSD(T) approach it was possible for the first time (in 2013) to perform a CCSD(T) level
calculation on an entire protein (Crambin with more than 650 atoms, Fig. 6.6). While the calculation using a
double-zeta basis took about 4 weeks on one CPU with DLPNO2013-CCSD(T), it takes only about 4 days to
complete with DLPNO-CCSD(T). With DLPNO-CCSD(T) even the triple-zeta basis calculation can be completed
within reasonable time, taking 2 weeks on 4 CPUs.
Fig. 6.6: Structure of the Crambin protein - the first protein to be treated with a CCSD(T) level ab initio method
The use of the LPNO (and DLPNO) methods is simple and requires little special attention from the user:
* xyz 0 1
... (coordinates)
*
Using the well tested default settings, the LPNO-CEPA (LPNO-CPF, LPNO-VCEPA), LPNO-QCISD and LPNO-
CCSD (LPNO-pCCSD) methods6 can be run in strict analogy to canonical calculations and should approximate
6 As a technical detail: The closed-shell LPNO QCISD and CCSD come in two technical variants - LPNO1-CEPA/QCISD/CCSD and
LPNO2-CEPA/CCSD/QCISD. The “2” variants consume less disk space but are also slightly less accurate than the “1” variants. This is
discussed in the original paper in the case of QCISD and CCSD. For the sake of accuracy, the “1” variants are the default. In those cases,
where “1” can still be performed, the computational efficiency of both approaches is not grossly different. For LPNO CCSD there is also a
third variant (LPNO3-CCSD, also in the open-shell version) which avoids neglecting the dressing of the external exchange operator. However,
the results do not differ significantly from variant 1 but the calculations will become more expensive. Thus it is not recommend to use variant
3. Variant 2 is not available in the open-shell version.
the canonical result very closely. In fact, one should not view the LPNO methods as new model chemistry - they
are designed to reproduce the canonical results, including BSSE. This is different from the domain based local
correlation methods that do constitute a new model chemistry with properties that are different from the original
methods.
In some situations, it may be appropriate to adapt the accuracy of the calculation. Sensible defaults have been
determined from extensive benchmark calculations and are accessible via LoosePNO, NormalPNO and TightPNO
keywords in the simple input line.[522]
These keywords represent the recommended way to control the accuracy of DLPNO calculations as follows. Man-
ual changing of thresholds beyond these specifying these keywords is usually discouraged.
# Tight settings for increased accuracy, e.g. when investigating
# weak interactions or conformational equilibria
! cc-pVTZ cc-pVTZ/C DLPNO-CCSD(T) TightPNO TightSCF
%maxcore 2000
* xyz 0 1
... (coordinates)
*
Since ORCA 4.0, the linear-scaling DLPNO implementation described in reference [722] is the default DLPNO
algorithm. However, for comparison, the first DLPNO implementation from references [721] and [723] can still
be called by using the DLPNO2013 prefix instead of the DLPNO- prefix.
# DLPNO-CCSD(T) calculation using the 2013 implementation
! cc-pVTZ cc-pVTZ/C DLPNO2013-CCSD(T)
* xyz 0 1
... (coordinates)
*
Until ORCA 4.0, the “semi-canonical” approximation is used in the perturbative triples correction for DLPNO-
CCSD. It was found that the “semi-canonical” approximation is a very good approximation for most systems. How-
ever, the “semi-canonical” approximation can introduce large errors in rare cases (particularly when the HOMO-
LUMO gap is small), whereas the DLPNO-CCSD is still very accurate. To improve the accuracy of perturbative
triples correction, since 4.1, an improved perturbative triples correction for DLPNO-CCSD is available, DLPNO-
CCSD(T1)[341]. In DLPNO-CCSD(T1), the triples amplitudes are computed iteratively, which can reproduce
more accurately the canonical (T) energies.
It is necessary to clarify the nomenclature used in ORCA input files. The keyword to invoke “semi-canonical”
perturbative triples correction approximation is DLPNO-CCSD(T). While, the keyword of improved iterative ap-
proximation is DLPNO-CCSD(T1). However, in our recent paper[341], the “semi-canonical” perturbative triples
correction approximation is named DLPNO-CCSD(T0), whereas the improved iterative one is called DLPNO-
CCSD(T). Thus, the names used in our paper are different from those in ORCA input files. An example input file
to perform improved iterative perturbative triples correction for DLPNO-CCSD is given below,
# DLPNO-CCSD(T1) calculation using the iterative triples correction
! cc-pVTZ cc-pVTZ/C DLPNO-CCSD(T1)
%mdci
(continues on next page)
Since ORCA 4.2, the improved iterative perturbative triples correction for open-shell DLPNO-CCSD is available
as well. The keyword of open-shell DLPNO-CCSD(T) is the same as that of the closed-shell case.
Since ORCA 4.0, the high-spin open-shell version of the DLPNO-CISD/QCISD/CCSD implementations have been
made available on top of the same machinery as the 2016 version of the RHF-DLPNO-CCSD code. The present
UHF-DLPNO-CCSD is designed to be an heir to the UHF-LPNO-CCSD and serves as a natural extension to the
RHF-DLPNO-CCSD. A striking difference between UHF-LPNO and newly developed UHF-DLPNO methods is
that the UHF-DLPNO approach gives identical results to that of the RHF variant when applied to closed-shell
species while UHF-LPNO does not. Usage of this program is quite straightforward and shown below:
# (2) In case of UHF reference, the QROs are constructed first and used for
# the open-shell DLPNO-CCSD computations
! UHF DLPNO-CCSD def2-TZVPP def2-TZVPP/C TightSCF TightPNO
# (3) In case that UKS is specified, the QROs are constructed first and used as
# "unconverged" UHF orbitals for the open-shell DLPNO-CCSD computations.
# This approach is useful when the converged UHF wavefunction is qualitatively
# wrong but the UKS wavefunction is not
! UKS CAM-B3LYP DLPNO-CCSD def2-TZVPP def2-TZVPP/C TightSCF TightPNO
ò Note
DLPNO-CISD/QCISD/CCSD methods are dedicated to closed-shell and high-spin open-shell species, but not
spin-polarized systems (e.g. open shell singlets or antiferromagnetically coupled transition metal clusters). Per-
forming DLPNO-CISD/QCISD/CCSD calculations upon open shell singlet UHF/UKS wavefunctions will give
results resembling the corresponding closed shell singlet calculations, because the DLPNO calculations will be
done on the closed-shell determinant composed of the QRO orbitals. Similarly, calculations of spin-polarized
systems other than open shell singlets may give qualitatively wrong results. For spin-polarized systems, the
UHF-LPNO-CCSD or Mk-LPNO-CCSD methods are available, in addition to DLPNO-NEVPT2.
The same set of truncation parameters as closed-shell DLPNO-CCSD is used also in case of open-shell DLPNO.
The open-shell DLPNO-CCSD produces more than 99.9 % of the canonical CCSD correlation energy as in case
of the closed-shell variant. This feature is certainly different from the UHF-LPNO methods because the open-shell
DLPNO-CCSD is re-designed from scratch on the basis of a new PNO ansatz which makes use of the high-spin
open-shell NEVPT framework. The computational timings of the UHF-DLPNO-CCSD and RIJCOSX-UHF for
linear alkane chains in triplet state are shown in Fig. 6.7.
Fig. 6.7: Computational times of RIJCOSX-UHF and UHF-DLPNO-CCSD for the linear alkane chains (𝐶𝑛 𝐻2n + 2 )
in triplet state with def2-TZVPP basis and default frozen core settings. 4 CPU cores and 128 GB of memory were
used on a single cluster node.
Although those systems are somewhat idealized for the DLPNO method to best perform, it is clear that the preceding
RIJCOSX-UHF is the rate-determining step in the total computational time for large examples. In the open-shell
DLPNO implementations, SOMOs are included not only in the occupied space but also in the PNO space in the
preceding integral transformation step. This means the presence of more SOMOs may lead to more demanding
PNO integral transformation and DLPNO-CCSD iterations. The illustrative examples include active site model
of the [NiFe] Hydrogenase in triplet state and the oxygen evolving complex (OEC) in the high-spin state, which
are shown in Figures 7 and 8, respectively. With def2-TZVPP basis set and NormalPNO settings, a single point
calculation on [NiFe] Hydrogenase (Fig. 6.8) took approximately 45 hours on a single cluster node by using 4 CPU
cores of Xeon E5-2670. A single point calculation on the OEC compound (Fig. 6.9) with the same computational
settings finished in 44 hours even though the number of AOs in this system is even fewer than the Hydrogenase:
the Hydrogenase active site model and OEC involve 4007 and 2606 AO basis functions, respectively. Special care
should be taken if the system possesses more than ten SOMOs, since inclusion of more SOMOs may drastically
increase the prefactor of the calculations. In addition, if the SOMOs are distributed over the entire molecular
skeleton, each pair domain may not be truncated at all; in this case speedup attributed to the domain truncation
will not be achieved at all.
Fig. 6.8: Ni-Fe active center in the [NiFe] Hydrogenase in its second-coordination sphere. The whole model system
is composed of 180 atoms.
Fig. 6.9: A model compound for the OEC in the S2 state of photosystem II which is composed of 238 atoms. In
its high-spin state, the OEC possesses 13 SOMOs in total.
Calculation of the orbital-unrelaxed density has been implemented for closed-shell DLPNO-CCSD. This permits
analytical computation of first-order properties, such as multipole moments or electric field gradients. In order to
reproduce conventional unrelaxed CCSD properties to a high degree of accuracy, tighter thresholds may be needed
than given by the default settings. Reading of the reference[191] is recommended. Calculation of the unrelaxed
density is requested as usual:
• Besides the closed-shell version which uses a RHF or RKS reference determinant there is an open-shell
version of the LPNO-CCSD for high-spin open-shell molecules (see original paper) using an UHF or UKS
reference determinant built from quasi-restricted orbitals (QROs, see section Open-Shell Equations). Since
the results of the current open-shell version are slightly less accurate than that of the closed-shell version it is
mandatory to specify if you want to use the closed-shell or open-shell version for calculations of closed-shell
systems, i.e. always put the “RHF” (“RKS”) or “UHF” (“UKS”) keyword in the simple keyword line. Open-
shell systems can be of course only treated by the open-shell version. Do not mix results of the closed-
and open-shell versions of LPNO methods (e.g. if you calculate reaction energies of a reaction in which
both closed- and open-shell molecules take part, you should use the open-shell version throughout). This is
because the open-shell LPNO results for the closed-shell species certainly differ from those of closed-shell
implementations. This drawback of the open-shell LPNO methods has led to the development of a brand new
open-shell DLPNO approach which converges to the RHF-DLPNO in the closed-shell limit. Importantly,
one can mix the results of closed- and open-shell versions of DLPNO approaches.
• The open-shell version of the DLPNO approach uses a different strategy to the LPNO variant to define the
open-shell PNOs. This ensures that, unlike the open-shell LPNO, the PNO space converges to the closed-
shell counterpart in the closed-shell limit. Therefore, in the closed-shell limit, the open-shell DLPNO gives
identical correlation energy to the RHF variant up to at least the third decimal place. The perturbative triples
correction referred to as, (T), is also available for the open-shell species.
• When performing a calculation on the open-shell species with either of canonical/LPNO/DLPNO methods
on top of the Slater determinant constructed from the QROs, special attention should be paid on the orbitals
energies of those QROs. In some cases, the orbitals energy of the highest SOMO appear to be higher than
that of the lowest VMO. Similarly to this, the orbital energy of the highest DOMO may appear to higher
than that of the lowest SOMOs. In such cases, the CEPA/QCISD/CCSD iteration may show difficulty in
convergence. In the worst case, it just diverges. Most likely, in such cases, one has to suspect the charge and
multiplicity might be wrong. If they are correct, you may need much prettier starting orbitals and a bit of
good luck! Apart from a careful choice of starting orbitals (in particular, DFT orbitals can be used in place
of the default HF orbitals if the latter have qualitative deficiencies, including but not limited to severe spin
contamination), changing the maximum DIIS expansion space size (MaxDIIS) and the level shift (LShift)
in the %mdci block may alleviate the convergence problems to some extent.
• DLPNO-CCSD(T)-F12 and DLPNO-CCSD(T1)-F12 (iterative triples) are available for both closed- and
open-shell cases. These methods employ a perturbative F12 correction on top of the DLPNO-CCSD(T)
correlation energy calculation. The F12 part of the code uses the RI approximation in the same spirit as the
canonical RI-F12 methods (refer to section Explicitly Correlated MP2 and CCSD(T) Calculations). Hence,
they should be compared with methods using the RI approximation for both CC and F12 parts. The F12
correction takes only a fraction (usually 10-30%) of the total time (excluding SCF) required to calculate
the DLPNO-CCSD(T)-F12 correlation energy. Thus, the F12 correction scales the same (linear or near-
linear) as the parent DLPNO method. Furthermore, no new truncation parameters are introduced for the
F12 procedure, preserving the black-box nature of the DLPNO method. The F12D approximation is highly
recommended as it is computationally cheaper than the F12 approach which involves a double RI summa-
tion. Keywords: DLPNO-CCSD(T)-F12D, DLPNO-CCSD(T)-F12, DLPNO-CCSD(T1)-F12D, DLPNO-
CCSD(T1)-F12, DLPNO-CCSD-F12D, DLPNO-CCSD-F12.
• Parallelization is done.
• There are three thresholds that can be user controlled that can all be adjusted in the %mdci block: (a) 𝑇CutPNO
controls the number of PNOs per electron pair. This is the most critical parameter and has a default value of
3.33×10−7 . (b) 𝑇CutPairs controls a perturbative selection of significant pairs and has a default value of 10−4 .
(c) 𝑇CutMKN is a technical parameter and controls the size of the fit set for each electron pair. It has a default
value of 10−3 . All of these default values are conservative. Hence, no adjustment of these parameters is
necessary. All DLPNO-CCSD truncations are bound to these three truncation parameters and should almost
not be touched (Hence they are also not documented :) ).
• The preferred way to adjust accuracy when needed is to use the “LoosePNO/NormalPNO/TightPNO” key-
words. In addition, “TightPNO” triggers the full iterative (DLPNO-MP2) treatment in the MP2 guess,
whereas the other options use a semicanonical MP2 calculation. Table 6.5 and Table 6.6 contain the thresh-
olds used by the current (2016) and old (2013) implementations, respectively.
• LPNO-VCEPA/n (n=1,2,3) methods are only available in the open-shell version yet.
• LPNO variants of the parameterized coupled-cluster methods (pCCSD, see section Theory) are also available
(e.g. LPNO-pCCSD/1a and LPNO-pC/2a).
• The LPNO methods reproduce the canonical energy differences to typically better than 1 kcal/mol. This
accuracy exists over large parts of the potential energy surface. Tightening TCutPairs to 1e-5 gives more
accurate results but also leads to significantly longer computation times.
• Potential energy surfaces are virtually but not perfectly smooth (like any method that involves cut-offs).
Numerical gradient calculations have been attempted and reported to have been successful.
• The LPNO methods do work together with RIJCOSX, RI-JK and also with ANO basis sets and basis set
extrapolation. They also work for conventional integral handling.
• The methods behave excellently with large basis sets. Thus, they stay efficient even when large basis sets
are used that are necessary to obtain accurate results with wavefunction based ab initio methods. This is a
prerequisite for efficient computational chemistry applications.
• For LPNO-CCSD, calculations with about 1000 basis functions are routine, calculations with about 1500 ba-
sis functions are possible and calculations with 2000-2500 basis functions are the limit on powerful comput-
ers. For DLPNO-CCSD much larger calculations are possible. There is virtually no crossover and DLPNO-
CCSD is essentially always more efficient than LPNO-CCSD. Starting from about 50 atoms the differences
become large. The largest DLPNO-CCSD calculation to date featured >1000 atoms and more than 20000
basis functions!
• Using large main memory is not mandatory but advantageous since it speeds up the initial integral transfor-
mation significantly (controlled by “MaxCore” in the %mdci block, see section Local correlation).
• The open-shell versions are about twice as expensive as the corresponding closed-shell versions.
• Analytic gradients are not available.
• An unrelaxed density implementation is available for closed-shell DLPNO-CCSD, permitting calculation of
first-order properties.
Table 6.5: Accuracy settings for DLPNO coupled cluster (current version).
Setting 𝑇CutPairs 𝑇CutDO 𝑇CutPNO 𝑇CutMKN MP2 pair treatment
LoosePNO 10−3 2 × 10−2 1.00 × 10−6 10−3 semicanonical
NormalPNO 10−4 1 × 10−2 3.33 × 10−7 10−3 semicanonical
TightPNO 10−5 5 × 10−3 1.00 × 10−7 10−3 full iterative
Table 6.6: Accuracy settings for DLPNO coupled cluster (deprecated 2013 version).
Setting 𝑇CutPairs 𝑇CutPNO 𝑇CutMKN MP2 pair treatment
LoosePNO 10 −3
1.00 × 10 −6
10−3
semicanonical
NormalPNO 10−4 3.33 × 10−7 10−3 semicanonical
TightPNO 10−5 1.00 × 10−7 10−4 full iterative
As an example, see the following isomerization reaction that appears to be particularly difficult for DFT:
Isomerizes to:
The results of the calculations (closed-shell versions) with the def2-TZVP basis set (about 240 basis functions) are
shown below:
The calculations are typical in the sense that: (a) the LPNO methods provide answers that are within 1 kcal/mol
of the canonical results, (b) CEPA approximates CCSD(T) more closely than CCSD. The speedups of a factor of
2 – 5 are moderate in this case. However, this is also a fairly small calculation. For larger systems, speedups of the
LPNO methods compared to their canonical counterparts are on the order of a factor >100–1000.
For each occupied LMO, it only correlates with its nearby occupied LMOs and virtual MOs. To reproduce the
correlation energy of each occupied LMO, only a subset of occupied and virtual LMOs are needed in the correlation
calculation. Instead of doing the correlation calculation of the whole molecule, the correlation energies of all LMOs
can be obtained within various subsystems.
The CIM approach implemented in ORCA is following an algorithm proposed by Guo and coworkers with a few
improvements.[337, 340]
1. To avoid the real space cutoff, the differential overlap integral (DOI) is used instead of distance threshold.
There is only one parameter ‘CIMTHRESH’ in CIM approach, controlling the construction of CIM subsys-
tems. If the DOI between LMO i and LMO j is larger than CIMTHRESH, LMO j will be included into the
MO domain of i. By including all nearby LMO of i, one can construct a subsystem for MO i. The default
value of CIMTHRESH is 0.001. If accurate results are needed, a tighter CIMTHRESH must be used.
2. Since ORCA 4.1, the neglected correlations between LMO i and LMOs outside the MO domain of i are
considered as well. These weak correlations are approximately evaluated by dipole moment integrals. With
this correction, the CIM results of 3 dimensional proteins are significantly improved. About 99.8% of the
correlation energies are recovered.
The CIM can invoke different single reference correlation methods for the subsystem calculations. In ORCA
the CIM-RI-MP2, CIM-CCSD(T), CIM-DLPNO-MP2 and CIM-DLPNO-CCSD(T) methods are available. The
CIM-RI-MP2 and CIM-DLPNO-CCSD(T) have been proved to be very efficient and accurate methods to compute
correlation energies of very big molecules, containing a few thousand atoms.[340]
The usage of CIM in ORCA is simple. For CIM-RI-MP2,
#
# CIM-RI-MP2 calculation
#
! RI-MP2 cc-pVDZ cc-pVDZ/C CIM
%CIM
CIMTHRESH 0.0005 # Default value is 0.001
end
* xyzfile 0 1 CIM.xyz
For CIM-DLPNO-CCSD(T),
#
# CIM-DLPNO-CCSD calculation
#
! DLPNO-CCSD(T) cc-pVDZ cc-pVDZ/C CIM
* xyzfile 0 1 CIM.xyz
The parallel efficiency of CIM has been significantly improved.[340] Except for a few domain construction sub-
steps, the CIM algorithm can achieve very high parallel efficiency. Since ORCA 4.1, the parallel version does not
support Windows platform anymore due to the parallelization strategy. The generalization of CIM from closed-
shell to open-shell (multi-reference) will also be implemented in the near future.
#
# Test the MRCC code of Mihael Kallay
#
! cc-pVDZ Conv SCFConv10 UseSym
* xyz 0 1
F 0 0 0
H 0 0 0.95
*
It is not a good idea, of course, to use this code for CCSD or CCSD(T) or CISD. Its real power lies in performing
the higher order calculations. Open-shell calculations can presently not be done with the interface.
Note also that certain high-order configuration interaction or coupled cluster methods, such as CISDT, CISDTQ,
CC3 and CCSDT etc., have now been implemented natively in ORCA in the AUTOCI module. For details please
consult section CI methods using generated code.
If you want an accurate single point energy then it is wise to choose “TightSCF” and select a basis set of at least
valence triple-zeta plus polarization quality (e.g. def2-TZVP).
* xyz 0 1
N 3.17265 1.15815 -0.09175
C 2.66167 0.72032 1.18601
C 4.31931 0.59242 -0.73003
C 2.02252 1.86922 -0.54680
C 1.37143 1.52404 0.79659
S 2.72625 -1.05563 0.80065
C 4.01305 -0.91195 -0.52441
C 5.58297 1.09423 -0.06535
O 1.80801 2.36292 -1.62137
N 0.15715 0.73759 0.70095
C 5.25122 -1.72918 -0.12001
C 3.41769 -1.50152 -1.81857
(continues on next page)
The job has 42 atoms and 430 contracted basis functions. Yet, it executes in just a few minutes elapsed time on
any reasonable personal computer.
NOTES:
• The RI-J approximation requires an “auxiliary basis set” in addition to a normal orbital basis set. For the
Karlsruhe basis sets there is the universal auxiliary basis set of Weigend that is called with the name def2/J
(all-electron up to Kr). When scalar relativistic Hamiltonians are used (DKH or ZORA) along with all-
electron basis sets, then a general-purpose auxiliary basis set is the SARC/J that covers most of the periodic
table. Other choices are documented in sections Basis Sets and Choice of Basis Set.
• For “pure” functionals the use of RI-J with the def2/J auxiliary basis set is the default.
Since DFT is frequently applied to open-shell transition metals we also show one (more or less trivial) example of
a Cu(II) complex treated with DFT.
! BP86 SV SlowConv
%base "temp"
* xyz -2 2
Cu 0 0 0
Cl 2.25 0 0
Cl -2.25 0 0
Cl 0 2.25 0
Cl 0 -2.25 0
*
$new_job
Although it would not have been necessary for this example, it shows a possible strategy how to converge such
calculations. First a less accurate but fast job is performed using the RI approximation, a GGA functional and a
small basis set without polarization functions. Note that a larger damping factor has been used in order to guide the
calculation (SlowConv). The second job takes the orbitals of the first as input and performs a more accurate hybrid
DFT calculation. A subtle point in this calculation on a dianion in the gas phase is the command GuessMode
CMatrix that causes the corresponding orbital transformation to be used in order to match the orbitals of the
small and the large basis set calculation. This is always required when the orbital energies of the small basis set
calculation are positive as will be the case for anions.
One thing to be mentioned in correlation calculations with RIJCOSX is that the requirements for the SCF and
correlation fitting bases are quite different. We therefore support two different auxiliary basis sets in the same run:
The speedups for small molecules are better than for RIJCOSX, for medium sized molecules (e.g. (gly)4 ) similar,
and for larger molecules RI-JK is less efficient than RIJCOSX. The errors of RI-JK are usually below 1 mEh and
the error is very smooth (smoother than for RIJCOSX). Hence, for small calculations with large basis sets, RI-JK
is a good idea, for large calculations on large molecules RIJCOSX is better.
ò Note
• For RI-JK you will need a larger auxiliary basis set. For the Karlsruhe basis set, the universal def2/JK
and def2/JKsmall basis sets are available. They are large and accurate.
• For UHF RI-JK is roughly twice as expensive as for RHF. This is not true for RIJCOSX.
• RI-JK is available for conventional and direct runs and also for ANO bases. There the conventional mode
is recommended.
A comparison of the RIJCOSX and RI-JK methods (taken from Ref. [465]) for the (gly)2 , (gly)4 and (gly)8 is
shown below (wall clock times in second for performing the entire SCF):
It is obvious from the data that for small molecules the RI-JK approximation is the most efficient choice. For (gly)4
this is already no longer obvious. For up to the def2-TZVPP basis set, RI-JK and RIJCOSX are almost identical
and for def2-QZVPP RIJCOSX is already a factor of two faster than RI-JK. For large molecules like (gly)8 with
small basis sets RI-JK is not a big improvement but for large basis set it still beats the normal 4-index calculation.
RIJCOSX on the other hand is consistently faster. It leads to speedups of around 10 for def2-TZVPP and up to
50-60 for def2-QZVPP. Here it outperforms RI-JK by, again, a factor of two.
for “general-purpose”, “kinetic” and “thermochemistry” applications.[436, 844] In 2011, Goerigk and Grimme
published the PWPB95 functional with spin-opposite-scaling and relatively low amounts of Fock exchange, which
make it promising for both main-group and transition-metal chemistry. [308]
Among the best performing density functionals[312] are Martin’s “DSD”-double-hybrids, which use different com-
binations of exchange and correlation potentials and spin-component-scaled MP2 mixing. Three of these double-
hybrids (DSD-BLYP, DSD-PBEP86 and DSD-PBEB95)[467, 468, 469] are available via simple input keywords.
Different sets of parameters for the DSD-double-hybrids are published, e.g. for the use with and without D3.
The keywords DSD-BLYP, DSD-PBEP86 and DSD-PBEB95 request parameters consistent with the GMTKN55[312]
benchmark set results. The keywords DSD-BLYP/2013 and DSD-PBEP86/2013 request the slightly different pa-
rameter sets used in the 2013 paper by Kozuch and Martin.[469] To avoid confusion, the different parameters are
presented in Table 6.7.
DSD-BLYP D3BJ 0.31 0.69 0.54 0.46 0.37 0.50 0.213 6.0519
DSD-BLYP/2013 D3BJ 0.29 0.71 0.54 0.47 0.40 0.57 0 5.4
DSD-PBEP86 0.28 0.72 0.44 0.51 0.36
! D3BJ
%method
Method DFT
DoMP2 True
Exchange X_PBE
Correlation C_B95
LDAOpt C_PWLDA # specific for B95
ScalDFX 0.34
ScalHFX 0.66
ScalGGAC 0.55
ScalLDAC 0.55 # must be equal to ScalGGAC
ScalMP2C 1.00 # for all DSD-DFs
D3S6 0.61
D3S8 0
D3A1 0 # for all DSD-DFs
D3A2 6.2
end
(continues on next page)
In this version of ORCA, double-hybrid DFT is available for single points, geometry optimizations [620], dipole
moments and other first order properties, magnetic second order properties (chemical shifts, g-tensors), as well as
for numerical polarizabilities and frequencies.
There are also double-hybrid functionals, such as XYG3 and 𝜔B97M(2), which must be applied to orbitals con-
verged with a different functional. This can be accomplished with a two-step calculation using MORead and
MaxIter=1. Note that because the orbitals are not obtained self-consistently, only single point energies can be
computed in this way, i.e. no density, gradient, or properties! For example, the 𝜔B97M(2) functional must be used
with 𝜔B97M-V orbitals,[558] which can be done with the following input:
*xyz 0 1
H 0.0 0.0 0.0
F 0.0 0.0 0.9
*
%compound
Variable EwB97MV, EwB97M2; # Output variables
# Step 1: wB97M-V calculation to obtain the orbitals
New_Step
! wB97M-V SCNL def2-TZVP
Step_End
# Step 2: single iteration with the wB97M(2) functional
# + MP2 correlation to get the final energy
ReadMOs(1);
New_Step
! wB97M(2) SCNL NoFrozenCore def2-TZVP def2-TZVP/C
%scf
MaxIter 1
IgnoreConv 1 # prevent the "not converged" error
end
Step_End
Read EwB97MV = DFT_Total_En[1]; # wB97M-V energy
Read EwB97M2 = MP2_Total_Energy[2]; # wB97M(2) energy
End
%paras R= 2.5,4.0,16
end
(continues on next page)
7 For expert users: The keyword D2, D3ZERO, D3BJ and D4 select the empirical 2006, the atom-pairwise 2010 model, respectively, with
either zero-damping or Becke-Johnson damping, or the partial charge dependent atom-pairwise 2018 model. The default is the most accurate
D3BJ model. The outdated model from 2004 [319] is no longer supported and can only be invoked by setting DFTDOPT = 1. The C6-scaling
coefficient can be user defined using e.g. “%method DFTDScaleC6 1.2 end”
%geom Constraints
{ C 0 C }
{ C 1 C }
end
end
* xyz 0 1
Ar 0.0000000 0.0000000 {R}
H 0.0000000 0.0000000 0.0000000
C 0.0000000 0.0000000 -1.0951073
H 0.5163499 0.8943443 -1.4604101
H 0.5163499 -0.8943443 -1.4604101
H -1.0326998 0.0000000 -1.4604101
*
In this example, a BLYP calculation without dispersion correction will show a repulsive potential between the argon
atom and the methane molecule. Using the D3 dispersion correction as shown above, the potential curve shows
a minimum at about 3.1−3.2 Å. The atom-pairwise correction is quite successful and Grimme’s work suggests
that this is more generally true. For many systems like stacked DNA base pairs, hydrogen bond complexes and
other weak interactions the atom-pairwise dispersion correction will improve substantially the results of standard
functionals at essentially no extra cost.
ò Note
• Dispersion corrections do not only affect non-covalent complexes, but also affect conformational energies
(and conformer structures) which are heavily influenced by intramolecular dispersion. Therefore, for
large and/or flexible molecules, including the dispersion correction is almost always recommended or
even required (except for a handful of cases where it cannot, should not or need not be used, see below).
For small systems, the dipersion correction may result in basically no improvement of the results, but is
usually harmless anyway.
• DFT calculations with small basis sets (such as double zeta basis sets) often yield attractive potential en-
ergy surfaces even without the dispersion correction. However, this is due to basis set superposition error
(BSSE), and the interaction energy brought about by the BSSE frequently does not match the true inter-
action energy due to dispersion (because they have completely different origins). Therefore, although a
DFT double zeta calculation without the dispersion correction may appear to give qualitatively correct
results, or occasionally even better results than a double zeta calculation with dispersion corrections (be-
cause in the latter case one typically overestimates the total attraction), it is still highly recommended to
“get the right answer for the right reason” by reducing the BSSE and turning on the dispersion correction.
The BSSE can be corrected by a variety of means, for example (1) by using a larger basis set; (2) by us-
ing the counterpoise correction (Counterpoise Correction); or (3) by using the geometrical counterpoise
correction (section DFT and HF Calculations with the Geometrical Counterpoise Correction: gCP).
Of these, (3) is available at almost no cost (including analytic gradient contributions), and is especially
suitable for geometry optimization of large molecules. Otherwise (1) (or its combination with (2)) may
be more appropriate due to its higher accuracy.
• Functionals that contain VV10-type non-local dispersion (in general, these are the functionals whose
names end with “-V”) do not need (and cannot be used together with) dispersion corrections. The same
holds for post-HF and multireference methods, like MP2, CCSD(T), CASSCF and NEVPT2. However,
one can add a dispersion correction on top of HF.
• Certain functionals, especially the Minnesota family of functionals (e.g. M06-2X), describe medium-
range dispersion but miss long-range dispersion. They give reasonable dispersion energies for small to
medium systems but may slightly underestimate the dispersion energies for large systems. For them,
dispersion corrections are only available in the zero-damping variant, and one should use the D3ZERO
keyword instead of the D3 keyword. As the uncorrected functional already accounts for the bulk of the
dispersion in this case, the dispersion correction is much less important than e.g. the case of B3LYP, and
should in general be considered as beneficial but not mandatory.
• Some density functional developers reparameterize the functional itself while parameterizing the dis-
persion correction. A famous example is the 𝜔B97X family of functionals, to be detailed in the next
section. For these functionals, the D3, D3BJ or D4 keywords should be hyphenated with the name of the
functional itself, and some quantities that normally would not change when adding dispersion correc-
tions (e.g. orbitals, excitation energies, dipole moments) may change slightly when adding or removing
the dispersion correction. Likewise, for these functionals the structural changes that one observe upon
adding or removing the dispersion correction cannot be completely attributed to the dispersion correction
itself, but may contain contributions due to the change of the functional.
! TRAH
to the simple input line if you expect convergence difficulties. Open-shell molecules notoriously have SCF con-
vergence issues, in particular, if they are composed of many open-shell atoms. In Fig. 6.10, the convergence of a
TRAH-SCF calculation is shown for a high-spin Rh cluster for which the standard SCF diverges. The errors of the
electronic gradient or residual vector converge almost steadily below the default TRAH accuracy of 10−6 .
Alternatively, TRAH is launched automatically if standard SCF (DIIS/SOSCF) shows converge problems (default),
an approach which is called AutoTRAH.
%scf
AutoTRAH true
end
! NOTRAH
%scf
AutoTRAH false
end
Convergence problems are detected by comparing the norm of the electronic gradient at multiple iterations which
is explained in more detail in Sec. Trust-Region Augmented Hessian (TRAH) SCF.
TRAH-SCF is currently implemented for restricted closed-shell (RHF and RKS) and unrestricted open-shell deter-
minants (UHF and UKS) and can be accelerated with RIJ, RIJONX, RIJK, or RIJCOSX. Solvation effects can also be
accounted for with the C-PCM and SMD models. Restricted open-shell calculations are not possible yet.
TRAH-SCF can also be applied to large molecules as it is parallelized and works with AO Fock matrices. However,
for systems with large HOMO-LUMO gaps that converge well, the default SCF converger is usually faster because
the screening in TRAH is less effective and more iterations are required.
For a more detailed documentation we refer to Sec. Trust-Region Augmented Hessian (TRAH) SCF.
ò Note
• TRAH is mathematically guaranteed to converge with a sufficient number of iterations, provided that
there is no numerical noise (e.g. round-off error, truncation error) in the calculation. Therefore, if TRAH
fails to converge, this means that either the default number of iterations is not large enough, or certain
numerical thresholds are not tight enough. One can verify whether the former possibility is operative by
checking whether the error still decreases steadily towards zero in the last SCF iterations. If yes, one can
increase the number of iterations; otherwise it may be worthwhile to try increasing the integration grid,
tighten the integral thresholds, etc.
• For some functionals (e.g. PWPB95), the native ORCA implementation supports only their XC energies
and potentials, but not their XC kernels. In this case one should switch to the LibXC implementation
instead, e.g. replace PWPB95 by LIBXC(PWPB95). Otherwise the calculation aborts upon entering the
TRAH procedure.
Here 𝐸𝑋
𝑌
(𝑍) is the energy of fragment X calculated at the optimized geometry of fragment Y with the basis set of
fragment Z. Thus, you need to do a total the following series of calculations:
1. optimize the geometry of the dimer and the monomers with some basis set Z. This gives you 𝐸𝐴𝐵
𝐴𝐵
(𝐴𝐵),
𝐸𝐴 (𝐴) and 𝐸𝐵 (𝐵)
𝐴 𝐵
2. delete fragment A (B) from the optimized structure of the dimer and re-run the single point calculation with
basis set Z. This gives you 𝐸𝐵
𝐴𝐵
(𝐵) and 𝐸𝐴 𝐴𝐵
(𝐴).
3. Now, the final calculation consists of calculating the energies of A and B at the dimer geometry but with the
dimer basis set. This gives you 𝐸𝐴 𝐴𝐵
(𝐴𝐵) and 𝐸𝐵 𝐴𝐵
(𝐴𝐵).
In order to achieve the last step efficiently, a special notation was put into ORCA which allows you to delete the
electrons and nuclear charges that come with certain atoms but retain the assigned basis set. This trick consists of
putting a “:” after the symbol of the atom. Here is an example of how to run such a calculation of the water dimer
at the MP2 level (with frozen core):
#
# BSSE test
#
# --------------------------------------------
# First the monomer. It is a waste of course
# to run the monomer twice ...
# --------------------------------------------
! RHF MP2 TZVPP VeryTightSCF XYZFile PModel
%id "monomer"
* xyz 0 1
O 7.405639 6.725069 7.710504
H 7.029206 6.234628 8.442160
H 8.247948 6.296600 7.554030
*
$new_job
! RHF MP2 TZVPP VeryTightSCF XYZFile PModel
%id "monomer"
* xyz 0 1
O 7.405639 6.725069 7.710504
H 7.029206 6.234628 8.442160
H 8.247948 6.296600 7.554030
*
# --------------------------------------------
(continues on next page)
# --------------------------------------------
# Now the calculations of the monomer at the
# dimer geometry
# --------------------------------------------
$new_job
! RHF MP2 TZVPP VeryTightSCF XYZFile PModel
%id "monomer_1"
* xyz 0 1
O 7.439917 6.726792 7.762120
H 7.025510 6.226170 8.467436
H 8.274883 6.280259 7.609894
*
$new_job
! RHF MP2 TZVPP VeryTightSCF XYZFile PModel
%id "monomer_1"
* xyz 0 1
O 5.752050 6.489306 5.407671
H 6.313507 6.644667 6.176902
H 5.522285 7.367132 5.103852
*
# --------------------------------------------
# Now the calculation of the monomer at the
# dimer geometry but with the dimer basis set
# --------------------------------------------
$new_job
! RHF MP2 TZVPP VeryTightSCF XYZFile PModel
%id "monomer_2"
* xyz 0 1
O 7.439917 6.726792 7.762120
O : 5.752050 6.489306 5.407671
H 7.025510 6.226170 8.467436
H 8.274883 6.280259 7.609894
H : 6.313507 6.644667 6.176902
H : 5.522285 7.367132 5.103852
*
$new_job
! RHF MP2 TZVPP VeryTightSCF XYZFile PModel
%id "monomer_2"
* xyz 0 1
O : 7.439917 6.726792 7.762120
O 5.752050 6.489306 5.407671
H : 7.025510 6.226170 8.467436
H : 8.274883 6.280259 7.609894
(continues on next page)
Monomer : -152.647062118 Eh
Dimer : -152.655623625 Eh -5.372 kcal/mol
Monomer at dimer geometry: -152.647006948 Eh 0.035 kcal/mol
Same with AB Basis set : -152.648364970 Eh -0.818 kcal/mol
It is also possible to set entire fragments as ghost atoms using the GhostFrags keyword as shown below. See
section Fragment Specification for different ways of defining fragments.
Starting from ORCA 6.0, we support geometry optimizations with the counterpoise correction, us-
ing analytic gradients. This opens up the way of obtaining accurate non-covalent complex ge-
ometries (instead of just interaction energies) using modest basis sets. To use this functional-
ity, one should NOT simply add !Opt to the above input files, but should instead use the dedi-
cated compound script BSSEOptimization.cmp available in the ORCA Compound Script repository
(https://github.com/ORCAQuantumChemistry/CompoundScripts/blob/main/GeometryOptimization/BSSEOptimization.cmp).
Detailed usage are described in the comments of the compound script.
In all of these cases the single-determinantal Hartree-Fock method fails badly and in most of these cases DFT
methods will also fail. In these cases a CASSCF method is a good starting point. CASSCF is a special case of
multiconfigurational SCF (MCSCF) methods which specialize to the situation where the orbitals are divided into
three-subspaces: (a) the internal orbitals which are doubly occupied in all configuration state functions (CSFs) (b)
partially occupied (active) orbitals (c) virtual (external) orbitals which are empty in all CSFs.
A fixed number of electrons is assigned to the internal subspace and the active subspace. If N-electrons are “active”
in M orbitals one speaks of a CASSCF(N,M) wavefunctions. All spin-eigenfunctions for N-electrons in M orbitals
are included in the configuration interaction step and the energy is made stationary with respect to variations in the
MO and the CI coefficients. Any number of roots of any number of different multiplicities can be calculated and
the CASSCF energy may be optimized with respect to a user defined average of these states.
The CASSCF method has the nice advantage that it is fully variational which renders the calculation of analytical
gradients relatively easy. Thus, the CASSCF method may be used for geometry optimizations and numerical
frequency calculations.
The price to pay for this strongly enhanced flexibility relative to the single-determinantal HF method is that the
CASSCF method requires more computational resources and also more insight and planning from the user side.
The technical details are explained in section The Complete Active Space Self-Consistent Field (CASSCF) Module.
Here we explain the use of the CASSCF method by examples. In addition to the description in the manual, there
is a separate tutorial for CASSCF with many more examples in the field of coordination chemistry. The tutorial
covers the design of the calculation, practical tips on convergence as well as the computation of properties.
A number of properties are available in ORCA (g-tensor, ZFS splitting, CD, MCD, susceptibility, dipoles, . . . ). The
majority of CASSCF properties such as EPR parameters are computed in the framework of the quasi-degenerate
perturbation theory. Some properties such as ZFS splittings can also be computed via perturbation theory or
rigorously extracted from an effective Hamiltonian. For a detailed description of the available properties and
options see section CASSCF Properties. All the aforementioned properties are computed within the CASSCF
module. An exception are Mössbauer parameters, which are computed with the usual keywords using the EPRNMR
module (Mössbauer Parameters).
A simple Example
One standard example of a multireference system is the Be atom. Let us run two calculations, a standard closed-
shell calculation (1s2 2s2 ) and a CASSCF(2,4) calculation which also includes the (1s2 2s1 2p1 ) and (1s2 2s0 2p2 )
configurations.
! TZVPP TightSCF
* xyz 0 1
Be 0 0 0
*
This standard closed-shell calculation yields the energy -14.56213241 Eh. The CASSCF calculation
! TZVPP TightSCF
%casscf nel 2
norb 4
end
* xyz 0 1
Be 0 0 0
*
yields the energy -14.605381525 Eh. Thus, the inclusion of the 2p shell results in an energy lowering of 43 mEh
which is considerable. The CASSCF program also prints the composition of the wavefunction:
---------------------------------------------
CAS-SCF STATES FOR BLOCK 1 MULT= 1 NROOTS= 1
---------------------------------------------
ROOT 0: E= -14.6053815294 Eh
0.90060 [ 0]: 2000
0.03313 [ 4]: 0200
(continues on next page)
This information is to be read as follows: The lowest state is composed of 90% of the configuration which has the
active space occupation pattern 2000 which means that the first active orbital is doubly occupied in this configu-
ration while the other three are empty. The MO vector composition tells us what these orbitals are (ORCA uses
natural orbitals to canonicalize the active space).
0 1 2 3 4 5
-4.70502 -0.27270 0.11579 0.11579 0.11579 0.16796
2.00000 1.80121 0.06626 0.06626 0.06626 0.00000
-------- -------- -------- -------- -------- --------
0 Be s 100.0 100.0 0.0 0.0 0.0 100.0
0 Be pz 0.0 0.0 13.6 6.1 80.4 0.0
0 Be px 0.0 0.0 1.5 93.8 4.6 0.0
0 Be py 0.0 0.0 84.9 0.1 15.0 0.0
Thus, the first active space orbital has occupation number 1.80121 and is the Be-2s orbital. The other three orbitals
are 2p in character and all have the same occupation number 0.06626. Since they are degenerate in occupation
number space, they are arbitrary mixtures of the three 2p orbitals. It is then clear that the other components of the
wavefunction (each with 3.31%) are those in which one of the 2p orbitals is doubly occupied.
How did we know how to put the 2s and 2p orbitals in the active space? The answer is – WE DID NOT KNOW! In
this case it was “good luck” that the initial guess produced the orbitals in such an order that we had the 2s and 2p
orbitals active. IN GENERAL IT IS YOUR RESPONSIBILITY THAT THE ORBITALS ARE ORDERED
SUCH THAT THE ORBITALS THAT YOU WANT IN THE ACTIVE SPACE COME IN THE DESIRED
ORDER. In many cases this will require re-ordering and CAREFUL INSPECTION of the starting orbitals.
. Attention
If you include orbitals in the active space that are nearly empty or nearly doubly occupied, convegence problems
are likely. The SuperCI(PT) [459] and Newton-Raphson method are less prone to these problems.
Starting Orbitals
Tip
In many cases natural orbitals of a simple correlated calculation of some kind provide a good starting point for
CASSCF.
Let us illustrate this principle with a calculation on the Benzene molecule where we want to include all six 𝜋-orbitals
in the active space. After doing a RHF calculation:
! RHF SV(P)
* int 0 1
C 0 0 0 0.000000 0.000 0.000
C 1 0 0 1.389437 0.000 0.000
C 2 1 0 1.389437 120.000 0.000
C 3 2 1 1.389437 120.000 0.000
C 4 3 2 1.389437 120.000 0.000
C 5 4 3 1.389437 120.000 0.000
H 1 2 3 1.082921 120.000 180.000
H 2 1 3 1.082921 120.000 180.000
H 3 2 1 1.082921 120.000 180.000
H 4 3 2 1.082921 120.000 180.000
H 5 4 3 1.082921 120.000 180.000
(continues on next page)
12 13 14 15 16 17
-0.63810 -0.62613 -0.59153 -0.59153 -0.50570 -0.49833
2.00000 2.00000 2.00000 2.00000 2.00000 2.00000
-------- -------- -------- -------- -------- --------
0 C s 2.9 0.0 0.3 0.1 0.0 0.0
0 C pz 0.0 0.0 0.0 0.0 16.5 0.0
0 C px 1.4 12.4 5.9 0.3 0.0 11.2
0 C py 4.2 4.1 10.1 5.9 0.0 0.1
0 C dyz 0.0 0.0 0.0 0.0 0.1 0.0
0 C dx2y2 0.1 0.1 0.2 0.2 0.0 0.5
0 C dxy 0.4 0.0 0.0 0.2 0.0 0.0
1 C s 2.9 0.0 0.3 0.1 0.0 0.0
1 C pz 0.0 0.0 0.0 0.0 16.5 0.0
1 C px 1.4 12.4 5.9 0.3 0.0 11.2
1 C py 4.2 4.1 10.1 5.9 0.0 0.1
1 C dyz 0.0 0.0 0.0 0.0 0.1 0.0
1 C dx2y2 0.1 0.1 0.2 0.2 0.0 0.5
1 C dxy 0.4 0.0 0.0 0.2 0.0 0.0
2 C s 2.9 0.0 0.0 0.4 0.0 0.1
2 C pz 0.0 0.0 0.0 0.0 16.5 0.0
2 C px 5.7 0.0 0.0 20.9 0.0 10.1
2 C py 0.0 16.5 1.3 0.0 0.0 0.0
2 C dxz 0.0 0.0 0.0 0.0 0.1 0.0
2 C dx2y2 0.6 0.0 0.0 0.2 0.0 1.2
2 C dxy 0.0 0.1 0.5 0.0 0.0 0.0
3 C s 2.9 0.0 0.3 0.1 0.0 0.0
3 C pz 0.0 0.0 0.0 0.0 16.5 0.0
3 C px 1.4 12.4 5.9 0.3 0.0 11.2
3 C py 4.2 4.1 10.1 5.9 0.0 0.1
3 C dyz 0.0 0.0 0.0 0.0 0.1 0.0
3 C dx2y2 0.1 0.1 0.2 0.2 0.0 0.5
3 C dxy 0.4 0.0 0.0 0.2 0.0 0.0
4 C s 2.9 0.0 0.3 0.1 0.0 0.0
4 C pz 0.0 0.0 0.0 0.0 16.5 0.0
4 C px 1.4 12.4 5.9 0.3 0.0 11.2
4 C py 4.2 4.1 10.1 5.9 0.0 0.1
4 C dyz 0.0 0.0 0.0 0.0 0.1 0.0
4 C dx2y2 0.1 0.1 0.2 0.2 0.0 0.5
4 C dxy 0.4 0.0 0.0 0.2 0.0 0.0
5 C s 2.9 0.0 0.0 0.4 0.0 0.1
5 C pz 0.0 0.0 0.0 0.0 16.5 0.0
5 C px 5.7 0.0 0.0 20.9 0.0 10.1
5 C py 0.0 16.5 1.3 0.0 0.0 0.0
5 C dxz 0.0 0.0 0.0 0.0 0.1 0.0
5 C dx2y2 0.6 0.0 0.0 0.2 0.0 1.2
5 C dxy 0.0 0.1 0.5 0.0 0.0 0.0
6 H s 7.5 0.0 7.5 2.5 0.0 2.5
7 H s 7.5 0.0 7.5 2.5 0.0 2.5
8 H s 7.5 0.0 0.0 10.0 0.0 9.9
9 H s 7.5 0.0 7.5 2.5 0.0 2.5
10 H s 7.5 0.0 7.5 2.5 0.0 2.5
11 H s 7.5 0.0 0.0 10.0 0.0 9.9
We see that the occupied 𝜋-orbitals number 16, 19, 20 and the unoccupied ones start with 21 and 22. However, the
sixth high-lying 𝜋 * -orbital cannot easily be found. Thus, let us run a simple selected CEPA/2 calculation and look
at the natural orbitals.
! RHF SV(P)
! moread
%moinp "Test-CASSCF-Benzene-1.gbw"
From these occupation number it becomes evident that there are several natural orbitals which are not quite doubly
occupied MOs. Those with an occupation number of 1.95 and less should certainly be taken as active. In addition
the rather strongly occupied virtual MOs 21-23 should also be active leading to CASSCF(6,6). Let us see what
these orbitals are before starting CASSCF:
! RHF SV(P)
! moread noiter
%moinp "Test-CASSCF-Benzene-2.mrci.nat"
Leading to:
18 19 20 21 22 23
1.00000 1.00000 1.00000 1.00000 1.00000 1.00000
1.95479 1.91751 1.91747 0.07187 0.07182 0.03204
-------- -------- -------- -------- -------- --------
0 C pz 16.5 8.1 24.4 23.4 7.8 16.1
0 C dxz 0.0 0.4 0.2 0.6 0.9 0.1
0 C dyz 0.1 0.2 0.0 0.0 0.6 0.4
1 C pz 16.5 8.1 24.4 23.5 7.8 16.1
1 C dxz 0.0 0.4 0.2 0.6 0.9 0.1
(continues on next page)
This shows us that these six orbitals are precisely the 𝜋/𝜋 * orbitals that we wanted to have active (you can also plot
them to get even more insight).
Now we know that the desired orbitals are in the correct order, we can do CASSCF:
! SV(P)
! moread
%moinp "Test-CASSCF-Benzene-2.mrci.nat"
%casscf nel 6
norb 6
nroots 1
mult 1
switchstep nr # For illustration purpose
end
To highlight the feature SwitchStep of the CASSCF program, we employ the Newton-Raphson method (NR)
after a certain convergence has been reached (SwitchStep NR statement). In general, it is not recommended to
change the default convergence settings! The output of the CASSCF program is:
------------------
CAS-SCF ITERATIONS
------------------
MACRO-ITERATION 1:
--- Inactive Energy E0 = -224.09725414 Eh
CI-ITERATION 0:
-230.588253032 0.000000000000 ( 0.00)
CI-PROBLEM SOLVED
DENSITIES MADE
MACRO-ITERATION 2:
--- Inactive Energy E0 = -224.09299157 Eh
CI-ITERATION 0:
-230.590141151 0.000000000000 ( 0.00)
CI-PROBLEM SOLVED
DENSITIES MADE
E(CAS)= -230.590141151 Eh DE= -1.888119e-03
--- Energy gap subspaces: Ext-Act = 0.202 Act-Int = 0.126
--- current l-shift: Up(Ext-Act) = 0.90 Dn(Act-Int) = 0.97
N(occ)= 1.96182 1.90357 1.90364 0.09771 0.09777 0.03549
||g|| = 2.971340e-02 Max(G)= -8.643429e-03 Rot=52,20
--- Orbital Update [SuperCI(PT)]
--- Canonicalize Internal Space
--- Canonicalize External Space
--- SX_PT (Skipped TA=0 IT=0): ||X|| = 0.009811159 Max(X)(67,21) = -0.003665750
--- SFit(Active Orbitals)
MACRO-ITERATION 3:
===>>> Convergence to 3.0e-02 achieved - switching to Step=NR
--- Inactive Energy E0 = -224.07872151 Eh
CI-ITERATION 0:
-230.590260496 0.000000000000 ( 0.00)
CI-PROBLEM SOLVED
DENSITIES MADE
E(CAS)= -230.590260496 Eh DE= -1.193453e-04
--- Energy gap subspaces: Ext-Act = 0.203 Act-Int = 0.125
--- current l-shift: Up(Ext-Act) = 0.73 Dn(Act-Int) = 0.81
N(occ)= 1.96145 1.90275 1.90278 0.09856 0.09857 0.03589
||g|| = 8.761362e-03 Max(G)= 4.388664e-03 Rot=43,19
--- Orbital Update [ NR]
AUGHESS-ITER 0: E= -0.000016434 <r|r>= 2.70127912e-05
AUGHESS-ITER 1: E= -0.000021148 <r|r>= 2.91399830e-06
AUGHESS-ITER 2: E= -0.000021780 <r|r>= 4.01336069e-07 => CONVERGED
DE(predicted)= -0.000010890 First Element= 0.999987718
<X(rot)|X(rot)>= 0.000024564
--- SFit(Active Orbitals)
MACRO-ITERATION 4:
--- Inactive Energy E0 = -224.07787812 Eh
CI-ITERATION 0:
-230.590271490 0.000000000000 ( 0.00)
CI-PROBLEM SOLVED
DENSITIES MADE
E(CAS)= -230.590271490 Eh DE= -1.099363e-05
--- Energy gap subspaces: Ext-Act = 0.202 Act-Int = 0.125
--- current l-shift: Up(Ext-Act) = 0.40 Dn(Act-Int) = 0.47
N(occ)= 1.96135 1.90267 1.90267 0.09866 0.09866 0.03599
||g|| = 6.216730e-04 Max(G)= 1.417079e-04 Rot=66,13
---- THE CAS-SCF GRADIENT HAS CONVERGED ----
--- FINALIZING ORBITALS ---
---- DOING ONE FINAL ITERATION FOR PRINTING ----
--- Forming Natural Orbitals
(continues on next page)
MACRO-ITERATION 5:
--- Inactive Energy E0 = -224.07787811 Eh
--- All densities will be recomputed
CI-ITERATION 0:
-230.590271485 0.000000000000 ( 0.00)
CI-PROBLEM SOLVED
DENSITIES MADE
E(CAS)= -230.590271485 Eh DE= 5.179942e-09
--- Energy gap subspaces: Ext-Act = -0.242 Act-Int = -0.002
--- current l-shift: Up(Ext-Act) = 0.84 Dn(Act-Int) = 0.60
N(occ)= 1.96135 1.90267 1.90267 0.09866 0.09866 0.03599
||g|| = 6.216710e-04 Max(G)= 1.544017e-04 Rot=29,12
--------------
CASSCF RESULTS
--------------
First of all you can see how the program cycles between CI-vector optimization and orbital optimization steps
(so-called unfolded two-step procedure). After 3 iterations, the program switches to the Newton-Raphson solver
which then converges very rapidly. Orbital optimization with the Newton-Raphson solver is limited to smaller sized
molecules, as the program produces lengthy integrals and Hessian files. In the majority of situations the default
converger (SuperCI(PT)) is the preferred choice.[459]
Very good starting orbitals that are targeted to a specific user-given active space can be generated with the Atomic
Valence Active Space (AVAS) procedure. [752, 753] The general idea is that the user provides a set of atomic
orbitals (AO) of a minimal basis set that are sufficient to qualitatively represent the final CASSCF active orbitals.
Typical examples are
• pz orbitals of a 𝜋 system chromophore in a molecule
• five valence (or 10 double-shell) d orbitals of a transition-metal (TM) atom in a molecule
• seven valence (or 14 double-shell) f orbitals of a lanthanide or actinide atom in a molecule
Then, by the help of linear algebra (singular-value decomposition) AVAS rotates the starting molecular orbitals
(MOs) such that they have maximum overlap with the target AOs. With those rotated MOs that have a sufficiently
large singular value (> 0.4 (default)) are considered as active orbitals. In that manner, AVAS can automatically
determine an active space, i.e. the number of active orbitals and electrons, that is now specified by the target AOs.
As a first example, we now consider CuCl−
4 in a minimal active space
%maxcore 3000
%paras
cucl = 2.291
end
* int -1 1
Cu 0 0 0 0.0 0.0 0.0
Cl 1 0 0 {cucl} 0.0 0.0
Cl 1 2 0 {cucl} 90.0 0.0
Cl 1 3 2 {cucl} 90.0 180.
(continues on next page)
The keyword ! AVAS(Valence-D) seeks for all transition-metal atoms in the molecule and inserts a single min-
imal d basis function for each TM atom. All five component 𝑀𝐿 of the basis function are then considered. The
AVAS procedure prints singular / eigen values for the occupied and virtual orbital space and easily finds the desired
minimal active space CAS(9,5).
-------------------------------------------------
INITIAL GUESS: Atomic Valence Active space (AVAS)
-------------------------------------------------
AVAS electrons : 9
AVAS orbitals : 5
The five initial active orbitals after being processed by AVAS indeed look like the desired Cu d-orbitals.
The same calculation can be started also by using the %scf avas ... end end block.
%scf
avas
system
shell 3, 3, 3, 3, 3
l 2, 2, 2, 2, 2
m_l 0, 1, -1, 2, -2
center 0, 0, 0, 0, 0
end
end
end
Here, it is also possible to use target basis functions at different atoms (center) and to select only a subset of
functions in a shell (𝑚l ). Note that if not all functions of a shell (3p, 5d, 7f) are selected, the molecule should be
oriented manually to accomplish the desired basis function overlap.
AVAS can be also used very conveniently in the same fashion for double-d shell calculations with transition-metal
complexes (! AVAS(Double-D)). For each 3d transition-metal center in a molecule all 3d and 4d target functions
are considered. Similarly, double-shell active spaces can be also set up for 4d and 5d transition-metal complexes.
There is also a similar keyword for lanthanides and actinides. ! AVAS( Valence-F ) attempts to set up an
active space with 7 f functions for each lanthanide or actinide atom in a molecule. There is also the possibility to
run double-f shell calculations using the ! AVAS( Double-F ) keyword.
To avoid this issue for 𝜋 active space calculation, all three 2p target AOs are considered first but they are weighted
by the three component of the principle axis of inertia with the largest moment. [752] For those inertia moment
calculations, masses are ignored and only the centers of the desired target p AO are considered.
For a CAS(10,9) 𝜋-active space calculation on tryptophan, the AVAS input read
%scf
avas
tol 0.4
system
center 0, 1, 2, 3, 4, 5, 10, 11, 12
type pz, pz, pz, pz, pz, pz, pz, pz, pz
end
end
end
* xyz 0 1
C 0.4512549872 2.3796411953 0.0577773122
C 0.1094760583 1.0035547288 -0.1566676092
C 1.7801675822 2.8072137170 0.2571892289
C 2.7806901872 1.8262977582 0.2356692574
C 2.4656511421 0.4546661378 0.0230301052
C 1.1452272475 0.0339609344 -0.1736410480
H 2.0259509453 3.8615102004 0.4187388370
H 3.8237760997 2.1214062744 0.3833595222
H 3.2752609035 -0.2812140701 0.0109117373
H 0.9203743659 -1.0244858148 -0.3388820373
C -1.3215206968 0.9316755285 -0.3177965838
C -1.7965156128 2.2386249398 -0.2022300378
N -0.7296902726 3.0958334808 0.0227806512
H -0.8107596679 4.0971334562 0.1485860796
H -2.8167763088 2.6080109542 -0.2688439980
C -2.1029028025 -0.3291635000 -0.5688909937
C -3.4238543678 -0.4065989881 0.2267575199
H -1.4745479852 -1.1909157350 -0.2884954137
H -2.3461010681 -0.4478113906 -1.6421457333
C -3.9423325138 -1.8379287141 0.1258142785
N -4.3742952299 0.5836598444 -0.2812451173
H -3.2051519657 -0.1892488262 1.2846794690
O -3.2924970778 -2.6708957465 0.9924074621
O -4.8043368378 -2.2232843366 -0.6488988164
H -3.6480373076 -3.5631013900 0.8277551234
H -5.2270970579 0.5578136152 0.2816027849
H -4.6658127461 0.2911757460 -1.2180819802
*
-------------------------------------------------
INITIAL GUESS: Atomic Valence Active space (AVAS)
-------------------------------------------------
AVAS electrons : 10
AVAS orbitals : 9
------------------
INITIAL GUESS DONE ( 0.3 sec)
------------------
It is also possible to specify the number of active electrons nel and orbitals norb directly. For such a calculation, the
AVAS singular value decomposition threshold tol is ignored. In the following calculation, the strongly occupied
orbital from the previous CAS(10,9) (𝜎4o in Fig. 6.12) calculation is omitted.
%scf
avas
system
norb 8
nel 8
center 0, 1, 2, 3, 4, 5, 10, 11, 12
type pz, pz, pz, pz, pz, pz, pz, pz, pz
end
end
end
It is also possible to do the AVAS start MO generation for several systems independently and then re-
orthonormalize all MOs at the end similar to [752]. This becomes interesting for generating starting orbitals for
multiple 𝜋 chromophores like the bridged bithiophene biradical
%scf
avas
system
norb 4
nel 3
center 0, 1, 2, 3, 4 # C / S atoms system 1
type pz, pz, pz, pz, pz
end
system
(continues on next page)
! SVP NoIter
! PModel
%scf
avas
system
center 0
type d
end
system
center 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 29,␣
˓→30, 31, 32
type pz, pz, pz, pz, pz, pz, pz, pz, pz, pz, pz, pz, pz, pz, pz, pz, pz, pz, pz, pz, pz,␣
˓→pz, pz, pz
end
end
end
*xyz 0 1
Fe 0.0000 0.0000 0.0000
N 1.9764 0.0000 0.0000
N 0.0000 0.0000 1.9884
N -1.9764 0.0000 0.0000
N 0.0000 0.0000 -1.9884
C 2.8182 0.0000 -1.0903
C 2.8182 0.0000 1.0903
C 1.0918 0.0000 2.8249
C -1.0918 0.0000 2.8249
C -2.8182 0.0000 1.0903
C -2.8182 0.0000 -1.0903
C -1.0918 0.0000 -2.8249
C 1.0918 0.0000 -2.8249
C 4.1961 0.0000 -0.6773
C 4.1961 0.0000 0.6773
C 0.6825 0.0000 4.1912
C -0.6825 0.0000 4.1912
C -4.1961 0.0000 0.6773
C -4.1961 0.0000 -0.6773
C -0.6825 0.0000 -4.1912
C 0.6825 0.0000 -4.1912
H 5.0441 0.0000 -1.3538
H 5.0441 0.0000 1.3538
H 1.3558 0.0000 5.0416
H -1.3558 0.0000 5.0416
H -5.0441 0.0000 1.3538
H -5.0441 0.0000 -1.3538
H -1.3558 0.0000 -5.0416
H 1.3558 0.0000 -5.0416
C 2.4150 0.0000 2.4083
C -2.4150 0.0000 2.4083
C -2.4150 0.0000 -2.4083
(continues on next page)
For those systems, all AVAS starting MOs have the desired 𝜋 or 𝑑 character as illustrated for the “active frontier
orbitals” in Fig. 6.13.
Fig. 6.13: Initial HOMO and LUMO AVAS orbitals of a bridged bithiophene biradical and FeTPP.
! def2-TZVP def2-TZVP/C UseSym RI-MP2 conv # conventional is faster for small molecules
%mp2
density unrelaxed
natorbs true
end
* int 0 1
C 0 0 0 0 0 0
C 1 0 0 1.35 0 0
H 1 2 0 1.1 120 0
H 1 2 3 1.1 120 180
H 2 1 3 1.1 120 0
H 2 1 3 1.1 120 180
*
The program does the following. It first identifies the group correctly as D2ℎ and sets up its irreducible represen-
tations. The process detects symmetry within SymThresh (10−4 ) and purifies the geometry thereafter:
------------------
SYMMETRY DETECTION
------------------
The point group will now be determined using a tolerance of 1.0000e-04.
Splitting atom subsets according to nuclear charge, mass and basis set.
Splitting atom subsets according to distance from the molecule's center.
Identifying relative distance patterns of the atoms.
Splitting atom subsets according to atoms' relative distance patterns.
Bring atoms of each subset into input order.
The molecule is planar.
The molecule has a center of inversion.
Analyzing the first atom subset for its symmetry.
The atoms in the selected subset form a 4-gon with alternating side lengths.
Testing point group D2h.
Success!
This point group has been found: D2h
Largest non-degenerate subgroup: D2h
-----------------------------------------------
SYMMETRY-PERFECTED CARTESIAN COORDINATES (A.U.)
-----------------------------------------------
Warning (ORCA_SYM): Coordinates were not cleaned so far!
------------------
SYMMETRY REDUCTION
------------------
ORCA supports only abelian point groups.
It is now checked, if the determined point group is supported:
Point Group ( D2h ) is ... supported
----------------------
ASYMMETRIC UNIT IN D2h
----------------------
# AT MASS COORDS (A.U.) BAS
0 C 12.0110 -1.27556514 0.00000000 0.00000000 0
2 H 1.0080 -2.31491451 1.80020592 0.00000000 0
----------------------
SYMMETRY ADAPTED BASIS
----------------------
The coefficients for the symmetry adapted linear combinations (SALCS)
of basis functions will now be computed:
Number of basis functions ... 86
Preparing memory ... done
Constructing Gamma(red) ... done
Reducing Gamma(red) ... done
Constructing SALCs ... done
Checking SALC integrity ... nothing suspicious
Normalizing SALCs ... done
It then performs the SCF calculation and keeps the symmetry in the molecular orbitals.
The MP2 module does not take any advantage of this information but produces natural orbitals that are symmetry
adapted:
N[ 0](B3u) = 2.00000360
N[ 1]( Ag) = 2.00000219
N[ 2]( Ag) = 1.98056435
N[ 3](B3u) = 1.97195041
N[ 4](B2u) = 1.96746753
N[ 5](B1g) = 1.96578954
N[ 6]( Ag) = 1.95864726
N[ 7](B1u) = 1.93107098
N[ 8](B2g) = 0.04702701
N[ 9](B3u) = 0.02071784
(continues on next page)
From this information and visual inspection you will know what orbitals you will have in the active space:
These natural orbitals can then be fed into the CASSCF calculation. We perform a simple calculation in which we
keep the ground state singlet (A1𝑔 symmetry, irrep=0) and the first excited triplet state (B3𝑢 symmetry, irrep=7).
In general the ordering of irreps follows standard conventions and in case of doubt you will find the relevant number
for each irrep in the output.
For example, here (using LargePrint):
----------------------------
CHARACTER TABLE OF GROUP D2h
----------------------------
GAMMA O1 O2 O3 O4 O5 O6 O7 O8
Ag : 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
B1g: 1.0 1.0 -1.0 -1.0 1.0 1.0 -1.0 -1.0
B2g: 1.0 -1.0 1.0 -1.0 1.0 -1.0 1.0 -1.0
B3g: 1.0 -1.0 -1.0 1.0 1.0 -1.0 -1.0 1.0
Au : 1.0 1.0 1.0 1.0 -1.0 -1.0 -1.0 -1.0
B1u: 1.0 1.0 -1.0 -1.0 -1.0 -1.0 1.0 1.0
B2u: 1.0 -1.0 1.0 -1.0 -1.0 1.0 -1.0 1.0
B3u: 1.0 -1.0 -1.0 1.0 -1.0 1.0 1.0 -1.0
---------------------------------
DIRECT PRODUCT TABLE OF GROUP D2h
---------------------------------
** Ag B1g B2g B3g Au B1u B2u B3u
We use the following input for CASSCF, where we tightened the integral cut-offs and the convergence criteria using
!VeryTightSCF.
! def2-TZVP Conv NormalPrint UseSym
! moread
%moinp "Test-SYM-CAS-C2H4-1.mp2nat"
%casscf nel 4
norb 4
# This is only here to show that NR can also be used from
# the start with orbstep
orbstep nr
switchstep nr
# the lowest singet and triplet states. The new feature
(continues on next page)
* int 0 1
C 0 0 0 0 0 0
C 1 0 0 1.35 0 0
H 1 2 0 1.1 120 0
H 1 2 3 1.1 120 180
H 2 1 3 1.1 120 0
H 2 1 3 1.1 120 180
*
And gives:
------------
SCF SETTINGS
------------
Hamiltonian:
Ab initio Hamiltonian Method .... Hartree-Fock(GTOs)
General Settings:
Integral files IntName .... Test-SYM-CAS-C2H4-1
Hartree-Fock type HFTyp .... CASSCF
Total Charge Charge .... 0
Multiplicity Mult .... 1
Number of Electrons NEL .... 16
Basis Dimension Dim .... 86
Nuclear Repulsion ENuc .... 32.9609050695 Eh
Note that the irrep occupations and active space irreps will be frozen to what they are upon entering the CASSCF
program. This helps to setup the CI problem.
After which it smoothly converges to give:
6: 1.986258 -0.753012 -20.4905 3-Ag
7: 1.457849 -0.291201 -7.9240 1-B1u
8: 0.541977 0.100890 2.7454 1-B2g
9: 0.013915 0.964186 26.2368 3-B3u
As well as:
-----------------------------
SA-CASSCF TRANSITION ENERGIES
------------------------------
# Commented out: Detailed settings of the auxiliary basis in the %basis block,
# where the AuxC slot is relevant for the option TrafoStep RI.
# %basis
# auxC "def2-svp/C" # "AutoAux" or "def2/JK"
# end
%casscf nel 6
norb 6
nroots 1
mult 1
trafostep ri
end
The energy of this calculation is -230.590328 Eh compared to the previous result -230.590271 Eh. Thus, the
RI error is only 0.06 mEh which is certainly negligible for all intents and purposes. With the larger /JK auxiliary
basis the error is typically much smaller (0.02 mEh in this example). Even if more accurate results are necessary,
it is a good idea to pre-converge the CASSCF with RI. The resulting orbitals should be a much better guess for the
subsequent calculation without RI and thus save computation time.
The TrafoStep RI only affects the integral transformation in CASSCF calculations while the Fock operators
are still calculated in the standard way using four index integrals. In order to fully avoid any four-index integral
evaluation, you can significantly speed up the time needed in each iteration by specifying !RIJCOSX. The keyword
implies TrafoStep RI . The COSX approximation is used for the construction of the Fock matrices. In this case,
an additional auxiliary basis (/J auxiliary basis) is mandatory.
! SV(P) def2-svp/C RIJCOSX def2/J
! moread
%moinp "Test-CASSCF-Benzene-2.mrci.nat"
# Commented out: Detailed settings of the auxiliary basis in the %basis block,
# where the AuxJ and AuxC slot are mandatory.
# %basis
# auxJ "def2/J" # "AutoAux"
# auxC "def2-svp/C" # "AutoAux", "def2/JK"
# end
%casscf nel 6
norb 6
nroots 1
mult 1
end
The speedup and accuracy is similar to what is observed in RHF and UHF calculations. In this example the RIJCOSX
leads to an error of 1 mEh. The methodology performs better for the computation of energy differences, where it
profits from error cancellation. The RIJCOSX is ideally suited to converge large-scale systems. Note that for large
calculations the integral cut-offs and numerical grids should be tightened. See section Using the RI Approximation
for Hartree-Fock and Hybrid DFT (RIJCOSX) for details. With a floppy numerical grid setting the accuracy as
well as the convergence behavior of CASSCF deteriorate. The RIJK approximation offers an alternative ansatz.
The latter is set with !RIJK and can also be run in conventional mode (conv) for additional speed-up. With conv,
a single auxiliary basis must be provided that is sufficiently larger to approximate the Fock matrices as well the
gradient/Hessian integrals. In direct mode an additional auxiliary basis set can be set for the AuxC slot.
! SV(P) RIJK def2/JK
# Commented out: Detailed settings of the auxiliary basis in the %basis block,
# where only the auxJK slot must be set.
# %basis
# auxJK "def2/JK" # or "AutoAux"
# end
The RIJK methodology is more accurate and robust for CASSCF e.g. here the error is just 0.5 mEH.
Organic molecules with nearly double occupied orbitals can be challenge for the orbital optimization process. We
compare calculations done with/without the NR solver:
! SV(P)
! moread
%moinp "Test-CASSCF-Benzene-2.mrci.nat"
%casscf nel 6
norb 6
nroots 1
mult 1
# overwriting default settings with NR close to convergence
(continues on next page)
The NR variant takes 5 cycles to converge, whereas the default (SuperCI_PT) requires 8 cycles. In general, first
order methods, take more iterations compared to the NR method. However, first order methods are much cheaper
than the NR and therefore it may pay off to do a few iterations more rather than switching to the expensive second
order methods. Moreover, second order methods are less robust and may diverge in certain circumstances (too far
from convergence). When playing with the convergence settings, there is always a trade-off between speed versus
robustness. The default settings are chosen carefully.[459] Facing convergence problems, it can be useful to use
an alternative scheme (orbstep SuperCI and switchstep DIIS) in conjunction with a level-shifts (ShiftUp,
ShiftDn). Alternatively, changing the guess orbitals may avoid convergence problems as well.
%casscf
nel 6
norb 6
mult 1
nroots 2
end
*xyz 0 1
N 0.0 0.0 0.0
N 0.0 0.0 1.1
end
In most cases, there is no need to play with any input parameters. The only exception is the choice of active molec-
ular orbital representations that can have a significant impact on the convergence rate for spin-coupled systems. As
can be seen from Fig. Fig. 6.14, for such calculations localized active orbitals perform best. In any other case, the
natural orbitals (default) should be employed.
10+1
SXPT
10+0 Macro, loc
10-1 Micro, loc
Macro, nat
10-2 Macro, can
10-3
||g||
10-4
-5
10
-6
10
10-7
10-8
0 10 20 30 40 50 60 70 80 90
Iteration
Fig. 6.14: SXPT and TRAH error convergence using different choices for the active-orbital basis.
%casscf
TRAHCAS
#ActiveMOs NotSet
#ActiveMOs Canonical
#ActiveMOs Localized
ActiveMOs Natural # default
end
end
Note that, in contrast to the SCF program, there is no AutoTRAH feature for CASSCF yet. The TRAH feature has
to be requested explicitly in the input.
!Def2-SVP TightSCF
%casscf
nel 2
norb 2
mult 1
nroots 1
end
* xyz 0 1
H 0.0 0.0 0.0
H 0.0 0.0 {R}
end
The resulting potential energy surface (PES) is depicted in Fig. 6.15 together with PESs obtained from RHF and
broken-symmetry UHF calculations (input below).
# etc...
And
%scf
FlipSpin 1
FinalMs 0.0
end
# etc...
ò Note
The FlipSpin option does not work together with the parameter scan. Only the first structure will undergo a
spin flip. Therefore, at the current status, a separate input file (including the coordinates or with a corresponding
coordinate file) has to be provided for each structure that is scanned along the PES.
Fig. 6.15: Potential Energy Surface of the H2 molecule from RHF, UHF and CASSCF(2,2) calculations (Def2-SVP
basis).
It is obvious, that the CASSCF surface is concise and yields the correct dissociation behavior. The RHF surface
is roughly parallel to the CASSCF surface in the vicinity of the minimum but then starts to fail badly as the H-H
bond starts to break. The broken-symmetry UHF solution is identical to RHF in the vicinity of the minimum and
dissociates correctly. It is, however, of rather mediocre quality in the intermediate region where it follows the RHF
surface.
A more challenging case is to dissociate the N-N bond of the N2 molecule correctly. Using CASSCF with the
six p-orbitals we get a nice potential energy curve (The depth of the minimum is still too shallow compared to
experiment by some 1 eV or so. A good dissociation energy requires a dynamic correlation treatment on top of
CASSCF and a larger basis set).
Fig. 6.16: Potential Energy Surface of the N2 molecule from CASSCF(6,6) calculations (Def2-SVP basis).
One can use the H2 example to illustrate the state-averaging feature. Since we have two active electrons we have two
singlets and one triplet. Let us average the orbitals over these three states (we take equal weights for all multiplicity
blocks):
!Def2-SVP TightSCF
%casscf
nel 2
norb 2
mult 3,1
nroots 1,2
end
* xyz 0 1
H 0 0 0
H 0 0 {R}
end
which gives:
Fig. 6.17: State averaged CASSCF(2,2) calculations on H2 (two singlets, one triplet; Def2-SVP basis). The grey
curve is the ground state CASSCF(2,2) curve
One observes, that the singlet and triplet ground states become degenerate for large distances (as required) while
the second singlet becomes the ionic singlet state which is high in energy. If one compares the lowest root of the
state-averaged calculation (in green) with the dedicated ground state calculation (in gray) one gets an idea of the
energetic penalty that is associated with averaged as opposed to dedicated orbitals.
A more involved example is the rotation around the double bond in C2 H4 . Here, the 𝜋-bond is broken as one twists
the molecule. The means the proper active space consists of two active electron in two orbitals.
The input is (for fun, we average over the lowest two singlets and the triplet):
!def2-SVP TightSCF
%casscf
nel 2
norb 2
mult 3,1
nroots 1,2
end
%paras
Alpha = 0,180,37
end
* int 0 1
C 0 0 0 0 0 0
C 1 0 0 1.34 0 0
H 1 2 0 1.07 120 0
H 1 2 3 1.07 120 180
H 2 1 3 1.07 120 {Alpha}
H 2 1 3 1.07 120 {Alpha+180}
edn
Fig. 6.18: State averaged CASSCF(2,2) calculations on C2 H4 (two singlets, one triplet; SV(P) basis). The grey
curve is the state averaged energy.
We can see from this plot, that the CASSCF method produces a nice ground state surface with the correct periodicity
and degeneracy at the end points, which represent the planar ethylene molecule. At 90∘ one has a weakly coupled
diradical and the singlet and triplet states become nearly degenerate, again as expected. Calculations with larger
basis sets and inclusion of dynamic correlation would give nice quantitative results.
Excited States
As a final example, we do a state-average calculation on H2 CO in order to illustrate excited state treatments. We
expect from the ground state (basically closed-shell) a n → 𝜋 * and a 𝜋 → 𝜋 * excited state which we want to
describe. For the n→ 𝜋 * we also want to calculate the triplet since it is well known experimentally. First we take
DFT orbitals as starting guess.
! BP86 Def2-SVP TightSCF
*int 0 1
C 0 0 0 0.00 0.0 0.00
O 1 0 0 1.20 0.0 0.00
H 1 2 0 1.10 120.0 0.00
H 1 2 3 1.10 120.0 180.00
end
In this example the DFT calculation produces the desired active space (n,𝜋 and𝜋 * orbitals) without further modi-
fication (e.g. swapping orbitals). In general it is advised to verify the final converged orbitals.
! Def2-SVP TightSCF MOREAD
%moinp "orbs.gbw"
%casscf
nel 4
(continues on next page)
*int 0 1
C 0 0 0 0.00 0.0 0.00
O 1 0 0 1.20 0.0 0.00
H 1 2 0 1.10 120.0 0.00
H 1 2 3 1.10 120.0 180.00
end
We get:
-----------------------------
SA-CASSCF TRANSITION ENERGIES
------------------------------
The triplet n → 𝜋 * states is spot on with the experiment excitation energy of 3.5 eV.[726] Similarly, the singlet
n → 𝜋 * excited state is well reproduced compared to 3.79 eV and 4.07 eV reported in the literature.[726, 879]
Only the singlet 𝜋 → 𝜋 * excited state stands out compared to the theoretical estimate of 9.84 eV computed with
MR-AQCC.[543]. The good results are very fortuitous given the small basis set, the minimal active space and the
complete neglect of dynamical correlation.
The state-average procedure might not do justice to the different nature of the states (n → 𝜋 * versus 𝜋 → 𝜋 * ).
The agreement should be better with the orbitals optimized for each state. In ORCA, state-specific optimization
are realized adjusting the weights i.e. for the second singlet excited root:
Second-Singlet:
%casscf
nel 4
norb 3
mult 1
nroots 3
weights[0] = 0,0,1 # weights for the roots
end
Note, that state-specific orbital optimization are challenging to converge and often prone to root-flipping.[511]
To analyze electronic transitions, natural transition orbitals (NTO) are available for state-averaged CASSCF (and
also CASCI) calculations. NTOs are switched on for every ground- to excited-state transition by just adding DoNTO
true to the %casscf ... end input block, i.e.
%casscf
nel 4
norb 3
mult 1,3
nroots 3,1
DoNTO true
end
For each excitation, the most dominant natural occupation numbers (singular values >1.e-4) are printed for each
transition. A set of donor orbitals and a set of acceptor orbitals, each of dimension Nbf x (Nocc + Nact), are created
and stored in files with unique names. We obtain for the previous formamide example the following CASSCF NTO
output
==========================================
CASSCF Natural Transition Orbitals
==========================================
------------------------------------------------
NATURAL TRANSITION ORBITALS FOR STATE 1 1A
------------------------------------------------
0 : n= 1.30882812
1 : n= 0.02641080
------------------------------------------------
NATURAL TRANSITION ORBITALS FOR STATE 2 1A
------------------------------------------------
0 : n= 1.30519478
1 : n= 0.24869813
2 : n= 0.00471742
For each transition, plots of the NTO pairs can be generated with the orca_plot program (see Sec. Orbital and
Density Plots for details), e.g. acceptor orbitals of the 2 1A1 state in interactive mode:
orca_plot Test-CASSCF.H2CO-1.casscf.2-1A_nto-acceptor.gbw -i
Fig. 6.19: Most dominant natural transition orbital (NTO) pair for the 2 1A1 (S2) transition in formaldehyde.
Alternatively, NTOs can also be computed directly in orca_plot from the CASSCF transition density matrices.
Those need to be stored and kept in the density container by invoking
! KeepTransDensity
! ano-pVDZ TightSCF
%casscf
nel 7
norb 6
nroots 3
mult 2
end
%mrci
tsel 0
tpre 0
donatorbs 2
densities 5,1
newblock 2 *
nroots 3
excitations none
refs
cas(7,6)
end
end
end
* int 1 2
O 0 0 0 0.000000 0.000 0.000
H 1 0 0 1.012277 0.000 0.000
H 1 2 0 1.012177 109.288 0.000
end
This produces the files Basename.bm_sn.nat where “m” is the number of the block (m = 0 correspond to the
doublet in this case) and “n” stands of the relevant state (n = 0,1,2).
These natural orbitals are then fed into unrestricted QCISD(T) calculations:
%moinp "H2O+.b0_s0.nat"
* int 1 2
O 0 0 0 0.000000 0.000 0.000
H 1 0 0 1.012277 0.000 0.000
H 1 2 0 1.012177 109.288 0.000
*
%casscf
nel 7
norb 6
nroots 3
mult 2
end
* int 1 2
O 0 0 0 0.000000 0.000 0.000
H 1 0 0 1.012277 0.000 0.000
H 1 2 0 1.012177 109.288 0.000
*
Thus, in this example the agreement between single- and multireference methods is good and the unrestricted
QCISD(T) method is able to describe these excited doublet states. The natural orbitals have been a reliable way to
guide the CC equations into the desired solutions. This will work in many cases.
In order to make sense of this CSF representation, one needs to clarify a few points which are as follows:
• First, in the above basis the 10 orbitals are localized to 5 on each Fe center (following a high-spin UHF/UKS
calculation.)
• Second, the orbitals are ordered (as automatically done in ORCA_LOC) such that the first five orbitals lie
on one Fe(III) center and the last five orbitals on the second Fe(III) center.
Using this ordering, one can read the CSF shown above in the following way: The first five 1 represent the five
electrons on the first Fe(III) coupled in a parallel fashion to give a S=5/2 spin. The next five -1 represent two points:
• First, the five consecutive -1 signify the presence of five ferromagnetically coupled electrons on the second
Fe(III) center resulting in a local S=5/2 spin state.
• Second, the second set of spins are coupled to the first 1 via anti-parallel coupling as signified by the sign of
the last five -1 entries.
Therefore, we can see that using the CSF representation, one can obtain an extremely compact representation of
the wavefunction for molecules consisting of open-shell transition metal atoms. This protocol of using localized
orbitals in a specified order to form compact CSF representations for transition metal systems can be systematically
extended for large molecules.
We will use the example of the Iron-Sulfur dimer [Fe(III)2 SR2 ]2 − to demonstrate how to prepare a reference CSF
and perform spin-state energetics using the state-averaged CASSCF protocol. In such systems, often one can obtain
an estimate of the energy gap between the singlet-state and the high-spin states from experiment. Ab initio values
for this gap be obtained using the state-averaged CASSCF protocol using the input shown below.
! def2-SVP MOREAD
%moinp "locorbs.gbw"
%casscf
nel 10
norb 10
mult 11,1
nroots 1,1
refs # reference for multiplicity 11
{ 1 1 1 1 1 1 1 1 1 1}
end
refs # reference for multiplicity 1
{ 1 1 1 1 1 -1 -1 -1 -1 -1}
end
cistep ice
ci
icetype 1
end
actorbs unchanged
end
* xyz -2 11
Fe 0.000000000 0.000000000 -1.343567812
Fe 0.000000000 0.000000000 1.343567812
S 1.071733501 1.373366082 0.000000000
S 1.346714284 -1.345901486 -2.651621449
S -1.346714284 1.345901486 -2.651621449
S -1.071733501 -1.373366082 0.000000000
S -1.346714284 1.345901486 2.651621449
S 1.346714284 -1.345901486 2.651621449
C -2.485663304 0.362543393 -3.600795276
H -3.319937516 0.596731755 -3.505882795
H -2.347446507 0.388292903 -4.463380590
H -2.472404709 -0.485711203 -3.404167343
C 2.485663304 -0.362543393 -3.600795276
H 3.319937516 -0.596731755 -3.505882795
H 2.347446507 -0.388292903 -4.463380590
H 2.472404709 0.485711203 -3.404167343
C 2.485663304 -0.362543393 3.600795276
H 2.347446507 -0.388292903 4.463380590
H 3.319937516 -0.596731755 3.505882795
H 2.472404709 0.485711203 3.404167343
C -2.485663304 0.362543393 3.600795276
H -3.319937516 0.596731755 3.505882795
H -2.472404709 -0.485711203 3.404167343
H -2.347446507 0.388292903 4.463380590
*
The main keyword that needs to be used here (unlike in other CAS-SCF calculations) is the actorbs keyword.
Since we are using a local basis with a specific ordering of the orbitals, in order to represent our wavefunction
it is imperative to preserve the local nature of the orbitals as well as the orbital ordering. Therefore, we do not
calculate natural orbitals at the end of the CASSCF calculation (as is traditionally done) instead we impose the
orbitals to be as similar to the input orbitals as possible. This is automatically enabled for intermediate CASSCF
macro iterations. The resulting CASSCF calculation provides a chemically intuitive and simple wavefunction and
transition energy as shown below:
---------------------------------------------
CAS-SCF STATES FOR BLOCK 1 MULT=11 NROOTS= 1
---------------------------------------------
---------------------------------------------
CAS-SCF STATES FOR BLOCK 2 MULT= 1 NROOTS= 1
---------------------------------------------
-----------------------------
SA-CASSCF TRANSITION ENERGIES
------------------------------
As we can see from the output above, 98% of the wavefunction for the singlet-state is given by a single CSF which
we gave as a reference CSF. This CSF has a very simple chemical interpretation representing the anti-parallel
coupling between the two high-spin Fe(III) centers. Since Iron-Sulfur molecules show a strong anti-ferromagnetic
coupling, we expect the singlet state to be lower in energy than the high-spin (S=5) state. The CASSCF transition
energies show essentially this fact. The transition energy is about 2000cm−1 which is what one expects from a
CASSCF calculation on such sulfide bridged transition-metal molecules.
As a simple example for NEVPT2, consider the ground state of the nitrogen molecule N2 . After defining the
computational details of our CASSCF calculation, we insert “!SC-NEVPT2” as simple input or specify “PTMethod
SC_NEVPT2” in the %casscf block. Please note the difference in the two keywords’ spelling: Simple input uses
hyphen, block input uses underscore for technical reasons. There are more optional settings, which are described
in section N-Electron Valence State Pertubation Theory of this manual.
* xyz 0 1
N 0.0 0.0 0.0
N 0.0 0.0 1.09768
*
For better control of the program flow it is advised to split the calculation into two parts. First converge the CASSCF
wave function and then in a second step read the converged orbitals and execute the actual NEVPT2.
---------------------------------------------------------------
ORCA-CASSCF
---------------------------------------------------------------
...
PT2-SETTINGS:
A PT2 calculation will be performed on top of the CASSCF wave function (PT2 = SC-NEVPT2)
...
---------------------------------------------------------------
< NEVPT2 >
---------------------------------------------------------------
...
===============================================================
NEVPT2 Results
===============================================================
*********************
MULT 1, ROOT 0
*********************
---------------------------------------------------------------
Total Energy Correction : dE = -0.15802909
---------------------------------------------------------------
Zero Order Energy : E0 = -108.98888640
---------------------------------------------------------------
Total Energy (E0+dE) : E = -109.14691549
---------------------------------------------------------------
Introducing dynamic correlation with the SC-NEVPT2 approach lowers the energy by 150 mEh. ORCA also
prints the contribution of each “excitation class V” to the first order wave function. We note that in the case of
a single reference wavefunction corresponding to a CAS(0,0) the V0_ij,ab excitation class produces the exact
MP2 correlation energy. Unlike older versions of ORCA (pre version 4.0), NEVPT2 calculations employ the
frozen core approximation by default. Results from previous versions can be obtained with the added keyword
!NoFrozenCore.
In chapter Breaking Chemical Bonds the dissociation of the N2 molecule has been investigated with the CASSCF
method. Inserting PTMethod SC_NEVPT2 into the %casscf block we obtain the NEVPT2 correction as additional
information.
! def2-svp nofrozencore
%casscf nel 6
norb 6
mult 1
PTMethod SC_NEVPT2
end
*xyz 0 1
N 0.0 0.0 0.0
N 0.0 0.0 {R}
*
Fig. 6.20: Potential Energy Surface of the N2 molecule from CASSCF(6,6) and NEVPT2 calculations (def2-SVP).
All of the options available in CASSCF can in principle be applied to NEVPT2. Since NEVPT2 is implemented
as a submodule of CASSCF, it will inherit all settings from CASSCF (!tightscf, !UseSym, !RIJCOSX, . . . ).
NOTE
• NEVPT2 analytic gradients are not available, but numerical gradients are!
′ ′ ′ ′ 𝜆
< Φ𝑝𝑞′ 𝑠𝑟′ |𝐹ˆ |Φ𝑝𝑟 𝑝𝑟 𝑝𝑟 𝑝 𝑞 𝑟 𝑠
𝑞𝑠 > + =< Φ𝑞 ′ 𝑠′ |Φ𝑞𝑠 > · · (4 + 𝛾𝑝 − 𝛾𝑞 + 𝛾𝑟 − 𝛾𝑠 ),
2
where 𝛾𝑞𝑝 =< Ψ0 |𝐸𝑞𝑝 |Ψ0 > is the expectation value of the spin-traced excitation operator.[441] The labels p,q,r,s
refer to general molecular orbitals (inactive, active and virtual). Irrespective of the ORCA implementation, the
validity of the IPEA shift in general remains questionable and is thus by default disabled.[922]
ORCA features an alternative approach, denoted as CASPT2-K, that reformulates the zeroth order Hamiltonian
itself.[460] Here, two additional Fock matrices are introduced for excitation classes that add or remove electrons
from the active space. The new Fock matrices are derived from the generalized Koopmans’ matrices corresponding
to electron ionization and attachment processes. The resulting method is less prone to intruder states and the same
time more accurate compared to the canonical CASPT2 approach. For a more detailed discussion, we refer to the
paper by Kollmar et al.[460]
The CASPT2 and CASPT2-K methodologies are called in complete analogy to the NEVPT2 branch in ORCA and
can be combined with the resolution of identity (RI) approximation.
%casscf
...
PTMethod FIC_CASPT2 # fully internally contracted CASPT2
FIC_CASPT2K # CASPT2-K (revised H0)
# Optional settings
PTSettings
CASPT2_rshift 0.0 # (default) real level shift
CASPT2_ishift 0.0 # (default) imaginary level shift
CASPT2_IPEAshift 0.0 # (default) IPEA shift
end
end
The RI approximated results are comparable to the CD-CASPT2 approach presented elsewhere.[50] For a general
discussion of the RI and CD approximations, we refer to the literature.[885] Many of the input parameter are shared
with the FIC-NEVPT2 approach. A list with the available options is presented in section Complete Active Space
Peturbation Theory : CASPT2 and CASPT2-K.
In this short section, we add the CASPT2 results to the previously computed NEVPT2 potential energy surface of
the N2 molecule.
! def2-svp nofrozencore
%casscf nel 6
norb 6
mult 1
PTMethod FIC_CASPT2 # fully internally contracted CASPT2
end
*xyz 0 1
N 0.0 0.0 0.0
N 0.0 0.0 {R}
*
The CASPT2 output lists the settings prior to the computation. The printed reference weights should be checked.
Small reference weights indicate intruder states. Along the lines, the program also prints the smallest denomi-
nators in the perturbation expression (highlighted in the snippet below). Small denominator may lead to intruder
states.
---------------------------------------------------------------
ORCA-CASSCF
---------------------------------------------------------------
...
PT2-SETTINGS:
A PT2 calculation will be performed on top of the CASSCF wave function (PT2 = CASPT2)
CASPT2 Real Levelshift ... 0.00e+00
CASPT2 Im. Levelshift ... 0.00e+00
CASPT2 IPEA Levelshift ... 0.00e+00
...
---------------------------------------------------------------
< CASPT2 >
---------------------------------------------------------------
...
-----------------------------------
CASPT2-D Energy = -0.171839049
-----------------------------------
...
Iter EPT2 EHylleraas residual norm Time
1 -0.17183905 -0.17057203 0.03246225 0.0
2 -0.17057203 -0.17119523 0.00616509 0.0
3 -0.17117095 -0.17121211 0.00086389 0.0
4 -0.17120782 -0.17121281 0.00013292 0.0
5 -0.17121273 -0.17121282 0.00000990 0.0
6 -0.17121283 -0.17121282 0.00000159 0.0
7 -0.17121282 -0.17121282 0.00000020 0.0
(continues on next page)
...
===============================================================
CASPT2 Results
===============================================================
*********************
MULT 1, ROOT 0
*********************
---------------------------------------------------------------
Total Energy Correction : dE = -0.17121281846205
---------------------------------------------------------------
Reference Energy : E0 = -108.66619981448225
Reference Weight : W0 = 0.94765190644139
---------------------------------------------------------------
Total Energy (E0+dE) : E = -108.83741263294431
---------------------------------------------------------------
Note that the program prints CASPT2-D results prior entering the CASPT2 iterations.[40] In case of intruder states,
the residual equation may not converge. The program will not abort. Hence, it is important to check convergence
for every CASPT2 run. In this particular example with the small basis sets, there are no intruder states.
Fig. 6.21: Potential Energy Surface of the N2 molecule from CASSCF(6,6) and CASPT2 calculations (def2-SVP).
The potential energy surface in Fig. 6.21 is indeed very similar to the FIC-NEVPT2 approach, which is more
efficient (no iterations) and robust (absence of intruder states). The figure also shows the CASPT2-K results,
which is typically a compromise between the two methods. As expected, the largest deviation from CASPT2 is
observed at the dissociation limit, where the open shell character dominates the reference wave function. In this
example, the discrepancy between the three methods is rather subtle. However, the results may differ substantially
on some challenging systems, such as Chromium dimer studied in the CASPT2-K publication. [460]. Despite its
flaws, the CASPT2 method is of historical importance and remains a popular methodology. In the future we might
consider further extension such as the (X)MS-CASPT2.[793]
6.1.10 2nd order Dynamic Correlation Dressed Complete Active Space method
(DCD-CAS(2))
Non-degenerate multireference perturbation theory (MRPT) methods, such as NEVPT2 or CASPT2, have the
0th order part of the wave function fixed by a preceding CASSCF calculation. The latter can be a problem if
the CASSCF states are biased towards a wrong state composition in terms of electron configurations. In these
instances, a quasi-degenerate or multi-state formulation is necessary, for example the QD-NEVPT2 described in
Section Quasi-Degenerate SC-NEVPT2. A drawback of these approaches is that the results depend on the number
of included states. The DCD-CAS(2) offers an alternative uncontracted approach, where a dressed CASCI matrix
is constructed. Its diagonalization yields correlated energies and 0th order states that are remixed in the CASCI
space under the effect of dynamic correlation.[653]
The basic usage is very simple: One just needs a %casscf block and the simple input keyword !DCD-CAS(2) .
The following example is a calculation on the LiF molecule. It possesses two singlet states that can be qualitatively
described as ionic (Li^+^ and F− ) and covalent (neutral Li with electron in 2s orbital and neutral F with hole in
2𝑝𝑧 orbital). At distances close to the equilibrium geometry, the ground state is ionic, while in the dissociation
limit the ground state is neutral. Somewhere in between, there is an avoided crossing of the adiabatic potential
energy curves where the character of the two states quickly changes (see figure Fig. 7.7 for potential energy curves
for this system at the (QD)NEVPT2 level). At the CASSCF level, the neutral state is described better than the ionic
state, with the result that the latter is too high in energy and the avoided crossing occurs at a too small interatomic
distance. In the region where the avoided crossing actually takes place, the CASSCF states are then purely neutral
or purely ionic. DCD-CAS(2) allows for a remixing of the states in the CASCI space under the effect of dynamic
correlation, which will lower the ionic state more in energy than the neutral one. The input file is as follows:
! def2-TZVP DCD-CAS(2)
!moread
%casscf
nel 2
norb 2
mult 1
nroots 2
actorbs locorbs
end
*xyz 0 1
Li 0.0 0.0 0.0
F 0.0 0.0 5.5
*
Since none of the standard guesses (!PAtom, !PModel, etc.) produces the correct active orbitals (Li 2s and F
2p~z~), we read them from the file casorbs.gbw. We also use the actorbs locorbs option to preserve the atomic
character of the active orbitals and interpret the states in terms of neutral and ionic components easier. The following
is the state composition of LiF at an interatomic distance of 5.5 angstrom at the CASSCF and DCD-CAS(2) levels.
---------------------------------------------
CAS-SCF STATES FOR BLOCK 1 MULT= 1 NROOTS= 2
---------------------------------------------
ROOT 0: E= -106.8043590118 Eh
0.99395 [ 1]: 11
0.00604 [ 2]: 02
ROOT 1: E= -106.7485794535 Eh 1.518 eV 12242.2 cm**-1
0.99396 [ 2]: 02
0.00604 [ 1]: 11
---------------------------------------
DCD-CAS(2) STATES
---------------------------------------
ROOT 0: E= -107.0917611937 Eh
0.60590 [ 2]: 02
0.39410 [ 1]: 11
ROOT 1: E= -107.0837717163 Eh 0.217 eV 1753.5 cm**-1
0.60590 [ 1]: 11
0.39410 [ 2]: 02
One can clearly see that while the CASSCF states are purely neutral (dominated by CFG 11) or purely ionic
(dominated by CFG 02), the DCD-CAS(2) states are mixtures of neutral and ionic contributions. The calculation
indicates that the interatomic distance of 5.5 is in the avoided crossing region. Note that the energies that are
printed together with the DCD-CAS(2) state composition are the ones that are obtained from diagonalization of
the DCD-CAS(2) dressed Hamiltonian. For excited states, these energies suffer from what we call ground state
bias (see the original paper for a discussion [653]). A perturbative correction has been devised to overcome this
problem. Our standard choice is first-order bias correction. The corrected energies are also printed in the output
file and those energies should be used in production use of the DCD-CAS(2) method:
---------------------------------------------------------
BIAS-CORRECTED (ORDER 1) STATE AND TRANSITION ENERGIES
=========================================================
ROOT Energy/a.u. DE/a.u. DE/eV DE/cm**-1
=========================================================
0: -107.093214435 0.000000 0.000 0.0
1: -107.084988306 0.008226 0.224 1805.4
Last but not least, spin orbit coupling (SOC) and spin spin coupling (SSC) are implemented in conjunction with the
DCD-CAS(2) method in a QDPT-like procedure and a variety of different magnetic and spectroscopic properties
can be also calculated. We refer to the detailed documentation (Section Dynamic Correlation Dressed CAS) for
further information.
. Warning
Note that the computational cost of a DCD-CAS(2) calculation scales as roughly the 3rd power of the size of
the CASCI space. This makes calculations with active spaces containing more than a few hundred CSFs very
expensive!
*xyz 0 1
Li 0 0 0
H 0 0 1.597
*
The output of the Hartree-Fock calculation also reports on the total number of electrons and orbitals in your system
(see snippet below).
Number of Electrons NEL .... 4
Basis Dimension Dim .... 20
In the given example, there are 4 electrons in 20 orbitals, which is a “CAS(4,20)”. Reading the converged RHF
orbitals, we can start the FCI calculation.
!def2-tzvp extremescf
!moread
%moinp "RHF.gbw"
%maxcore 2000
%casscf
(continues on next page)
*xyz 0 1
Li 0 0 0
H 0 0 1.597
*
The output reports on the detailed CI settings, the number of configuration state functions (CSFs) and the CI
convergence thresholds.
CI-STEP:
CI strategy ... General CI
Number of multiplicity blocks ... 1
BLOCK 1 WEIGHT= 1.0000
Multiplicity ... 1
#(Configurations) ... 8455
#(CSFs) ... 13300
#(Roots) ... 1
ROOT=0 WEIGHT= 1.000000
PrintLevel ... 1
N(GuessMat) ... 512
MaxDim(CI) ... 10
MaxIter(CI) ... 64
Energy Tolerance CI ... 1.00e-13
Residual Tolerance CI ... 1.00e-13
Shift(CI) ... 1.00e-04
...
The program then prints the actual CI iterations, the final energy, and the composition of the wave function in terms
of configurations (CFGs).
------------------
CAS-SCF ITERATIONS
------------------
MACRO-ITERATION 1:
--- Inactive Energy E0 = 0.99407115 Eh
--- All densities will be recomputed
CI-ITERATION 0:
-8.012799617 0.526896429727 ( 0.25)
CI-ITERATION 1:
-8.047996328 0.001601312242 ( 0.25)
CI-ITERATION 2:
-8.048134967 0.000022625293 ( 0.25)
CI-ITERATION 3:
-8.048137773 0.000000462227 ( 0.25)
CI-ITERATION 4:
-8.048137841 0.000000035496 ( 0.25)
CI-ITERATION 5:
-8.048137845 0.000000001357 ( 0.25)
CI-ITERATION 6:
-8.048137845 0.000000000254 ( 0.25)
CI-ITERATION 7:
-8.048137845 0.000000000006 ( 0.25)
CI-ITERATION 8:
-8.048137845 0.000000000001 ( 0.25)
CI-ITERATION 9:
-8.048137845 0.000000000000 ( 0.25)
(continues on next page)
Aside from energies, the CASSCF module offers a number of properties (g-tensors, ZFS, . . . ), which are described
in Section CASSCF Properties.
The exact solution of the FCI problem has very steep scaling and is thus limited to smaller problems (at most active
spaces of 16 electrons in 16 orbitals). Larger systems are accessible with approximate solutions, e.g. with the
density matrix renormalization group approach (DMRG), described in Section Density Matrix Renormalization
Group, or the iterative configuration expansion (ICE) reported in Section Approximate Full CI Calculations in
Subspace: ICE-CI. For fun, we repeat the calculation with the ICE-CI ansatz, which offers a more traditional
approach to get an approximate full CI result.
!def2-tzvp extremescf
!moread
%moinp "RHF.gbw"
%maxcore 2000
%ice
Nel 4
Norb 20
end
*xyz 0 1
Li 0 0 0
H 0 0 1.597
*
The single most important parameter to control the accuracy is TGen. It is printed with the more refined settings in
the output. We note passing that the wave function expansion and its truncation can be carried out in the basis of
CSFs, configurations, or determinants. The different strategies are discussed in detail by Chilkuri et al. [171, 172].
ICE-CI:
General Strategy ... CONFIGURATIONS (all CSFs to a given CFG, spin␣
˓→ adapted)
Max. no of macroiterations ... 12
Variational selection threshold ... -1.000e-07
negative! => TVar will be set to 1.000e-07*Tgen=1.000e-11
Generator selection threshold ... 1.000e-04
Excitation level ... 2
Selection on initial CSF list ... YES
Selection on later CSFs lists ... YES
...
******************************
* ICECI MACROITERATION 3 *
******************************
****Iteration 0****
Maximum residual norm : 0.000293130557
****Iteration 1****
Maximum residual norm : 0.000000565920
****Iteration 2****
Maximum residual norm : 0.000001755176
****Iteration 3****
Maximum residual norm : 0.000000435942
Rebuilding the expansion space
****Iteration 4****
CI SOLUTION :
STATE 0 MULT= 1: E= -8.0481340246 Eh W= 1.0000 DE= 0.000 eV 0.0 cm**-1
0.97249 : 22000000000000000000
Selecting new configurations ... (CI/Run=3,2)done ( 0.0 sec)
# of selected configurations ... 2747
# of generator configurations ... 43 (NEW=1 (CREF=43))
Performing single and double excitations relative to generators ... done ( 0.0 sec)
# of configurations after S+D ... 7038
Selecting from the generated configurations ... done ( 0.1 sec)
# of configurations after Selection ... 2808
Root 0: -8.048134025 -0.000000023 -8.048134048
==>>> CI space seems to have converged. No new configurations
maximum energy change ... 1.727e-05 Eh
****Iteration 0****
Maximum residual norm : 0.000000471011
(continues on next page)
****Iteration 1****
CI SOLUTION :
STATE 0 MULT= 1: E= -8.0481340245 Eh W= 1.0000 DE= 0.000 eV 0.0 cm**-1
0.97249 : 22000000000000000000
With Hartree-Fock orbitals and the default settings, the ICE converges in 3 macro iterations to an energy of
−8.048134047513 𝐸h . The deviation from the exact solution is just 3.8 × 10−6 𝐸h in this example.
ò Note
• Geometry optimizations with ANOs are discouraged; they will be very inefficient.
This yields:
ano-pVTZ:
E(SCF) = -113.920388785
E(corr)= -0.427730189
cc-pVTZ:
E(SCF) = -113.911870901
E(corr)= -0.421354947
Thus, the ANO-based SCF energy is ca. 8–9 mEh lower and the correlation energy almost 2 mEh lower than with
the cc-basis set of the same size. Usually, the ANO results are much closer to the basis set limit than the cc-results.
Also, ANO values extrapolate very well (see section Automatic extrapolation to the basis set limit)
Importantly, the integrals are all stored in this job. Depending on your system and your patience, this may be
possible up to 300–500 basis functions. The ORCA correlation modules have been rewritten such that they deal
efficiently with these stored integrals. Thus, we might as well have used ! MO-CCSD(T) or ! AO-CCSD(T) ,
both of which would perform well.
Yet, the burden of generating and storing all four-index integrals quickly becomes rather heavy. Hence, the com-
bination of ANO basis sets with the RI-JK technique is particularly powerful and efficient. For example:
! ano-pVTZ cc-pVTZ/JK RI-JK Conv TightSCF RI-CCSD(T)
For the SCF, this works very well and allows for much larger ANO based calculations to be done efficiently. Also,
RI-MP2 can be done very efficiently in this way. However, for higher order correlation methods such as CCSD(T)
the logical choice would be RI-CCSD(T) which is distinctly less efficient than the AO or MO based CCSD(T)
(roughly a factor of two slower). Hence, ORCA implements a hybrid method where the RI approximation is used
to generate all four index integrals. This is done via the “RI-AO” keyword:
! ano-pVTZ cc-pVTZ/JK RI-AO Conv TightSCF AO-CCSD(T)
In this case either AO-CCSD(T) or MO-CCSD(T) would both work well. This does not solve the storage bottleneck
with respect to the four index integrals of course. If this becomes a real issue, then RI-CCSD(T) is mandatory. The
error in the total energy is less than 0.1 mEh in the present example.
ò Note
• With conventional RI calculations the use of a second fit basis set is not possible and inconsistent
results will be obtained. Hence, stick to one auxiliary basis!
For the sake of user-friendliness, two other keywords are available within the LSCF method. They can be used to
modify the orbital first guess, as read from the gbw file with the same name or another gbw file with the “MOInp”
keyword.
The “LSCFCopyOrbs” keyword allows to copy one orbital into another one. The input works by intervals like the
LSCFalpha/LSCFbeta selections. However, be aware that spin-up orbital indexes range from 0 to M-1 (where M
is the size of the basis set), while spin-down orbital indexes range from M to 2M-1. In the following example, with
M=11, the user copies the fifth spin-up orbital in the fifth spin-down orbital.
%scf
LSCFalpha 0,4,5,6,10,10
LSCFbeta 0,3,5,5
LSCFCopyOrbs 4,15
end
The second keyword is “LSCFSwapOrbs” and allows to swap the indexes of subsets made of two orbitals. In the
following example, still with M=11, the user swaps the fifth spin-up orbital with the fifth spin-down orbital.
%scf
LSCFalpha 0,4,5,6,10,10
LSCFbeta 0,3,5,5
LSCFSwapOrbs 4,15
end
³ Caution
During the LSCF procedure, frozen occupied orbitals energies are fixed at -1000 Hartrees and frozen
virtual orbitals energies at 1000 Hartrees. This means that the frozen occupied orbitals and the frozen
virtual orbitals are placed respectively at the beginning and at the end of the indexation.
%scf
EField 0.1, 0.0, 0.0 # x, y, z components (in au) of the electric field
end
Although the keyword is in the %scf block, it applies the electric field to all other methods (post-HF methods,
multireference methods, TDDFT, etc.) as well, except XTB and force field methods (as well as any method that
involves XTB or force fields, e.g. QM/XTB and QM/MM) for which the electric field contributions are not imple-
mented and will result in an abort. Analytic gradient contributions of the electric field are available for all methods
(except XTB and MM) that already support analytic gradients, but analytic Hessian contributions are not.
The sign convention of the electric field is chosen in the following way: suppose that the electric field is generated by
a positive charge in the negative z direction, and a negative charge in the positive z direction, then the z component
of the electric field is positive. This convention is consistent with most but not all other programs [786], so care
must be taken when comparing the results of ORCA with other programs.
Another important aspect is the gauge origin of the electric field. The gauge origin of the electric field is the
point (or more accurately speaking, one of the points - as there are infinitely many such points) where the electric
potential due to the electric field is zero. Different choices of the gauge origin do not affect the geometry and
wavefunction of the molecule, as they do not change the electric field felt by the molecule, but they do change the
energy of the molecule. The default gauge origin is the (0,0,0) point of the Cartesian coordinate system, but it is
possible to choose other gauge origins:
%scf
EFieldOrigin CenterOfMass # use center of mass
CenterOfNucCharge # use center of nuclear charge
0.0, 0.0, 0.0 # use given X,Y,Z as origin (default: 0,0,0)
# in the units chosen for the coordinates (Angstrom/Bohr)
end
Note the default gauge origin of the electric field is different from the default gauge origin of the ELPROP mod-
ule, which is the center of mass. If the user chooses the center of mass/nuclear charge as the gauge origin of the
electric field, the gauge origin will move as the molecule translates; this has important consequences. For ex-
ample, in an MD simulation of a charged molecule in an electric field, the molecule will not accelerate, unlike
when EFieldOrigin is fixed at a given set of coordinates, where the molecule will accelerate forever. In gen-
eral, CenterOfMass and CenterOfNucCharge are mostly suited for the finite difference calculation of electric
properties, where one frequently wants to choose the center of mass or nuclear charge as the gauge origin of the
resulting multipole moment or polarizability tensor. Instead, a fixed origin is expected to be more useful for simu-
lating the changes of wavefunction, geometry, reactivity, spectra etc. under an externally applied electric field, as
experimentally the electric field is usually applied in the lab frame, rather than the comoving frame of the molecule.
Similar to EField, one can also add a quadrupolar field:
%scf
QField 0.1, 0.0, 0.0, 0.05, 0.0, 0.0 # xx, yy, zz, xy, xz, yz components (in au)
# of the quadrupolar field
end
The gauge origin of the quadrupolar field is the same as that of the dipolar electric field. Moreover, the QField
can be used together with the EField keyword. This allows one to simulate a gradually varying electric field, for
example the following input specifies an electric field that has a strength of 0.01 au at the gauge origin ((0,0,0) by
default), pointing to the positive z direction, and increases by 0.001 au for every Bohr as one goes in the positive z
direction:
%scf
EField 0.0, 0.0, 0.01
QField 0.0, 0.0, 0.001, 0.0, 0.0, 0.0
end
%scf
QField -0.01, -0.01, -0.01, 0.0, 0.0, 0.0
end
Under this quadrupolar field setting, a particle will feel an electric field that points towards the gauge origin, whose
strength (in au) is 0.01 times the distance to the gauge origin (in Bohr). This will keep cations close to the origin,
but pushes anions away from the origin. Unfortunately, there is no analytic gradient available for quadrupolar
fields.
NOTE
• An au (atomic unit) is a fairly large unit for electric fields: 1 au = 51.4 V/Angstrom. By comparison, charged
residues in proteins, as well as scanning tunneling microscope (STM) tips, typically generate electric fields
within about 1 V/Angstrom; electrode surfaces usually generate electric fields within 0.1 V/Angstrom under
typical electrolysis conditions [786]. If the molecule is not close to the source of the electric field, it is even
harder to generate strong electric fields: for example, a 100 V voltage across two metal plates that are 1 mm
apart generates an electric field of merely 10−5 V/Angstrom. Therefore, if experimentally a certain strength
of homogeneous electric field seems to promote a reaction, but no such effect is found in calculation, please
consider the possibility that the experimentally observed reactivity is due to a strong local electric field near
the electrode surface (that is much higher than the average field strength in the system), or due to other
effects such as electrolysis. Conversely, if you predict a certain molecular property change at an electric
field strength of, e.g. > 0.1 au, it may be a non-trivial question whether such an electric field can be easily
realized experimentally.
• The electric field breaks the rotational symmetry of the molecule, in the sense that rotating the molecule
can change its energy. Therefore, geometry optimizations in electric fields cannot be done with internal
coordinates. When the user requests geometry optimization, the program automatically switches to Carte-
sian coordinates if it detects an electric field. While Cartesian coordinates allow the correct treatment of
molecular rotation, they generally lead to poor convergence, so a large number of iterations is frequently
necessary.
• Similarly, when the molecule is charged, its energy is not invariant with respect to translations. However,
when there is only a dipolar electric field but no other translational symmetry-breaking forces (quadrupolar
field, point charges, wall potentials), a charged molecule will accelerate forever in the field, and its position
will never converge. Therefore, for geometry optimizations within a purely dipolar electric field and no wall
potentials, we do not allow global translations of the molecule, even when translation can reduce its energy.
For MD simulations we however do allow the global translations of the molecule by default. If this is not
desired, one can fix the center of mass in the MD run using the CenterCOM keyword (section Run).
• For frequency calculations in electric fields, we do not project out the translational and rotational contri-
butions of the Hessian (equivalent to setting ProjectTR false in %freq; see Frequency calculations -
numerical and analytical for details). Therefore, the frequencies of translational and rotational modes can
be different from zero, and can mix with the vibrational modes. When the electric field is extremely small
but not zero, the “true” translational/rotational symmetry breaking of the Hessian may be smaller than the
symmetry breaking due to numerical error; this must be kept in mind when comparing the frequency re-
sults under small electric fields versus under zero electric field (in the latter case ProjectTR is by default
true). Besides, when the translational and rotational frequencies exceed CutOffFreq (which is 1 cm−1 by
default; see section Frequency calculations - numerical and analytical), their thermochemical contributions
are calculated as if they are vibrations.
• While the program allows the combination of electric fields with an implicit solvation model, the results
must be interpreted with caution, because the solvent medium does not feel the electric field. The results
may therefore differ substantially from those given by experimental setups where both the solute and the
solvent are subjected to the electric field. If the solvent’s response to the electric field is important, one
should use an explicit solvation model instead. Alternatively, one can also simulate the electric field in the
implicit solvent by adding inert ions (e.g. Na+ , Cl− ) to the system. Similarly, implicit solvation models
cannot describe the formation of electrical double layers in the electric field and their influence on solute
properties, so in case electrical double layers are important, MD simulations with explicit treatment of the
ions must be carried out.
• The electric field not only contributes to the core Hamiltonian, but has extra contributions in GIAO calcu-
lations, due to the magnetic field derivatives of dipole integrals. In the case of a dipolar electric field, the
GIAO contributions have been implemented, making it possible to study e.g. the effect of electric fields on
NMR shieldings, and as a special case, nucleus independent chemical shieldings (NICSs), which are useful
tools for analyzing aromaticity. Quadrupolar fields cannot be used in GIAO calculations at the moment.
%scf
guess hcore
HFTyp UHF
STABPerform true
end
(continues on next page)
* xyz 0 1
h 0.0 0.0 0.0
h 0.0 0.0 1.4
*
The HCORE guess leads to a symmetric/restricted guess, which does not yield the unrestricted solution. The same
is often true for other guess options. For more details on the stability analysis, see Section SCF Stability Analysis.
An optimization with the RI method (the BP functional is recommend) would simply look like:
! BP SV(P) OPT
* int 0 1
C 0 0 0 0.0000 0.000 0.00
O 1 0 0 1.2029 0.000 0.00
H 1 2 0 1.1075 122.016 0.00
H 1 2 3 1.1075 122.016 180.00
*
6.3. Geometry Optimizations, Surface Scans, Transition States, MECPs, Conical Intersections,
163
IRC, NEB
ORCA Manual, Release 6.0
%tddft
IRoot 1
end
* xyz 0 1
C 0.000000 0.000000 0.666723
C 0.000000 0.000000 -0.666723
H 0.000000 -0.928802 1.141480
H -0.804366 -0.464401 -1.341480
H 0.000000 0.928802 1.241480
H 0.804366 0.464401 -1.241480
*
! NumGrad
!CCSD(T) TZVPP
!Opt NumGrad
* int 0 1
C 0 0 0 0 0 0
O 1 0 0 1.2 0 0
H 1 2 0 1.1 120 0
H 1 2 3 1.1 120 180
*
NOTE
• Be aware that the numerical gradient is quite expensive. The time for one gradient calculation is equal to 6
× (number of atoms) × (time for one single point calculation).
• The numerical gradient can be calculated in a multi-process run, using a maximum of three times the number
of atoms (see section Calling the Program with Multiple Processes).
More details on various options, geometry convergence criteria and the like are found in section Geometry Opti-
mization.
ò Note
• TightSCF in the SCF part is set as default to avoid the buildup of too much numerical noise in the
gradients.
• Even if the optimization does not converge, the ORCA output may still end with “****ORCA TERMI-
NATED NORMALLY****”. Therefore do not rely on the presence of this line as an indicator of whether
the geometry optimization is converged! Rather, one should instead rely on the fact that, an optimiza-
tion job that terminates because the maximum number of iterations has been reached, will generate the
following output message:
. Warning
The optimization did not converge but reached the maximum number of
optimization cycles. Please check your results very carefully.
While a successfully converged job will generate the following message instead:
***********************HURRAY********************
*** THE OPTIMIZATION HAS CONVERGED ***
*************************************************
Tip
• In rare cases the redundant internal coordinate optimization fails. In this case, you may try to use COPT
(optimization in Cartesian coordinates). This will likely take many more steps to converge but should be
stable.
• For optimizations in Cartesian coordinates the initial guess Hessian is constructed in internal coordinates
and thus these optimizations should converge only slightly slower than those in internal coordinates.
Nevertheless, if you observe a slow convergence behaviour, it may be a good idea to compute a Hessian
initially (perhaps at a lower level of theory) and use InHess read in order to improve convergence.
• At the beginning of a TS optimization more information on the curvature of the PES is needed than a
model Hessian can give. The best choice is analytic Hessian, available for HF, DFT and MP2. In other
cases (e.g. CAS-SCF), the numerical evaluation is necessary. Nevertheless you do not need to calculate
the full Hessian when starting such a calculation. With ORCA we have good experience with approx-
imations to the exact Hessian. Here it is recommended to either directly combine the TS optimization
with the results of a relaxed surface scan or to use the Hybrid Hessian as the initial Hessian, depending
on the nature of the TS mode. Note that these approximate Hessians do never replace the exact Hessian
at the end of the optimization, which is always needed to verify the minimum or first order saddle point
nature of the obtained structure.
6.3. Geometry Optimizations, Surface Scans, Transition States, MECPs, Conical Intersections,
165
IRC, NEB
ORCA Manual, Release 6.0
A compound job two_step_opt.inp that first computes a semi-empirical Hessian to start from is shown below:
* int 0 1
C 0 0 0 0 0 0
O 1 0 0 1.3 0 0
H 1 2 0 1.1 110 0
H 1 2 3 1.1 110 180
*
%compound
# Step 1: semiempirical calculation of the Hessian
New_Step
! AM1 NumFreq
Step_End
End
Tip
• For transition metal complexes MNDO, AM1 or PM3 Hessians are not available. You can use ZINDO/1
or NDDO/1 Hessians instead. They are of lower quality than MNDO, AM1 or PM3 for organic molecules
but they are still far better than the standard unit matrix choice.
• If the quality of the initial semi-empirical Hessian is not sufficient you may use a “quick” RI-DFT job
(e.g. BP def2-sv(p) defgrid1)
• In semi-empirical geometry optimizations on larger molecules or in general when the molecules become
larger the redundant internal space may become large and the relaxation step may take a significant
fraction of the total computing time.
For condensed molecular systems and folded molecules (e.g. a U-shaped carbon chain) atoms can get very close
in space, while they are distant in terms of number of bonds connecting them. As damping of optimization steps in
internal coordinates might not work well for these cases, convergence can slow down. ORCA’s automatic internal
coordinate generation takes care of this problem by assigning bonds to atom pairs that are close in real space, but
distant in terms of number of bonds connecting them.
%geom
AddExtraBonds true # switch on/off assigning bonds to atom pairs that are
# connected by more than <Max_Length> bonds and are less
# than <MaxDist> Ang. apart (default true)
AddExtraBonds_MaxLength 10 # cutoff for number of bonds connecting the two
# atoms (default 10)
AddExtraBonds_MaxDist 5 # cutoff for distance between two atoms (default 5 Ang.)
end
For solid systems modeled as embedded solids the automatically generated set of internal coordinates might become
very large, rendering the computing time spent in the optimization routine unnecessarily large. Usually, in such
calculations the cartesian positions of outer atoms, coreless ECPs and point charges are constrained during the
optimization - thus most of their internal coordinates are not needed. By requesting:
%geom
ReduceRedInts true
end
only the required needed internal coordinates (of the constrained atoms) are generated.
OBS: If the step in redundant fails badly and only Cartesian constrains are set (or no constrains), ORCA will
fallback to a cartesian step automatically. This can be turned off by setting CARTFALLBACK to FALSE.
* int 0 1
C 0 0 0 0.0000 0.000 0.00
O 1 0 0 1.2500 0.000 0.00
H 1 2 0 1.1075 122.016 0.00
H 1 2 3 1.1075 122.016 180.00
*
ò Note
• Like for normal optimizations you can use numerical gradients (see Numerical Gradients.) for con-
strained optimizations. In this case the numerical gradient will be evaluated only for non-constrained
coordinates, saving a lot of computational effort, if a large part of the structure is constrained.
• “value” in the constraint input is optional. If you do not give a value, the present value in the structure is
constrained. For cartesian constraints you can’t give a value, but always the initial position is constrained.
• It is recommended to use a value not too far away from your initial structure.
• It is possible to constrain whole sets of coordinates:
• Coordinates along a single Cartesian direction can be frozen as described in section Special definitions.
• If there are only a few coordinates that have to be optimized you can use the invertConstraints option:
6.3. Geometry Optimizations, Surface Scans, Transition States, MECPs, Conical Intersections,
167
IRC, NEB
ORCA Manual, Release 6.0
%geom Constraints
{ B 0 1 C }
end
invertConstraints true # only the C-O distance is optimized
# does not affect Cartesian coordinates
end
• In some cases it is advantageous to optimize only the positions of the hydrogen atoms and let the remaining
molecule skeleton fixed:
ò Note
• In the special case of a fragment optimization (see next point) the optimizehydrogens keyword does
not fix the heteroatoms, but ensures that all hydrogen positions are relaxed.
• In Cartesian optimization, only Cartesian constraints are allowed.
The coordinates are taken from a crystal structure [PDB-code 2FRJ]. In our gas phase model we choose only a
small part of the protein, which is important for its spectroscopic properties. Our selection consists of a heme-
group (fragment 1), important residues around the reaction site (lysine (fragment 2) and histidine (fragment 3)), an
important water molecule (fragment 4), the NO-ligand (fragment 5) and part of a histidine (fragment 6) coordinated
to the heme-iron. In this constrained optimization we want to maintain the position of the heteroatoms of the heme
group. Since the protein backbone is missing, we have to constrain the orientation of lysine and histidine (fragments
2 and 3) side chains to the heme group. All other fragments (the ones which are directly bound to the heme-iron
and the water molecule) are fully optimized internally and with respect to the other fragments. Since the crystal
structure does not reliably resolve the hydrogen positions, we relax also the hydrogen positions of the heme group.
6.3. Geometry Optimizations, Surface Scans, Transition States, MECPs, Conical Intersections,
169
IRC, NEB
ORCA Manual, Release 6.0
ò Note
• You have to connect the fragments in such a way that the whole system is connected.
• You can divide a molecule into several fragments.
• Since the initial Hessian for the optimization is based upon the internal coordinates: Connect the frag-
ments in a way that their real interaction is reflected.
• This option can be combined with the definition of constraints, scan coordinates and the
optimizeHydrogens option (but: its meaning in this context is different to its meaning in a normal
optimization run, relatively straightforward see section Geometry Optimization).
• Can be helpful in the location of complicated transition states (with relaxed surface scans).
𝑉 = 𝑒5(R−𝑤𝑎𝑙𝑙)
These can be given in two ways: by explicitly defining the origin of the potential and its limits, e.g:
%GEOM ELLIPSEPOT 0,0,0,5,3,4 # the last are the a,b and c radii
or:
or:
6.3. Geometry Optimizations, Surface Scans, Transition States, MECPs, Conical Intersections,
171
IRC, NEB
ORCA Manual, Release 6.0
%GEOM BOXPOT 0,0,0,4,-4,3,-3,6,-6 # maxx, minx, maxy, miny, maxz and minz last
where the first three numbers are the center and the last is the radius for the sphere (or a,b and c for the ellipsoid)
and the max and min x,y and z dimensions of the box. All numbers should be given in Ångström.
In case a single number is given instead, the walls will be automatically centered around the centroid of the molecule
and that number will be added to the minimum sphere or box that is necessary to contain the molecule. For example:
%GEOM SPHEREPOT 2
or:
%GEOM BOXPOT 2
will build a minimum wall centered on the centroid that encloses the molecule and add 2 Ångström on top of it.
Still on the sphere case, a negative number like
%GEOM SPHEREPOT -2
* int 0 1
C 0 0 0 0.0000 0.000 0.00
O 1 0 0 1.3500 0.000 0.00
H 1 2 0 1.1075 122.016 0.00
H 1 2 3 1.1075 122.016 180.00
*
In the example above the value of the bond length between C and O will be changed in 12 equidistant steps from
1.35 down to 1.10 Ångströms and at each point a constrained geometry optimization will be carried out.
ò Note
• If you want to perform a geometry optimization at a series of values with non-equidistant steps you can
give this series in square brackets, [ ]. The general syntax is as follows:
B N1 N2 = initial-value, final-value, NSteps
or:
B N1 N2 [value1 value2 value3 ... valueN]
• In addition to bond lengths you can also scan bond angles and dihedral angles:
B N1 N2 = ... # bond length
A N1 N2 N3 = ... # bond angle
D N1 N2 N3 N4 = ... # dihedral angle
Tip
• As in constrained geometry optimizations it is possible to start the relaxed surface scan with a different
scan parameter than the value present in your molecule. But keep in mind that this value should not be
too far away from your initial structure.
A more challenging example is shown below. Here, the H-atom abstraction step from CH4 to OH-radical is com-
puted with a relaxed surface scan (vide supra). The job was run as follows:
It is obvious that the reaction is exothermic and passes through an early transition state in which the hydrogen
jumps from the carbon to the oxygen. The structure at the maximum of the curve is probably a very good guess for
the true transition state that might be located by a transition state finder.
You will probably find that such relaxed surface scans are incredibly useful but also time consuming. Even the
simple job shown below required several hundred single point and gradient evaluations (convergence problems
appear for the SCF close to the transition state and for the geometry once the reaction partners actually dissociate
– this is to be expected). Yet, when you search for a transition state or you want to get insight into the shapes of
the potential energy surfaces involved in a reaction it might be a good idea to use this feature. One possibility to
ease the burden somewhat is to perform the relaxed surface scan with a “fast” method and a smaller basis set and
then do single point calculations on all optimized geometries with a larger basis set and/or higher level of theory.
At least you can hope that this should give a reasonable approximation to the desired surface at the higher level of
theory – this is the case if the geometries at the lower level are reasonable.
6.3. Geometry Optimizations, Surface Scans, Transition States, MECPs, Conical Intersections,
173
IRC, NEB
ORCA Manual, Release 6.0
Fig. 6.22: Relaxed surface scan for the H-atom abstraction from CH4 by OH-radical (B3LYP/SV(P)).
Multidimensional Scans
After several requests from our users ORCA now allows up to three coordinates to be scanned within one calcula-
tion.
* int 0 1
C 0 0 0 0.0000 0.000 0.00
O 1 0 0 1.3500 0.000 0.00
H 1 2 0 1.1075 122.016 0.00
H 1 2 3 1.1075 122.016 180.00
*
ò Note
• For finding transition state structures of more complicated reaction paths ORCA now offers its very
efficient NEB-TS implementation (see section Nudged Elastic Band Method).
• 2-dimensional or even 3-dimensional relaxed surface scans can become very expensive - e.g. requesting
10 steps per scan, ORCA has to carry out 1000 constrained optimizations for a 3-D scan.
• The results can depend on the direction of the individual scans and the ordering of the scans.
Simultaneous multidimensional scans, in which all scan coordinates are changed at the same time, can be requested
via the following keyword (which brings the cost of a multidimensional relaxed surface scan down to the cost of a
single relaxed surface scan):
%geom
Scan B 0 1 = 3, 1, 15 end
Scan B 1 2 = 1, 3, 15 end
Simul_Scan true
end
this file could contain a number of structures. The format of the file is:
Number of atoms M
Comment line
AtomName1 X Y Z
AtomName2 X Y Z
...
AtomNameM X Y Z
>
Number of atoms M
Comment line
AtomName1 X Y Z
...
Thus, the structures are simply of the standard XYZ format and they are provided one after the other. There is no
need to add any extra character between them. This was the case for ORCA versions older than 6.0.0, where the
structures were separated by a “>” sign. The user can still use this format, if preferred, but is not needed anymore.
After processing the XYZ file, single point calculations are performed on each structure in sequence and the results
are collected at the end of the run in the same kind of trajectory.dat files as produced from trajectory calculations.
In order to aid in using this feature, the relaxed surface scans produce a file called MyJob.allxyz that is of the
correct format to be re-read in a subsequent run.
%geom
Calc_Hess true # calculation of the exact Hessian
# before the first optimization step
end
* int 0 2
(continues on next page)
6.3. Geometry Optimizations, Surface Scans, Transition States, MECPs, Conical Intersections,
175
IRC, NEB
ORCA Manual, Release 6.0
ò Note
• You need a good guess of the TS structure. Relaxed surface scans can help in almost all cases (see also
example above).
• For TS optimization (in contrast to geometry optimization) an exact Hessian, a Hybrid Hessian or a
modification of selected second derivatives is necessary.
• Analytic Hessian evaluation is available for HF and SCF methods, including the RI and RIJCOSX ap-
proximations and canonical MP2.
• Check the eigenmodes of the optimized structure for the eigenmode with a single imaginary frequency.
You can also visualize this eigenmode with orca_pltvib (section Animation of Vibrational Modes) or
any other visualization program that reads ORCA output files.
• If the Hessian is calculated during the TS optimization, it is stored as basename.001.hess, if it is re-
calculated several times, then the subsequently calculated Hessians are stored as basename.002.hess,
basename.003.hess, . . .
• If you are using the Hybrid Hessian, then you have to check carefully at the beginning of the TS opti-
mization (after the first three to five cycles) whether the algorithm is following the correct mode (see TIP
below). If this is not the case you can use the same Hybrid Hessian again via the inhess read keyword
and try to target a different mode (via the TS_Mode keyword, see below).
In the example above the TS mode is of local nature. In such a case you can directly combine the relaxed surface
scan with the TS optimization with the
! ScanTS
ò Note
• The algorithm performs the relaxed surface scan, aborts the Scan after the maximum is surmounted,
chooses the optimized structure with highest energy, calculates the second derivative of the scanned
coordinate and finally performs a TS optimization.
• If you do not want the scan to be aborted after the highest point has been reached but be carried out up
to the last point, then you have to type:
%geom
fullScan true # do not abort the scan with !ScanTS
end
As transition state finder we implemented the quasi-Newton like Hessian mode following algorithm.[67, 241, 365,
389, 399, 513, 763, 764, 765] This algorithm maximizes the energy with respect to one (usually the lowest) eigen-
mode and minimizes with respect to the remaining 3𝑁 − 7(6) eigenmodes of the Hessian.
Tip
• You can check at an early stage if the optimization will lead to the “correct” transition state. After the
first optimization step you find the following output for the redundant internal coordinates:
---------------------------------------------------------------------------
Redundant Internal Coordinates
(Angstroem and degrees)
Definition Value dE/dq Step New-Value comp.(TS mode)
----------------------------------------------------------------------------
1. B(H 1,C 0) 1.2857 0.013136 0.0286 1.3143 0.58
2. B(H 2,C 0) 1.1002 0.014201 -0.0220 1.0782
3. B(H 3,C 0) 1.1010 0.014753 -0.0230 1.0779
4. B(H 4,C 0) 1.1008 0.014842 -0.0229 1.0779
5. B(O 5,H 1) 1.2442 -0.015421 -0.0488 1.1954 0.80
6. B(H 6,O 5) 0.9803 0.025828 -0.0289 0.9514
7. A(H 1,C 0,H 2) 107.38 -0.001418 -0.88 106.49
8. A(H 1,C 0,H 4) 105.48 -0.002209 -0.46 105.02
9. A(H 1,C 0,H 3) 103.35 -0.003406 0.08 103.43
10. A(H 2,C 0,H 4) 113.30 0.001833 0.35 113.65
11. A(H 3,C 0,H 4) 113.38 0.002116 0.26 113.64
12. A(H 2,C 0,H 3) 112.95 0.001923 0.45 113.40
13. A(C 0,H 1,O 5) 169.26 -0.002089 4.30 173.56
14. A(H 1,O 5,H 6) 100.84 0.003097 -1.41 99.43
15. D(O 5,H 1,C 0,H 2) 17.02 0.000135 0.24 17.26
16. D(O 5,H 1,C 0,H 4) -104.09 -0.000100 0.52 -103.57
17. D(O 5,H 1,C 0,H 3) 136.64 0.000004 0.39 137.03
18. D(H 6,O 5,H 1,C 0) 10.52 0.000078 -0.72 9.79
----------------------------------------------------------------------------
Every Hessian eigenmode can be represented by a linear combination of the redundant internal coordinates. In
the last column of this list the internal coordinates, that represent a big part of the mode which is followed uphill,
are labelled. The numbers reflect their magnitude in the TS eigenvector (fraction of this internal coordinate in the
linear combination of the eigenvector of the TS mode). Thus at this point you can already check whether your TS
optimization is following the right mode (which is the case in our example, since we are interested in the abstraction
of H1 from C0 by O5.
• If you want the algorithm to follow a different mode than the one with lowest eigenvalue, you can either
choose the number of the mode:
%geom
TS_Mode {M 1} # {M 1} mode with second lowest eigenvalue
end # (default: {M 0}, mode with lowest eigenvalue)
end
or you can give an internal coordinate that should be strongly involved in this mode:
%geom
TS_Mode {B 1 5} # bond between atoms 1 and 5,
(continues on next page)
6.3. Geometry Optimizations, Surface Scans, Transition States, MECPs, Conical Intersections,
177
IRC, NEB
ORCA Manual, Release 6.0
Tip
• If you look for a TS of a breaking bond the respective internal coordinate might not be included in the
list of redundant internal coordinates due to the bond distance being slightly too large, leading to slow
or even no convergence at all. In order to prevent that behavior a region of atoms that are active in the
TS search can be defined, consisting of e.g. the two atoms of the breaking bond. During the automatic
generation of the internal coordinates the bond radii of these atoms (and their neighbouring atoms) are
increased, making it more probable that breaking or forming bonds in the TS are detected as bonds.
%geom
TS_Active_Atoms { 1 2 3 } # atoms that are involved in TS, e.g. for proton
end # transfer the proton, its acceptor and its donor
TS_Active_Atoms_Factor 1.5 # factor by which the cutoff for bonds is increased for
# the above defined atoms.
# (Default 1.5, i.e. increased by 50%)
end
%geom
inhess Read # this command comes with:
InHessName "yourHessian.hess" # filename of Hessian input file
end
Another possibility to save computational time is to calculate exact Hessian values only for those atoms which
are crucial for the TS optimization and to use approximate Hessian values for the rest. This option is very useful
for big systems, where only a small part of the molecule changes its geometry during the transition and hence the
information of the full exact Hessian is not necessary. With this option the coupling of the selected atoms are
calculated exactly and the remaining Hessian matrix is filled up with a model initial Hessian:
%geom
Calc_Hess true
Hybrid_Hess {0 1 5 6} end # calculates a Hybrid Hessian with
# exact calculation for atoms 0, 1, 5 and 6
end
For some molecules the PES near the TS can be very far from ideal for a Newton-Raphson step. In such a case
ORCA can recalculate the Hessian after a number of steps:
%geom
Recalc_Hess 5 # calculate the Hessian at the beginning
# and recalculate it after 5,10,15,... steps
end
Another solution in that case is to switch on the trust radius update, which reduces the step size if the Newton-
Raphson steps behave unexpected and ensures bigger step size if the PES seems to be quite quadratic:
%geom
Trust 0.3 # Trust <0 - use fixed trust radius (default: -0.3 au)
# Trust >0 - use trust radius update, i.e. 0.3 means:
# start with trust radius 0.3 and use trust radius update
end
6.3. Geometry Optimizations, Surface Scans, Transition States, MECPs, Conical Intersections,
179
IRC, NEB
ORCA Manual, Release 6.0
• For further options for the MECP calculation, see section Minimum Energy Crossing Points.
Tip
You can often use a minimum or TS structure of one of the two spin states as initial guess for your MECP-
optimization. If this doesn’t work, you might try a scan to get a better initial guess.
The results of the MECP optimization are given in the following output. The distance where both surfaces cross
is at 1.994 Å. In this simple example there is only one degree of freedom and we can also locate the MECP via a
parameter scan. The results of the scan are given in Fig. 6.23 for comparison. Here we see that the crossing occurs
at a Fe-O-distance of around 2 Å.
For systems with more than two atoms a scan is not sufficient any more and you have to use the MECP optimization.
***********************HURRAY********************
*** THE OPTIMIZATION HAS CONVERGED ***
*************************************************
-------------------------------------------------------------------
Redundant Internal Coordinates
--- Optimized Parameters ---
(Angstroem and degrees)
Definition OldVal dE/dq Step FinalVal
-------------------------------------------------------------------
1. B(O 1,Fe 0) 1.9939 -0.000001 0.0000 1.9939
-------------------------------------------------------------------
*******************************************************
*** FINAL ENERGY EVALUATION AT THE STATIONARY POINT ***
*** (AFTER 8 CYCLES) ***
*******************************************************
------------------------------------- ----------------
Energy difference between both states -0.000000061
------------------------------------- ----------------
Fig. 6.23: Parameter scan for the quartet and sextet state of [FeO]+ (B3LYP/SV(P)).
A more realistic example with more than one degree of freedom is the MECP optimization of a structure along the
reaction path of the CH3 O ↔ CH2 OH isomerization.
ò Note
• To verify that a stationary point in a MECP optimization is a minimum, you have to use an adapted
frequency analysis, called by SurfCrossNumFreq (see section Minimum Energy Crossing Points).
6.3. Geometry Optimizations, Surface Scans, Transition States, MECPs, Conical Intersections,
181
IRC, NEB
ORCA Manual, Release 6.0
ò Note
Even though locating the CI of a TD-DFT excited state and the reference state is supported, it is not the rec-
ommended way of finding the ground state-excited state CI, because such CIs are not described properly by
TD-DFT (in particular, TD-DFT even predicts the wrong dimensionality for the intersection space). Instead,
it is advised to use SF-TD-DFT for this purpose, e.g. use the 𝑇1 state as the reference state, and calculate both
the 𝑆0 and 𝑆1 states as excited states. (vide infra)
Tip
You can often use a structure between the optimized structures of both states for your CI-optimization. If this
doesn’t work, you might try a scan to get a better initial guess.
The results of the CI-optimization are given in the following output. The energy difference between the ground and
excited state is printed as E diff. (CI), being reasonabley close for a conical intersection. For a description of the
calculation of the non-adiabatic couplings at this geometry, see section Numerical non-adiabatic coupling matrix
elements.
.--------------------.
----------------------|Geometry convergence|-------------------------
Item value Tolerance Converged
---------------------------------------------------------------------
Energy change 0.0000164283 0.0000050000 NO
E diff. (CI) 0.0000025162 0.0001000000 YES
RMS gradient 0.0000068173 0.0001000000 YES
MAX gradient 0.0000136891 0.0003000000 YES
RMS step 0.0000358228 0.0020000000 YES
MAX step 0.0000821130 0.0040000000 YES
........................................................
Max(Bonds) 0.0000 Max(Angles) 0.00
Max(Dihed) 0.00 Max(Improp) 0.00
---------------------------------------------------------------------
***********************HURRAY********************
*** THE OPTIMIZATION HAS CONVERGED ***
*************************************************
---------------------------------------------------------------------------
Redundant Internal Coordinates
CI minima between excited states In an analogous way, the conical intersection minima between two excited
states can be requested by selection both an IROOT and a JROOT, shown below.
6.3. Geometry Optimizations, Surface Scans, Transition States, MECPs, Conical Intersections,
183
IRC, NEB
ORCA Manual, Release 6.0
* xyz 0 1
O 0.73020 -0.07940 -0.00000
O -0.73020 0.07940 -0.00000
H 1.21670 0.75630 0.00000
H -1.21670 -0.75630 0.00000
*
The results are seen in the output of the SCF procedure, where the total energy already contains the force term.
----------------
TOTAL SCF ENERGY
----------------
Components:
Nuclear Repulsion : 36.90074715 Eh 1004.12038 eV
External potential : -0.25613618 Eh -6.96982 eV
Electronic Energy : -187.54166010 Eh -5103.26802 eV
For more information and further options see section Intrinsic Reaction Coordinate.
ò Note
• The same method and basis set as used for optimization and frequency calculation should be used for the
IRC run.
• The IRC keyword can be requested without, but also together with OptTS, ScanTS, NEB-TS, AnFreq
and NumFreq keywords.
• In its default settings the IRC code checks whether a Hessian was computed before the IRC run. If that is
not the case, and if no Hessian is defined via the %irc block, a new Hessian is computed at the beginning
of the IRC run.
• A final trajectory (_IRC_Full_trj.xyz) is generated which contains both directions, forward and back-
ward, by starting from one endpoint and going to the other endpoint, visualizing the entire IRC. Forward
(_IRC_F_trj.xyz and _IRC_F.xyz) and backward (_IRC_B_trj.xyz and _IRC_B.xyz) trajectories and xyz
files contain the IRC and the last geometry of that respective run.
! opt
%geom inhess read
inhessname "h2o.hess"
PrintInternalHess true
end
*xyz 0 1
O 0.000000 0.000000 0.000000
H 0.968700 0.000000 0.000000
H -0.233013 0.940258 0.000000
*
ò Note
• The Hessian in internal coordinates is (for the input printHess.inp) stored in the file
printHess_internal.hess.
• The corresponding lists of redundant internals is stored in printHess.opt.
• Although the !Opt keyword is necessary, an optimization is not carried out. ORCA exits after storing
the Hessian in internal coordinates.
! L-Opt
! MM
%mm
ORCAFFFILENAME "CHMH.ORCAFF.prms"
end
*pdbfile 0 1 CHMH.pdb
Using this optimizer systems with 100s of thousands of atoms can be optimized. Of course, the energy and gradient
calculations should not become the bottleneck for such calculations, thus MM or QM/MM methods should be used
for such large systems.
6.3. Geometry Optimizations, Surface Scans, Transition States, MECPs, Conical Intersections,
185
IRC, NEB
ORCA Manual, Release 6.0
The default maximum number of iterations is 200, and can be increased as follows:
! L-Opt
%geom
maxIter 500 # default 200
end
*pdbfile 0 1 CHMH.pdb
Only the hydrogen positions can be optimized with the following command:
! L-OptH
But also other elements can be exclusively optimized with the following command:
! L-OptH
%geom
OptElement F # optimize fluorine only when L-OptH is invoked.
# Does not work with the regular optimizer.
end
When fragments are defined for the system, each fragment can be optimized differently (similar to the fragment
optimization described above). The following options are available:
FixFrags
Freeze the coordinates of all atoms of the specified fragments.
RelaxHFrags
Relax the hydrogen atoms of the specified fragments. Default for all atoms if !L-OptH is defined.
RelaxFrags
Relax all atoms of the specified fragments. Default for all atoms if !L-Opt is defined.
RigidFrags
Treat each specified fragment as a rigid body, but relax the position and orientation of these rigid bodies.
ò Note
! L-OptH
%mm
ORCAFFFILENAME "CHMH.ORCAFF.prms"
end
*pdbfile 0 1 CHMH.pdb
%geom
Frags
2 {8168:8614} end # First the fragments need to be defined
3 {8615:8699} end # Note that all other atoms belong to
4 {8700:8772} end # fragment 1 by default
5 {8773:8791} end #
RelaxFrags {2} end # Fragment 2 is fully relaxed
RigidFrags {3 4 5} end # Fragments 3, 4 and 5 are treated as rigid bodies each.
end
in detail in the article by Ásgeirsson et. al.[4] and in section Nudged Elastic Band Method along with the input
options. The most common use of the NEB method is to find the highest energy saddle point on the potential
energy surface specifying the transition state for a given initial and final state. Rigorous convergence to a first
order saddle point can be obtained with the climbing image NEB (CI-NEB), where the highest energy image is
pushed uphill in energy along the tangent to the path while relaxing downhill in orthogonal directions. Another
method for finding a first order saddle point is the NEB-TS which uses the CI-NEB method with a loose tolerance
to begin with and then switches over to the OptTS method to converge on the saddle point. This combination can
be a good choice for calculations of complex reactions where the ScanTS method fails or where 2D relaxed surface
scans are necessary to find a good initial guess structure for the OptTS method. The zoomNEB variants are a good
choice in case of very complex transition states with long tails. For more and detailed information on the various
NEB variants implemented in ORCA please consult section Nudged Elastic Band Method.
In their simplest form NEB, NEB-CI and NEB-TS only require the reactant and product state configurations (one
via the xyz block, and the other one via the keyword neb_end_xyzfile):
Below is an example of an NEB-TS run involving an intramolecular proton transfer within acetic acid. The simplest
input is
!XTB NEB-TS
%neb
neb_end_xyzfile "final.xyz"
end
*xyz 0 1
C 0.416168 0.038758 -0.014077
C 0.041816 0.011798 1.439610
O 1.524458 0.176600 -0.453888
O -0.654209 -0.127881 -0.803857
H -0.391037 -0.126036 -1.737478
H -0.913438 0.507022 1.585301
H -0.057787 -1.026455 1.750845
H 0.819515 0.485425 2.030252
*
Where the final.xyz structure contains the corresponding structure with the proton on the other oxygen.
The initial path is reasonable and the CI calculation can be switched on after five NEB iterations.
Starting iterations:
Image 4 will be converted to a climbing image in the next iteration (max(|Fp|) < 0.0200)
6.3. Geometry Optimizations, Surface Scans, Transition States, MECPs, Conical Intersections,
187
IRC, NEB
ORCA Manual, Release 6.0
*********************H U R R A Y*********************
*** THE NEB OPTIMIZATION HAS CONVERGED ***
*****************************************************
---------------------------------------------------------------
PATH SUMMARY
---------------------------------------------------------------
All forces in Eh/Bohr.
Additionally, detailed information on the highest energy image (or the CI) is printed:
---------------------------------------------------------------
INFORMATION ABOUT SADDLE POINT
---------------------------------------------------------------
-----------------------------------------
SADDLE POINT (ANGSTROEM)
-----------------------------------------
C 0.040867 0.007347 -0.497635
C -0.075595 0.017879 0.979075
O 1.122340 0.126074 -1.145534
O -0.928470 -0.137946 -1.298318
H 0.165808 -0.021676 -2.055704
H -0.996979 0.514720 1.271668
H -0.116377 -1.013504 1.327873
H 0.788406 0.507105 1.418575
-----------------------------------------
FORCES (Eh/Bohr)
-----------------------------------------
C -0.000646 -0.000111 0.000086
...
-----------------------------------------
UNIT TANGENT
-----------------------------------------
C -0.246569 -0.031821 -0.019359
...
Finally, a TS optimization is started, after which the MEP information is updated by including the TS structure:
---------------------------------------------------------------
PATH SUMMARY FOR NEB-TS
---------------------------------------------------------------
All forces in Eh/Bohr. Global forces for TS.
Fig. 6.24: A simple depiction of the difference between a regular geometry optimization (above), and the GOAT
global optimizer (below). By using the latter, one finds not only one local minimum but the global one and the
conformational ensemble around it.
Since structures are collected along the way to the global minimum, we have in the end not only the global minimum,
but also the conformational ensemble for that molecule, meaning all the conformations it can have and their relative
energies. This is also useful later to compute Boltzmann-averaged spectra and properties.
The idea is similar to what is done with CREST from the group of Prof. Grimme [698], except that no metadynamics
is required and thus much less gradient runs are needed. It is thus suitable not only for super fast methods such as
XTB and force-fields, but can also be used directly using DFT or with any method available in ORCA.
Please note that there is no ab initio way to find global minima for arbitrary unknown functions, and stochastic
methods are the most efficient on finding these. The drawback is that it is based on random choices, so that many
geometry optimizations are needed - here in the order of 100× the number of atoms. Good news is: these can be
efficiently parallelized (even multinode) and this number can be brought down to less than 3× the number of atoms
(see below)!
By simply looking at its Lewis structure, it is not at all evident that there are actually at least 20 conformers in the
3 kcal/mol range from the global minimum on the XTB PES! In order to find them, one can run:
The command to call the global optimizer is simply !GOAT, like you would with !OPT, and its options can be given
under the %GOAT block as usual. You can give it together with any other method available in ORCA, but it needs
to be a fast one because a lot of geometry optimizations need to be done. Here we will just use GFN2 (or !XTB).
What will happen next is:
1. First a regular geometry optimization will be done to find the minimum closest to the input structure.
2. With that information in hand, the number of necessary GOAT iterations will be computed and divided
among NWorkers (8 by default).
3. Each Worker has its own parameters and will run a certain number of geometry optimizations.
4. After all workers in a global cycle are done, data will be collected and a new cycle will begin. There will be
at least a “Minimum global steps” number of global cycles like this.
5. Once the difference between two global steps is negligible, it stops, collects everything and prints the en-
semble energies and a file with all structures.
Global parameters
-----------------
GOAT version ... default
Minimum global steps ... 3
Number of base workers ... 4
Split workers by ... 2
Final number of workers ... 8
Number of available CPUs ... 16
Parameter list (worker : temperature) ... 0 : 2903.97, 1 : 1451.98,
2 : 725.99, 3 : 363.00,
4 : 2903.97, 5 : 1451.98,
6 : 725.99, 7 : 363.00
GradComp (mean : sigma) ... 1.00 : 0.50
Number of atoms ... 20
Number of fragments ... 1
Flexibility parameter ... 0.45
Optimizations per global step ... 160
Optimizations per worker ... 20
Filtering criteria
------------------
RMSD ... 0.125 Angs (atom. pos.)
EnDiff ... 0.100 kcal/mol
RotConst ... 1.00-2.50 %
Maximum Conf. Energy ... 6.000 kcal/mol
Thermodynamics
--------------
Ensemble temperature ... 298.15 K
Degeneracy of conformers ... 1
*No rotamers will be included in Gconf
On the top there is some general information. Most important here is that we have 8 workers and 1 CPU, meaning
each worker will run only after the other is done. If you want to speed up, just add more CPUs via e.g., !PAL8 and
workers will run in parallel making it 8x faster. GOAT can also run multinode, so feel free to use any number of
processors via %PAL. In the end the filtering criteria used to differentiate conformers and rotamers is printed.
The default filtering is precisely the same as that of CREST: RMSD of atomic positions together with the rotational
constant, considering its anisotropy. For GOAT-EXPLORE (see below), the default RMSD metric is based on the
eigenvalues of the distance matrix instead, since it is invariant to translations, rotations and the atom ordering,
which changes quite often in these cases.
After that, the algorithm starts:
------------------------------------------------------------------------------
Iter MinTemp MaxEn GradComp NOpt NProcs Output
------------------------------------------------------------------------------
0 2903.97 60.00 1.00 : 0.50 20 2 HIS.goat.0.0.out
1 1451.98 60.00 1.00 : 0.50 20 2 HIS.goat.0.1.out
2 725.99 60.00 1.00 : 0.50 20 2 HIS.goat.0.2.out
3 363.00 60.00 1.00 : 0.50 20 2 HIS.goat.0.3.out
4 2903.97 60.00 1.00 : 0.50 20 2 HIS.goat.0.4.out
5 1451.98 60.00 1.00 : 0.50 20 2 HIS.goat.0.5.out
6 725.99 60.00 1.00 : 0.50 20 2 HIS.goat.0.6.out
7 363.00 60.00 1.00 : 0.50 20 2 HIS.goat.0.7.out
On the top header one can see what are the temperatures used, the maximum energy allowed during an uphill
step, the maximum coefficient for gradient reflection, the number of optimizations done per worker, the number of
processors used for each and the local output file name.
The names of the output files are chosen as BaseName.goat.globaliteration.workernumber.out. These
are deleted after the run by default, but can be kept by setting KEEPWORKERDATA TRUE under %GOAT.
During each global iteration, the minimum energy so far, the conformational entropy 𝑆conf and the conformational
Gibbs free energy 𝐺conf are printed. Since there are no rotamers here, the entropy is calculated only on the basis
of the conformer energies and its convergence hints to the completeness of the ensemble created.
Just for the record, here is how the four lowest lying conformers look like:
Fig. 6.26: The four lowest conformers found for histidine on the XTB PES.
Whenever using GOAT, the EnforceStrictConvergence policy from ORCA’s optimizer is set to TRUE. This is
recommended here the ensure equal criteria for different molecules in the ensemble. It can be turned off by setting
%GEOM EnforceStrictConvergence FALSE END.
The regular optimization thresholds are already good, but it might also be a good idea to use !TIGHTOPT to make
sure all your ensemble molecules are well converged, specially for the GOAT-EXPLORE!
Being more explicit, the conformational entropy, enthalpy and Gibbs free energy are calculated according to:
∑︀ ′
𝑔𝑖 (𝐸𝑖 𝛽)𝑒−𝐸𝑖 𝛽
[︂ ∑︁ ]︂
′ −𝐸𝑖 𝛽
𝑆conf = 𝑅 ln 𝑔𝑖 𝑒 + ∑︀ ′
𝑔𝑖 (𝐸𝑖 𝛽)𝑒−𝐸𝑖 𝛽
𝑔𝑖 (𝐸𝑖 𝛽)𝑒−𝐸𝑖 𝛽
∑︀
[︀ ]︀
𝐻(𝑇 ) − 𝐻(0) conf = 𝑅𝑇 ∑︀
𝑔𝑖 (𝐸𝑖 𝛽)𝑒−𝐸𝑖 𝛽
where 𝛽 = 𝑘𝐵1𝑇 and 𝑔𝑖 is the “degeneracy” of conformer 𝑖, i.e. its number of rotamers. This is the correct approach
to deal with degenerate states [700]. The only difference from the reference above is that 𝑔𝑖′ is always one and we
don’t discriminate any factor for “geometrical enantiomers”.
Please note that there is a minimum number of optimizations per worker that must be respected in order for the
algorithm to make sense. Otherwise, on the limit, one optimization per worker would mean almost nothing happens.
This minimum number is max(N, 15) for the regular GOAT and max(3N, 45) for GOAT-EXPLORE and GOAT-
REACT (see below), where N is the number of atoms. The searches using free topology are more demanding
because there are many more degrees of freedom.
When the minimum number of optimizations per worker is reached, the information is printed on the bottom of
the header as:
The global minimum found is a 𝐷4ℎ planar structure, the same as found on the literature for the Au8 cluster using
other DFT methods [54]:
Fig. 6.27: The lowest energy conformer of the Au8 cluster on the GFN1 PES.
Fig. 6.28: What could be the products of the reaction between ethylene and singlet oxygen?
the output looks more or less similar to the regular GOAT-EXPLORE, except for a few differences:
1. The maximum barriers GOAT is allowed to cross are higher.
2. The very initial geometry optimization is skipped by default.
3. AUTOWALL is set to TRUE which means that an ellipsoid wall potential is added using the maximum x,y,z
dimensions of the molecule + 5 Angs as radii.
Another important factor is the maximum topological difference (MAXTOPODIFF), which is set to 8 by default, as
printed on the output:
Global parameters
-----------------
GOAT version ... react
Max. topological diff. ... 8
Minimum global steps ... 3
Number of base workers ... 4
MAXTOPODIFF is a key concept here. If one simply looks for all possible topological permutations between reactants
and products, even simple systems such as this could lead to an enormous number of combinations.
We defined the topological difference simply as the sum of broken bonds + formed bonds from some reference
structure, which is taken from the structure obtained after the first geometry optimization inside the GOAT iterations
(before any uphill step).
There will be more files printed than usual, the most important ones are:
1. Basename.products.xyz – contains all reactomers and all their conformers for the reaction. It is usually
a very large file.
2. Basename.products.topodiff2.xyz – contains only those separated with topodiff 2 from the reference
structure, and so on.
3. Basename.products.unique.xyz – contains a list of all topologically unique products, without their
conformers or rotamers, only the lowest energy conformer is printed. Here the reference structure will come
first and the others will be shown with their relative energy difference in kcal/mol.
Some of the products found as an example for this reaction are:
product 1 product 2
methanol + CO acetylene + H2O2
product 3 product 4
formaldehyde oxidized epoxy
Fig. 6.29: Some products automatically found by GOAT-REACT using the input given above.
ò Note
Please be aware that singlet oxygen is so reactive that even the first optimization leads to a cyclization reaction
and the reaction product is then taken as the reference structure.
s Important
The use of force-fields like the GFN-FF is not recommended here, because it is not supposed to break bonds.
Parallelization of GOAT
GOAT will profit from a large number of cores in a different way than most ORCA jobs, because it distributes the
necessary work along different workers. It can also work multidone and distribute these workers through different
nodes.
Since there is usually a regular first optimization step before starting GOAT, which will not profit from a large
number of cores, these are limited by the flag MAXCORESOPT and set to a maximum of 32. After that, GOAT
will switch back to use all cores provided. We do not recommend changing that maximum number, because it will
probably only make things slower, but it can be controlled inside the %GOAT block.
ò Note
• GOAT will work with any method in ORCA, all you need is the gradient. That includes using DFT,
QM/MM, ONIOM, broken-symmetry states, excited states etc.
• Be aware that DFT is much costlier than XTB. It is perfectly possible to run GOAT with R2SCAN-3C,
but be prepared to use many cores or wait for a few days :D. We recommend at least %PAL NPROCS 32
END, to have 8 workers with 4 cores each. Hybrid DFT is even heavier, so if you want to use B3LYP,go
with at least NPROCS 64 - and don’t hurry. The aim is to do a global search here, it does not come for
free!
• In many cases, it might be useful to use GFNUPHILL GFNFF to use the GFN-FF force-field PES during
the uphill steps. There, an exact potential is not really needed as the main objective is to take structures
out of their current minimum and GOAT will run much faster, only using the chosen method for the
actual optimizations. GFN2XTB, GFN1XTB or GFN0XTB are also valid options.
• For methods that need bond breaking, such as GOAT-EXPLORE or GOAT-REACT, GFNUPHILL GFNFF
cannot be used because the GFN-FF will not allow for bond breaking. Choose GFN2XTB, GFN1XTB
or GFN0XTB.
• You can always check what the workers are doing by looking into the Basename.goat.x.x.out files.
The first number refers to the global iteration and the second to the specific worker. This is an ORCA
output (with some suppressed printing to save space) that can be opened in most GUIs.
• GOAT will automatically detect fragments at the very beginning, even before the first geometry opti-
mization. It will also respect fragments given via the geometry blocks. You can turn this off by setting
AUTOFRAG to FALSE under %GOAT.
• Amide bond chirality is not frozen by default, which means the input topology you gave for amides (cis
or trans) may change. If you want to freeze it, set FREEZEAMIDES to TRUE.
• Similarly double bonds outside rings can also change their topology. Choose FREEZECISTRANS TRUE
in order to freeze those dihedrals.
• For certain molecules, it might be interesting to limit the coordination number of certain atoms, in that
case use MAXCOORDNUMBER.
• GOAT will respect the choices from the %GEOM block for the geometries so you can use all kinds of
constraints you need for other types of coordinate freeze. It can also be combined with all kinds of
arbitrary wall potentials available (see Section 6.3.8).
• If you want to push only certain atoms uphill, you can give a list to UPHILLATOMS. In that case the uphill
force shown in Fig. 6.24 will be applied only to the coordinates involving those atoms and the rest of the
molecule will only react to that. This is useful for conformational searches on parts of a bigger system.
• By default conformers up to 12.0 kcal/mol from the global minimum are included, this can be changed
by setting MAXEN.
#
# general options
#
MAXITER 128 # defines an arbitrary number of max GOAT geom opt iters per worker.
MAXOPTITER 256 # maximum number of geometry optimizations per GOAT iter.
SKIPINITIALOPT TRUE # if you want to skip the initial optimization (default FALSE).
RANDOMSEED TRUE # set it to FALSE to have a deterministic GOAT run. since the
# geometry optimization can change due to numerical differences
# it might not be fully deterministic in some cases.
TEMPLIST 3000, 2000, 750, 500 # a list of temperatures, defines the number
# of basic workers, in Kelvin. do not change
# unless you know what to do.
MAXCORESOPT 32 # the max. number of cores used during the very first opt
#
# worker options
#
#
# uphill step
#
UPHILLATOMS {0:2 5 14:29} END # if given, only those atoms listed will be pushed,
# uphill others will just respond to it.
GFNUPHILL GFNFF # use GFN-FF only during the uphill steps? GFN2XTB, GFN1XTB or
# GFN0XTB are also valid options for the respective methods.
#
# filtering and screening
#
#
# entropy mode
#
#
# free topology
#
#
# goat react
#
END
! bohrs
* xyz 0 1
O -1.396288 -0.075107 0.052125
O 1.396289 -0.016261 -0.089970
H -1.775703 1.309756 -1.111179
H 1.775687 0.140443 1.711854
*
At the end of the frequency job you get an output like this:
-----------------------
VIBRATIONAL FREQUENCIES
-----------------------
0: 0.00 cm**-1
(continues on next page)
This output consists of the calculated vibrational frequencies, the vibrational modes and the thermochemical prop-
erties at 298.15 K. In the example above there are six frequencies which are identically zero. These frequencies
correspond to the rotations and translations of the molecule. They have been projected out of the Hessian before
the calculation of the frequencies and thus, the zero values do not tell you anything about the quality of the Hessian
that has been diagonalized. The projection can be turned off by PROJECTTR FALSE under %FREQ, so that the
frequencies of the translations and rotations can deviate from zero and the deviations represent a metric of the nu-
merical error of the Hessian calculation. This is done automatically when there is e.g. an external electric field that
makes the exact translational and/or rotational modes have non-zero frequencies (see section Adding finite electric
field). However, in normal cases where the molecule is expected to obey both translational and rotational invari-
ance, it is strongly discouraged to turn off PROJECTTR when calculating thermochemical quantities (especially
entropies and Gibbs free energies). This is because when the frequencies of translational and rotational modes
exceed CutOffFreq (which is 1 cm−1 by default), their contributions to the partition function will be calculated
using the formulas for vibrations. As a result, the calculated entropy is inaccurate (due to treating translations and
rotations as vibrations), is sensitive to numerical noise, and in particular exhibits a finite jump when the (theo-
retically zero) frequencies of the translational and rotational modes cross CutOffFreq. Therefore, the only case
where the user needs to turn off PROJECTTR manually is when the exact Hessian is expected to have zero transla-
tional and rotational frequencies, and one wants to check how much the translational and rotational eigenvalues of
the actually computed Hessian deviate from zero. The thermochemical quantities from such a calculation are less
reliable and should not be used; even if they differ considerably from the results with PROJECTTR TRUE, this does
not necessarily mean that the latter are unreliable.
Without PROJECTTR FALSE, the reliability of the calculated frequencies has to be judged by comparison of calcu-
lations with different convergence criteria, increments, integration grids etc. The numerical error in the frequencies
may reach 50 cm−1 but should be considerably smaller in most cases. Significant negative frequencies indicate
saddle points of the energy hypersurface and prove that the optimization has not resulted in an energy minimum.
OBS: By default, the Hessian is made translation invariant by applying the “acoustic sum rule” ([788]), which
reduces the effect of noise from numerical integration coming from DFT or COSX, except for the Partial and
Hybrid Hessians where it does not make sense. It can be set to false by using TRANSINVAR FALSE under
%FREQ.
ò Note
The calculation of numerical frequencies puts rather high demands on both computer time and accuracy. In
order to get reliable frequencies make sure that:
• Your SCF is tightly converged. A convergence accuracy of at least 10−7 Eh in the total energy and 10−6
in the density is desirable.
The calculation of analytical frequencies is memory consuming. To control memory consumption the %maxcore
parameter must be set. For example %maxcore 8192 - use 8 Gb of memory per processor for the calculation.
The user should provide the value according to the computer available memory. The batching based on %maxcore
parameter will be introduced automatically to overcome probable memory shortage.
Numerical frequency calculations are restartable (but analytical frequency calculations are not). If the numerical
frequencies job died for one reason or another you can simply continue from where it stopped as in the following
example:
! STO-3G NumFreq
%freq Restart true # restart an old calculation
# this requires .res.* files to be present
end
* int 0 1
C 0 0 0 0.0000 0 0
C 1 0 0 1.2160 0 0
H 1 2 0 1.083 180 0
H 2 1 3 1.083 180 0
*
ò Note
• You must not change the level of theory, basis set or any other detail of the calculation. Any change will
produce an inconsistent, essentially meaningless Hessian.
• The geometry at which the Hessian is calculated must be identical. If you followed a geometry optimiza-
tion by a frequency run then you must restart the numerical frequency calculation from the optimized
geometry.
• Numerical frequencies can be performed in multi-process mode. Please see section Calling the Program
with Multiple Processes (“Hints on the use of parallel ORCA”) for more information.
• The restart of Numerical frequencies will take off from the result files produced during the preceding
run (BaseName.res.%5d.Type, whith Type being Dipoles, Gradients - and if requested Ramans or
Nacmes). Please make sure that all these local result files get copied to your compute directory. If restart
is set and no local files to be found, ORCA will restart from scratch. If ORCA finds a Hessian file on
disk, it will only repeat the subsequent analysis.
• The Hessian can be transformed to redundant internal coordinates. More information can be found in
section Printing Hessian in Internal Coordinates.
6.6.1 Excited States with RPA, CIS, CIS(D), ROCIS and TD-DFT
ORCA features a module to perform TD-DFT, single-excitation CI (CIS) and RPA. The module works with either
closed-shell (RHF or RKS) or unrestricted (UHF or UKS) reference wavefunctions. For DFT models the module
automatically chooses TD-DFT and for HF wavefunctions the CIS model. If the RI approximation is used in the
SCF part it will also be used in the excited states calculation. A detailed documentation is provided in section
Excited States via RPA, CIS, TD-DFT and SF-TDA.
General Use
In its simplest form it is only necessary to provide the number of roots sought:
! B3LYP DEF2-SVP
%TDDFT NROOTS 10
TRIPLETS TRUE
END
* int 0 1
C 0 0 0 0.00 0.0 0.00
O 1 0 0 1.20 0.0 0.00
H 1 2 0 1.08 120 0.00
H 1 2 3 1.08 120 180.00
*
The triplets parameter is only valid for closed-shell references. If chosen as true the program will also determine the
triplet excitation energies in addition to the singlets. We will discuss many more options in the following sections.
Spin-Flip
The collinear spin-flip version of CIS/TDA (always starting from an open-shell reference!) can be invoked in a
similar manner, using:
%tddft
nroots 5
sf true
end
Please check Sec. Collinear Spin-Flip TDA (SF-TD-DFT) for more details on how to use it, and how to understand
its results.
Population analysis
If you want to print excited-state charges and bond orders, you can use UPOP TRUE under %TDDFT to get the
analysis from the unrelaxed density and !ENGRAD if you want to use the relaxed density. Multiple states can be
indicated by the IROOTLIST and TROOTLIST keywords. For more details please check Sec. Population Analysis
of Excited States.
the radiation is so short that higher-order terms in the expansion of the light-matter interaction become important.
Most noticeably, quadrupole intensity becomes important.
X-ray absorption spectra can be generally divided into three regions: a) the pre-edge that corresponds to transitions
of core electrons into low lying virtual orbitals that lead to bound states. b) the rising edge that corresponds to
excitations to high-lying states that are barely bound, and c) the extended X-ray absorption fine structure region
(EXAFS) that corresponds to electrons being ejected from the absorber atom and scattered at neighbouring atoms.
With the simple TD-DFT calculations described here, one focuses the attention on the pre-edge region. Neither
the rising edge nor the EXAFS region are reasonably described with standard electronic structure methods and
no comparison should be attempted. In addition, these calculations are restricted to K-edges as the calculation of
L-edges is much more laborious and requires a detailed treatment of the core hole spin orbit coupling.
It is clearly hopeless to try to calculate enough states to cover all transitions from the valence to the pre-edge
region. Hence, instead one hand-selects the appropriate donor core orbitals and only allows excitations out of
these orbitals into the entire virtual space. This approximation has been shown to be justified.[200] One should
distinguish two situations: First, the core orbital in question may be well isolated and unambiguously defined. This
is usually the case for metal 1s orbitals if there is only one metal of the given type in the molecule. Secondly,
there may be several atoms of the same kind in the molecule and their core orbitals form the appropriate symmetry
adapted linear combinations dictated by group theory. In this latter case special treatment is necessary: The sudden
approximation dictates that the excitations occurs from a local core orbital. In previous versions of the program
you had to manually localize the core holes. In the present version there is an automatic procedure that is described
below.
A typical example is TiCl4 . If we want to calculate the titanium K-edge, the following input is appropriate:
! BP86 ZORA ZORA-def2-TZVP(-f) SARC/J TightSCF
* int 0 1
Ti 0 0 0 0 0 0
Cl 1 2 3 2.15 0 0
Cl 1 2 3 2.15 109.4712 0
Cl 1 2 3 2.15 109.4712 120
Cl 1 2 3 2.15 109.4712 240
*
ò Note
• The absolute transition energies from such calculations are off by a few hundred electron volts due to the
shortcomings of DFT. The shift is constant and very systematic for a given element. Hence, calibration
is possible and has been done for a number of edges already. Calibration depends on the basis set!
• Electric quadrupole contributions and magnetic dipole contributions have been invoked with
DoHigherMoments true (check section One Photon Spectroscopy for more information), which is es-
sential for metal edges. For ligand edges, the contributions are much smaller.
• OrbWin is used to select the single donor orbital (in this case the metal 1s). The LUMO (45) and last
orbital in the set (174) are selected automatically if “-1” is given. This is different from previous program
versions where the numbers had to be given manually.
This section contains the relevant output since it combines electric dipole, electric quadrupole and magnetic dipole
transition intensities into the final spectrum. Importantly, there is a gauge issue with the quadrupole intensity: the
results depend on the where the origin is placed. We have proposed a minimization procedure that guarantees the
fastest possible convergence of the multipole expansion.[201]
The spectra are plotted by calling
Starting from ORCA version 4.1 one may obtain origin independent transition moments formulations which can
be combined with the multipole moments up to 2nd order to regenerate the electric dipole, electric quadrupole
and magnetic dipole contributions in either length or the velocity representations. This requires in addition to the
electric dipole (D), electric quadrupole (Q) and magnetic dipole (m) intensities the corresponding electric dipole -
magnetic quadrupole (DM) and the electric dipole - electric octupole (DO) intensities.[811][95]. See also section
General Use.
These spectra are requested by (check section One Photon Spectroscopy for more information)
DoHigherMoments true
DecomposeFoscLength true
DecomposeFoscVelocity true
Resulting in:
-----------------------------------------------------------------------------------------------
˓→---------------------------------
-----------------------------------------------------------------------------------------------
˓→---------------------------------
...
-----------------------------------------------------------------------------------------------
˓→----------------------------------
-----------------------------------------------------------------------------------------------
˓→----------------------------------
...
DoFullSemiclassical true
Resulting in:
-----------------------------------------------------------------------------
ABSORPTION SPECTRUM VIA FULL SEMI-CLASSICAL FORMULATION
-----------------------------------------------------------------------------
Transition Energy Energy Wavelength fosc(FFMIO)
(eV) (cm-1) (nm)
-----------------------------------------------------------------------------
----------------
ORBITAL ENERGIES
----------------
And looking at the energy range or the orbital composition, we find that orbitals 1 through 4 are Cl 1s-orbitals.
They all have the same energy since they are essentially non-interacting. Hence, we can localize them without
invalidating the calculation. To this end, you can invoke the automatic localization for XAS which modifies the
input to:
* int 0 1
Ti 0 0 0 0 0 0
Cl 1 2 3 2.15 0 0
Cl 1 2 3 2.15 109.4712 0
Cl 1 2 3 2.15 109.4712 120
Cl 1 2 3 2.15 109.4712 240
*
• This localizes the orbitals 1 through 4 of operator 0 (the closed-shell) and then allows excitations (arbitrarily)
from core hole 1 only. You could choose any of the three other localized 1s orbitals instead without changing
the result. You could even do all four core holes simultaneously (they produce identical spectra) in which
case you have the entire ligand K-edge intensity and not just the one normalized to a single chlorine (this
would be achieved with OrbWin[0] = 1,4,-1,-1).
• If you have a spin unrestricted calculation, you need to give the same XASLoc and OrbWin information for
the spin-down orbitals as well.
Quite nice results have been obtained for a number of systems in this way.[713]
! HF DEF2-SVP Opt
%CIS NRoots 1
IRoot 1
end
* int 0 1
C 0 0 0 0.00 0.0 0.00
O 1 0 0 1.20 0.0 0.00
H 1 2 0 1.08 120 0.00
H 1 2 3 1.08 120 180.00
*
Note that this example converges to a saddle point as can be verified through a numerical frequency calculation
(which is also possible with the methods mentioned above). The excited state relaxed density matrix is available
from such gradient runs (MyJob.cisp when using the KeepDens keyword) and can be used for various types of
analysis. Note that the frozen core option is available starting from version 2.8.0.
In case there is a root flipping after a step during the geometry optimization, it might be impossible to converge an
excited state geometry using the regular methods. To help in those cases, the flag FOLLOWIROOT might be set
to TRUE. Then, excited state wavefunction will be analyzed and compared with the reference one (more below),
and the IROOT will be automatically adjusted to keep homing the target state.
One example of such a calculation is:
! wB97X OPT
%TDDFT
NROOTS 5
IROOT 3
FOLLOWIROOT TRUE
END
* xyz 0 1
N 0.0 0.0 0.0
H 0.0 0.0 1.0
H 0.0 -0.9 0.5
H 0.0 0.9 0.5
*
This will ask for an optimization of the third excited state of ammonia. At some point, there is a state crossing and
what was state 3 now becomes state 2. The algorithm will recognize this and automatically change the IROOT
flag, to keep following the same state. FOLLOWIROOT also works with spin-adapted triplets and spin-flip states.
In cases where you want to keep the comparison only with the density from the very first computed excited state,
e.g. the one you get on the first cycle of a geometry optimization, you can use FIRKEEPFIRSTREF, as in:
%TDDFT
NROOTS 5
IROOT 3
FOLLOWIROOT TRUE
FIRKEEPFIRSTREF TRUE # default false
END
Starting from ORCA6 we have a much more robust algorithm to follow these excited states, inspired by some of
the recent literature [820] [135]. The algorithm now works as follows, after each excited state calculation using
CIS/TDDFT:
1. Given a reference state, take all states within an energy difference of up to 1 eV to it. We don’t want to check
states that are too far apart in energy. Controlled by %TDDFT FIRENTHRESH 1.0 END, number in eV.
2. Now take all states with a difference of 𝑆ˆ2 not larger than 0.5. We don’t want to compare singlets to triplets.
Controlled by %TDDFT FIRS2THRESH 0.5 END.
3. Calculate the overlap between the transition densities of all states with the reference - this is the core part.
4. In case there is ambiguity - that is if two states have overlaps differing by only 0.05 - take the one with the
closer transition dipole angle. Controlled by %TDDFT FIRSTHRESH 0.05 END.
5. Update the IROOT to the state that went best on all these tests.
ò Note
Now by default we might also update the reference state from time to time in case the separation of states is very
clear. The way it work is:
1. If the best overlap is larger than FIRMINOVERLAP, which is 0.5 by default and FIRDYNOVERLAP is FALSE, we
will assume that the overlap is good enough and we will always update the reference. However, the default
is FIRDYNOVERLAP TRUE, which means also have a second check for robustness.
2. If FIRDYNOVERLAP TRUE and the best overlap is larger than 0.5 (or FIRMINOVERLAP), we will check for
the ratio between the best and the second best states. If this ratio is between 0.3 and 0.6 (controlled by
%TDDFT FIRDYNOVERRATIO 0.3,0.6 END), it means that there is a clear separation between the best and
the second best and the reference can be updated safely. If the ratio is too close to 1, both states are too
similar and it would be dangerous to update the reference state. If it is too close to zero, they are easy to
distinguish and we don’t need to update the reference yet [820].
s Important
It is important to stress that this will not necessarily solve all problems (root flipping can be particularly bad
if the system is highly symmetric), for the excited states may change too much during the optimization. If that
happens, it is advisable to restart the calculation after some steps and check which IROOT you still want. This
can also be used when calculating numerical gradients and Hessians, in case you suspect of root flipping after
the displacements.
s Important
This algorithm is completely general and should work for any excited state method, as long as there are transition
densities. We will include more methods in the future when possible.
Doubles Correction
For CIS (and also for perturbatively corrected time-dependent double-hybrid functionals) the program can calculate
a doubles correction to the singles-only excited states. The theory is due to Head-Gordon and co-workers [371].
Spin-component scaling versions of CIS(D) can be evoked in the %cis block by setting DOSCS TRUE and the
four scaling parameters, as defined by Head-Gordon and co-workers [718], in the following order: same-spin
indirect term (CTss), opposite-spin indirect term(CTos), same-spin direct term(CUss), and opposite-spin direct
term(CUos). Note that this implementation only works for the version with the parameter 𝜆 = 1 as defined in
Ref. [718]. The example below shows how to apply the SCS-CIS(D) version with 𝜆 = 1 whose usage has been
advocated in Ref. [311]. The user is able to specify other scaling parameters.
%cis
dcorr # n=1,2,3,4
doscs true # set SCS-CIS(D) to true (default: false)
scspar 0.333, 1.2, 0.43, 1.24 #SCS-CIS(D) scaling parameters in this order
CTss, CTos, CUss, CUos
end
Note the use of commas to separate the parameters. These parameters do not communicate with the SCS/SOS
parameters set for ground-state SCS/SOS-MP2 in the %mp2 block.
ò Note
• The program will automatically put the RI-MP2 module into operation together with the (D) correction.
This will result in the necessary integrals becoming available to the CIS module.
• Singlet-triplet excitations can be calculated by setting TRIPLETS TRUE in the %cis or %tddft blocks,
respectively. The implementation has been tested for double hybrids in Ref. [145].
• For spin-adapted triplets (TRIPLETS TRUE), the only option available currently is DCORR 1.
• Spin-component and spin-opposite scaling techniques for double-hybrids within the TD- and TDA-DFT
frameworks, as defined by Schwabe and Goerigk [772], can be evoked in the same way in the %tddft block
as described for SCS-CIS(D) above. While user-defined parameters can be entered in such a way, a series
of new functionals are available through normal keywords, which use the herein presented SCS/SOS-
CIS(D) implementation. [147] See Sec. Choice of Functional for a list of those functionals.
Spin-orbit coupling
It also possible to include spin-orbit coupling between singlets and triplets calculated from TD-DFT by using quasi-
degenerate perturbation theory (please refer to the relevant publication [198]), similarly to what is done in ROCIS.
In order to do that, the flag DOSOC must be set to TRUE. The reduced matrix elements are printed and the new
transition dipoles between all SOC coupled states are also printed after the regular ones. This option is currently
still not compatible with double hybrids, but works for all other cases including CPCM. All the options regarding
the SOC integrals can be altered in the %rel block, as usual.
Please have in mind that, as it is, you can only calculate the SOC between excited singlets and the spin-adapted
triplets. There is no SOC starting from a UHF/UKS wavefunction. If you want more information printed such as
the full SOC matrix or triplet-triplet couplings, please set a higher PRINTLEVEL.
ORCA currently does not have SOC integrals for ECPs, and these are by default ignored in the SOC module. If
you try to use ORCA together with ECPs, an abort message will be printed. If you absolutely need to use ECPs,
for instance for embedded potentials, please use:
OBS.: Do not use ECPs in atoms where SOC might be important. In that case, always use all-electron basis
functions or the results will not make sense.
If you want to compute geometries for the SOC states, just choose SOCGRAD TRUE and a given IROOT. The
weigthed “unrelaxed” gradient will then be calculated after selecting the CIS/TD-DFT states with contribution
larger than 0.01%. Each gradient will be calculated separately and, after that, the final SOC gradient will be
computed as a weighted sum. Setting IROOT 0 in this case corresponds to ask for the SOC ground state, which is
NOT necessarily equal to the ground state from HF/DFT.
Transient spectra
If one wants to compute transient spectra, or transition dipoles starting from a given excited state, the option
DOTRANS must be set to TRUE and an IROOT should be given for the initial state (the default is 1). If DOTRANS
ALL is requested instead, the transition dipoles between all states are computed. The transient transition dipoles
will then be printed after the normal spectra. This option is currently only available for CIS/TDA and is done usng
the expectation value formalism, as the other transition dipole moments in ORCA.
%cis
DOTRANS TRUE
#or
(continues on next page)
By choosing NACME TRUE under %TDDFT, a regular gradient calculation will be done, and the NACMEs will
be computed together with it. After the usual gradient output, the NACMEs will be printed as:
---------------------------------
CARTESIAN NON-ADIABATIC COUPLINGS
<GS|d/dx|ES>
---------------------------------
The NACMEs are given under the Cartesian basis; this may differ from some other programs where NACMEs are
given under the normal mode basis. To obtain NACMEs under the normal mode basis, one can perform an internal
conversion (IC) rate calculation (see Internal Conversion Rates (unpublished)) and obtain them from the output
file.
As you can see, the calculation above does not have full translation invariance! That is a feature of NACs calculated
from CI wavefunctions, due to the Born-Oppenheimer approximation. It can be somehow fixed by including the
so-called “electron-translation factors” (ETFs) [252], and those are added with ETF TRUE under %TDDFT. By
now using the input:
!PBE0 DEF2-SVP
%TDDFT NROOTS 5
IROOT 2
NACME TRUE
ETF TRUE
(continues on next page)
---------------------------------
CARTESIAN NON-ADIABATIC COUPLINGS
<GS|d/dx|ES>
with built-in ETFs
---------------------------------
where the residual translation variance is due to the DFT and COSX grids only.
. Warning
These are the recommended NACs to be used with any kind of dynamics or conical intersection optimization,
otherwise moving the center of mass of you system would already change the couplings!
! NumNACME
ORCA will then calculate both the NACMEs and the numerical gradient for a given IROOT at the same cost. Please
be careful with the SCF options and GRID sizes since there are displacements involved, for more information check
Numerical Gradients. All options regarding step size and so on can be changed from %NUMGRAD.
These are current implemented in both RHF/RKS and UHF/UKS, but only for CIS/TDA and RPA/TD-DFT, no
multireference methods yet. For the latter case, the overlap of the |𝑋 − 𝑌 ⟩ vector is used [517].
the method produces the CIS results. The module is invoked by providing the number of roots sought in the %rocis
block of the input file:
! SVP TightSCF
%rocis NRoots 2
MaxDim 5 #Davidson expansion space = MaxDim * NRoots
end
* xyz -2 2
Cu 0.00 0.00 0.00
Cl 2.25 0.00 0.00
Cl -2.25 0.00 0.00
Cl 0.00 2.25 0.00
Cl 0.00 -2.25 0.00
*
In this example the MaxDim parameter is given in addition to the number of roots to be calculated. It controls the
maximum dimension of the expansion space in the Davidson procedure that is used to solve the CI problem.
The use of ROCIS is explained in greater detail in section Excited States via ROCIS and DFT/ROCIS.
Starting from ORCA 6.0, the General-Spin ROCIS (GS-ROCIS) implementation is available. This new imple-
mentation can handle arbitrary CSFs as references. For this, one would use the CSF-ROHF method to obtain the
reference wavefunction for which ROCIS will be performed. The GS-ROCIS calculation can be invoked as follows:
%scf
HFTyp ROHF
ROHF_CASE USER_CSF or AF_CSF
etc.
end
%rocis
DoGenROCIS true # Turns the General-Spin ROCIS procedure on
ReferenceMult 1 # The reference wavefunction multiplicity (it needs to agree with the ROHF␣
˓→solution)
etc.
end
Currently, there is no DFT/ROCIS implemented for the General-Spin procedure. Spin-Orbit coupling is also not
available in the present version.
6.6.2 Excited States for Open-Shell Molecules with CASSCF Linear Response
(MC-RPA)
ORCA has the possibility to calculate excitation energies, oscillator and rotatory strengths for CASSCF wave func-
tions within the response theory (MC-RPA) formalism.[380, 417, 902] The main scope of MC-RPA is to simiulate
UV/Vis and ECD absorption spectra of open-shell molecules like transition metal complexes and organic radicals.
MC-RPA absorption spectra are usually more accurate than those obtained from the state-averaged CASSCF ansatz
as orbital relaxation effects for excited states are taken into account. The computational costs are ususally larger
than those of SA-CASSCF and should be comparable to a TD-DFT calculation for feasible active space sizes.
General Use
MC-RPA needs a converged state-specific CASSCF calculation of the electronic ground state. The only necessary
information that the user has to provide is the desired number of excited states (roots). All other keywords are
just needed to control the Davidson algorithm or post process the results. A minimal input for calculating the four
lowest singlet excited states of ethylene could like the following:
#
# CASSCF + MCRPA for C2H4
#
(continues on next page)
%casscf
nel 2
norb 2
mult 1
nroots 1
gtol 1e-6
etol 1e-10
end
%mcrpa
nroots 8
end
* int 0 1
C 0 0 0 0 0 0
C 1 0 0 1.3385 0 0
H 1 2 0 1.07 120 0
H 1 2 3 1.07 120 180
H 2 1 3 1.07 120 0
H 2 1 3 1.07 120 180
*
After the residual norm is below a user-given threshold TolR we get the following information
Final Eigenvalues
-----------------------------------------------------------------------------------------------
˓→-----
-----------------------------------------------------------------------------------------------
˓→-----
0-1A -> 1-1A 9.123912 73589.3 135.9 0.430770278 1.92711 -1.38820 0.00000 -0.
˓→00000
0-1A -> 2-1A 9.483952 76493.2 130.7 0.009915149 0.04267 -0.00000 0.00000 -0.
˓→20657
0-1A -> 3-1A 9.564384 77142.0 129.6 0.000000000 0.00000 -0.00000 0.00000 -0.
˓→00000
0-1A -> 4-1A 10.180358 82110.1 121.8 0.000000000 0.00000 0.00000 0.00000 0.
˓→00000
0-1A -> 5-1A 10.187869 82170.7 121.7 0.000000000 0.00000 0.00000 -0.00000 0.
˓→00000
0-1A -> 6-1A 10.995304 88683.1 112.8 0.000000000 0.00000 -0.00000 -0.00000 -0.
(continues on next page)
0-1A -> 8-1A 12.543751 101172.2 98.8 0.000000000 0.00000 -0.00000 0.00000 0.
˓→00000
...
------------------------------------------------------------------------------------------
CD SPECTRUM VIA TRANSITION VELOCITY DIPOLE MOMENTS
------------------------------------------------------------------------------------------
Transition Energy Energy Wavelength R MX MY MZ
(eV) (cm-1) (nm) (1e40*cgs) (au) (au) (au)
------------------------------------------------------------------------------------------
0-1A -> 1-1A 9.123912 73589.3 135.9 -0.00000 -0.00000 -0.00000 -0.00000
0-1A -> 2-1A 9.483952 76493.2 130.7 0.00000 -0.00000 -0.00000 0.00000
0-1A -> 3-1A 9.564384 77142.0 129.6 0.00000 0.69943 -0.00000 0.00000
0-1A -> 4-1A 10.180358 82110.1 121.8 -0.00000 0.15776 0.00000 -0.00000
0-1A -> 5-1A 10.187869 82170.7 121.7 0.00000 0.00000 -0.73302 0.00000
0-1A -> 6-1A 10.995304 88683.1 112.8 -0.00000 0.00000 -0.54038 -0.00000
0-1A -> 7-1A 12.188654 98308.1 101.7 -0.00000 0.00000 0.00000 -0.00000
0-1A -> 8-1A 12.543751 101172.2 98.8 0.00000 0.00000 0.00000 -0.90854
Capabilities
At the moment, we can simulate UV/Vis and ECD absorption spectra by computing excitation energies, oscillator
and rotatory strengths. The code is parallelized and the computational bottleneck is the integral direct AO-Fock
matrix construction. All intermediates that depend on the number of states are stored on disk, which makes the
MC-RPA implementation suitable for computing many low-lying electronic states of larger molecules. Abelian
point-group symmetry can be exploited in the calculation (up to D2h ). But there are no calculations of spin-flip
excitations possible at the moment. That means all excited states will have the same spin as the reference state,
which is specified in the %casscf input block.
It is also possible to analyze and visualize the ground-to-excited-state transitions by means of natural transition
orbitals[562] (NTO), which is explained in more detail in section Excited States via MC-RPA.
For further details, please study our recent publications[379, 380].
General Use
The simplest way to perform an EOM calculation is via the usage of the EOM-CCSD keyword, together with the
specification of the desired number of roots:
%mdci
nroots 9
end
*xyz 0 1
C 0.016227 -0.000000 0.000000
O 1.236847 0.000000 -0.000000
(continues on next page)
The above input will call the EOM routine with default settings. The main output is a list of excitation energies,
augmented with some further state specific data. For the above input, the following output is obtained:
----------------------
EOM-CCSD RESULTS (RHS)
----------------------
The IP and EA versions can be called using the keywords IP-EOM-CCSD and EA-EOM-CCSD respectively. For
open-shell systems (UHF reference wavefunction), IP/EA-EOM-CCSD calculations require an additional key-
words. Namely, an IP/EA calculation involving the removal/attachment of an 𝛼 electron is requested by setting
the DoAlpha keyword to true in the %mdci block, while setting the DoBeta keyword to true selects an IP/EA
calculation for the removal/attachment of a 𝛽 electron. Note that DoAlpha and DoBeta cannot simultaneously be
true and that the calculation defaults to one in which DoAlpha is true if no keyword is specified on input. A simple
example of the input for a UHF IP-EOM-CCSD calculation for the removal of an 𝛼 electron is given below.
! IP-EOM-CCSD cc-pVDZ
%mdci
DoAlpha true
NRoots 7
end
*xyz 0 3
O 0.0 0.0 0.0
O 0.0 0.0 1.207
*
Capabilities
At present, the EOM routine is able to perform excited, ionized and electron attached state calculations, for both
closed- or open-shell systems, using RHF or UHF reference wavefunctions, respectively. It can be used for serial
and parallel calculations. The method is available in the back-transformed PNO and DLPNO framework enabling
the calculation of large molecules - see Section Excited States with PNO based coupled cluster methods and Sec-
tion Excited States with DLPNO based coupled cluster methods. In the closed-shell case (RHF), a lower scaling
version can be invoked by setting the CCSD2 keyword to true in the %mdci section. The latter is a second order
approximation to the conventional EOM-CCSD. For the time being, the most useful information provided is the list
of the excitation energies, the ionization potentials or the electron affinities. The ground to excited state transition
moments are also available for the closed-shell implementation of EE-EOM-CCSD.
General Use
The simplest way to perform an ADC2 calculation is via the usage of the ADC2 keyword, together with the specifi-
cation of the desired number of roots:
%mdci
nroots 9
end
*xyz 0 1
C 0.016227 -0.000000 0.000000
O 1.236847 0.000000 -0.000000
H -0.576537 0.951580 -0.000000
H -0.576537 -0.951580 -0.000000
*
The above input will call the ADC2 routine with default settings. The main output is a list of excitation energies,
augmented with some further state specific data. The integral transformation in the ADC2 implementation of
ORCA is done using the density-fitting approximation. Therefore, one need to specify an auxiliary basis. For the
above input, the following output is obtained:
----------------------
ADC(2) RESULTS (RHS)
----------------------
The transition moment for ADC2 in ORCA is calculated using an EOM-like expectation value approach, unlike
the traditionally used intermediate state representation. However, the two approaches gives almost identical result.
--------------------------------------------------------------------
SPECTRUM FOR LEFT-RIGHT TRANSITION MOMENTS
--------------------------------------------------------------------
-----------------------------------------------------------------------------------------------
˓→-----
-----------------------------------------------------------------------------------------------
˓→-----
0-1A -> 1-1A 3.997726 32243.8 310.1 0.000000000 0.00000 0.00000 -0.00000 0.
˓→00000
0-1A -> 2-1A 7.782776 62772.3 159.3 0.096710371 0.50720 0.00000 -0.70536 0.
˓→00000
0-1A -> 3-1A 9.304078 75042.5 133.3 0.002261744 0.00992 -0.00000 -0.00000 0.
˓→09835
0-1A -> 4-1A 9.584003 77300.2 129.4 0.007937829 0.03381 0.18502 0.00000 -0.
˓→00000
0-1A -> 5-1A 10.720332 86465.3 115.7 0.465055079 1.77067 1.32377 0.00000 0.
˓→00000
0-1A -> 6-1A 11.019150 88875.4 112.5 0.000000000 0.00000 0.00000 0.00000 0.
˓→00000
0-1A -> 7-1A 11.232869 90599.2 110.4 0.022236623 0.08080 -0.00000 0.28105 0.
˓→00000
0-1A -> 8-1A 11.952640 96404.5 103.7 0.009103120 0.03109 -0.00000 0.00000 -0.
˓→17328
0-1A -> 9-1A 13.240575 106792.5 93.6 0.071433742 0.22021 -0.46692 0.00000 0.
˓→00000
The IP and EA versions can be called using the keywords IP-ADC2 and EA-ADC2, respectively.
Capabilities
At present, the ADC2 module is able to perform excited, ionized and electron attached state calculations, only for
closed-shell systems. No open-shell version of the ADC2 is currently available. Below are all the parameters that
influence the ADC2 module.
%mdci
#ADC2 parameters - defaults displayed
NDav 20 # maximum size of reduced space (i.e. 20*NRoots)
CheckEachRoot true # check convergence for each root separately
RootHoming true # apply root homing
DoLanczos false # use the Lanczos procedure rather than Davidson
UseCISUpdate true # use diagonal CIS for updating
NInitS 0 # number of roots in the initial guess, if 0, use preset value
DoRootwise false # solves for each root separately,
# more stable for large number of roots
FOLLOWCIS false # follows the initial singles guess
end
One can notice that features available in the ADC2 module is quite limited as compared to the EOM module and
the option to specifically target the core-orbitals are yet not available. A word of caution, The ‘second order
black magic’ of ADC2 can fail in many of the cases. The readers are encouraged to try the DLPNO based EOM-
CCSD methods(Excited States with DLPNO based coupled cluster methods) which are much more accurate and
computationally efficient.
General Use
The simplest way to perform a STEOM calculation is using the STEOM-CCSD keyword, together with the specifi-
cation of the desired number of roots (NRoots):
! STEOM-CCSD cc-pVDZ TightSCF
%mdci
NRoots 9 # Number of excited states
DoDbfilter true # Remove doubly excited states
end
*xyz 0 1
C 0.016227 -0.000000 0.000000
O 1.236847 0.000000 -0.000000
H -0.576537 0.951580 -0.000000
H -0.576537 -0.951580 -0.000000
*
The above input calls the STEOM routine with default settings, where, for instance, the doubly excited states are
eliminated (DoDbFilter true). The main output is a list of excitation energies, augmented with some further
state specific data. The STEOMCC approach in ORCA uses state-averaged CIS natural transition orbitals (NTO)
for the selection of the active space. For the above input, the following output is obtained:
------------------
STEOM-CCSD RESULTS
------------------
The first set of excitation amplitudes, printed for each root, have been calculated in the CIS NTO (Natural Transition
Orbitals) basis. The second set of amplitudes have been evaluated in the RHF canonical basis.
Capabilities
At present, the STEOM routine is able to calculate excitation energies, for both closed- or open-shell systems,
using an RHF or UHF reference function, respectively. It can be used for both serial and parallel calculations.
The method is available in the back-tranformed PNO and DLPNO framework allowing the calculation of large
molecules (Section Capabilities and Excited States with DLPNO based coupled cluster methods). In the closed-
shell case (RHF), a lower scaling version can be invoked by setting the CCSD2 keyword to true in the %mdci section,
which sets a second order approximation to the exact parent approach. The transition moments can also be obtained
for closed- and open-shell systems. For more details see Section Excited States via STEOM-CCSD.
General Use
The IH-FSMR-CCSD calculation is called using the simple input keyword IH-FSMR-CCSD and specifying the
desired number of excited states (NRoots) in the %mdci block.:
! IH-FSMR-CCSD cc-pVDZ TightSCF
%mdci
nroots 6
end
*xyz 0 1
C 0.016227 -0.000000 0.000000
O 1.236847 0.000000 -0.000000
H -0.576537 0.951580 -0.000000
H -0.576537 -0.951580 -0.000000
*
The above input will call the IH-FSMR-CCSD routine with default settings. The main output is a list of excitation
energies, augmented with some further state specific data. The IH-FSMR-CCSD approach in ORCA uses state-
averaged CIS natural transition orbitals(NTO) for the selection of the active space - similar to STEOM-CCSD. For
the above input, the following output is obtained:
------------------
IH-FSMR-CCSD RESULTS
------------------
Warning:: the state may have not converged with respect to active space
-------------------- Handle with Care --------------------
The first set of excitation amplitudes, printed for each root, have been calculated in the CIS NTO (Natural Transition
Orbitals) basis. The second set of amplitudes have been evaluated in the RHF canonical basis.
Capabilities
At present, the IH-FSMR-CCSD routine is able to calculate excitation energies, for only closed shell systems using
an RHF reference. It can be used for both serial and parallel calculations. In the closed-shell case (RHF), a lower
scaling version can be invoked by using bt-PNO approximation. The transition moments and solvation correction
can be obtained using the CIS approximation.
General Use
The simplest way to perform a PNO based EOM calculation is via the usage of the bt-PNO-EOM-CCSD keyword,
together with the specification of the desired number of roots. The specification of an auxilary basis set is also
required, just as for ground state DLPNO-CCSD calculations.
%mdci
nroots 9
end
*xyz 0 1
C 0.016227 -0.000000 0.000000
O 1.236847 0.000000 -0.000000
H -0.576537 0.951580 -0.000000
H -0.576537 -0.951580 -0.000000
*
----------------------
EOM-CCSD RESULTS (RHS)
----------------------
The IP and EA versions can be called by using the keywords bt-PNO-IP-EOM-CCSD and bt-PNO-EA-EOM-
CCSD, respectively. Furthermore, the STEOM version can be invoked by using the keywords bt-PNO-STEOM-
CCSD.
Capabilities
All of the features of canonical EOM-CC and STEOM-CC are available in the PNO based approaches for both
closed- and open-shell systems.
General Use
The simplest way to perform a DLPNO based STEOM calculation is via the usage of the STEOM-DLPNO-CCSD
keyword, together with the specification of the desired number of roots. The specification of an auxiliary basis set
is also required, just as for ground state DLPNO-CCSD calculations.
As any CCSD methods, it is important to allow ORCA to access a significant amount of memory. In term of scaling
the limiting factor of the method is the size of temporary files and thus the disk space. For molecules above 1500
basis functions it starts to increase exponentially up to several teraoctets.
Here is the standard input we would recommend for STEOM-DLPNO-CCSD calculations. More information on the
different keywords and other capabilities are available in the detailed part of the manual Excited States via STEOM-
CCSD, Excited States via DLPNO-STEOM-CCSD. The following publications referenced some applications for
this method either in organic molecules [100], [805] or for Semiconductors [213].
%mdci
NRoots 6
DoRootWise true
OThresh 0.005
VThresh 0.005
TCutPNOSingles 1e-11
NDAV 400
DoStoreSTEOM true
DoSimpleDens false
AddL2Term True
DTol 1e-5
end
* xyz 0 1
C 0.016227 -0.000000 0.000000
O 1.236847 0.000000 -0.000000
H -0.576537 0.951580 -0.000000
H -0.576537 -0.951580 -0.000000
*
------------------
STEOM-CCSD RESULTS
------------------
Warning:: the state may have not converged with respect to active space
-------------------- Handle with Care --------------------
--------------------------------------------------------------------
UNRELAXED EXCITED STATE DIPOLE MOMENTS
--------------------------------------------------------------------
E(eV) DX(au) DY(au) DZ(au) |D|(D)
IROOT= 0: 0.000 -0.928848 -0.000000 -0.000000 2.360944
IROOT= 1: 3.926 -0.627710 -0.000000 -0.000002 1.595512
IROOT= 2: 8.384 1.034480 -0.000000 -0.000000 2.629438
IROOT= 3: 9.029 -0.401280 -0.000000 0.000000 1.019972
IROOT= 4: 9.439 -0.250433 0.000000 0.000002 0.636550
IROOT= 5: 9.455 0.304050 0.000000 -0.000000 0.772833
IROOT= 6: 10.315 -1.244475 0.000000 0.000000 3.163205
--------------------------------------------------------------------
...
-----------------------------------------------------------------------------------------------
˓→-----
-----------------------------------------------------------------------------------------------
˓→-----
0-1A -> 1-1A 3.925923 31664.7 315.8 0.000000000 0.00000 -0.00000 -0.00000 0.
˓→00000
0-1A -> 2-1A 8.383625 67618.5 147.9 0.088173876 0.42929 -0.00000 0.65546 -0.
˓→00000
0-1A -> 3-1A 9.028624 72820.8 137.3 0.000908615 0.00411 0.00000 -0.00000 -0.
˓→06033
0-1A -> 4-1A 9.438972 76130.5 131.4 0.057997877 0.25080 0.00000 -0.49380 -0.
˓→00000
0-1A -> 5-1A 9.454876 76258.7 131.1 0.029389253 0.12687 0.35160 -0.00000 -0.
˓→00000
0-1A -> 6-1A 10.314723 83193.9 120.2 0.000000000 0.00000 -0.00000 0.00000 0.
˓→00000
The IP and EA versions can be called by using the keywords IP-EOM-DLPNO-CCSD and EA-EOM-DLPNO-
CCSD, respectively. As in canonical STEOM-CCSD, the first set of excitation amplitudes, printed for each root,
are calculated in the CIS NTO (Natural Transition Orbitals) basis, while the second set is evaluated in the RHF
canonical basis.
ò Note
NEVPT2 is typically the method of choice as it is fast and easy to use. It is highly recommended to check
the respective section, when new to the field. The following chapter focuses on the traditional multi-reference
approaches as part of the orca_mrci module.
Although there has been quite a bit of experience with it, this part of the program is still somewhat hard to use
and requires patience and careful testing before the results should be accepted. While we try to make your life as
easy as possible, you have to be aware that ultimately any meaningful multireference ab initio calculation requires
more insight and planning from the user side than standard SCF or DFT calculation or single reference correlation
approaches like MP2 – so don’t be fainthearted! You should also be aware that with multireference methods it is
very easy to let a large computer run for a long time and still to not produce a meaningful result – your insight is
a key ingredient to a successful application! Below a few examples illustrate some basic uses of the orca_mrci
module.
RI-approximation
First of all, it is important to understand that the default mode of the MR-CI module in its present implementation
performs a full integral transformation from the AO to the MO basis. This becomes very laborious and extremely
memory intensive beyond approximately 200 MOs that are included in the CI. Alternatively, one can construct
molecular electron-electron repulsion integrals from the resolution of the identity (RI) approximation. Thus a
meaningful auxiliary basis set must be provided if this option is chosen. We recommend the fitting bases developed
by the TurboMole developers for MP2 calculations. These give accurate transition energies; however, the error in
the total energies is somewhat higher and may be on the order of 1 mEh or so. Check IntMode to change the default
mode for the integral transformation. Note that in either way, the individually selecting MRCI module requires to
have all integrals in memory which sets a limit on the size of the molecule that can be studied.
Individual Selection
Secondly, it is important to understand that the MR-CI module is of the individually selecting type. Thus, only those
excited configuration state functions (CSFs) which interact more strongly than a given threshold (T sel ) with the
0th order approximations to the target states will be included in the variational procedure. The effect of the rejected
CSFs is estimated using second order perturbation theory. The 0th order approximations to the target states are
obtained from the diagonalization of the reference space configurations. A further approximation is to reduce the
size of this reference space through another selection – all initial references which contribute less than a second
threshold (T pre ) to the 0th order states are rejected from the reference space.
Single excitations
One important aspect concerns the single excitations. If the reference orbitals come from a CASSCF calculation
the matrix elements between the reference state and the single excitations vanishes and the singles will not be
selected. However, they contribute to fourth and higher orders in perturbation theory and may be important for
obtaining smooth potential energy surfaces and accurate molecular properties. Hence, the default mode of the
MRCI module requires to include all of the single excitations via the flag AllSingles =true. This may lead to
lengthy computations if the reference spaces becomes large!
Reference Spaces
Third, the reference spaces in the MR-CI module can be of the complete active space (CAS(n-electrons,m-
orbitals) ) or restricted active space (RAS, explained later) type. It is important to understand that the program
uses the orbitals around the HOMO-LUMO gap as provided by the user to build up the reference space! Thus, if
the orbitals that you want to put in the active space are not coming “naturally” from your SCF calculation in the
right place you have to reorder them using the “moread” and “rotate” features together with the NoIter direc-
tive. To select the most meaningful and economic reference space is the most important step in a multireference
calculation. It always requires insight from the user side and also care and, perhaps, a little trial and error.
Size Consistency
Fourth, it is important to understand that CI type methods are not size consistent. Practically speaking the energy
of the supermolecule A-B with noninteracting A and B fragments is not equal to the energies of isolated A and
isolated B. There are approximate ways to account for this (ACPF, AQCC and CEPA methods) but the effect will
be present in the energies, the more so the more electrons are included in the treatment. The same is not true for
the perturbation theory based methods which are size consistent as long as the reference wavefunction is.
Performance
There are many flags that control the performance of the MR-CI program. Please refer to chapter 0 for a description
of possible flags, thresholds and cut-offs. The most important thresholds are Tsel and Tpre , and for SORCI also Tnat .
For some methods, like ACPF, it is possible to compare the performance of the MRCI module with the performance
of the MDCI module. The MDCI module has been written to provide optimum performance if no approximations
are introduced. The MRCI module has ben written more with the idea of flexibility rather than the idea of perfor-
mance. Let us compare the performance of the two programs in a slightly nontrivial calculation – the zwitter-ionic
form of serine. We compare the selecting MRCI approach with the approximation free MDCI module. The molec-
ular size is such that still all four index integrals can be stored in memory.
Table 6.8: Comparison of the performance of the MRCI and MDCI modules for a single reference calculation with
the bn-ANO-DZP basis set on the zwitter-ionic form of serine (14 atoms, 133 basis functions).
Module Method T sel (Eh) Time (sec) Energy (Eh)
MRCI ACPF 10 −6
3277 -397.943250
MDCI ACPF 0 1530 -397.946429
MDCI CCSD 0 2995 -397.934824
MDCI CCSD(T) 0 5146 -397.974239
The selecting ACPF calculation selects about 15% of the possible double excitations and solves a secular problem
of size ≈ 360,000 CSFs. The MDCI module ACPF calculation optimizes approximately 2.5 million wavefunction
amplitudes — and this is not a large molecule or a large basis set! Despite the fact that the MDCI module makes
no approximation, it runs twice as fast as the selected MRCI module and an estimated 50 times faster than the
unselected MRCI module! This will become even more pronounced for the larger and more accurate basis sets
that one should use in such calculations anyways. The error of the selection is on the order of 3 mEh or 2 kcal/mol
in the total energy. One can hope that at least part of this error cancels upon taking energy differences.1 The more
rigorous CCSD calculation takes about a factor of two longer than the ACPF calculation which seems reasonable.
The triples add another factor of roughly 2 in this example but this will increase for larger calculations since it has
a steeper scaling with the system size. The ACPF energy is intermediate between CCSD and CCSD(T) which is
typical — ACPF overshoots the effects of disconnected quadruples which partially compensates for the neglect of
triples.
These timings will strongly depend on the system that you run the calculation on. Nevertheless, what you should
take from this example are the message that if you can use the MDCI module, do it.
The MDCI module can avoid a full integral transformation for larger systems while the MRCI module can use
selection and the RI approximation for larger systems. Both types of calculation will become very expensive very
quickly! Approximate MDCI calculations are under development.
Symmetry
The MRCI program really takes advantage of symmetry adapted orbitals. In this case the MRCI matrix can be
blocked according to irreducible representations and be diagonalized irrep by irrep. This is a big computational
advantage and allows one to converge on specific excited states much more readily than if symmetry is not taken
into account.
The syntax is relatively easy. If you specify:
newblock 1 *
nroots 8
refs cas(4,4) end
end
Then the “*” indicates that this is to be repeated in each irrep of the point group. Thus, in C2𝑣 the program would
calculate 8 singlet roots in each of the four irreps of the C2𝑣 point group thus leading to a total of 32 states.
Alternatively, you can calculate just a few roots in the desired irreps:
newblock 1 0
nroots 3
refs cas(4,4) end
end
newblock 1 2
nroots 5
refs cas(4,4) end
end
newblock 3 1
nroots 1
refs cas(4,4) end
end
In this example, we would calculate 3 singlet roots in the irrep “0” (which is A1 ), then five roots in irrep “2” (which
is B1 ) and then 1 triplet root in irrep 1 (which is B2 ).
Obviously, the results with and without symmetry will differ slightly. This is due to the fact that without symmetry
the reference space will contain references that belong to “wrong” symmetry but will carry with them excited
configurations of “right” symmetry. Hence, the calculation without use of symmetry will have more selected CSFs
and hence a slightly lower energy. This appears to be unavoidable. However, the effects should not be very large
for well designed reference spaces since the additional CSFs do not belong to the first order interacing space.
1 Depending on whether one wants to take a pessimistic or an optimistic view one could either say that this result shows what can be achieved
with a code that is dedicated to a single determinant reference. Alternatively one could (and perhaps should) complain about the high price one
pays for the generality of the MRCI approach. In any case, the name of the game would be to develop MR approaches that are equally efficient
to single reference approaches. See FIC-MRCI chapter for more information.
* int 0 1
C 0 0 0 0.000000 0.000 0.000
O 1 0 0 1.200371 0.000 0.000
H 1 2 0 1.107372 121.941 0.000
H 1 2 3 1.107372 121.941 180.000
*
This input – which is much more than what is really required - needs some explanations: First of all, we choose a
standard RHF calculation with the SVP basis set and we assign the SV/C fitting basis although it is not used in the
SCF procedure at all. In the %mrci block all details of the MR-CI procedure are specified. First, EWin (%method
frozencore fc_ewin) selects the MOs within the given orbital energy range to be included in the correlation
treatment. The CIType variable selects the type of multireference treatment. Numerous choices are possible and
MRCI is just the one selected for this application.
ò Note
The CIType statement selects several default values for other variables. So it is a very good idea to place this
statement at the beginning of the MR-CI block and possibly overwrite the program selected defaults later. If
you place the CIType statement after one of the values which it selects by default your input will simply be
overwritten!
The variables EUnselOpt and DavidsonOpt control the corrections to the MR-CI energies. EUnselOpt specifies
the way in which the MR-CI energies are extrapolated to zero threshold TSel . Here we choose a full MR-MP2
calculation of the missing contributions to be done after the variational step, i.e. using the relaxed part of the
reference wavefunction as a 0th order state for MR-PT. The DavidsonOpt controls the type of estimate made for the
effect of higher substitutions. Again, multiple choices are possible but the most commonly used one (despite some
real shortcomings) is certainly the choice Davidson1. The flag UseIVOs instructs the program to use “improved
virtual orbitals”. These are virtual orbitals obtained from a diagonalization of the Fock operator from which one
electron has been removed in an averaged way from the valence orbitals. Thus, these orbitals “see” only a 𝑁 − 1
electron potential (as required) and are not as diffuse as the standard virtual orbitals from Hartree-Fock calculations.
If you input DFT orbitals in the MR-CI moldule (which is perfectly admittable and also recommended in some
cases, for example for transition metal complexes) then it is recommended to turn that flag off since the DFT orbitals
are already o.k. in this respect. The two thresholds Tsel and Tpre are already explained above and represent the
selection criteria for the first order interacting space and the reference space respectively. Tsel is given in units
of Eh and refers to the second order MR-MP2 energy contribution from a given excited CSF. 10−6 Eh is a pretty
good value. Reliable results for transition energies start with ≈ 10−5 ; however, the total energy is converging
pretty slowly with this parameter and this is one of the greatest drawbacks of individually selecting CI procedures!
(see below). Tpre is dimensionless and refers to the weight of a given initial reference after diagonalization of
the given initial reference space (10−4 is a pretty good value and there is little need to go much lower. Aggressive
values such as 10−2 only select the truly leading configurations for a given target state which can be time saving.
Intermediate values are not really recommended). The parameters MaxMemInt and MaxMemVec tell the program
how much memory (in MB) it is allowed to allocate for integrals and for trial and sigma-vectors respectively.
The flag IntMode tells the program to perform a full integral transformation. This is possible for small cases with
less than, say, 100–200 MOs. In this case that it is possible it speeds up the calculations considerably. For larger
molecules you have to set this flag to RITrafo which means that integrals are recomputed on the fly using the RI
approximation which is more expensive but the only way to do the calculation. To switch between the possible
modes use:
For small molecules or if high accuracy in the total energies is required it is much better to use the exact four index
transformation. The limitations are that you will run out of disk space or main memory with more than ca. 200–300
MOs.
The variable Solver can be diag (for Davidson type diagonalization) or DIIS for multirrot DIIS type treatments.
For CI methods, the diag solver is usually preferable. For methods like ACPF that contain nonlinear terms, DIIS
is imperative.
Next in the input comes the definition of what CI matrices are to be constructed and diagonalized. Each multiplicity
defines a block of the CI matrix which is separately specified. Here we ask for two blocks – singlet and triplet. The
general syntax is:
Now that all input is understood let us look at the outcome of this calculation:
The first thing that happens after the SCF calculation is the preparation of the frozen core Fock matrix and the
improved virtual orbitals by the program orca_ciprep. From the output the energies of the IVOs can be seen.
In this case the LUMO comes down to –8.2 eV which is much more reasonable than the SCF value of +3. . . . eV.
Concomitantly, the shape of this MO will be much more realistic and this important since this orbital is in the
reference space!
------------------------------------------------------------------------------
ORCA CI-PREPARATION
------------------------------------------------------------------------------
done
Forming internal density ... done
Forming Fock matrix/matrices ...
Nuclear repulsion ... 31.371502
Core repulsion ... 31.371502
One-electron energy ... -114.942080
Fock-energy ... -94.993431
Final value ... -73.596254
done
Modifying virtual orbitals ...
Last occupied MO ... 7
Total number of MOs ... 38
Number of virtual MOs ... 30
Doing diagonalization with symmetry
The improved virtual eigenvalues:
0: -0.2955 au -8.041 eV 2- B2
1: -0.0701 au -1.907 eV 6- A1
2: -0.0176 au -0.479 eV 3- B1
3: 0.0064 au 0.175 eV 7- A1
4: 0.2922 au 7.951 eV 8- A1
5: 0.2948 au 8.021 eV 3- B2
6: 0.3836 au 10.439 eV 4- B1
7: 0.4333 au 11.790 eV 9- A1
8: 0.4825 au 13.128 eV 5- B1
9: 0.5027 au 13.680 eV 10- A1
10: 0.7218 au 19.642 eV 11- A1
11: 0.8351 au 22.723 eV 4- B2
12: 0.9371 au 25.501 eV 6- B1
13: 1.0265 au 27.933 eV 1- A2
(continues on next page)
done
Transforming integrals ... done
Storing passive energy ... done ( -73.59625384 Eh)
Transforming internal FI ... done
.... done with the Frozen Core Fock matrices
The next step is to transform the electron-electron repulsion integrals into the MO basis:
-------------------------
SHARK HALF TRANSFORMATION
-------------------------
-------------------
FULL TRANSFORMATION
-------------------
Processing MO 10
Processing MO 20
Processing MO 30
Full transformation done
Number of integrals made ... 222111
Number of integrals stored ... 59070
Timings:
Time for first half transformation ... 0.068 sec
Time for second half transformation ... 0.014 sec
Total time ... 0.086 sec
This will result in a few additional disk files required by orca_mrci. The program then tells you which multiplic-
ities will be treated in this MRCI run:
------------------
CI-BLOCK STRUCTURE
------------------
===========
CI BLOCK 1
===========
(continues on next page)
===========
CI BLOCK 2
===========
Multiplicity ... 1
Irrep ... 1
Number of reference defs ... 1
Reference 1: CAS(2,2)
===========
CI BLOCK 3
===========
Multiplicity ... 3
Irrep ... 1
Number of reference defs ... 1
Reference 1: CAS(2,2)
--------------------------------------------------------------------
-------------------- ALL SETUP TASKS ACCOMPLISHED ------------------
-------------------- ( 0.139 sec) ------------------
--------------------------------------------------------------------
Now that all the setup tasks have been accomplished the MRCI calculation itself begins.
###################################################
# #
# M R C I #
# #
# TSel = 1.000e-06 Eh #
# TPre = 1.000e-02 #
# TIntCut = 1.000e-10 Eh #
# Extrapolation to unselected MR-CI by full MP2 #
# DAVIDSON-1 Correction to full CI #
# #
###################################################
---------------------
INTEGRAL ORGANIZATION
(continues on next page)
done
Preparing the integral list ... done
Loading the full integral ... done
Making the simple integrals ... done
***************************************
* CI-BLOCK 1 *
***************************************
In the first step, the reference space is diagonalized. From this CI, the most important configurations are selected
with Tpre:
------------------
REFERENCE SPACE CI
------------------
****Iteration 0****
Lowest Energy : -113.779221580786
Maximum Energy change : 113.779221580786 (vector 0)
Maximum residual norm : 0.000000000000
****Iteration 0****
Lowest Energy : -113.778810013503
Maximum Energy change : 113.778810013503 (vector 0)
Maximum residual norm : 0.000000000000
In this case, the CAS space only has 2 correctly symmetry adapted CSFs one of which (the closed-shell determinant)
is selected. In general, larger CAS spaces usually carry around a lot of unnecessary CSFs which are not needed for
anything and then the selection is important to reduce the computational effort. The result of the second reference
space CI is printed:
----------
CI-RESULTS
----------
Energy is the total energy in Eh. In the present case we can compare to the SCF energy -113.778810014 Eh and
find that the reference space CI energy is identical, as it has to be since the lowest state coincides with the reference
space. RefWeight gives the weight of the reference configurations in a CI state. This is 1.0 in the present case
since there were only reference configurations. The number 1.000 is the weight of the following configuration in
the CI vector. The description of the configuration h—h—[20]p—p— is understood as follows:2 The occupation
of the active orbitals is explicitly given in square brackets. Since the HOMO orbitals is number 7 from the SCF
procedure, this refers to MOs 7 and 8 in the present example since we have two active orbitals. The 2 means doubly
occupied, the 0 means empty. Any number (instead of —) appearing after an h gives the index of an internal orbital
in which a hole is located. Simarly, any number after a p gives the index of an virtual (external) MO where a particle
is located. Thus h—h—[20] is a closed shell configuration and it coincides with the SCF configuration—this was
of course to be expected. The second root (in CI-Block 2) h—h—[11] by comparison refers to the configuration
in which one electron has been promoted from the HOMO to the LUMO and is therefore the desired state that we
wanted to calculate. Things are happy therefore and we can proceed to look at the output.
The next step is the generation of excited configurations and their selection based on Tsel:
------------------------------
MR-PT SELECTION TSel= 1.00e-06
------------------------------
up weight for the configuration rather than for each individual CSF of the configuration.
Selection results:
Total number of generated configurations: 2814
Number of selected configurations : 2557 ( 90.9%)
Total number of generated CSFs : 4522
Number of selected CSFS : 4173 ( 92.3%)
Here, the program loops through classes of excitations. For each excitation it produces the excited configurations
(CFGs) and from it the linearly independent spin functions (CSFs) which are possible within the configuration. It
then calculates the interaction with the contracted 0𝑡ℎ order roots and includes all CSFs belonging to a given CFG
in the variational space if the largest second order perturbation energy is larger or equal to Tsel. In the present case
≈136,000 CSFs are produced of which 25% are selected. For larger molecules and basis sets it is not uncommon
to produce 109 –1010 configurations and then there is no choice but to select a much smaller fraction than 20%. For
your enjoyment, the program also prints the total energies of each state after selection:
You can ignore this output if you want. In cases that the perturbation procedure is divergent (not that uncommon!)
the total energies look strange—don’t worry—the following variational calculation is still OK. The second order
perturbation energy is here divided into a selected part E2(sel) and the part procedure by the unselected config-
urations E2(unsel). Depending on the mode of EUnselOpt this value may already be used later as an estimate
of the energetic contribution of the unselected CSFs.3
Now we have ≈ 4,200 CSFs in the variational space of CI block 1 and proceed to diagonalize the Hamiltonian over
these CSFs using a Davidson or DIIS type procedure:
------------------------
DAVIDSON-DIAGONALIZATION
------------------------
****Iteration 0****
Size of expansion space: 3
Lowest Energy : -113.937028067251
Maximum Energy change : 113.937028067251 (vector 0)
Maximum residual norm : 0.741727830968
****Iteration 1****
Size of expansion space: 4
Lowest Energy : -114.082265676116
Maximum Energy change : 0.145237608865 (vector 0)
Maximum residual norm : 0.012707561344
Rebuilding the expansion space
****Iteration 2****
Size of expansion space: 2
Lowest Energy : -114.085350429118
Maximum Energy change : 0.003084753001 (vector 0)
Maximum residual norm : 0.002880697397
****Iteration 3****
Size of expansion space: 3
Lowest Energy : -114.086043274125
Maximum Energy change : 0.000692845007 (vector 0)
Maximum residual norm : 0.000098595378
****Iteration 4****
Size of expansion space: 4
Lowest Energy : -114.086074300143
Maximum Energy change : 0.000031026018 (vector 0)
Maximum residual norm : 0.000004959126
Rebuilding the expansion space
****Iteration 5****
Size of expansion space: 2
Lowest Energy : -114.086076038587
Maximum Energy change : 0.000001738444 (vector 0)
Maximum residual norm : 0.000000572348
The procedure converges on all roots simultaneously and finishes after six iterations which is reasonable. Now the
program calculates the Davidson correction (DavidsonOpt) which is printed for each root.
Already in this small example the correction is pretty large, ca. 27 mEh for the ground state (and ≈ 36 mEh for the
excited state, later in the output). Thus, a contribution of ≈ 9 mEh = 0.25 eV is obtained for the transition energy
which is certainly significant. Unfortunately, the correction becomes unreliable as the reference space weight drops
or the number of correlated electrons becomes large. Here 0.912 and 0.888 are still OK and the system is small
enough to expect good results from the Davidson correction.
The next step is to estimate the correction for the unselected configurations:
In the present case this is below 1 mEh and also very similar for all three states such that it is not important for the
transition energy.
----------
CI-RESULTS
----------
The final ground state energy is -114.113096211 which is an estimate of the full CI energy in this basis set. The
leading configuration is still the closed-shell configuration with a weight of ≈ 91%. However, a double excita-
tion outside the reference space contributes some 1%. This is the excitation MO6,MO6 →LUMO,LUMO. This
indicates that more accurate results are expected once MO6 is also included in the reference space (this is the
HOMO-1). The excited state is dominated by the HOMO-LUMO transition (as desired) but a few other single- and
double- excitations also show up in the final CI vector.
Now that all CI vectors are known we can order the states according to increasing energy and print (vertical)
transition energies:
-------------------
TRANSITION ENERGIES
-------------------
This result is already pretty good and the transition energies are within ≈ 0.1 eV of their experimental gas phase
values (≈ 3.50 and ≈ 4.00 eV) and may be compared to the CIS values of 3.8 and 4.6 eV which are considerably
in error.
In the next step the densities and transition densities are evaluated and the absorption and CD spectra are calculated
(in the dipole length formalism) for the spin-allowed transitions together with state dipole moments:
-----------------------------------------------------------------------------------------------
˓→-----
0-1A1 -> 0-1A2 4.040866 32591.8 306.8 0.000000000 0.00000 -0.00000 0.00000 0.
˓→00000
------------------------------------------------------------------------------------------
CD SPECTRUM VIA TRANSITION ELECTRIC DIPOLE MOMENTS
------------------------------------------------------------------------------------------
Transition Energy Energy Wavelength R MX MY MZ
(eV) (cm-1) (nm) (1e40*cgs) (au) (au) (au)
------------------------------------------------------------------------------------------
0-1A1 -> 0-1A2 4.040866 32591.8 306.8 -0.00000 -0.00000 -0.00000 0.59348
------------------------------------------------------------------------------
STATE DIPOLE MOMENTS
------------------------------------------------------------------------------
Root Block TX TY TZ |T|
(Debye) (Debye) (Debye) (Debye)
------------------------------------------------------------------------------
0 0 0.00000 -0.00000 2.33244 2.33244
0 2 0.00000 -0.00000 1.45831 1.45831
0 1 0.00000 -0.00000 1.58658 1.58658
Here the transition is symmetry forbidden and therefore has no oscillator strength. The state dipole moment for the
ground state is 2.33 Debye which is somewhat lower than 2.87 Debye from the SCF calculation. Thus, the effect of
correlation is to reduce the polarity consistent with the interpretation that the ionicity of the bonds, which is always
overestimated by HF theory, is reduced by the correlation. Finally, you also get a detailed population analysis for
each generated state density which may be compared to the corresponding SCF analysis in the preceding part of
the output.
This concludes the initial example on the use of the MR-CI module. The module leaves several files on disk most
of which are not yet needed but in the future will allow more analysis and restart and the like. The .ivo file is a
standard .gbw type file and the orbitals therein can be used for visualization. This is important in order to figure
out the identity of the generated IVOs. Perhaps they are not the ones you wanted and then you need to re-run the
MR-CI with the IVOs as input, NoIter and the IVO feature in the new run turned off! We could use the IVOs as
input for a state averaged CASSCF calculation:
%casscf nel 2
norb 2
irrep 0,1,1
mult 1,1,3
nroots 1,1,1
end
If we based a MR-ACPF calculation on this reference space we will find that the calculated transition energies are
slightly poorer than in the MRCI+Q calculation. This is typical of approximate cluster methods that usually require
somewhat larger reference spaces for accurate results. A similar result is obtained with SORCI.
This gives:
This is systematically 0.4 eV too high. But let us look at the approximate average natural orbital (AANOs) occu-
pation numbers:
------------------------
AVERAGE NATURAL ORBITALS
------------------------
This shows that there is a low-occupancy orbital (MO6) that has not been part of the reference space. Thus, we try
the same calculation again but now with one more active orbital and two more active electrons:
! moread
%moinp "Test-SYM-MRCI-H2CO.gbw"
%casscf nel 4
norb 3
irrep 0,1,1
mult 1,1,3
nroots 1,1,1
(continues on next page)
This gives:
State Mult Irrep Root Block mEh eV 1/cm
0 1 A1 0 0 0.000 0.000 0.0
1 3 A2 0 2 145.494 3.959 31932.3
2 1 A2 0 1 162.222 4.414 35603.6
Which is now fine since all essential physics has been in the reference space. Inspection of the occupation numbers
show that there is no suspicious orbital any more. Note that this is still a much more compact calculation that the
MRCI+Q.
Likewise, we get an accurate result from MRACPF with the extended reference space.
State Mult Irrep Root Block mEh eV 1/cm
0 1 A1 0 0 0.000 0.000 0.0
1 3 A2 0 2 134.985 3.673 29625.8
2 1 A2 0 1 148.330 4.036 32554.6
However, the SORCI calculation is much more compact. For larger molecules the difference becomes more and
more pronounced and SORCI or even MRDDCI2 (with or without +Q) maybe the only feasible methods—if at all.
$new_job
! ano-pVQZ RI-AO cc-pVQZ/JK VeryTightSCF NoPop Conv UseSym KDIIS
! moread
%moinp "O2.mp2nat"
%casscf nel 8
norb 6
irrep 1,0,1
nroots 1,2,1
mult 3,1,1
trafostep ri
switchstep nr
end
* xyz 0 3
O 0 0 0
O 0 0 1.2
*
Note that the linear molecule is run in D2ℎ . This creates a slight problem as the CASSCF procedure necessarily
breaks the symmetry of the 1 ∆ state.
LOWEST ROOT (ROOT 0, MULT 3, IRREP B1g) = -149.765383866 Eh -4075.323 eV
These excitation energies are accurate to within a few hundred wavenumbers. Note that the ≈ 200 wavenumber
splitting in the degenerate 1 ∆ state is due to the symmetry breaking of the CAS and the individual selection.
Repeating the calculation with the MP2 natural orbitals gives an almost indistinguishable result and a ground state
energy that is even lower than what was found with the CASSCF orbitals. Thus, such natural orbitals (that might
often be easier to get) are a good substitute for CASSCF orbitals and at the same time the symmetry breaking due
to the use of symmetry appears to be difficult to avoid.
-------------------
TRANSITION ENERGIES
(continues on next page)
One observes quite good agreement between single- and multireference approaches. In particular, the contribution
of the disconnected triples and singles is very small. The estimate for the disconnected quadruples is fairly good
from either the multireference Davidson correction or the ACPF and the agreement between CCSD(T) and these
MR methods is 2-3 mEh in the total energy which is roughly within chemical accuracy.
In order to also have an open-shell molecule let us look at NH with a N-H distance of 1.0 Å using the TZVPP basis
set.
Again, the agreement is fairly good and show that both single- and multiple reference approaches converge to the
same limit.
6.7.5 Thresholds
Now we choose the CO molecule (1.128 Ångström) with the SVP basis set and study the convergence of the results
with respect to the selection threshold. Comparison to high level single-reference approaches is feasible (The SCF
energy is -112.645 946 Eh).
The calculations without connected triples (BD, CCSD, QCISD) are about the best what can be achieved without
explicitly considering triple excitations. The CCSD is probably the best in this class. As soon as connected triples
are included the CCSD(T), QCISD(T) and BD(T) values are close and from experience they are also close to the
full CI values which is then expected somewhere between –112.950 and –112.952 Eh.
Closed-Shell ACPF:
Tsel Energy (NCSF) Energy (NCSF)
(Eh) AllSingles=true AllSingles=false
TSel=0 -112.943 387 (5671)
TSel=1e-14 -112.943 387 (2543) -112.943 387 (2478)
TSel=1e-10 -112.943 387 (2543) -112.941 023 (2453)
TSel=1e-08 -112.943 387 (2451) -112.937 087 (2346)
TSel=1e-06 -112.943 350 (2283) -112.937 046 (2178)
TSel=1e-05 -112.943 176 (1660) -112.936 821 (1555)
TSel=1e-04 -112.944 039 ( 782) -112.938 381 ( 677)
It is clear that the convergence is erratic if the singles are not automatically included. This is the reason for making
this the default from release 2.6.35 on. In the present case singles will only be selected due to round-off errors since
by Brillouin’s theorem the singles have zero-interaction with the ground state determinant. Thus, for individually
selecting single-reference methods it is a good idea to automatically include all single-excitations in order to get
converged results. The alternative would be a different singles selection procedure which has not yet been developed
however. The selection of doubles appear to converge the total energies reasonably well. It is seen that the selection
selects most CSFs between 10−5 and 10−7 Eh. Already a threshold of 10−6 Eh yields an error of less than 0.1
mEh which is negligible in relation to reaction energies and the like. Even 10−5 Eh gives an error of less than 0.1
kcal/mol.
Thus, pretty good convergence is obtained for Tpre = 10−4 − 10−6 . Hence 10−4 is the default.
To show a convenient input consider the following:
\
#
# Here we calculate the CO ground state correlation energy with several methods
#
! Def2-SVP Def2-SV/C RI-MP2 CCSD(T)
%base "1"
* int 0 1
C 0 0 0 0.000000 0.000 0.000
O 1 0 0 1.128 0.000 0.000
*
$new_job
! aug-SVP MRACPF
! moread
%moinp "1.mp2nat"
# the CASSCF is done with MP2 natural orbitals which is a good idea and
# secondly we use a large level shift in order to help convergence
%casscf nel 10
norb 8
mult 1
nroots 1
shiftup 2
shiftdn 2
end
* int 0 1
C 0 0 0 0.000 0.000 0.000
O 1 0 0 1.128 0.000 0.000
*
This job computes at the same time all of the below and demonstrates once more the agreement between consequent
single- and multireference correlation methods
SCF = -112.6459
RI-MP2 = -112.9330
CCSD = -112.9398
CCSD(T) = -112.9506
CASSCF(10,8) = -112.7769
MRACPF = -112.9514
The basis set is of course not suitable for quantitative comparison to experimental values. However, this is not the
point here in these calculations which are illustrative in nature. The SVP basis is just good enough to allow for a
method assessment without leading to excessively expensive calculations.
This is now to be compared with the corresponding energy differences computed with some single-reference ap-
proaches. A typical input is (this is a somewhat old-fashioned example – in the present program version you would
do a full valence CASSCF(10,8) or CASSCF(6,6) and invoke the MR-methods with a single keyword):
! HF def2-SVP def2-TZVPP/C VeryTightSCF NoPop
%base "1"
* xyz 0 1
N 0 0 0
N 0 0 1.0977
*
%method
frozencore fc_ewin
end
%mrci
EWin -3,1000
CIType MRACPF2a
Solver DIIS
IntMode FullTrafo
UseIVOs true
AllSingles true
TSel 1e-14
TPre 1e-05
TNat 0.0
ETol 1e-10
RTol 1e-10
NewBlock 1 *
NRoots 1
Excitations CISD
refs CAS(0,0) end
(continues on next page)
$new_job
%base "2"
* xyz 0 4
N 0 0 0
*
%method
frozencore fc_ewin
end
%mrci
EWin -3,1000
CIType MRACPF2a
IntMode FullTrafo
UseIVOs true
AllSingles true
TSel 1e-14
TPre 1e-05
TNat 0.0
ETol 1e-10
RTol 1e-10
NewBlock 4 *
NRoots 1
Excitations CISD
refs CAS(3,3) end
end
end
With exception is CEPA1 and CEPA3, the results are OK. The reason for the poor performance of these methods is
simply that the formalism implemented is only correct for closed shells – open shells require a different formalism
which we do not have available in the MRCI module (but in the single reference MDCI module). Due to the simple
approximations made in CEPA2 it should also be valid for open shells and the numerical results are in support of
that.
Next we turn to the multireference methods and take a CAS(10,8) reference as for CO in order to correlate all
valence electrons.4
This test calculation pleasingly shows the high consistency of multireference approaches which all converge more
or less to the same result which must be accurate.
which gives the reference value 108 cm−1 . We now compare that to several other methods which only have the
two “magnetic” orbitals (the 1s’s on the hydrogens) in the active space:
... same as above
%mrci EWin -10,1000
CIType MRDDCI3
... same as previously
(continues on next page)
All these methods give good results with SORCI leading to a somewhat larger error than the others. The (difference
dedicated CI) DDCI2 method slightly underestimates the coupling which is characteristic of this method. It is nice
in a way that DDCI3 gives the same result as SORCI since SORCI is supposed to approximate the DDCI3 (or better
the IDDCI3) result which it obviously does.
This splitting can also be studied using broken symmetry HF and DFT methods as explained elsewhere in this
manual:
This confirms the usual notions; UHF underestimates the coupling and DFT overestimates it, less so for hybrid
functionals than for GGAs. The BP86 is worse than PW91 or PBE. The PBE0 hybrid may be the best of the
DFT methods. For some reason most of the DFT methods give the best results if the BS state is simply taken as
an approximation for the true open-shell singlet. This is, in our opinion, not backed up by theory but has been
observed by other authors too.
Now let us study the dependence on Tsel as this is supposed to be critical (we use the DDCI3 method):
%casscf nel 5
norb 5
nroots 2
mult 2
end
* xyz 0 2
C 0 0 0
H 0 0 1.15
*
This yields:
-------------------
TRANSITION ENERGIES
-------------------
Thus, if we want to focus on the low-lying states we should include five doublet and one quartet root. Now we run
a second job with these roots and scan the internuclear distance.
%casscf nel 5
norb 5
nroots 5,1
mult 2,4
shiftup 2
end
%paras R = 0.8,2.5,25
end
* xyz 0 2
C 0 0 0
H 0 0 {R}
*
The surfaces obtained in this run are shown in Fig. 6.30. You can nicely see the crossing of the 2 Σ and 2 ∆ states
fairly close to the equilibrium distance and also the merging of the 4 Σ state with 2 Π and 2 Σ towards the asymptote
that where C-H dissociates in a neutral C-atom in its 3 P ground state and a neutral hydrogen atom in its 2 S ground
state. You can observe that once AllSingles is set to true (the default), the default settings of the MRCI module
yield fairly smooth potential energy surfaces.
Fig. 6.30: Potential energy surfaces for some low-lying states of CH using the MRCI+Q method
In many cases one will focus on the region around the minimum where the surface is nearly quadratic. In this
case one can still perform a few (2, 3, 5, ) point polynomial fitting from which the important parameters can be
determined. The numerical accuracy and the behavior with respect to 𝑇sel has to be studied in these cases since the
selection produces some noise in the procedure. We illustrate this with a calculation on the HF molecule:
%paras R = 0.85,1.1,7
end
%casscf nel 8
norb 5
nroots 1 mult 1
shiftup 2.5 shiftdn 2.5 switchstep nr gtol 1e-5
end
* xyz 0 1
F 0 0 0
H 0 0 {R}
*
Morse-Fit Results:
Re = 0.93014 Angstroem
we = 4111.2 cm**-1
wexe = 79.5 cm**-1
Which may be compared with the CCSD(T) values calculated with the same basis set:
Morse-Fit Results:
Re = 0.92246 Angstroem
we = 4209.8 cm**-1
wexe = 97.6 cm**-1
These MOs are two 𝜎 lone pairs which are high in energy and then the symmetric and antisymmetric combinations
of the oxygen 𝜋 lone pairs. In particular, the LUMO is low lying and will lead to strong correlation effects since
the (HOMO)2 → (LUMO)2 excitation will show up with a large coefficient. Physically speaking this is testimony
of the large diradical character of this molecule which is roughly represented by the structure ↑O-O-O↓. Thus,
the minimal active space to treat this molecule correctly is a CAS(2,2) space which includes the HOMO and the
LUMO. We illustrate the calculation by looking at the RHF, MP2 MRACPF calculations of the two-dimensional
potential energy surface along the O–O bond distance and the O-O-O angle (experimental values are 1.2717 Å and
116.78∘ ).
%paras R = 1.20,1.40,21
Theta = 100,150,21
end
%casscf nel 2
norb 2
mult 1
nroots 1
end
* int 0 1
O 0 0 0 0 0 0
O 1 0 0 {R} 0 0
O 1 2 0 {R} {Theta} 0
*
This is a slightly lengthy calculation due to the 441 energy evaluations required. RHF does not find any meaningful
minimum within the range of examined geometries. MP2 is much better and comes close to the desired minimum
but underestimates the O–O distance by some 0.03 Å. CCSD(T) gives a very good angle but a O–O distance
that is too long. In fact, the largest doubles amplitude is ≈ 0.2 in these calculations (the HOMO–LUMO double
excitation) which indicates a near degeneracy calculation that even CCSD(T) has problems to deal with. Already
the CAS(2,2) calculation is in qualitative agreement with experiment and the MRCI+Q calculation then gives
almost perfect agreement.
The difference between the CCSD(T) and MRCI+Q surfaces shows that the CCSD(T) is a bit lower than the
MRCI+Q one suggesting that it treats more correlation. However, CCSD(T) does it in an unbalanced way. The
MRCI calculation employs single and double excitations on top of the HOMO-LUMO double excitation, which
results in triples and quadruples that apparently play an important role in balancing the MR calculation. These
excitations are treated to all orders explicitly in the MRCI calculation but only approximately (quadruples as simul-
taneous pair excitations and triples perturbatively) in the coupled-cluster approach. Thus, despite the considerable
robustness of CC theory in electronically difficult situations it is not applicable to genuine multireference problems.
This is a nice result despite the too small basis set used and shows how important it can be to go to a multirefer-
ence treatment with a physically reasonable active space (even if is only 2 × 2) in order to get qualitatively and
quantitatively correct results.
(a) (a) RHF (b) (b) CASSCF(2,2) (c) (c) MP2 (d) (d) CCSD(T) (e) (e) MRCI+Q
Fig. 6.32: 2D potential energy surface for the 𝑂3 molecule calculated with different methods
The results are roughly as expected – CISD+Q has a relatively large error, ACPF and ACPF/2 are perfect for this
type of example; AQCC is not expected to be size consistent and is (only) about a factor of 10 better than CISD+Q
in this respect. CEPA-0 is also size consistent.
Consider for example the rotation of the stilbene molecule around the central double bond
Fig. 6.33: Rotation of stilbene around the central double bond using a CASSCF(2,2) reference and correlating the
reference with MR-MP2.
The input for this calculation is shown below. The calculation has more than 500 basis functions and still runs
through in less than one hour per step (CASSCF-MR-MP2). The program takes care of the reduced number of
two-electron integrals relative to the parent MRCI method and hence can be applied to larger molecules as well.
Note that we have taken a “JK” fitting basis in order to fit the Coulomb and the dynamic correlation contributions
both with sufficient accuracy. Thus, this example demonstrates that MR-MP2 calculations for not too large reference
spaces can be done efficiently with ORCA (as a minor detail note that the calculations were started at a dihedral
angle of 90 degrees in order to make sure that the correct two orbitals are in the active space, namely the central
carbon p-orbitals that would make up the pi-bond in the coplanar structure).
#
# Stilbene rotation using MRMP2
#
! def2-TZVP def2/JK RIJCOSX RI-MRMP2
%casscf nel 2
norb 2
end
* int 0 1
C 0 0 0 0.000000 0.000 0.000
C 1 0 0 1.343827 0.000 0.000
C 2 1 0 1.490606 125.126 0.000
C 1 2 3 1.489535 125.829 \{DIHED\}
C 4 1 2 1.400473 118.696 180.000
C 4 1 2 1.400488 122.999 0.000
C 6 4 1 1.395945 120.752 180.000
C 5 4 1 1.394580 121.061 180.000
C 8 5 4 1.392286 120.004 0.000
C 3 2 1 1.400587 118.959 180.000
C 3 2 1 1.401106 122.779 0.000
(continues on next page)
6.7.12 Keywords
Here is a reasonably complete list of Keywords and their meaning. Note that the MRCI pogram is considered
legacy and we can neither guarantuee that the keywords still work as intended, nor is it likely that somebody will
be willing or able to fix a problem with any of them. Additional information is found in section 9.
%mrci
CIType MRCI
MRDDCI1
MRDDCI2
MRDDCI3
SORCI
SORCP
MRACPF
MRACPF2
MRACPF2a
MRAQCC
MRCEPA_R
MRCEPA_0
MRMP2
MRMP3
MRRE2
MRRE3
MRRE4
CEPA1
CEPA2
CEPA3
# MRPT stuff
UsePartialTrafo true/false # speedups MRMP2
UseDiagonalContraction true/false # legacy
Partitioning EN # Epstein Nesbet
MP # Moeller Plesset
RE # Fink's partitioning
FOpt Standard # choice of Fock operators to be
used in MRPT
G0
G3
H0Opt Diagonal
Projected
Full
MRPT_b 0.2 # intruder state fudge factor
MRPT_SHIFT 1.0 # level shift
# Integral handling
IntMode FullTrafo # exact transformation (lots of memory)
RITRafo # RI integrals (slow!)
UseIVOs true/false # use improved virtual orbitals?
# orbital selection
EWin epsilon_min,epsilon_max # orbital energy window
MORanges First_internal, Last_Internal, First_active,
Last_Active, First-Virtual,Last_virtual # alternative MO
definition
XASMOs x1,x2,x3,... # List of XAS donor MOs (see above)
#density generation
Densities StateDens, TransitionDens
# StateDens= GS, GS_EL, GS_EL_SPIN, ALL_LOWEST,
ALL_LOWEST_EL, ALL_LOWEST_EL_SPIN, ALL, ALL_EL, ALL_EL_SPIN
# TransitionDens= FROM_GS_EL, FROMGS_EL_SPIN,FROM_LOWEST_EL, \\ FROM_LOWEST_EL_SPIN,
˓→FROM_ALL_EL,FROM_ALL_EL_SPIN
# Memory
MaxMemVec 1024 # in MB
MaxMemInt 1024 # in MB
# Diagonalizer
Solver DIIS
DIAG
NEWDVD
MaxDIIS
RelaxRefs true/false
LevelShift 0.0
MaxDim 15
NGuessMat 10
MaxIter 25
NGuessMatRefCI 100
(continues on next page)
# Definition of CI blocks
NewBlock multiplicity irrep
NRoots 1
Excitations none
CIS
CID
CISD
# active space definition
refs CAS(nel, norb) end
# or
refs RAS(nel: ras1norb ras1nel / ras2norb / ras3norb ras3nel
) end
# or individual definition. Must yield the corret number of
electrons!
refs
{ 2 0 1 0 1 1 }
{ 2 0 1 1 0 1 }
end
end
end
The current implementation allows for MR-EOM-T|T† -h-v, MR-EOM-T|T† |SXD-h-v and MR-EOM-T|T† |SXD|U-
h-v calculations. A more detailed description of these methods and the available input parameters will be given in
Sec. Multireference Equation of Motion Coupled-Cluster (MR-EOM-CC) Theory. We also note that the theoretical
details underlying these methods can be found in Ref. [407]. In Sec. Multireference Equation of Motion Coupled-
Cluster (MR-EOM-CC) Theory, we will discuss a strategy for the selection of the state-averaged CAS and other
steps for setting up an MR-EOM calculation in detail. Furthermore, we will discuss how spin-orbit coupling effects
can be included in MR-EOM calculations, a projection scheme to aid with convergence difficulties in the iteration of
the 𝑇 amplitude equations, an orbital selection scheme to reduce the size of the inactive core and virtual subspaces
in the calculation of excitation energies and a strategy for obtaining nearly size-consistent results in MR-EOM.
The purpose of this section is simply to provide a simple example which illustrates the most basic usage of the
MR-EOM implementation in ORCA.
%mdci
STol 1e-7
end
* xyz 0 1
H 0.000000 0.934473 -0.588078
H 0.000000 -0.934473 -0.588078
C 0.000000 0.000000 0.000000
O 0.000000 0.000000 1.221104
*
One can alternatively perform an MR-EOM-T|T† -h-v or MR-EOM-T|T† |SXD-h-v calculation by replacing the
MR-EOM keyword, in the first line of the input above, by MR-EOM-T|Td or MR-EOM-T|Td|SXD, respectively. Namely,
replacing the first line of the input above with
--------------------
LARGEST T AMPLITUDES
--------------------
8-> 13 8-> 13 0.060331
4-> 17 4-> 17 0.029905
8-> 9 8-> 9 0.028160
8-> 16 8-> 16 0.027266
6-> 20 6-> 20 0.025885
8-> 21 8-> 21 0.025308
4-> 16 4-> 16 0.024803
8-> 12 8-> 12 0.023915
5-> 18 5-> 18 0.023553
8-> 23 8-> 23 0.023384
3-> 16 3-> 16 0.023182
7-> 19 7-> 19 0.023043
8-> 13 4-> 11 0.022010
3-> 19 3-> 19 0.021987
8-> 16 8-> 9 0.021230
8-> 9 8-> 16 0.021230
--------------------
LARGEST S AMPLITUDES
--------------------
4-> 8 8-> 11 0.074048
3-> 8 8-> 9 0.064886
4-> 5 5-> 11 0.045479
3-> 8 8-> 16 0.042657
4-> 7 7-> 11 0.042598
4-> 5 5-> 17 0.042076
4-> 5 8-> 11 0.039958
4-> 8 8-> 17 0.037532
3-> 5 8-> 9 0.035907
4-> 7 7-> 17 0.035767
2-> 6 6-> 19 0.034148
3-> 5 5-> 10 0.033339
2-> 6 6-> 10 0.032691
4-> 6 6-> 11 0.032181
8-> 8 3-> 16 0.031775
2-> 7 7-> 22 0.031238
--------------------
LARGEST U AMPLITUDES
--------------------
3-> 8 3-> 8 0.026128
3-> 8 3-> 5 0.007683
2-> 8 2-> 8 0.006182
3-> 8 2-> 5 0.006154
2-> 8 3-> 5 0.004954
3-> 5 3-> 5 0.004677
4-> 8 4-> 8 0.003989
3-> 8 2-> 8 0.002040
2-> 8 3-> 8 0.002040
2-> 8 2-> 5 0.001818
4-> 8 4-> 5 0.001173
2-> 5 2-> 5 0.001107
4-> 5 4-> 5 0.000714
3-> 7 3-> 7 0.000607
3-> 6 3-> 6 0.000521
2-> 5 3-> 5 0.000365
for the 𝑈 amplitudes. Hence, one can see that there are no unusually large amplitudes for this calculation. We note
that there can be convergence issues with the 𝑇 amplitude iterations and that in such cases, the flag:
DoSingularPT true
should be added to the %mdci block. The convergence issues are caused by the presence of nearly singular 𝑇2
amplitudes and setting the DoSingularPT flag to true activates a procedure which projects out the offending
amplitudes (in each iteration) and replaces them by suitable perturbative amplitudes. For more information, see
the examples in section A Projection/Singular PT Scheme to Overcome Convergence Issues in the T Amplitude
Iterations.
After the computation of the amplitudes and the elements of the similarity transformed Hamiltonians, within the
MDCI module, the calculation enters the MRCI module. For a complete, step by step description of the output of
an MRCI calculation, we refer the reader to the example described in section A Tutorial Type Example of a MR
Calculation. Let us first focus on the results for the singlet states (CI-BLOCK 1). Following the convergence of the
Davidson diagonalization (default) or DIIS procedure, the following results of the MRCI calculation for the singlet
states are printed:
----------
CI-RESULTS
----------
For each state, the total energy is given in 𝐸h ; the weight of the reference configurations (RefWeight) in the given
state is provided, and the energy differences from the lowest lying state are given in eV and cm−1 . Also, in each
case, the weights and a description of the configurations which contribute most strongly to the given state are also
provided. See section A Tutorial Type Example of a MR Calculation for a discussion of the notation that is used for
the description of the various configurations. To avoid confusion, we note that in the literature concerning the MR-
EOM methodology [194, 203, 406, 407, 529, 530, 640], the term “%active” is used to denote the reference weight
multiplied by 100%. In general, RefWeight should be > 0.9, such that the states are dominated by reference
space configurations. This criterion is satisfied for the first three states and the reference weight of the fourth state
is sufficiently close to 0.9. However, the reference weights of the two higher lying states (especially state 4) are
too small and these states should be discarded as the resulting energies will be inaccurate (i.e. states with
significant contributions from configurations outside the reference space cannot be treated accurately) .
In the case of the triplet states (CI-BLOCK 2), we obtain the following results:
----------
CI-RESULTS
----------
Here, we see that the first three states have reference weights which are > 0.9, while the reference weights of
the final three states are well below that threshold. Hence, the latter three states should be discarded from any
meaningful analysis.
Following the printing of the CI results for the final CI block, the states are ordered according to increasing energy
and the vertical transition energies are printed:
-------------------
TRANSITION ENERGIES
-------------------
Furthermore, following the generation of the (approximate) densities, the absorption and CD spectra are printed:
==========================================
MR-EOM Non Relativistic Properties
==========================================
-----------------------------------------------------------------------------------------------
˓→-----
-----------------------------------------------------------------------------------------------
(continues on next page)
0-1A -> 2-1A 9.070040 73154.8 136.7 0.002137450 0.00962 0.09808 -0.00000 -0.
˓→00000
0-1A -> 3-1A 9.728237 78463.5 127.4 0.157495738 0.66081 -0.00000 0.00000 -0.
˓→81290
0-1A -> 4-1A 10.618534 85644.3 116.8 0.025353906 0.09746 -0.00000 -0.31218 -0.
˓→00000
0-1A -> 5-1A 10.675343 86102.5 116.1 0.024673667 0.09434 -0.00000 -0.00000 0.
˓→30715
------------------------------------------------------------------------------------------
CD SPECTRUM VIA TRANSITION ELECTRIC DIPOLE MOMENTS
------------------------------------------------------------------------------------------
Transition Energy Energy Wavelength R MX MY MZ
(eV) (cm-1) (nm) (1e40*cgs) (au) (au) (au)
------------------------------------------------------------------------------------------
0-1A -> 1-1A 3.932110 31714.6 315.3 -0.00000 0.00000 0.00000 0.56273
0-1A -> 2-1A 9.070040 73154.8 136.7 -0.00000 0.00000 -0.74486 0.00000
0-1A -> 3-1A 9.728237 78463.5 127.4 -0.00000 -0.00000 -0.00000 -0.00000
0-1A -> 4-1A 10.618534 85644.3 116.8 0.00000 0.35898 0.00000 -0.00000
0-1A -> 5-1A 10.675343 86102.5 116.1 0.00000 0.00000 -0.00000 -0.00000
. Warning
• It is important to note that the transition moments and oscillator strengths (and state dipole moments)
have been blindly computed by the MRCI module and currently, no effort has been made to include
the effects of the various similarity transformations in the evaluation of these quantities. Hence these
quantities are only approximate and should only be used as a qualitative aid to determine which states
are dipole allowed or forbidden. Furthermore, since the calculated densities are approximate, so are the
results of the population analysis that are printed before the absorption and CD spectra.
• While both the CASSCF and MRCI modules can make use of spatial point-group symmetry to some
extent, the MR-EOM implementation is currently limited to calculations in 𝐶1 symmetry.
6.8.2 Capabilities
The MR-EOM methodology can be used to calculate a desired number of states for both closed- and open-shell
systems from a single state-averaged CASSCF solution. Currently, the approach is limited to serial calculations
and to smaller systems in smaller active spaces. One should be aware that in the most cost-effective MR-EOM-
T|T† |SXD|U-h-v approach (i.e. the smallest diagonalization manifold), an MRCI diagonalization is performed over
all 1h and 1p excited configurations out of the CAS, which will inevitably limit the size of the initial CAS which
can be used. We have also implemented an orbital selection scheme which can be used to reduce the size of the
inactive core and virtual subspaces in the calculation of excitation energies, and this can be employed to extend the
applicability of the approach to larger systems. The current implementation can also be used in conjunction with
the spin-orbit coupling submodule (General Description) of the MRCI module to calculate spin-orbit coupling
effects in MR-EOM calculations to first order. These and other features of the current implementation will be
discussed in Multireference Equation of Motion Coupled-Cluster (MR-EOM-CC) Theory.
This method can be invoked by adding the keyword DoMREOM_MRPT True to the %mdci block.
6.9 Solvation
ORCA features several implicit solvation models, including the fully integrated “conductor-like polarizable con-
tinuum (C-PCM)” and “Minnesota SMD” solvation models, which are available in all its components. With these
models, various types of calculations can be performed using a polarizable continuum with a realistic van der
Waals cavity as summarized below:
• Energies of molecules in solution with a finite dielectric constant 𝜀 using HF or any DFT method.
• Optimization of molecular structures in solution using HF or any DFT method with analytic gradients.
• Calculation of vibrational frequencies using the analytic Hessian for HF or any DFT method, provided that
the same calculation is available in vacuum.
• Calculation of solvent effects on response properties like polarizabilities through coupled-perturbed SCF
theory. For magnetic response properties, such as the g-tensor, the C-PCM response vanishes.
• Calculations of solvent shifts on transition energies using the time-dependent DFT or CIS method. The
refractive index of the solvent needs to be provided in addition to the dielectric constant.
• First order perturbation estimate of solvent effects on state and transition energies in multireference pertur-
bation and configuration-interaction calculations.
Other implicit solvation strategies are available in ORCA. In particular, an interface to the open source imple-
mentation of the COSMO-RS model (openCOSMO-RS), as well as different solvation models that can be used
in XTB (ALPB, ddCOSMO, and CPCM-X). A detailed overview of the available implicit solvation methods and
their usage is provided in Sections ONIOM Methods, and Implicit Solvation Models.
As a simple example, let us compute the solvent effect on the 𝑛 → 𝜋 * transition energy in formaldehyde with the
C-PCM model. This effect can be obtained by subtracting the solution-phase and gas-phase transition energies.
The gas-phase transition energy (4.633 eV) can be computed by using the following input:
! def2-TZVP
*int 0 1
C 0 0 0 0.000000 0.000 0.000
O 1 0 0 1.200371 0.000 0.000
H 1 2 0 1.107372 121.941 0.000
H 1 2 3 1.107372 121.941 180.000
*
By adding the CPCM(water) flag to the input used for the gas-phase calculation, the transition energy can now be
computed using the C-PCM model with water as the solvent:
! def2-TZVP CPCM(water)
*int 0 1
C 0 0 0 0.000000 0.000 0.000
O 1 0 0 1.200371 0.000 0.000
H 1 2 0 1.107372 121.941 0.000
H 1 2 3 1.107372 121.941 180.000
*
-----------------------------
CIS-EXCITED STATES (SINGLETS)
(continues on next page)
the weights of the individual excitations are printed if larger than 1.0e-02
Hence, water environment increases the transition energy by 0.224 eV. This increase can be attributed to the stabi-
lization of lone pair orbitals by the presence of water molecules.
That is as simple as a regular input with the line %SOLVATOR NSOLV 3 END added. The solvent structure will be
automatically taken from the implicit solvation method (in this case ALPB(WATER)), and the three water molecules
will be added. The output will look like:
*****************
* ORCA Solvator *
*****************
where the solvent chosen is printed, together with some details about its dimensions, the number of molecules to
be added and the method. The structure from the internal database is also always printed.
The process is then monitored per solvent molecule:
Adding solvent molecules to the solute ....
and the final result is printed to the file Basename.solvator.xyz. There will be also an intermediate file named
Basename.solvator.solventbuild.xyz with the solvent molecules added one by one.
ò Note
In contrast to the DOCKER, the solute is always frozen by default. Set FIXSOLUTE FALSE under the
%SOLVATOR block to change that.
On the output Einter is the interaction energy obtained from the DOCKER and dE is the different between the
current and the previous Einter.
In this case, the result looks like:
ò Note
Currently the SOLVATOR is only working with the GFN-XTB and GFN-FF methods and the ALPB solvation
model. It will be expanded later to others.
and even a custom solvent can be given in the form of a .xyz file with:
%SOLVATOR SOLVENTFILE "solvent_file_name.xyz" END
As with the docker, the charge and multiplicty can be given to the solvent if given as two integers on the
comment line (default is neutral closed-shell). Since the ALPB method has a fixed number of solvents, right now
one can still not give a custom epsilon value for the custom solvents, but it needs to be approximated to the next
closest solvent.
As an example, let’s create a file named isopropanol.xyz with a solvent which is not on the ALPB list:
12
0 1
C -3.79410 2.24670 -0.09622
C -3.45574 0.76660 -0.18820
H -2.94382 2.85306 -0.42645
H -4.00575 2.53923 0.93817
H -4.66172 2.49512 -0.71492
C -4.60559 -0.10847 0.28691
H -4.84802 0.09429 1.33594
H -4.32886 -1.16657 0.22730
H -5.50341 0.05251 -0.31744
O -2.30376 0.49878 0.60542
H -3.20686 0.51239 -1.22373
H -2.51694 0.72259 1.52758
and run:
!XTB ALPB(ETHANOL) PAL16
%SOLVATOR SOLVENTFILE "isopropanol.xyz" NSOLV 3 END
* XYZFILE 0 1 HIS.xyz
approximating the dielectric constant of isopropanol to that of ethanol. That might look not too accurate, but the
ALPB implicit solvation is also not a very good implicit solvation model anyway, so results will be quite similar.
and in a few seconds all solvent molecules are added as can be seen from the result:
s Important
As the name says, the CLUSTERMODE STOCHASTIC is a probabilistic approach and is not nearly as accurate as
the DOCKING mode! Nonetheless it is useful for quite a few applications.
Fig. 6.38: A hundred water molecules added by the solvator by enforcing spherical symmetry.
ò Note
and a radius close to 15 Angstroem was achieved when 668 molecules are added:
Fig. 6.39: A droplet create with 668 water molecules to achieve a radius of approximately 15 Angstroem.
s Important
All examples described above work for any other solvents, including custom ones.
ò Note
The default DOCKER settings for the solvator are equivalent to !QUICKDOCK. For more accurate methods use
!NORMALDOCK or even !COMPLETEDOCK, however they will be much slower.
A complete list of keywords and more discussions on the topic can be found at the later section More on the ORCA
SOLVATOR
All three relativistic model Hamiltonians are implemented for scalar relativistic energy calculations and these
are carried through consistently through the entire program. Scalar relativity shows up as an additional effective
potential that is added to the one-electron matrix. Scalar relativistic corrections to the two-electron interaction
are not available in ORCA. Furthermore, self-consistent field calculations (HF, DFT, CASSCF) with inclusion of
spin-orbit-coupling (SOC) are also not available in ORCA but we will not exclude the possibility to add this feature
in a future version of the program.
A general overview and some practical recommendations are given in the next sections. For detailed documentation
and all available options see Relativistic Options.
Hint
Use the !Decontract keyword to decontract the chosen (all-electron) basis set and make it suitable for any
relativistic Hamiltonian, as well as comparisons between them.
If large, uncontracted basis sets are used in scalar relativistic calculations, there is a distinct danger of variational
collapse. This behavior is related to the fact that the relativistic orbitals will diverge for a point nucleus. ORCA
features the Gaussian finite nucleus model of Dyall and Visscher for DKH and X2C. We recommend to always use
this feature (FiniteNuc) in relativistic calculations.
Given the fact relativistic all-electron calculations on heavy element compounds feature very steep core basis func-
tions, numeric integration, such as in DFT and COSX, may be challenging. ORCA features automatic procedures
that adapt the integration grids for the presence of steep basis functions. However, in case you experience strange
results, the numeric integration is one potential source of problem. The cure is to go to larger integration grids
and, in particular, increase the radial integration accuracy (IntAcc).
³ Caution
Geometry optimizations with DKH and ZORA (but not X2C) automatically use the one-center approximation.
When computing relative energies, do not mix energies from single-point calculations without the one-center
approximation with those from geometry optimizations that do make use of this feature.
If relativistic calculations are used for molecular properties there is a potential mismatch between non-
relativistically calculated property integrals and the relativistic Hamiltonian. The procedure to remove these incon-
sistencies is referred to as „picture change“. The picture change is usually carried through to the same level of ap-
proximation as the decoupling of the relativistic Hamiltonian into two-component and eventually to one-component
form. We strongly recommend to use picture change in all relativistic property calculations and consequently, this
is also the default. Relativistic property calculations without picture change are wildly inaccurate, in particular if
operators are involved that carry inverse powers of the electorn-nucleus distance. Picture change effects are imple-
mented for DKH and X2C and to some extent also for ZORA. However, they are not implemented for all properties
that ORCA can calculate. Please pay attention to the output of the property integral and property programs. Both
programs will explicitly state which picture change effects are included in the molecular integrals.
%rel
FiniteNuc true # Invoke the Gaussian finite nucleus model.
PictureChange 1 or 2 # First or second order picture change effects.
# Second order is potentially more accurate and more expensive.
end
The DLU approximation,[660] discussed in DLU approximation, is the recommended way to reduce the cost of
the X2C transformation, particularly for gradient/Hessian calculations, with minor loss of accuracy. It is available
via the simple input keyword DLU-X2C.
For most calculations, no other settings are needed. See The Douglas-Kroll-Hess Method for an overview of the
underlying theory.
. Attention
The ZORA method is highly dependent on numerical integration and it is very important to pay attention to the
subject of radial integration accuracy! By default, from ORCA 5.0 we consider that during the grid construction
and the defaults should work very well. Only for very problematic cases, consider using a higher IntAcc pa-
rameter or at least to increase the radial integration accuracy around the heavy atoms using SpecialGridAtoms
and SpecialGridIntAcc.
*xyz 0 1
C 0 0 0
O 0 0 1.13
*
The “ReducedPOP” keyword reduces the information printed out in the population analysis section, providing
orbital population of each atom with percent contribution per basis function type. This is highly useful in figuring
out the character of the MOs. Furthermore, one can request a printout of the MO coefficients through the output
block of the input file (see section Population Analyses and Control of Output) or using the keyword “PrintMOs”
The distribution of the frontier molecular orbitals (FMOs) over the system can be requested with the “FMOPop”
keyword:
! HF def2-SVP FMOPop
*xyz 0 1
C 0 0 0
O 0 0 1.13
*
This provides Mulliken and Loewdin population analyses on HOMO and LUMO:
----------------------------------------------
FRONTIER MOLECULAR ORBITAL POPULATION ANALYSIS
----------------------------------------------
-------------------------------------------------------------------------
Atom Q(Mulliken) Q(Loewdin) Q(Mulliken) Q(Loewdin)
<<<<<<<<<<<<HOMO>>>>>>>>>>>> <<<<<<<<<<<<LUMO>>>>>>>>>>>>
-------------------------------------------------------------------------
0-C 0.937186 0.906827 0.804044 0.755610
1-O 0.062814 0.093173 0.195956 0.244390
-------------------------------------------------------------------------
Visualization of three-dimensional representation of MOs, natural orbitals, electron densities, and spin densities is
usually more intuitive than examining MO coefficients and it is is described in detail in section Orbital and Density
Plots. The files necessary for such visualizations can be readily generated with ORCA in various ways and then
opened in visualization software such as gOpenMol and Molekel.1 . In the following example, we briefly describe
visualization of MOs.
To visualize MOs withgOpenMol, the plt file of MOs can be generated in the gOpenMol_bin format from the
gbw file using orca_plot utility program or directly from the ORCA run through the %plots block of the input
file:
1 The Molekel developers ask for the following citation – please do as they ask:
MOLEKEL 4.2, P. Flukiger, H.P. Lüthi, S. Portmann, J. Weber, Swiss Center for Scientific Computing, Manno (Switzerland), 2000-2006.
S. Portmann, H.P.Łüthi. MOLEKEL: An Interactive Molecular Graphics Tool. CHIMIA (2000), 54, 766-770. The program appears to be
maintained by Ugo Varetto at this time.
! HF def2-SVP XYZFile
*xyz 0 1
C 0 0 0
O 0 0 1.13
*
In this input file, the MO("CO-4.plt",4,0); command is used to evaluare MO labeled as 4 for operator 0 and
then to strore it in the “CO-4.plt” file. For RHF and ROHF, one should always use operator 0. For UHF, operators
0 and 1 correspond to spin-up and spin-down orbitals, respectively.
When the produced plt files are opened with gOpenMol (see section Surface Plots for details), the textbook-like
𝜋 and 𝜋 * MOs of the CO molecule are visualized as in Figure Fig. 6.40.
Fig. 6.40: (a) 𝜋 and (b) 𝜋 * MOs of the CO molecule obtained from the interface of ORCA to gOpenMol.
If the gOpenMol_ascii file format was requested, gOpenMol conversion utility or some other tools might then be
needed to convert this human-readable file to the machine-readable gOpenMol_bin format.
In order to use the interface to Molekel, an ASCII file in the Cube or Gaussian_Cube format needs to be generated.
Such ASCII files can be actually transferred between platforms. The Cube format can be requested in the %plots
block as:
! HF def2-SVP XYZFile
*xyz 0 1
C 0 0 0
(continues on next page)
To visualize MOs strored in the *.cube file, start Molekel and, via a right mouse click, load the *.xyz file and/or
the *.cube file. lternatively, navigate to the surface menu, select the “gaussian-cube” format, and load the surface.
For orbitals, click the “both signs” button and select a countour value in the “cutoff” field. Then, click “create
surface”. The colour schemes and other fine details of the plots can be easily adjusted as desired. Finally, create
files via the “snapshot” feature of Molekel. Figure Fig. 6.41 demonstrates a Molekel variant of Figure Fig. 6.40.
Fig. 6.41: (a) 𝜋 and (b) 𝜋 * MOs of the CO molecule obtained from the interface of ORCA to Molekel.
It is worth noting that there are several other freeware programs, such as UCSF CHIMERA, that can read
Gaussian_Cube files and provide high-quality plots.
In some situations, visualization of the electronic structure in terms of localized molecular orbitals might be quite
helpful. As unitary transformations among occupied orbitals do not change the total wavefunction, such transforma-
tions can be applied to the canonical SCF orbitals with no change of the physical content of the SCF wavefunction.
The localized orbitals correspond more closely to the pictures of orbitals that chemists often enjoy to think about.
Localized orbitals according to the Pipek-Mezey population-localization scheme are quite easy to compute. For
example, the following run reproduces the calculations reported by Pipek and Mezey in their original paper for the
N2 O4 molecule.
! HF STO-3G Bohrs
%loc
LocMet PipekMezey # localization method. Choices:
# PipekMezey (=PM)
# FosterBoys (=FB)
T_Core -1000 # cutoff for core orbitals
Tol 1e-8 # conv. Tolerance (default=1e-6)
MaxIter 20 # max. no of iterations (def. 128)
end
*xyz 0 1
N 0.000000 -1.653532 0.000000
N 0.000000 1.653532 0.000000
O -2.050381 -2.530377 0.000000
(continues on next page)
Based on the output file of this job, localized MOs consist of six core like orbitals (one for each N and one for each
O), two distinct lone pairs on each oxygen, a 𝜎- and a 𝜋-bonding orbital for each N-O bond and one N-N 𝜎-bonding
orbital which corresponds to the dominant resonance structure of this molecule. You will also find a file with the
extension .loc in the directory where you run the calculation. Like the standard gbw file, it can used to extract
files for plotting or as input for another calculation (warning! The localized orbitals have no well defined orbital
energy. If you do use them as input for another calculation use GuessMode=CMatrix in the %scf block).
If you have access to a version of the gennbo program from Weinhold’s group2 , you can also request natural
population analysis and natural bond orbital analysis. The interface is elementary and is invoked through the
keywords NPA and NBO, respectively:
! HF def2-SVP NPA XYZFile
* xyz 0 1
C 0 0 0
O 0 0 1.13
*
If you choose simple NPA, then you will only obtain a natural population analysis. When NBO is chosen instead,
the natural bond orbital analysis will also be carried out. ORCA leaves a FILE.47 file on disk. This file can be
edited to use all of the features of the gennbo program in the stand-alone mode. Please refer to the NBO manual
for further details.
ò Note
• Functionals with somewhat more HF exchange produce better results and are not as prone to “ghost
states” as GGA functionals unfortunately are!
• Calculations can be greatly sped up by the RI or RIJCOSX approximations!
• Analytic gradients for the (D) correction and hence for double-hybrid functionals are NOT available.
In a nutshell, let us look into the H2 CO molecule. First we generate some Hessian (e.g. BP86/SV(P)). Then we
run the job that makes the input for the orca_asa program. For example, let us calculate the five lowest excited
states:
! aug-cc-pVDZ BHandHLYP TightSCF NMGrad
*int 0 1
C 0 0 0 0 0 0
O 1 0 0 1.2 0 0
H 1 2 0 1.1 120 0
H 1 2 3 1.1 120 180
*
The ORCA run will produce a file Test-ASA-H2CO.asa.inp that is an input file for the program that generates
various spectra. It is an ASCII file that is very similar in appearance to an ORCA input file:
#
# ASA input
#
%sim model IMDHO
method Heller
AbsScaleMode Ext
FlScaleMode Rel
# RamanOrder=1 means only fundamentals. For 2 combination
# bands and first overtones are also considered, for 3
# one has second overtones etc.
RamanOrder 1
CAR 0.800
end
After setting NAbsPoints variable and spectral ranges in this file to the desired values, we invoke orca_asa as:
orca_asa Test-ASA-H2CO.asa.inp
******************
* O R C A A S A *
******************
**************************************************************
* GENERAL CHARACTERISTICS OF ELECTRONIC SPECTRA *
**************************************************************
--------------------------------------------------------------------------------
State E0 EV fosc Stokes shift Effective Stokes shift
(cm**-1) (cm**-1) (cm**-1) (cm**-1)
--------------------------------------------------------------------------------
1: 30457.24 32200.79 0.000000 0.00 0.00
2: 58424.56 58960.05 0.031879 0.00 0.00
3: 66601.54 66884.30 0.039422 0.00 0.00
4: 66111.80 66602.64 0.055063 0.00 0.00
5: 71788.55 72245.42 0.000000 0.00 0.00
-----------------------------------------------------------------------------------------------
˓→---
Intrinsic Effective
State -------------------------- --------------------------------------------------------
Sigma FWHM
Gamma Sigma FWHM --------------------------- -------------------------
˓→--
-----------------------------------------------------------------------------------------------
˓→---
The computed vibrationally resolved absorption spectrum is plotted as shown in Figure Fig. 6.42.
Fig. 6.42: The computed vibrationally resolved absorption spectrum of the H2 CO molecule
The computed fluorescence spectrum of the lowest energy peak is plotted as shown in Figure Fig. 6.43. This peak
corresponds to S2. Although it is not realistic, it is sufficient for illustrative purposes.
Fig. 6.43: The computed fluorescence spectrum of the lowest energy peak of the H2 CO molecule
The computed Resonance Raman (rR) excitation profiles of the three totally symmetric vibrational modes are
plotted as shown in Figure Fig. 6.44.
Fig. 6.44: The computed Resonance Raman excitation profiles of the three totally symmetric vibrational modes of
the H2 CO molecule
As might be expected, the dominant enhancement occurs under the main peaks for the C=O stretching vibra-
tion. Higher energy excitations particularly enhance the C-H vibrations. The computed rR spectra at the vertical
excitation energies are provided in Figure Fig. 6.45.
Fig. 6.45: The computed Resonance Raman spectra at the vertical excitation energies of the H2 CO molecule
In this toy example, the dominant mode is the C=O stretching, and the spectra look similar for all excitation
wavelengths. However, electronically excited states are mostly of different natures, yielding drastically different rR
spectra. Thus, rR spectra serve as powerful fingerprints of the electronic excitation being studied. This is also true
even if the vibrational structure of the absorption band is not resolved, which is usually the case for large molecules.
The orca_asa program is much more powerful than described in this section. Please refer to section Simulation
and Fit of Vibronic Structure in Electronic Spectra, Resonance Raman Excitation Profiles and Spectra with the
orca_asa Program for a full description of its features. The orca_asa program can also be interfaced to other
electronic structure codes that deliver excited state gradients and can be used to fit experimental data. It is thus a
tool for experimentalists and theoreticians at the same time!
*xyz 0 1
O 0.000000 0.000000 0.611880
C 0.000000 0.000000 -0.596849
H 0.952616 0.000000 -1.209311
(continues on next page)
-----------
IR SPECTRUM
-----------
The first column (‘Mode’) labels vibrational modes that increase in frequency from top to bottom.” The next column
provides vibrational frequencies. The molar absorption coefficient 𝜀 of each mode is listed in the “eps” column.
This quantity is directly proportional to the intensity of a given fundamental in an IR spectrum, and thus it is used
by the orca_mapspc utility program as the IR intensity.
The values under “Int” are the integrated absorption coefficient3 , and the “T**2” column lists the norm of the
transition dipole derivatives, already including the vibrational part.
To obtain a plot of the spectrum, the orca_mapspc utility can be run calling the output file as:
To see its options in detail, call orca_mapspc without any input. The above orca_mapspc runs of the H2 CO
molecule provide Test-NumFreq-H2CO.out.ir.dat file that contains intensity and wavenumber columns.
Therefore, this file can serve as input for any graph plotting program. The plot of the computed IR spectrum
of the H2 CO molecule obtained with the above ORCA run is as given in Figure Fig. 6.46.
3 Explained in more detail by Neugbauer [631]
Fig. 6.46: The predicted IR spectrum of the H2 CO molecule plotted using the file generated by the orca_mapspc
tool.
*xyzfile 0 1 toluene.xyz
ò Note
These anharmonic corrections are very sensitive to the geometry. Therefore, perform a conservative geometry
optimization (at least TightOPT) whenever possible.
In the output, the characteristics of the regular IR spectrum are printed first. Then, the characteristics of overtones
and combination bands are provided similarly to the fundamentals, as follows:
-------------------------------
OVERTONES AND COMBINATION BANDS
-------------------------------
The “Mode” column shows the overtones, such as 6+6, and combination bands, such as 6+7 and 6+8. These new
quantities are automatically detected and incorporated in the IR spectrum when the output file is called with the
orca_mapspc utility as follows:
From the file orca_mapspc provided, the IR spectrum can be plotted as shown in Figure Fig. 6.47.
Fig. 6.47: Calculated and experimental infrared spectrum of toluene in gas phase. While the red plot includes
only the fundamentals, the blue plot includes also overtones and combination bands. The grey dashed plot is
the experimental gas-phase spectrum obtained from the NIST database. The theoretical frequencies were scaled
following literature values [442]
“Benzene fingers”, i.e., overtones and combination bands of the ring, are recovered in the computed spectrum.
Note that the frequencies were scaled using literature values [442], and are not yet corrected using VPT2.
Near IR spectra
Let us simulate near IR spectrum of methanol in CCl4 , as published by Bec and Huck [82], using B3LYP for
fundamentals, XTB for overtones, and CPCM for solvation. The input is as follows:
*xyz 0 1
O 0.39517 4.38840 -0.00683
C -0.50818 3.29837 0.00221
H -0.11943 5.18771 0.19752
H 0.03977 2.38083 -0.22470
H -1.27919 3.45664 -0.75583
H -0.96616 3.21170 0.99058
*
Calling the output with orca_mapspc by setting final point to about 8000𝑐𝑚−1 in order to extend the spectrum to
the near IR region, i.e.,
one can simulate the spectrum from the generated “toluene-nearir.dat” file. As seen in Figure Fig. 6.48 the com-
puted spectrum plotted with scaled computational frequencies (not yet corrected using VPT2) according to [442]
agrees reasonably well with the experimental spectrum.
Fig. 6.48: Calculated and experimental near IR spectrum of methanol in CCl4 . The blue plot is for overtones; the
red plot is for combination bands; and the grey dashed plot is the experimental spectrum. Theoretical frequencies
were scaled according to literature values [442].
To compute overtones with the method chosen for the calculation of the fundamentals, one needs only to set
XTBVPT2 option in the %freq block to false, i.e.,
To set a different method for the calculation of overtones and combinations than used for the calculation of funda-
mentals, one needs first to perform a frequency calculation, then call the resulting Hessian file in %geom block, and
activate the PRINTTHERMOCHEM flag (see section Thermochemistry for details), i.e.,
*xyzfile 0 1 methanol_opt.xyz
In this example, the fundamental modes are read from the “methanol.hess” file, but the anharmonics and intensities
of the overtones and combinations are computed using BP86. Any combination of methods, such as B3LYP/BP86
and B2PLYP/AM1, is allowed. Note that this description is an approximation to full VPT2 or GVPT2. For a more
complete treatment, see the VPT2 module described in section Anharmonic Analysis and Vibrational Corrections
using VPT2/GVPT2 and orca_vpt2.
By default, a step size of 0.5 in dimensionless normal mode unit is used during the numerical calculations. This
can be changed by setting DELQ in the %freq block:
%freq
XTBVPT2 False
DELQ 0.1
end
The complete list of options related to VPT2 and in general frequency calculations can be found in Sec. Frequency
calculations - numerical and analytical.
%freq
doVCD true
end
*xyz 0 1
C 1.231429 -0.226472 -0.084960
C -0.061893 0.507641 0.134338
C -1.358912 -0.147897 0.084831
O -0.902881 0.641038 -0.969176
H 1.070541 -1.118875 -0.689778
H 1.672013 -0.522768 0.869009
H 1.946503 0.413187 -0.605194
H 0.017832 1.411161 0.734623
H -1.417896 -1.212878 -0.118068
H -2.196737 0.255864 0.644375
*
Note that in addition to the Hessian, the VCD calculation requires the magnetic field response using GIAOs and
the electric field response with the field origin placed at (0,0,0). The latter matches the hard-coded magnetic field
gauge origin in the GIAO case and is necessary to ensure gauge-invariance of the results. ORCA does all of this
automatically but it means that if VCD is requested together with electric and/or magnetic properties in the same
job, the field origins cannot be changed.
Other keywords that influence the VCD calculation include GIAO_1el and GIAO_2el in %eprnmr and CutOffFreq
in %freq. Note also that VCD cannot be computed with NumFreq.
Raman Spectra
In order to predict Raman spectrum of a compound, derivatives of the polarizability with respect to the normal
modes must be computed. Thus, if a numerical frequency run (!NumFreq) is combined with a polarizability
calculation, the Raman characteristics will be automatically calculated.
Consider the following example:
*xyz 0 1
C 0.000000 0.000000 -0.533905
O 0.000000 0.000000 0.682807
H 0.000000 0.926563 -1.129511
H 0.000000 -0.926563 -1.129511
*
--------------
RAMAN SPECTRUM
--------------
The ORCA run generates also a .hess file that includes polarizability derivatives and Raman activities. The effect
of isotope substitution on the Raman activities can be computed using the .hess file.
As in the IR spectrum case, orca_mapspc provides a .dat file for plotting the computed Raman spectrum:
The Raman spectrum of H2 CO plotted by using the corresponding .dat file is as given in Figure Fig. 6.49.
Fig. 6.49: Calculated Raman spectrum of H2 CO at the STO-3G level plotted using the .dat generated by the
orca_mapspc utility from numerical frequencies and Raman activities.
It is worth noting that Raman scattering activity 𝑆𝑖 of each mode 𝑖 is related to but not directly equal to the Raman
intensity 𝐼𝑖 of the corresponding mode, which is dependent on the excitation line 𝜈0 of the laser used in the Raman
measurement(for Nd:YAG laser: 𝜈0 = 1064 nm = 9398.5 cm−1 ). To obtain significantly better agreement between
experimental and simulated Raman spectra, 𝐼𝑖 of each mode needs to be computed with the following formula:
𝑓 (𝜈0 − 𝜈𝑖 )4 𝑆𝑖
𝐼𝑖 =
𝜈𝑖 [1 − exp(−ℎ𝑐𝜈𝑖 /𝑘𝑇 )]
where 𝑓 is a normalization constant common for all modes; ℎ, 𝑐, 𝑘, and 𝑇 are Planck’s constant, speed of light,
Boltzmann’s constant, and temperature, respectively.
ò Note
• The Raman module works only when the polarizabilities are calculated analytically. Hence, only the
methods, for which the analytical derivatives w.r.t. to external fields are implemeted, can be used.
• Raman calculations take significantly longer than IR calculations due to the extra effort of calculating
the polarizabilities at all displaced geometries. Since the latter step is computationally as expensive as
the solution of the SCF equations you have to accept an increase in computer time by a factor of ≈ 2.
NRVS Spectra
The details of the theory and implementation of NRVS spectrum are as described in ref. [677, 680]. The NRVS
spectrum of 𝑖𝑟𝑜𝑛 − 𝑐𝑜𝑛𝑡𝑎𝑖𝑛𝑖𝑛𝑔 𝑚𝑜𝑙𝑒𝑐𝑢𝑙𝑒𝑠 can be simply calculated calling .hess file of a previous frequency
calculation with the orca_vib utility. The output file of this utility can then be called with orca_mapspc utility
to produce a .dat file for plotting the spectrum:
orca_vib MyJob.hess > MyJob.vib.out
orca_mapspc MyJob.vib.out NRVS
For a the ferric-azide complex [680], the computed and experimental NRVS spectra are provided in Figure Fig.
6.50.
Fig. 6.50: Experimental (a, black curve), fitted (a, red) and simulated (b) NRVS spectrum of the Fe(III)-azide
complex obtained at the BP86/TZVP level (T = 20 K). Bar graphs represent the corresponding intensities of the
individual vibrational transitions. The blue curve represents the fitted spectrum with a background line removed.
As for the calculation of resonance Raman spectra described in section Simulation and Fit of Vibronic Structure
in Electronic Spectra, Resonance Raman Excitation Profiles and Spectra with the orca_asa Program, the DFT
estimations are usually excellent starting points for least-square refinements.
Below we describe the procedure for computing such NRVS spectra on the Fe(SH)1− 4 complex with the BP86
functional, which typically provides good NRVS spectra. One needs first to optimize the geometry of the complex
and compute its vibrational structure:
! OPT FREQ BP86 def2-TZVP TightSCF SmallPrint
*xyz -1 6
Fe -0.115452 0.019090 -0.059506
S -0.115452 1.781846 1.465006
(continues on next page)
Now run the orca_vib utility on the .hess file generated by this job to obtain an output file that can be used with
orca_mapspc utility:
This orca_mapspc run generates Test-FeIIISH4-NumFreq.nrvs.dat file in the xy-format. This file contains
phonon energy (x, in cm−1 ) and NRVS intensity (y, in atomic units) and thus can be directly used for visualizing
the spectrum.
The corresponding NRVS spectrum is given in Figure Fig. 6.51 together with the computational IR spectrum on the
same frequency scale. NRVS reports the Doppler broadening of the Moessbauer signal due to resonant scattering
of phonons (vibrations) dominated by the movements of Fe nuclei. This is a valuable addition to IR spectrum
where the modes have very small intensities.
*xyz 0 1
C 0.000000 0.000000 -0.533905
O 0.000000 0.000000 0.682807
H 0.000000 0.926563 -1.129511
H 0.000000 -0.926563 -1.129511
*
This output can be directly opened with ChemCraft to visualize normal modes of H2 CO and to extract their arrow-
pictures representing the direction of nuclear movements as shown in Figure Fig. 6.52. As an example, one can
infer from this figure that the 1397 cm−1 mode corresponds to a rocking vibration.
Fig. 6.52: Normal modes of H2 CO with arrows indicating magnitude and direction of nuclear motions and the
associated vibrational frequencies in cm−1 obtained from ORCA output file through the use of ChemCraft
In order to animate vibrational modes and to create their “arrow-pictures” by using free program packages like
gOpenMol, the small utility program orca_pltvib can be used. This utility program generates a series of files
from an ORCA output file of a frequency run, which can be openned with molecular visualization programs. The
usage of orca_pltvib is as follows:
For example, let us want to animate the 1397 cm−1 mode labeled as 7:
orca_pltvib Test-FREQ-H2CO.out 7
This call will generate the Test-FREQ-H2CO.out.v007.xyz file. Open gOpenMol and read this file
(Import->coords) in Xmol format. Then, go to the Trajectory->Main menu and import again the file in Xmol
format. Now you are able to animate the mode. In order to generate a printable picture, press Dismiss and then
type lulVectorDemo {4 0.1 black} into the gOpenMol command line window. The generated picture (see
Figure Fig. 6.53) demonstrates that this mode corresponds to a rocking vibration.
Fig. 6.53: The 1397 cm−1 mode of the H2 CO molecule as obtained from the interface of ORCA to gOpenMol and
the orca_pltvib tool to create the animation file.
The appearence of the arrows can also be modified as described in the web tutorial of gOpenMol.
Isotope Shifts
The calculated isotope shifts greatly aid in the identification of vibrations, the interpretation of experiments, and
the assessment of the reliability of the calculated vibrational normal modes. It would be a very bad practice to
recalculate the Hessian for investigating isotope shift since Hessian calculations are typically expensive, and the
Hessian itself is independent of the masses. Below we describe how to find the isotope effect without recomputing
the Hessian.
Let us suppose that you have calculated a Hessian as in the example discussed above, and you want to predict the
effect of 18 O substitution. In this case you can use the small utility program orca_vib. First of all you need to
edit the masses given in the .hess file by hand. For the example given above, the .hess file is as follows:
$orca_hessian_file
......................
$hessian
12
... the cartesian Hessian in Eh/bohr**"
$vibrational_frequencies
12
$normal_modes
12 12
... the vibrational normal modes in Cartesian displacements
#
# The atoms: label mass x y z
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# Here we have changed 15.999 for oxygen into
# 18.0 in order to see the oxygen 18 effects
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
$atoms
4
C 12.0110 0.000000 0.000000 -1.149571
O 18.0000 -0.000000 -0.000000 1.149695
H 1.0080 -0.000000 1.750696 -2.275041
H 1.0080 -0.000000 -1.750696 -2.275041
$actual_temperature
0.000000
$dipole_derivatives
12
After changing the mass of O from 15.999 to 18.0 as shown above, let us call:
orca_vib Test-FREQ-H2CO.hess
This will recompute vibrational frequencies in the presence of 18 O. Let us compare vibrational frequencies in the
output of this run with the original frequencies in cm−1 :
Another way to analyze isotope shifts is to plot the two predicted spectra and then subtract one from the other. This
will produce derivative-shaped peaks with zero crossings at the positions of the isotope-sensitive modes.
ò Note
In the presence of point charges and/or an external electric field, the translational and rotational symmetries of
the system may be broken. In such cases, you may prefer NOT to project out the translational and rotational
degrees of freedom of the Hessian. This can be achieved as:
orca_vib Test-FREQ-H2CO.hess -noproj
6.12.4 Thermochemistry
The second thing that you get automatically as the result of a frequency calculation is a thermochemical analysis
based on ideal gas statistical mechanics. This can be used to study heats of formation, dissociation energies and
similar thermochemical properties. To correct for the breakdown of the harmonic oscillator approximation for low
frequencies, entropic contributions to the free energies are computed, by default, using the Quasi-RRHO approach
of Grimme.[322] To switch-off the Quasi-RRHO method and use the RRHO method, use:
Where the CutOffFreq parameter controls the cut-off for the low frequencies mode (excluded from the calculation
of the thermochemical properties). Note that the default CutOffFreq is 1 (cm−1 ) when Quasi-RRHO is on, since
Quasi-RRHO behaves much more reasonably for low frequencies than RRHO does. In particular, the entropy
contribution calculated by Quasi-RRHO approaches a constant value when the vibrational frequency approaches
zero, while the RRHO contribution diverges.
The Quasi-RRHO method smoothly interpolates between the entropy formulas of a harmonic oscillator and a
rigid rotor, such that high frequency vibrations behave like harmonic vibrations, and low frequency vibrations
behave like rotations with the same frequency. The frequency at which the entropy contribution is a half-half
mixture of rotation and vibration is called the “reference frequency” 𝜔0 of the Quasi-RRHO method, accessible
via the QRRHORefFreq keyword in %freq (see Frequency calculations - numerical and analytical). The default
value (100 cm−1 ) is consistent with the original Quasi-RRHO paper[322], but other papers may choose different
values, such as 50 cm−1 . Meanwhile, ORCA’s Quasi-RRHO implementation deviates from the original paper in
the choice of “average molecular moment of inertia” 𝐵av ; while in the original paper it is chosen as a fixed value
10−44 kg · m2 , in ORCA it is given as the isotropically averaged moment of inertia of the actual molecule at hand.
This is theoretically more justified than using the same moment of inertia for molecules of different sizes, although
the resulting difference in the Gibbs free energies is rather small, usually within 0.1 kcal/mol.
Note that the rotational contribution to the entropy is calculated using the expressions given by Herzberg [388]
including the symmetry number obtained from the order of the point group.4 While this is a good approximation,
one might want to modify the symmetry number or use a different expression [302]. For this purpose, the rotational
constants (in cm−1 ) of the molecule are also given in the thermochemistry output.
For example let us calculate a number for the oxygen-oxygen dissociation energy in the H2 O2 molecule. First run
the following jobs:
4 the corresponding equation for the partition function (assuming sufficiently high temperatures) of a linear molecule is 𝑄𝑖𝑛𝑡 = 𝜎ℎ𝑐𝐵 𝑘𝑇
and
√︁
for non-linear molecules 𝑄𝑖𝑛𝑡 = 𝜎 𝐴𝐵𝐶 ( ℎ𝑐 ) . A, B and C are the corresponding rotational constants, 𝜎 is the symmetry number. If
1 𝜋 𝑘𝑇 3
you want to choose a different symmetry number, ORCA also provides a table with the values for this entropy contribution for other symmetry
numbers. Herzberg reports the following symmetry numbers for the point groups C1 ,C𝑖 ,C𝑠 : 1; C2 ,C2𝑣 , C2ℎ : 2; C3 ,C3𝑣 ,C3ℎ : 3; C4 ,C4𝑣 ,C4ℎ :
4;C6 , C6𝑣 , C6ℎ : 6; D2 , D2𝑑 , D2ℎ =Vℎ : 4; D3 , D3𝑑 , D3ℎ : 6; D4 , D4𝑑 , D4ℎ : 8; D6 , D6𝑑 , D6ℎ : 12; S6 : 3; C∞𝑣 : 1; D∞ℎ : 2;T,T𝑑 : 12; Oℎ :
24.
The first job gives you the following output following the frequency calculation:
--------------------------
THERMOCHEMISTRY AT 298.15K
--------------------------
------------
INNER ENERGY
------------
--------
ENTHALPY
--------
-------
ENTROPY
-------
In case the symmetry of your molecule has not been determined correctly
or in case you have a reason to use a different symmetry number we print
out the resulting rotational entropy values for sn=1,12 :
--------------------------------------------------------
| sn= 1 | S(rot)= 0.00855439 Eh 5.37 kcal/mol|
| sn= 2 | S(rot)= 0.00789993 Eh 4.96 kcal/mol|
| sn= 3 | S(rot)= 0.00751710 Eh 4.72 kcal/mol|
| sn= 4 | S(rot)= 0.00724548 Eh 4.55 kcal/mol|
| sn= 5 | S(rot)= 0.00703479 Eh 4.41 kcal/mol|
| sn= 6 | S(rot)= 0.00686265 Eh 4.31 kcal/mol|
| sn= 7 | S(rot)= 0.00671710 Eh 4.22 kcal/mol|
| sn= 8 | S(rot)= 0.00659102 Eh 4.14 kcal/mol|
| sn= 9 | S(rot)= 0.00647981 Eh 4.07 kcal/mol|
| sn=10 | S(rot)= 0.00638033 Eh 4.00 kcal/mol|
| sn=11 | S(rot)= 0.00629034 Eh 3.95 kcal/mol|
| sn=12 | S(rot)= 0.00620819 Eh 3.90 kcal/mol|
--------------------------------------------------------
-------------------
GIBBS FREE ENERGY
-------------------
For completeness - the Gibbs free energy minus the electronic energy
G-E(el) ... 0.00465413 Eh 2.92 kcal/mol
------------
INNER ENERGY
------------
--------
ENTHALPY
--------
-------
ENTROPY
-------
-------
ENTROPY
-------
-------------------
GIBBS FREE ENERGY
-------------------
Let us calculate the free energy change for the reaction: 𝐻2 𝑂2 → 2𝑂𝐻
The individual energy terms are:
Electronic Energy: -151.46985 a.u. -(-151.55084) a.u. = 0.08099 a.u. (50.82 kcal/mol)
Zero-point Energy: 0.01675 a.u. - 0.02631 a.u. = -0.00956 a.u. (-6.00 kcal/mol)
Thermal Correction(translation/rotation): 0.00472 a.u. - 0.00283 a.u. = 0.00189 a.u. (1.19 kcal/mol)
Thermal Enthalpy Correction: 0.00189 a.u. - 0.00094 a.u. = 0.00095 a.u. (0.60 kcal/mol)
Entropy: -0.04047 a.u. -(-0.02584) a.u. = -0.01463 a.u. (-9.18 kcal/mol)
Final ∆G: 37.43 kcal/mol
Thus, both the zero-point energy and the entropy terms contribute significantly to the total free energy change of
the reaction. The entropy term is favoring the reaction due to the emergence of new translational and rotational
degrees of freedom. The zero-point correction is also favoring the reaction since the zero-point vibrational energy
of the O-O bond is lost. The thermal correction and the enthalpy correction are both small.
Tip
• You can run the thermochemistry calculations at several user defined temperatures and pressure by pro-
viding the program with a list of temperatures / pressures:
%freq Temp 290, 295, 300 # in Kelvin
Pressure 1.0, 2.0, 3.0 # in atm
end
• Once a Hessian is available you can rerun the thermochemistry analysis at several user defined temper-
atures / pressures by providing the keyword PrintThermoChem and providing the name of the Hessian
file:
! PrintThermoChem
%geom
inhessname "FreqJob.hess" # default: job-basename.hess
end
%freq Temp 290, 295, 300 # in Kelvin
Pressure 1.0, 2.0, 3.0 # in atm
end
%vpt2
(continues on next page)
%method
Z_Tol 1e-14
end
* xyz 0 1
O 0.00000000000000 0.06256176106279 0.06256176106280
H 0.00000000000000 -0.06185639479702 0.99929463373422
H 0.00000000000000 0.99929463373424 -0.06185639479703
*
After the analysis, a <basename>.vpt2 file should be present in the working directory. Within that file all the
force field and property derivatives are saved. It is used as an input for the orca_vpt2 programme which is called
automatically after the initial displacement calculations. The programme can also be called separately with the
command orca_vpt2 <basename>.vpt2.
ò Note
This way, ORCA will generate a file called pickett.txt that contains the computed data and templates for .var
which can be modified to serve as input for codes like SPCAT. Please note that this feature is still being refined and
extended.
%method
Z_Tol 1e-12
end
* xyz 0 1
C -1.09849212248373 0.14540972773089 -0.00000275092982
O 0.32138758531316 0.08706714755687 -0.00001212477411
H 0.66732439683790 0.98510769198508 0.00001819506998
H -1.45583606337199 -0.88374271593276 0.00000595999622
H -1.49206267729630 0.64725244577978 0.89143349761200
H -1.49208273899904 0.64724452288014 -0.89144277697426
*
and the next input file, say vpt2_methanol_NMR.inp with the same geometry and the level of theory for the
shielding tensor will look like this:
!TPSS pcSseg-2 Autoaux ExtremeSCF NMR
%vpt2
VPT2 on
AvgProp NMR
HessianCutoff 1e-12
end
%method
Z_Tol 1e-12
end
* xyz 0 1
C -1.09849212248373 0.14540972773089 -0.00000275092982
O 0.32138758531316 0.08706714755687 -0.00001212477411
H 0.66732439683790 0.98510769198508 0.00001819506998
H -1.45583606337199 -0.88374271593276 0.00000595999622
H -1.49206267729630 0.64725244577978 0.89143349761200
H -1.49208273899904 0.64724452288014 -0.89144277697426
*
Running ORCA successively on both of these input files in the same directory will yield an output that contains
the zero-point vibrational corrections to the shielding tensors for each atom. For Atom 0, which is the carbon in
methanol, it looks like this:
-----
Vibrationally averaged isotropic shieldings
----
Atom 0 :
So the absolute shielding constant of carbon in methanol needs to be corrected by -4.8 ppm due to zero-point
vibration. From the mean and mean square displacements and the first and second derivatives of the shieldings
with respect to the normal modes, one can also identify degrees of freedom which give rise to larger contributions
of the vibrational correction.
A similar input for the HH spin-spin coupling constants would look like this :
%maxcore 4096
%vpt2
VPT2 on
AvgProp JCOUPLING
AnharmDisp 0.05
HessianCutoff 1e-12
end
%method
Z_Tol 1e-12
end
%eprnmr
Tol 1e-10
end
* xyz 0 1
C -1.09849212248373 0.14540972773089 -0.00000275092982
O 0.32138758531316 0.08706714755687 -0.00001212477411
H 0.66732439683790 0.98510769198508 0.00001819506998
H -1.45583606337199 -0.88374271593276 0.00000595999622
H -1.49206267729630 0.64725244577978 0.89143349761200
H -1.49208273899904 0.64724452288014 -0.89144277697426
*
%eprnmr
Nuclei = all H {ssfc}
end
As mentioned above, the exact same procedure is also available for A-tensors. Here is an example for the NH2
radical with the VPT2 input file vpt2_NH2_FF.inp :
%vpt2
VPT2 On
end
%method
Z_Tol 1e-12
end
* xyz 0 2
N -0.01498947828047 -0.01894387811818 0.00000000000000
H 1.03197835263254 0.00908678452370 0.00000000000000
H -0.22855980523269 1.00639225931822 0.00000000000000
*
and the input file - something like vpt2_NH2_A.inp - for the level of theory that will be used in the A-tensor
computation:
%vpt2
VPT2 On
(continues on next page)
*xyz 0 2
N -0.01498947828047 -0.01894387811818 0.00000000000000
H 1.03197835263254 0.00908678452370 0.00000000000000
H -0.22855980523269 1.00639225931822 0.00000000000000
*
%eprnmr
Nuclei = all N { aiso, adip }
Nuclei = all H { aiso, adip }
end
and similarly for the g-tensor if Atensor is replaced by Gtensor in the %vpt2 block (the %eprnmr block can be
omitted then).
Note that a convenient way to compute vibrational corrections is the usage of a compound script. With an input
file called NH2.inp :
* xyz 0 2
N 0.00312611577632 0.00395297373474 0.00000000000000
H 1.01930353842041 0.00049997276783 0.00000000000000
H -0.23400058507735 0.99208221922117 0.00000000000000
*
%Compound "NH2.cmp"
New_Step
!UHF def2-SVP VeryTightSCF
%vpt2
VPT2 On
end
%method
Z_Tol 1e-12
end
* xyz 0 2
N 0.00312611577632 0.00395297373474 0.00000000000000
H 1.01930353842041 0.00049997276783 0.00000000000000
H -0.23400058507735 0.99208221922117 0.00000000000000
*
Step_End
New_Step
!UHF def2-SVP VeryTightSCF
%vpt2
VPT2 On
AvgProp Atensor
end
*xyz 0 2
(continues on next page)
%eprnmr
Nuclei = all N { aiso, adip }
Nuclei = all H { aiso, adip }
end
Step_End
END
ò Note
Make sure the correct hessian file names are given and the input files MUST not contain a compound block. You
can also rerun the VPT2 analysis using orca_vpt2 directly. If you have an anharmonic force field calculation
named myjob_ff and a property derivative calculation named myjob_prop just call orca_vpt myjob_ff.
vpt2 myjob_prop.vpt2.
---------------------------------------------------
STATIC POLARIZABILITY TENSOR (Dipole/Dipole)
---------------------------------------------------
Method : SCF
Type of density : Electron Density
Type of derivative : Electric Field (Direction=X)
Multiplicity : 1
Irrep : 0
Relativity type :
Basis : AO
Orientation:
0.969064588 -0.246807263 0.000017958
0.246807263 0.969064586 -0.000050696
-0.000004890 0.000053560 0.999999999
---------------------------------------------------
STATIC POLARIZABILITY TENSOR (Dipole/Quadrupole)
---------------------------------------------------
Method : SCF
Type of density : Electron Density
Type of derivative : Electric Field (Direction=X)
Multiplicity : 1
Irrep : 0
Relativity type :
Basis : AO
After this, the “traceless” version of the tensor is printed, which is usually denoted by 𝐴𝑥,𝑥𝑥 , 𝐴𝑥,𝑥𝑦 etc. in the
literature[164, 247, 574]. This is the preferred format for reporting dipole-quadrupole polarizability tensors. Cer-
tain references use the opposite sign convention than reported here, but generally the conventions of traceless
polarizability tensors are more unified than those of pure Cartesian polarizability tensors.
-------------------------------------------------------------
STATIC TRACELESS POLARIZABILITY TENSOR (Dipole/Quadrupole)
-------------------------------------------------------------
Method : SCF
Type of density : Electron Density
Type of derivative : Electric Field (Direction=X)
Multiplicity : 1
Irrep : 0
Relativity type :
Basis : AO
The quadrupole-quadrupole polarizability tensor is similarly printed in both the pure Cartesian and traceless forms.
Again, the traceless form (usually denoted as 𝐶𝑥𝑥,𝑥𝑥 , 𝐶𝑥𝑥,𝑥𝑦 etc.[164, 247, 574]) is the preferred format for re-
porting.
---------------------------------------------------
STATIC POLARIZABILITY TENSOR (Quadrupole/Quadrupole)
---------------------------------------------------
Method : SCF
Type of density : Electron Density
Type of derivative : Quadrupolar Field (Direction=X)
Multiplicity : 1
Irrep : 0
Relativity type :
Basis : AO
Orientation:
-0.000000018 -0.000019986 -0.000000013 -0.001433194 0.
˓→817436692 0.576016666
0.000000006 0.219691224 0.000000038 0.673107563 -0.
˓→405967809 0.577799371
0.000000008 -0.219450737 -0.000000021 -0.671194117 -0.
˓→408640606 0.578232381
-0.000000035 0.950566746 -0.000000034 -0.310519906 -0.
˓→000497156 -0.000034103
0.816443231 0.000000038 0.577425709 -0.000000037 0.
˓→000000027 0.000000000
-0.577425709 -0.000000003 0.816443231 -0.000000036 0.
˓→000000002 -0.000000003
-------------------------------------------------------------
STATIC TRACELESS POLARIZABILITY TENSOR (Quadrupole/Quadrupole)
-------------------------------------------------------------
Method : SCF
Type of density : Electron Density
Type of derivative : Quadrupolar Field (Direction=X)
Multiplicity : 1
Irrep : 0
Relativity type :
Basis : AO
ò Note
• Like the quadrupole moments themselves, the dipole-quadrupole and quadrupole-quadrupole po-
larizabilities depend on the gauge origin of the %elprop module. The latter can be changed using
the Origin keyword in %elprop; see section Electric Properties.
At the SCF level, dynamic (frequency-dependent) dipole polarizabilities can be computed using either purely real
or purely imaginary frequencies.
%elprop
polar 1
freq_r 0.08 # purely real frequencies
#freq_i 0.08 # purely imaginary frequencies
end
In the example above, the dynamic dipole polarizability tensor for a single real frequency of 0.8 a.u. is computed.
For every frequency, linear response equations must be solved for all component of the perturbation operator (3
Cartesian components of the electric dipole). Note that imaginary-frequency polarizabilities are computed with
the same costs as real-frequency polarizabilities. By a simple contour integration they can be used to compute
dispersion coefficients.
For methods that do not support analytic polarizabilities, one can calculate numeric dipole-dipole and quadrupole-
quadrupole polarizabilities, either by finite differentiation of dipole/quadrupole moments with respect to a finite
dipole/quadrupole electric field, or by double finite differentiation of the total energy with respect to a finite
dipole/quadrupole electric field. The latter can be done using compound scripts (see Compound Methods, Com-
pound Examples).
At the MP2 level, polarizabilities can currently be calculated analytically using the RI (RI-MP2 and Double-Hybrid
DFT Response Properties) or DLPNO (Local MP2 Response Properties) approximations or in all-electron canon-
ical calculations, but for canonical MP2 with frozen core orbitals the dipole moment has to be differentiated nu-
merically in order to obtain the polarizability tensor. In general in such cases, you should keep in mind that tight
SCF convergence is necessary in order to not get too much numerical noise in the second derivative. Also, you
should experiment with the finite field increment in the numerical differentiation process.
As an example, the following Compound job can be used to calculate the seminumeric polarizability at the MP2
level (replacing the now deprecated usage of Polar 2):
*xyz 0 1
O 0.00000000000000 0.05591162058341 0.05591162058342
H 0.00000000000000 -0.06629333722358 1.01038171664016
H 0.00000000000000 1.01038171664017 -0.06629333722358
*
%Compound "semiNumericalPolarizability.cmp"
with
method = "MP2";
basis = "aug-cc-pVDZ cc-pVDZ/C";
restOfInput = "VeryTightSCF PModel NoFrozenCore";
end
# ----------------------------------------------------------------------
# Field Free
# ----------------------------------------------------------------------
New_Step
!&{method} &{basis} &{restOfInput}
%Method
z_tol 1e-8
End
%MP2
Density Relaxed
End
#*xyzFile &{charge} &{mult} &{molecule}
Step_End
res = D_Free.readProperty(propertyName=myProperty, property_Base=true);
# ------------------------------------------------------------------
# Loop over the x, y, z directions and create the appropriate string
# ------------------------------------------------------------------
for direction from 0 to 2 Do
#Create the appropriate direction oriented field string
if (direction = 0) then #( X direction)
(continues on next page)
# ----------------------------------------
# And the minus (-) one
# ----------------------------------------
ReadMOs(1);
New_Step
!&{method} &{basis} &{restOfInput}
%SCF
EField = &{FFieldStringMinus}
End
%Method
z_tol 1e-8
End
%MP2
Density Relaxed
End
Step_End
res = D_Minus.readProperty(propertyName=myProperty, property_Base=true);
# ------------------------------------------
# Construct and store SCF polarizability
# ------------------------------------------
a[direction][0] = (D_Plus[0]-D_Minus[0])/(2*E_Field);
a[direction][1] = (D_Plus[1]-D_Minus[1])/(2*E_Field);
a[direction][2] = (D_Plus[2]-D_Minus[2])/(2*E_Field);
EndFor
# -----------------------------------------
# Diagonalize
# -----------------------------------------
a.Diagonalize(aEigenValues, aEigenVectors);
# -----------------------------------------
# Do some printing
(continues on next page)
EndFor
#
#
# ---------------------------------------------------
# Maybe remove unneccesary files
# ---------------------------------------------------
if (removeFiles) then
sys_cmd("rm *_Compound_* *.bas* ");
EndIf
End
# Ethanol - Calculation of the NMR chemical shieldings at the HF/SVP level of theory
! RHF SVP Bohrs NMR
* xyz 0 1
C -1.22692181 0.24709455 -0.00000000
C -0.01354839 -0.54677253 0.00000000
H -2.09280406 -0.41333631 0.00000000
H -1.24962478 0.87541936 -0.88916500
H -1.24962478 0.87541936 0.88916500
O 1.09961824 0.30226226 -0.00000000
H 0.00915178 -1.17509696 0.88916500
H 0.00915178 -1.17509696 -0.88916500
H 1.89207683 -0.21621566 0.00000000
*
The output for the shieldings contains detailed information about the para- and diamagnetic contribution, the ori-
entation of the tensor, the eigenvalues, its isotropic part etc. For each atom, an output block with this information
is given :
--------------
Nucleus 0C :
--------------
Note that all units are given in ppm and the chemical shieldings given are absolute shieldings (see below). At the
end of the atom blocks, a summary is given with the isotropic shieldings and the anisotropy [565] for each nucleus:
Thus, the absolute, isotropic shielding for the 13 C nuclei are predicted to be 229.5 and 227.6 ppm and for 17 O it
is 334.1 ppm. While basis set convergence using GIAOs is rapid and smooth, it is still recommended to do NMR
calculations with basis sets including tight exponents, such as the purpose-built pcSseg-𝑛. However, TZVPP or
QZVP should be sufficient in most cases. [59, 265]
An important thing to note is that in order to compare to experiment, a standard molecule for the type of nucleus
of interest has to be chosen. In experiment, NMR chemical shifts are usually determined relative to a standard,
for example either CH4 or TMS for proton shifts. Hence, the shieldings for the molecule of interest and a given
standard molecule are calculated, and the relative shieldigs are obtained by subtraction of the reference value from
the computed value. It is of course important that the reference and target calculations have been done with the same
basis set and functional. This also helps to benefit from error cancellation if the standard is chosen appropriately
(one option is even to consider an “internal standard” - that is to use for example the 13 C shielding of a methyl
group inside the compound of interest as reference).
Let us consider an example - propionic acid (CH3 -CH2 COOH). In databases like the AIST (http://sdbs.db.aist.go.
jp) the 13 C spectrum in CDCl3 can be found. The chemical shifts are given as 𝛿1 = 8.9 ppm, 𝛿2 = 27.6 ppm, 𝛿3
= 181.5 ppm. While intuition already tells us that the carbon of the carboxylic acid group should be shielded the
least and hence shifted to lower fields (larger 𝛿 values), let’s look at what calculations at the HF, BP86 and B3LYP
level of theory using the SVP and the TZVPP basis sets yield:
method 𝜎1 𝜎2 𝜎3
HF/SVP 191.7 176.6 23.7
HF/TZVPP 183.5 167.1 9.7
B86/SVP 181.9 165.8 26.5
B86/TZVPP 174.7 155.5 7.6
B3LYP/SVP 181.8 165.8 22.9
B3LYP/TZVPP 173.9 155.0 2.9
Looking at these results, we can observe several things - first of all, the dramatic effect of using too small basis
sets, which yields differences of more than 10 ppm. Second, the results obviously change a lot upon inclusion of
electron correlation by DFT and are functional dependent. Last but not least, these values have nothing in common
with the experimental ones (they change in the wrong order), as the calculation yields absolute shieldings like in
the table above, but the experimental ones are relative shifts, in this case relative to TMS.
In order to obtain the relative shifts, we calculate the shieldings 𝜎𝑇 𝑀 𝑆 of the standard molecule (TMS HF/TZVPP:
194.1 ppm, BP86/TZVPP: 184.8 ppm, B3LYP/TZVPP: 184.3 ppm) and by using 𝛿𝑚𝑜𝑙 = 𝜎𝑟𝑒𝑓 − 𝜎𝑚𝑜𝑙 we can
evaluate the chemical shifts (in ppm) and directly compare to experiment:
method 𝛿1 𝛿2 𝛿3
HF/TZVPP 10.6 27.0 184.4
B86/TZVPP 10.1 29.3 177.2
B3LYP/TZVPP 10.4 29.3 181.4
Exp. 8.9 27.6 181.5
A few notes on the GIAO implementation in ORCA are in order. The use of GIAOs lead to some fairly complex
molecular one- and two-electron integrals and a number of extra terms on the right hand side of the coupled-
perturbed SCF equations. The two-electron contributions in particular can be time consuming to calculate. Thus,
the RIJK, RIJDX, and RIJCOSX approximations were implemented and tested.[826] By default, the approximation
used for the SCF is also applied to the GIAO integrals, but the latter can be changed using the GIAO_2el keyword
in the eprnmr input block (see section EPR and NMR properties). Note that, while the default COSX grids are
typically sufficiently accurate for chemical shifts, the use of defgrid3 is recommended for special cases or post-HF
calculations.
The user can finely control for which nuclei the shifts are calculated (although this will not reduce the computational
cost very much, which is dominated by the CP-SCF equations for the magnetic field). This works in exactly the
same way as for the hyperfine and quadrupole couplings described in the next section. For example:
! B3LYP def2-TZVP TightSCF
* int 0 1
C 0 0 0 0 0 0
C 1 0 0 1.35 0 0
H 1 2 0 1.1 120 0
H 1 2 3 1.1 120 180
H 2 1 3 1.1 120 0
H 2 1 3 1.1 120 180
*
%eprnmr
Ori = GIAO
Nuclei = all C { shift }
Nuclei = all H { shift }
end
NMR chemical shifts are also implemented in combination with implicit solvent models, hence the NMR keyword
can be combined with the CPCM input block. Note that for calculations including implicit solvent, it is highly rec-
ommended to also optimize the geometries using the same model. Regardless, explicit solvent–solute interactions
observable in NMR (e.g. H-bonds), cannot be modelled with such a model: solvent molecules must be included
explicitly in the calculation.
ˆ𝐹 𝐶 = 8 𝜋
∑︁
𝐻 𝛿(𝑟𝑖 − 𝑟𝑘 ) m𝑘 (6.11)
3
𝑖𝑘
ˆ 𝑆𝐷 =
∑︁ 3 r𝑖𝑘 r𝑖𝑘𝑇 − 𝑟𝑖𝑘
2
𝐻 m𝑇𝑘 5 s𝑖 (6.12)
𝑟𝑖𝑘
𝑖𝑘
While the Fermi contact term is usually the most significant, all contributions can be computed at the HF and DFT
level of theory using ORCA. For this purpose, the keyword ssall has to be invoked in the eprnmr input block,
while each of the four terms can be requested using ssdso, sspso, ssfc, and sssd, respectively. For example:
! PBE0 pcJ-1
*xyz 0 1
O 0.00000 0.00000 0.11779
H 0.00000 0.75545 -0.47116
H 0.00000 -0.75545 -0.47116
*
%eprnmr
Nuclei = all O { ssall }
Nuclei = all H { ssfc, sssd }
end
Results will be given in Hz. Note that the default isotopes used might not be the ones desired for the calculation
of NMR properties, so it is recommended to define the corresponding isotopes using the ist flag. It is possible
to also print the reduced coupling constants 𝐾 (in units of 1019 · T · J−2 ), which are independent of the nuclear
isotopes, using the flag PrintReducedCoupling=True.
The CP-SCF equations must be solved for one of the nuclei in each pair and are the bottleneck of the computation.
Therefore, spin-spin coupling constants are calculated only between nuclei within a certain distance of eachother
(5 Ångstrom by default). The latter can be changed using the SpinSpinRThresh keyword.
If mulitple nuclides are requested, it is also possible to select only certain element pairs (e.g. only C–H and H–H,
without C–C) using the SpinSpinElemPairs keyword. Analogously, the SpinSpinAtomPairs keyword selects
the actual pairs of nuclei to consider. The union of the latter two options is used to reduce the selection made using
the Nuclei input, after which SpinSpinRThresh is applied.
Here is another example illustrating these additional options:
! B3LYP EPR-II
* xyz 0 1
C -1.226922 0.247095 -0.000000
C -0.013548 -0.546773 0.000000
H -2.092804 -0.413336 0.000000
H -1.249625 0.875419 -0.889165
H -1.249625 0.875419 0.889165
O 1.099618 0.302262 -0.000000
H 0.009152 -1.175097 0.889165
H 0.009152 -1.175097 -0.889165
H 1.892077 -0.216216 0.000000
*
%eprnmr
nuclei = all C { ssall, ist = 13 };
nuclei = all H { ssall, ist = 1 };
nuclei = all O { ssall, ist = 17 };
PrintReducedCoupling true
SpinSpinRThresh 3.0 # Angstrom
SpinSpinElemPairs {C C} {O *} # "*" means any element
SpinSpinAtomPairs {8 *} # indices start from 0
# Final selection:
# C 0 - C 1
# C 0 - O 5
# C 1 - O 5
# C 1 - H 8
# H 3 - O 5
# H 4 - O 5
# O 5 - H 6
# O 5 - H 7
# O 5 - H 8
(continues on next page)
NMR Spectra
From the computed NMR shieldings and spin-spin coupling constants, the coupled NMR spectra can be simulated.
The most typical NMR experiments are decoupled 13 𝐶 and coupled 1 𝐻 spectra, so we will focus on these here.
For simulating a full NMR spectrum, we will use ethyl crotonate as an example, and three steps are required: 1)
computation of the spin-spin coupling constants, 2) computation of the chemcial shieldings and 3) simulation of the
spectrum using a spin-Hamiltonian formalism. Note that these steps can be carried out independently and different
levels of theory can be used for shieldings and couplings and the order of steps 1 and 2 doesn’t matter.
Furthermore, if the spectra are to be simulated with TMS as reference, the shieldings for TMS are required (the hy-
drogen and carbon values in this case are 31.77 and 188.10 ppm, respectively). Here is the input for the calculation
for the coupling constants, which is named ethylcrotonate_sscc.inp:
*xyzfile 0 1 ethylcrotonate.xyz
%eprnmr
Nuclei = all H {ssall}
end
The spin-spin coupling constants will be stored in the file ethylcrotonate_sscc.property.txt, which the
simulation of the NMR spectrum will need to read. The NMR shieldings and will be computed in the next step,
for which the input ethylcrotonate_nmr.inp looks like this:
*xyzfile 0 1 ethylcrotonate.xyz
The final NMR spectrum simulation is carried out using orca_nmrspectrum, which requires a separate input file
ethylcrotonate.nmrspec which looks like this (note the required final END statement):
NMRREF[X] Reference value for the absolute shielding of element X used in the relative shifts of the simulated
spectrum. Typically, these are the absolute shielding values from a separate calculation of TMS, for example, and
will be zero ppm in the simulated spectrum.
NMREquiv The user has to specify groups of NMR equivalent nuclei. These are typically atoms which interchange
on the NMR timescale, like methyl group protons. The shieldings and couplings will be averaged for each group
specified by the user.
with this input, orca_nmrspectrum is called with two arguments, the first one is a gbw file which contains all
informations about the molecule, typically this is the gbw file of the nmr or the sscc calculation, and the name of
the input file given above:
orca_nmrspectrum ethylcrotonate_nmr.gbw ethylcrotonate.nmrspec > output
If this calculation is carried out, the NMR spectrum module will read the files
ethylcrotonate_sscc.property.txt and ethylcrotonate_nmr.property.txt, extract the shieldings and
couplings, average the equivalent nuclei and set up an effective NMR spin Hamiltonian for each nucleus:
³ Caution
This includes all nuclei this nuclear spin couples to and should not contain too many spins (see
SpinSpinRThres), as the spin Hamiltonian for each atom and the nuclei it couples to is diagonalized brute
force. Afterwards, all spin excitations are accumulated and merged into the final spectrum for each element.
For ethyl crotonate the NMR spectrum output looks like this:
-----------------------------------------------------
NMR Peaks for atom type 1, ref value 31.7700 ppm :
-----------------------------------------------------
Atom shift[ppm] rel.intensity
8 2.34 9.00
8 2.36 9.00
8 2.25 9.00
8 2.27 9.00
9 6.34 1.00
9 6.36 3.00
9 6.38 3.00
9 6.41 1.00
9 6.14 1.00
9 6.16 3.00
9 6.19 3.00
9 6.21 1.00
12 7.95 1.00
12 7.85 3.00
12 7.75 4.00
12 7.65 4.00
12 7.56 3.00
12 7.47 1.00
13 1.71 9.00
13 1.61 18.00
13 1.52 9.00
16 4.56 4.00
16 4.46 12.00
16 4.37 12.00
16 4.27 4.00
-----------------------------------------------------
NMR Peaks for atom type 6, ref value 188.1000 ppm :
-----------------------------------------------------
Atom shift[ppm] rel.intensity
2 25.70 1.00
3 155.15 1.00
4 19.96 1.00
5 68.91 1.00
6 174.39 1.00
7 130.29 1.00
-----------------------------------------------------
NMR Peaks for atom type 8, ref value 104.8826 ppm :
-----------------------------------------------------
Atom shift[ppm] rel.intensity
0 0.00 5.00
1 149.74 5.00
The first column denotes the atom number of the nucleus the signal arises from, the second column denotes the
line position in ppm and the third line denotes the relative intensity of the signal. For oxygen, no reference value
was given, so the program will autmatically set the lowest value obtained in the calculation as reference value.
Using gnuplot, for example, to plot the spectrum, the following plots for 13 𝐶 and 1 𝐻 are obtained5 :
Fig. 6.54: Simulated 1 3𝐶 (top) and 1H (bottom) NMR spectra. Note that as only HH couplings have been com-
puted, the spectra do not include any CH couplings and the carbon spectrum is also uncoupled.
This makes comparison to experiment and assessment of the computed parameters much easier, however, it is not as
advanced as other codes and does not, for example, take conformational degrees of freedom etc. into account. Note
that the corresponding property files can also be modified to tinker with the computed shieldings and couplings.
5 The basic plot options for using gnuplot are plot "mydata" using 2:3 w i, "mydata" using 2:3:1 with labels
Fig. 6.55: The shielding tensors of each atom in CF3SCH3 have been plotted as ellipsoids (a,b and c axis equivalent
to the normalized principle axes of the shielding tensors) at the given nuclei.
6 the same scheme can be applied to visualize polarisability tensors in the molecular framework using orca_plot.
In this example the hyperfine tensor is calculated for all carbon atoms and atom 2, which is nitrogen in this case.
ò Note
The output looks like the following. It contains detailed information about the individual contributions to the hy-
perfine couplings, its orientation, its eigenvalues, the isotropic part and (if requested) also the quadrupole coupling
tensor.
-----------------------------------------
ELECTRIC AND MAGNETIC HYPERFINE STRUCTURE
-----------------------------------------
-----------------------------------------------------------
Nucleus 0C : A:ISTP= 13 I= 0.5 P=134.1903 MHz/au**3
Q:ISTP= 13 I= 0.5 Q= 0.0000 barn
-----------------------------------------------------------
Raw HFC matrix (all values in MHz):
-----------------------------------
695.8952 0.0000 -0.0000
0.0000 543.0617 -0.0000
-0.0000 -0.0000 543.0617
Notes: (1) The A matrix conforms to the "SAI" spin Hamiltonian convention.
(2) Tensor is right-handed.
-----------------------------------------------------------
Nucleus 1N : A:ISTP= 14 I= 1.0 P= 38.5677 MHz/au**3
Q:ISTP= 14 I= 1.0 Q= 0.0204 barn
-----------------------------------------------------------
(continues on next page)
Notes: (1) The A matrix conforms to the "SAI" spin Hamiltonian convention.
(2) Tensor is right-handed.
Another important point to consider for hyperfine calculations concerns the choice of basis sets. You should
normally use basis sets that have more flexibility in the core region. In the present example a double-zeta basis
set was used. For accurate calculations this is not sufficient. There are several dedicated basis set for hyperfine
calculations:
• EPR-II basis of Barone and co-workers: It is only available for a few light atoms (H, B, C, N, O, F) and is
essentially of double-zeta plus polarization quality with added flexibility in the core region, which should
give reasonable results.
• IGLO-II and IGLO-III bases of Kutzelnigg and co-workers: They are fairly accurate but also only available
for some first and second row elements.
• CP basis: They are accurate for first row transition metals as well.
• uncontracted Partridge basis: They are general purpose HF-limit basis sets and will probably be too expensive
for routine use, but are very useful for calibration purposes.
For other elements ORCA does not yet have dedicated default basis sets for this situation it is very likely that you
have to tailor the basis set to your needs. If you use the statement Print[p_basis] 2 in the %output block
(or PrintBasis in the simple input line) the program will print the actual basis set in input format (for the basis
block). You can then add or remove primitives, uncontract core bases etc. For example, here is a printout of the
carbon basis DZP in input format:
# Basis set for element : C
NewGTO 6
s 5
1 3623.8613000000 0.0022633312
2 544.0462100000 0.0173452633
3 123.7433800000 0.0860412011
4 34.7632090000 0.3022227208
5 10.9333330000 0.6898436475
s 1
1 3.5744765000 1.0000000000
s 1
1 0.5748324500 1.0000000000
s 1
1 0.1730364000 1.0000000000
p 3
1 9.4432819000 0.0570590790
2 2.0017986000 0.3134587330
3 0.5462971800 0.7599881644
p 1
1 0.1520268400 1.0000000000
d 1
1 0.8000000000 1.0000000000
end;
The “s 5”, for example, stands for the angular momentum and the number of primitives in the first basis function.
Then there follow five lines that have the number of the primitive, the exponent and the contraction coefficient
(unnormalized) in it. Remember also that when you add very steep functions you must increase the size of
the integration grid if you do DFT calculations! If you do not do that your results will be inaccurate. You can
increase the radial grid size by using IntAcc in the Method block or for individual atoms (section Other details
and options explains how to do this in detail). In the present example the changes caused by larger basis sets in
the core region and more accurate integration are relatively modest – on the order of 3%, which is, however, still
significant if you are a little puristic.
The program can also calculate the spin-orbit coupling contribution to the hyperfine coupling tensor as described in
section EPR and NMR properties.To extract the A tensor from a oligonuclear transition metal complex, the A(iso)
value in the output is to be processed according to the method described in ref. [645].
For the calculation of HFCCs using DLPNO-CCSD it is recommended to use the tailored truncation settings !
DLPNO-HFC1 or !DLPNO-HFC2 in the simple keyword line which correspond to the “Default1” and “Default2”
setting in Ref. [743].
If also EPR g-tensor or D-tensor calculations (see next section) are carried out in the same job, ORCA automatically
prints the orientation between the hyperfine/quadrupole couplings and the molecular g- or D-tensor. For more
information on this see section orca_euler.
The simplest way is to call the g-tensor property in the simple input line as shown above, but it can also be specified
in the %eprnmr block with gtensor true. Starting from ORCA 5.0 the default treatment of the gauge is the
GIAO approach, but this can be modified by the keyword ori. Other options are defined in section EPR and NMR
properties. SOMF(1X) defines the chosen spin-orbit coupling (SOC) operator. The details of the SOC operator
are defined in section The Spin-Orbit Coupling Operator. Other choices and additional variables exist and can be
set as explained in detail in section The Spin-Orbit Coupling Operator.
The output looks like the following. It contains information on the contributions to the g-tensor (relativistic
mass correction, diamagnetic spin-orbit term (= gauge-correction), paramagnetic spin-orbit term (= OZ/SOC)),
the isotropic g-value and the orientation of the total tensor.
-------------------
ELECTRONIC G-MATRIX
-------------------
The g-matrix:
2.0104321 -0.0031354 -0.0000000
-0.0031354 2.0081968 -0.0000000
-0.0000000 -0.0000000 2.0021275
Orientation:
X 0.0000000 0.5762906 -0.8172448
Y 0.0000000 0.8172448 0.5762906
Z 1.0000000 -0.0000000 0.0000000
G-tensor calculations using GIAOs are now available at SCF and the RI-MP2 level. Note that GIAOs are NOT
currently available with CASSCF linear response and a gauge origin must be provided in the %eprnmr block (see
CASSCF Linear Response). GIAOs for CASSCF response are coming soon to ORCA!
The GIAO one-electron integrals are done analytically by default whereas the treatment of the GIAO two-electron
integrals is chosen to be same as for the SCF. The available options which can be set with giao_1el / giao_2el
in the %eprnmr block can be found in section EPR and NMR properties.
Concerning the computational time, for small systems, e.g. phenyl radical (41 electrons), the rijk-approximation
is good to use for the SCF-procedures as well as the GIAO two-electron integrals. Going to larger systems,
e.g. chlorophyll radical (473 electrons), the rijcosx-approximation reduces the computational time enormously.
While the new default grid settings in ORCA 5.0 (defgrid2) should be sufficient in most cases, certain cases
might need the use of defgrid3. The output looks just the same as for the case without GIAOs, but with addi-
tional information on the GIAO-parts.
If the total spin of the system is 𝑆 >1/2 then the zero-field-splitting tensor can also be calculated and printed. For
example consider the following job on a hypothetical Mn(III)-complex.
! BP86 def2-SVP SOMF(1X)
* int 1 5
Mn 0 0 0 0 0 0
O 1 0 0 2.05 0 0
O 1 2 0 2.05 90 0
O 1 2 3 2.05 90 180
O 1 2 3 2.05 180 0
(continues on next page)
The output documents the individual contributions to the D-tensor which also contains (unlike the g-tensor) con-
tributions from spin-flip terms.
Some explanation must be provided:
• The present implementation in ORCA is valid for HF, DFT and hybrid DFT.
• There are four different variants of the SOC-contribution, which shows that this is a difficult property. We
will briefly discuss the various choices.
• The QRO method is fully documented[612] and is based on a theory developed earlier.[622] The QRO
method is reasonable but somewhat simplistic and is superseded by the CP method described below.
• The Pederson-Khanna model was brought forward in 1999 from qualitative reasoning.[657] It also contains
incorrect prefactors for the spin-flip terms. We have nevertheless implemented the method for comparison.
In the original form it is only valid for local functionals. In ORCA it is extended to hybrid functionals and
HF.
• The coupled-perturbed method is a generalization of the DFT method for ZFSs; it uses revised prefactors
for the spin-flip terms and solves a set of coupled-perturbed equations for the SOC perturbation. Therefore
it is valid for hybrid functionals. It has been described in detail.[614]
• The DSS part is an expectation value that involves the spin density of the system. In detailed calibration
work[800] it was found that the spin-unrestricted DFT methods behave somewhat erratically and that much
more accurate values were obtained from open-shell spin-restricted DFT. Therefore the “UNO” option allows
the calculation of the SS term with a restricted spin density obtained from the singly occupied unrestricted
natural orbitals.
• The DSS part contains an erratic self-interaction term for UKS/UHF wavefunction and canonical orbitals.
Thus, UNO is recommended for these types of calculations.[724] If the option DIRECT is used nevertheless,
ORCA will print a warning in the respective part of the output.
• In case that D-tensor is calculated using the correlated wave function methods such as (DLPNO-/LPNO-
)CCSD, one should not use DSS=UNO option.
More information about the D-tensor can be found in section Zero-Field-Splitting.
Fig. 6.56: An idealized Mössbauer spectrum showing both the isomer shift, 𝛿, and the quadrupole splitting, ∆𝐸Q .
The isomer shift measures the shift in the energy of the 𝛾-ray absorption relative to a standard, usually Fe foil. The
isomer shift is sensitive to the electron density at the nucleus, and indirectly probes changes in the bonding of the
valence orbitals due to variations in covalency and 3d shielding. Thus, it can be used to probe oxidation and spin
states, and the coordination environment of the iron.
The quadrupole splitting arises from the interaction of the nuclear quadrupole moment of the excited state with the
electric field gradient at the nucleus. The former is related to the non-spherical charge distribution in the excited
state. As such it is extremely sensitive to the coordination environment and the geometry of the complex.
Both the isomer shift and quadrupole splitting can be successfully predicted using DFT methods. The isomer shift
is directly related to the s electron density at the nucleus and can be calculated using the formula
𝛿 = 𝛼(𝜌0 − 𝐶) + 𝛽 (6.14)
where 𝛼 is a constant that depends on the change in the distribution of the nuclear charge upon absorption, and 𝜌0
is the electron density at the nucleus [609]. The constants 𝛼 and 𝛽 are usually determined via linear regression
analysis of the experimental isomer shifts versus the theoretically calculated electron density for a series of iron
compounds with various oxidation and spin states. Since the electron density depends on the functional and basis
set employed, fitting must be carried out for each combination used. A compilation of calibration constants (𝛼, 𝛽
and 𝐶) for various methods was assembled.[708] Usually an accuracy of better than 0.10 mm s−1 can be achieved
for DFT with reasonably sized basis sets.
The quadrupole splitting is proportional to the largest component of the electric field gradient (EFG) tensor at the
iron nucleus and can be calculated using the formula:
)︂ 1
𝜂2 2
(︂
1 (6.15)
∆𝐸Q = 𝑒𝑄𝑉𝑧𝑧 1 +
2 3
where 𝑒 is the electrical charge of an electron and 𝑄 is the nuclear quadrupole moment of Fe (approximately 0.16
barns). 𝑉𝑥𝑥 , 𝑉𝑦𝑦 and 𝑉𝑧𝑧 are the electric field gradient tensors and 𝜂, defined as
⃒ ⃒
⃒ 𝑉𝑥𝑥 − 𝑉𝑦𝑦 ⃒
𝜂=⃒ ⃒ ⃒ (6.16)
𝑉𝑧𝑧 ⃒
is the asymmetry parameter in a coordinate system chosen such that |𝑉𝑧𝑧 | ≥ |𝑉𝑦𝑦 | ≥ |𝑉𝑥𝑥 |.
An example of how to calculate the electron density and quadrupole splitting of an iron center is as follows:
%eprnmr
nuclei = all Fe {fgrad, rho}
end
If the core properties basis set CP(PPP) is employed, one might have to increase the radial integration accuracy
for the iron atom. From ORCA 5.0 this is considered during grid construction and the defaults should work very
well. However for very problematic cases it can be increased by controlling the SPECIALGRIDINTACC flag under
%METHOD (see Sec. Other details and options for details).
The output file should contain the following lines, where you obtain the calculated quadrupole splitting directly
and the RHO(0) value (the electron density at the iron nucleus). To obtain the isomer shift one has to insert the
RHO(0) value into the appropriate linear equation (Eq. (6.14)).
ò Note
• Following the same procedure, Mössbauer parameters can be computed with the CASSCF wavefunc-
tion. In case of a state-averaged CASSCF calculation, the averaged density is used in the subsequent
Mössbauer calculation.
⃗A 𝑆
𝐻HDvV = −2𝐽AB 𝑆 ⃗B (6.17)
It is easy to show that such a Hamiltonian leads to a “ladder” of spin states from 𝑆 = 𝑆A + 𝑆B down to
𝑆 = |𝑆A − 𝑆B |. If the parameter 𝐽AB is positive the systems “A” and “B” are said to be ferromagnetically coupled
because the highest spin-state is lowest in energy while in the case that 𝐽AB is negative the coupling is antiferro-
magnetic and the lowest spin state is lowest in energy.
In the broken symmetry formalism one tries to obtain a wavefunction that breaks spatial (and spin) symmetry. It
may be thought of as a “poor man’s MC-SCF” that simulates a multideterminantal character within a single deter-
minant framework. Much could be said about the theoretical advantages, disadvantages, problems and assumptions
that underly this approach. Here, we only want to show how this formalism is applied within ORCA.
For 𝑁A unpaired electrons localized on “site A” and 𝑁B unpaired electrons localized on a “site B” one can calculate
the parameter 𝐽AB from two separate spin-unrestricted SCF calculations: (a) the calculation for the high-spin state
with 𝑆 = (𝑁A +𝑁2
B)
and (b) the “broken symmetry” calculation with 𝑀𝑆 = (𝑁A −𝑁 2
B)
that features 𝑁A spin-up
electrons that are quasi-localized on “site A” and 𝑁B spin-down electrons that are quasi-localized on “site B”.
Several formalisms exist to extract 𝐽AB : [91, 303, 637, 638, 809, 898].
(𝐸HS − 𝐸BS )
𝐽AB = − 2 (6.18)
(𝑆A + 𝑆B )
(𝐸HS − 𝐸BS )
𝐽AB = − (6.19)
(𝑆A + 𝑆B ) (𝑆A + 𝑆B + 1)
(𝐸HS − 𝐸BS )
𝐽AB = − (6.20)
⟨𝑆 2 ⟩HS − ⟨𝑆 2 ⟩BS
We prefer the last definition (Eq. (6.20)) because it is approximately valid over the whole coupling strength regime
while the first equation implies the weak coupling limit and the second the strong coupling limit.
In order to apply the broken symmetry formalism use:
The program will then go through a number of steps. Essentially it computes an energy and wavefunction for the
high-spin state, localizes the orbitals and reconverges to the broken symmetry state.
³ Caution
Make sure that in your input coordinates “site A” is the site that contains the larger number of unpaired electrons!
Most often the formalism is applied to spin coupling in transition metal complexes or metal-radical coupling or to
the calculation of the potential energy surfaces in the case of homolytic bond cleavage. In general, hybrid DFT
methods appear to give reasonable semiquantitative results for the experimentally observed splittings.
As an example consider the following simple calculation of the singlet–triplet splitting in a stretched Li2 molecule:
#
# Example of a broken symmetry calculation
#
! B3LYP DEF2-SVP TightSCF
%scf BrokenSym 1,1
end
* xyz 0 3
Li 0 0 0
Li 0 0 4
*
There is a second mechanism for generating broken-symmetry solutions in ORCA. This mechanism uses the indi-
vidual spin densities and is invoked with the keywords FlipSpin and FinalMs. The strategy is to exchange the 𝛼
and 𝛽 spin blocks of the density on certain user-defined centers after converging the high-spin wavefunction. With
this method arbitrary spin topologies should be accessible. The use is simple:
#
# Example of a broken symmetry calculation using the "FlipSpin" feature
#
! B3LYP DEF2-SVP TightSCF
%scf
FlipSpin 1
# Flip spin is a vector and you can give a list of atoms
# on which you want to have the spin flipped. For example
# FlipSpin 17,38,56
# REMEMBER: counting starts at atom 0!
FinalMs 0
# The desired Ms value of the broken symmetry determinant.
# This value MUST be given since the program cannot determine it by itself.
end
* xyz 0 3
Li 0 0 0
Li 0 0 4
*
Finally, you may attempt to break the symmetry by using the SCF stability analysis feature (see Section SCF
Stability Analysis). The ground spin state can be obtained by diagonalizing the above spin Hamiltonian through
ORCA-ECA utility (see orca_eca).
Here, 𝑆𝑍BS is the 𝑧-component of the total spin for the BS state (𝑆𝑍BS = (𝑁𝛼 − 𝑁𝛽 )/2). Alternatively, one can
adopt Noodleman’s scheme,[638] where 𝛼 is calculated as follows
(︀ )︀ (︀ )︀
𝑆 HS 𝑆 HS + 1 − 𝑆𝑍BS 𝑆𝑍BS + 1
𝛼= 2 (6.23)
(𝑆 HS )
or Ruiz’s scheme,[734] with 𝛼 equal to
(︀ )︀ (︀ )︀
𝑆 HS 𝑆 HS + 1 − 𝑆𝑍BS 𝑆𝑍BS + 1
𝛼= (6.24)
𝑆 HS (𝑆 HS + 1)
The AP method is requested via the tag APMethod in the %scf block:
%scf BrokenSym NA,NB
APMethod 3 # 1 = Noodleman
# 2 = Ruiz
# 3 = Yamaguchi
end
The default is APMethod 0, which corresponds to a normal BS calculation. Yamaguchi’s AP method is available
for single point energy calculations and geometry optimizations. If we run a geometry optimization in the context
of Yamaguchi’s AP method, then, the gradient of equation (6.21) w.r.t a nuclear displacement 𝑋 reads as
𝜕𝐸AP 𝜕𝐸BS 𝜕𝐸HS 𝜕𝛼
=𝛼 − (𝛼 − 1) + (𝐸BS − 𝐸HS ) (6.25)
𝜕𝑋 𝜕𝑋 𝜕𝑋 𝜕𝑋
The last term contains the derivative 𝜕𝑋
𝜕𝛼
. ORCA uses the formalism proposed by Saito and Thiel, which involves
solving the CP-SCF equations in each geometry optimization cycle.[739] The cost of such a calculation is higher
than using Noodleman’s or Ruiz’s schemes, where 𝜕𝑋𝜕𝛼
= 0.
variant, which is much more efficient and has a much more favorable scaling for large
systems, is also available, as detailed in section Additional Features, Defaults and List of
Keywords, and in [27].
Note that, for weakly interacting systems, TightPNO settings are typically recommended. As an example, the
interaction of H2 O with the carbene CH2 at the PBE0-D3/def2-TZVP-optimized geometry can be analyzed within
the LED framework using the following input file:
*xyz 0 1
C(1) 0.16044643459993 0.10093183177121 0.22603351276210
H(1) 1.04516129053973 -0.06834886965353 -0.41865951747519
H(1) -0.12579332868173 1.14737893892114 0.00305818518771
O(2) -1.48285705560792 -1.31933824653169 2.29891474420047
H(2) -0.91417368674145 -0.93085192992263 1.60917234463506
H(2) -1.15648922489703 -2.21246650333085 2.42094328175662
*
The corresponding output file is reported below. The DLPNO-CCSD(T) energy components are printed out in
different parts of the output as follows:
At the beginning of the LED part of the output, information on the fragments and the assignment of localized MOs
to fragments are provided.
===========================================================
LOCAL ENERGY DECOMPOSITION FOR DLPNO-CC METHODS
===========================================================
The decomposition of the Hatree-Fock energy into intra- and inter-fragment contributions follows. It is based on
the localization of the occupied orbitals.
----------------------------------------
REFERENCE ENERGY E(0) DECOMPOSITION (Eh)
----------------------------------------
-------------------------------------------
INTRA-FRAGMENT REF. ENERGY FOR FRAGMENT 1
-------------------------------------------
----------------------
Total energy = -38.841007482585
-------------------------------------------
INTRA-FRAGMENT REF. ENERGY FOR FRAGMENT 2
-------------------------------------------
----------------------
Total energy = -76.005372788703
----------------------------------------------------
INTER-FRAGMENT REF. ENERGY FOR FRAGMENTs 2 AND 1
----------------------------------------------------
Afterwards, a first decomposition of the correlation energy is carried out. The different energy contributions to the
correlation energy (strong pairs, weak pairs and triples correction) are decomposed into intra- and inter-fragment
contributions. This decomposition is carried out based on the localization of the occupied orbitals.
--------------------------------
CORRELATION ENERGY DECOMPOSITION
--------------------------------
--------------------------------------------------
INTER- vs INTRA-FRAGMENT CORRELATION ENERGIES (Eh)
--------------------------------------------------
Fragment 1 Fragment 2
---------------------- ----------------------
Intra strong pairs -0.136594658271 -0.209970193798 sum= -0.
˓→346564852069
---------------------- ----------------------
-0.139288509061 -0.212815295738 sum= -0.
˓→ 352103804799
Afterwards, a summary with the decomposition of the total energy (reference energy + correlation) into intra- and
inter-fragment contributions is printed.
--------------------------------------------
INTER- vs INTRA-FRAGMENT TOTAL ENERGIES (Eh)
--------------------------------------------
Fragment 1 Fragment 2
---------------------- ----------------------
Intra REF. energy -38.841007482585 -76.005372788703 sum= -114.
˓→846380271288
Hence, the decomposition reported above allows one to decompose all the components of the DLPNO-CCSD(T)
energy into intrafragment and interfragment contributions simply based on the localization of the occupied orbitals.
In order to convert the intra-fragment energy components into contributions to the binding energy, single point
energy calculations must be carried out on the isolated monomers, frozen in the geometry they have in the adduct,
and the corresponding terms must be subtracted. Note that one can also include the geometrical deformation energy
(also called “strain”) by simply computing the energy of the geometrically relaxed fragments (see Section Local
Energy Decomposition for further information).
For the DLPNO-CCSD strong pairs, which typically dominate the correlation energy, a more sophisticated decom-
position, based on the localization of both occupied orbitals and PNOs, is also carried out and printed. Accordingly,
the correlation energy from the strong pairs is divided into intra-fragment, dispersion and charge transfer compo-
nents. Note that, due to the charge transfer excitations, the resulting intra-fragment contributions (shown below)
differ from the ones obtained above.
---------------------------------------------
DECOMPOSITION OF CCSD STRONG PAIRS INTO
DOUBLE EXCITATION TYPES (Eh)
---------------------------------------------
Dispersion contributions:
Dispersion 2,1 -0.001594204
Singles contributions:
Singles energy 0.000000002
More detailed information into the terms reported above can be found in Section Local Energy Decomposition
and in Ref.[768] All the individual double excitations contributions constituting the terms reported above can be
printed by specifying “printlevel 3” in the %mdci block. Finally, a summary with the most important terms of the
DLPNO-CCSD energy, which are typically discussed in standard applications, is printed.
-------------------------------------------------
(continues on next page)
Note that the “Non dispersion” terms include all the components of the correlation energy except London disper-
sion.[28, 106]. For the strong pairs, “Non dispersion” includes charge transfer, intrafragment double excitations
and singles contributions. For the weak pairs, it corresponds to the intrafragment correlation contribution. In order
to convert the non dispersion correlation components into contributions to the binding energy, single point energy
calculations must be carried out on the isolated monomers.
*xyz 0 1
O -1.47291471015599 -1.29006364761118 2.29452038079177
H -0.88264582939506 -0.99404999457575 1.59835337186103
H -1.22136730983407 -2.20010680974562 2.46533021449572
*
*xyz 0 1
C 0.16044643459993 0.10093183177121 0.22603351276210
H 1.04516129053973 -0.06834886965353 -0.41865951747519
H -0.12579332868173 1.14737893892114 0.00305818518771
*
Single-point DLPNO-CCSD(T) energies of the monomers at their in-adduct geometries are also necessary. The
corresponding inputs and the necessary output parts for these calculations are as follows:
*xyz 0 1
O -1.48285705560792 -1.31933824653169 2.29891474420047
H -0.91417368674145 -0.93085192992263 1.60917234463506
H -1.15648922489703 -2.21246650333085 2.42094328175662
*xyz 0 1
C 0.16044643459993 0.10093183177121 0.22603351276210
H 1.04516129053973 -0.06834886965353 -0.41865951747519
H -0.12579332868173 1.14737893892114 0.00305818518771
*
Table 6.9: Energies of the H2 O-CH2 example for illustrating how the different LED contributions are valuated.
The superscript 𝑜𝑝𝑡 denotes energies of optimized structures, 𝑓 𝑖𝑥𝑒𝑑 denotes energies of isolated fragments in the
dimer structure. In the last column the energy of the dimer is reported.
Energy [a.u.] H2 𝑂𝑜𝑝𝑡 H2 𝑂𝑓 𝑖𝑥𝑒𝑑 CH𝑜𝑝𝑡
2 CH𝑓2 𝑖𝑥𝑒𝑑 H2 O - CH2
E𝐻𝐹 -76.026656692 -76.026011663 -38.881042677 -38.881085139 -114.913309038
E𝑐 CCSD -0.211428886 -0.211931843 -0.138447953 -0.138097323 -0.350582526
E𝑐 (T) -0.002932804 -0.002963338 -0.002873032 -0.002869022 -0.006098691
E𝑡𝑜𝑡 -76.241018382 -76.240906844 -39.022363662 -39.022051484 -115.269990255
Note that for this example, we do not include any BSSE correction. For this system we obtain a binding energy of
𝑜𝑝𝑡 𝑜𝑝𝑡
𝐸𝑖𝑛𝑡 = 𝐸𝑑𝑖𝑚𝑒𝑟 − 𝐸𝑚𝑜𝑛𝑜𝑚𝑒𝑟𝑠 = −115.269990255 − (−76.241018382 − 39.022363662) = −0.006608211
(see in equation (7.406)). This contribution is computed as the difference of the DLPNO-CCSD(T) energy of the
monomers in the structure of the dimer (𝐸𝑚𝑜𝑛𝑜𝑚𝑒𝑟𝑠
𝑓 𝑖𝑥𝑒𝑑
) and of the relaxed monomers (𝐸𝑚𝑜𝑛𝑜𝑚𝑒𝑟𝑠
𝑜𝑝𝑡
). The following
energies are obtained:
which amounts to 0.266 kcal/mol. Typically, the triples correction is evaluated separately:
𝐶−(𝑇 )
∆𝐸𝑖𝑛𝑡 = −0.006098691 − (−0.002963338 − 0.002869022) = −0.000266331
This contributes -0.167 kcal/mol. The next terms in equation (7.406) concern the reference energy contributions.
The first one is the electronic preparation in the reference, which is evaluated as the difference of the Intra REF.
energy of the fragments (see previous section) and the reference energy of the separate molecules at the dimer
geometry:
𝑟𝑒𝑓.
∆𝐸𝑒𝑙−𝑝𝑟𝑒𝑝 (𝐻2 𝑂) = −76.005372788703 + 76.026011663 = 0.020638874297
𝑟𝑒𝑓.
∆𝐸𝑒𝑙−𝑝𝑟𝑒𝑝 (𝐶𝐻2 ) = −38.841007482585 + 38.881085139 = 0.040077656415
which amounts to 0.060716530712 a.u. or 38.100 kcal/mol. The next two contributions stem from the de-
𝑟𝑒𝑓.
composition of the reference inter-fragment contributions 𝐸𝑒𝑙𝑠𝑡𝑎𝑡 = −0.056636132 (-35.540 kcal/mol) and
𝑟𝑒𝑓.
𝐸𝑒𝑥𝑐ℎ = −0.010292635 (-6.459 kcal/mol) and can be found in directly in the LED output (Electrostatics
(REF.) and Exchange (REF.) ). The correlation energy also contains an electronic preparation contribution,
but it is typically included in the correlation contribution ∆𝐸𝑛𝑜𝑛−𝑑𝑖𝑠𝑝𝑒𝑟𝑠𝑖𝑜𝑛
𝐶−𝐶𝐶𝑆𝐷
. Adding the non-dispersive strong
and weak pairs contributions from the LED output (Non dispersion (strong pairs) and Non dispersion
(weak pairs) ) one obtains :
from which we have to subtract the sum of the correlation contributions of the monomers at the dimer geometry
𝐶−𝐶𝐶𝑆𝐷
∆𝐸𝑛𝑜𝑛−𝑑𝑖𝑠𝑝𝑒𝑟𝑠𝑖𝑜𝑛 = −0.34897255 − (−0.211931843 − 0.138097323) = 0.001056616
which is 0.663 kcal/mol. The dispersive contribution can be directly found in the LED output (Dispersion
(strong pairs) and Dispersion (weak pairs) ) and amounts to 𝐸𝑑𝑖𝑠𝑝𝑒𝑟𝑠𝑖𝑜𝑛 𝐶−𝐶𝐶𝑆𝐷
= −0.001609975 which
is -1.010 kcal/mol. So all terms that we have evaluated so far are:
𝑟𝑒𝑓. 𝑟𝑒𝑓. 𝑟𝑒𝑓. 𝐶−𝐶𝐶𝑆𝐷 𝐶−𝐶𝐶𝑆𝐷 𝐶−(𝑇 )
∆𝐸 = ∆𝐸𝑔𝑒𝑜−𝑝𝑟𝑒𝑝 + ∆𝐸𝑒𝑙−𝑝𝑟𝑒𝑝 + 𝐸𝑒𝑙𝑠𝑡𝑎𝑡 + 𝐸𝑒𝑥𝑐ℎ + ∆𝐸𝑛𝑜𝑛−𝑑𝑖𝑠𝑝𝑒𝑟𝑠𝑖𝑜𝑛 + 𝐸𝑑𝑖𝑠𝑝𝑒𝑟𝑠𝑖𝑜𝑛 + ∆𝐸𝑖𝑛𝑡
which sum to the total binding energies of -0.006608211 a.u. or -4.147 kcal/mol that we have evaluated at the
beginning of this section. A detailed discussion of the underlying physics and chemistry can be found in [33].
*xyz 0 3
C(1) 0.32786304018834 0.25137292674595 0.32985672433579
H(1) 0.78308855251826 -0.37244139824620 -0.42204823336026
(continues on next page)
The corresponding output is entirely equivalent to the one just discussed for the closed shell case. However, the open
shell variant of the LED scheme relies on a different implementation than the closed shell one. A few important
differences exist between the two implementations, which are listed below.
• In the closed shell LED the reference energy is typically the HF energy. Hence, the total energy equals the
sum of HF and correlation energies. In the open shell variant, the reference energy is the energy of the QRO
determinant. Hence, the total energy in this case equals the sum of the energy of the QRO determinant and
the correlation energy.
• The singles contribution is typically negligible in the closed shell case due to the Brillouin’s theorem. In the
open shell variant, this is not necessarily the case. In both cases, the singles contribution is included in the
“Non dispersion” part of the strong pairs.
• In the UHF DLPNO-CCSD(T) framework we have 𝛼𝛼, 𝛽𝛽 and 𝛼𝛽 pairs. Hence, in the open shell LED, all
correlation terms (e.g. London dispersion) have 𝛼𝛼, 𝛽𝛽 and 𝛼𝛽 contributions. By adding “printlevel 3” in
the %mdci block one can obtain information on the relative importance of the different spin terms.
• The open shell DLPNO-CCSD(T) algorithm can also be used for computing the energy of closed shell
systems by adding the “UHF” keyword in the simple input line of a DLPNO-CCSD(T) calculation.
These can be converted to a format readable by standard visualization programs, e.g. a cube file, through
orca_plot. To do that, call orca_plot with the command:
orca_plot gbwfilename -i
and follow the instructions that will appear on your screen, i.e.:
Type “1” for selecting the plot type. A few options are possible:
1 - molecular orbitals
2 - (scf) electron density ...... (scfp ) - available
(continues on next page)
Select “LED dispersion interaction density” from the list by typing “15”. Afterwards, choose your favorite format
and generate the file.
*xyz 0 1
C 0.18726407287156 0.08210467619149 0.19811955853244
H 1.07120465088431 -0.00229078749404 -0.46002874025040
H -0.15524644515923 1.12171178448874 0.04316776563623
O -1.47509614629583 -1.29358571885374 2.29818864036820
H -0.87783948760158 -0.98540169212890 1.58987042714267
H -1.22399221548771 -2.20523304094991 2.47014489963764
*
The program will automatically identify the H2 O and the CH2 fragments. Note that this procedure works for an
arbitrary number of interacting molecules. It is also possible to assign only certain atoms to a fragment and let the
program define the other ones:
! dlpno-ccsd(t) cc-pvdz cc-pvdz/c cc-pvtz/jk rijk verytightscf TightPNO LED
*xyz 0 1
C(1) 0.18726407287156 0.08210467619149 0.19811955853244
H(1) 1.07120465088431 -0.00229078749404 -0.46002874025040
H(1) -0.15524644515923 1.12171178448874 0.04316776563623
O -1.47509614629583 -1.29358571885374 2.29818864036820
H -0.87783948760158 -0.98540169212890 1.58987042714267
H -1.22399221548771 -2.20523304094991 2.47014489963764
*
ò Note
Starting from ORCA 4.2 the default localization scheme for the PNOs has changed from PM (Pipek Mezey) to
FB (Foster Boys). This might cause slight numerical differences in the LED terms with respect to that obtained
from previous ORCA versions. To obtain results that are fully consistent with previous ORCA versions, PM
must be specified (see below).
%mdci
LED 1 # localization method for the PNOs. Choices:
# 1 = PipekMezey
# 2 = FosterBoys (default starting from ORCA 4.2)
PrintLevel 3 # Selects large output for LED and prints the
# detailed contribution
# of each DLPNO-CCSD strong pair
LocMaxIterLed 600 # Maximum number of localization iterations for PNOs
LocTolLed 1e-6 # Absolute threshold for the localization procedure for PNOs
Maxiter 0 # Skips the CCSD iterations and
# the decomposition of the correlation energy
DoLEDHF true # Decomposes the reference energy in the LED part.
# By default, it is set to true.
end
ò Note
Starting from ORCA 4.2 an RIJCOSX implementation of the LED scheme for the decomposition of the refer-
ence energy is also available. This is extremely efficent for large systems. For consistency, the RIJCOSX variant
of the LED is used only if the underlying SCF treatment is performed using the RIJCOSX approximation, i.e.,
if RIJCOSX is specified in the simple input line. An example of input follows.
! dlpno-ccsd(t) def2-TZVP def2-TZVP/C def2/j rijcosx verytightscf TightPNO LED
*xyz 0 1
C(1) 0.18726407287156 0.08210467619149 0.19811955853244
H(1) 1.07120465088431 -0.00229078749404 -0.46002874025040
H(1) -0.15524644515923 1.12171178448874 0.04316776563623
O(2) -1.47509614629583 -1.29358571885374 2.29818864036820
H(2) -0.87783948760158 -0.98540169212890 1.58987042714267
H(2) -1.22399221548771 -2.20523304094991 2.47014489963764
*
*xyz 0 1
C(1) 0.18726407287156 0.08210467619149 0.19811955853244
H(1) 1.07120465088431 -0.00229078749404 -0.46002874025040
H(1) -0.15524644515923 1.12171178448874 0.04316776563623
O(2) -1.47509614629583 -1.29358571885374 2.29818864036820
H(2) -0.87783948760158 -0.98540169212890 1.58987042714267
H(2) -1.22399221548771 -2.20523304094991 2.47014489963764
*
In the corresponding output, after the DLPNO-CC iterations and the LED output, the following information is
printed:
---------------------------- ----------------
Inter-fragment dispersion -0.001871763
---------------------------- ----------------
------------------------- --------------------
FINAL SINGLE POINT ENERGY -114.932878050741
------------------------- --------------------
The total HFLD energy of the adduct is thus -114.932878050741 a.u.. To compute interaction energies, we have to
substract from this value the Hartree-Fock energies of the monomers in the geometry they have in the complex, i.e.,
-38.884413525377 and -76.040412827089 a.u. for CH2 and H2 O, respectively. The total interaction energy is thus
-0.00805 a.u. or -5.1 kcal/mol (the corresponding DLPNO-CCSD(T)/TightPNO/CBS value is -5.3 kcal/mol. [33]).
Note that, to obtain binding energies, the geometric preparation should be added to this value. This can be computed
using a standard computational method, e.g, DFT or DLPNO-CCSD(T).
Some of the most important aspects of the method are summarized below:
• Accuracy and Recommended Settings. For noncovalent interactions, HFLD typically provides an ac-
curacy comparable to that of the DLPNO-CCSD(T) method if default PNO settings are used. For the HFLD
scheme, these are defined as TCutPNO = 3.3e-7 and TCutPairs 1e-5. If used in conjuction with a def2-
TZVP(-f) basis set, these settings are typically denoted as “HFLD*” and are recommeded for standard appli-
cations on large systems.[24] For example, HFLD* settings were used in Ref.[25] to elucidate the complex
pattern of interactions responsible for the stability of the DNA duplex. If great accuracy is required, it is
recommened to use TightPNO settings in conjuction with TCutPNO 1e-8 and two-point basis set extrapo-
lation (aug-cc-pVTZ/aug-cc-pVQZ) to approach the CBS limit. These settings are typically denoted as the
“gold” HFLD settings.[24]
• Reference determinant in the Open shell HFLD scheme. In the open shell case, HFLD relies on
6.14. The Hartree-Fock plus London Dispersion (HFLD) method for the study of Noncovalent
355
Interactions
ORCA Manual, Release 6.0
a restricted reference determinant for the calculation of the LD energy. If the QRO determinant is used as
reference, the reference interaction energy can in principle be computed at the UHF or QRO levels. This leads
to two different schemes, namely the QRO/HFLD and UHF/HFLD. Alternatively, the restricted open-shell
HF (ROHF) determinant can be used as reference in HFLD calculations, which leads to the ROHF/HFLD
approach. The energy value reported as “FINAL SINGLE POINT ENERGY” in the output corresponds to
the UHF/HFLD scheme by default, which is typically slightly more accurate. See Ref. [24] for details.
• Efficency. The calculation of the dispersion correction typically requires the same time as an HF calcu-
lation. This is true for small as well as for large systems.
• Analysis of Intermolecular Interactions. The HFLD method can be combined with the Local
Energy Decomposition (LED) to study intermolecular interactions in great detail. The LED dispersion en-
ergy obtained with HFLD is often very close to that obtained from a full DLPNO-CCSD(T) calculation.
Hence, HFLD can be used as a cost-effective alternative to DLPNO-CCSD(T) to study, among other things,
the importance of London dispersion in molecular chemistry.
• Additional considerations. (i) One can specify “NormalPNO” or “TightPNO” settings in the simple
input line. The corresponding DLPNO tresholds would be in this case fully consistent with those used in
the DLPNO-CCSD(T) method. (ii) The dispersion energy in the HFLD approach slightly depends by the
choice of the localization scheme used for occupied orbitals and PNOs. Default settings are recommended
for all intent and purposes. However, it is important to note that the localization iterations for occupied
and virtual orbitals must be fully converged in order to obtain consistent results. To achieve this goal, it
might be necessary to increase “LocMaxIter” or “LocMaxIterLed” (see below). However, this is typically
necessary only if very large basis sets (e.g. aug-cc-pV5Z) are used. (iii) Importantly, the method benefits
from the use of tightly converged SCF solutions. For closed-shell systems, a useful diagnostic in this context
is the “Singles energy” term that is printed in the LED part of the output. This term must be smaller than 1e-6
for closed shell species. If this is not the case, one should change the settings used for the SCF iterations.
Note also that all the features of the LED scheme (e.g. automatic fragmentation) are also available for the
HFLD method.
Note that, as HFLD relies on both the DLPNO-CCSD(T) and LED methods, the options of both schemes can be
used in principle in conjuction with HFLD. Some examples are shown below:
%mdci
LED 1 # localization method for the PNOs. Choices:
# 1 = PipekMezey
# 2 = FosterBoys (default, recommeded for the HFLD method)
PrintLevel 3 # Selects large output for LED and prints the
# detailed contribution
# of each DLPNO-CCSD strong pair
LocMaxIterLed 600 # Maximum number of localization iterations for PNOs
LocMaxIter 300 # Maximum number of localization iterations for
# occupied orbitals
LocTolLed 1e-6 # Absolute threshold for the localization procedure for PNOs
DoLEDHF true # Decomposes the reference energy in the LED part.
# By default, it is set to false in HFLD for efficency reasons.
TCutPNO 3.33e-7 # cutoff for PNO occupation numbers.
TCutPairs 1e-5 # cutoff for estimated pair correlation energies
# to be included in the CC treatment
end
!MM
%mm
ORCAFFFilename "UBQ.ORCAFF.prms"
end
The orca_mm module can convert psf and prm files (CHARMM), prmtop files (AMBER) or xml files (open force
field from the openff toolkit, compatible to AMBER) to the ORCAFF file with the -convff flag. Input options are:
Keywords:
<FFInput> = -CHARMM
<FFInput> = -AMBER
<FFInput> = -OPENMM
For CHARMM topologies, when a psf file is available for a system with standard residues, prepared by e.g.
QwikMD, psfgen or other vmd tools, the conversion needs the psf plus the prm files as input:
CHARMM example:
orca_mm -convff -CHARMM 1C1E.psf par_all36_prot.prm toppar_water_ions_namd.str
ORCA can also convert Amber topologies to the ORCAFF file. Here, only the prmtop file is required:
AMBER example:
orca_mm -convff -AMBER complex.prmtop
ORCA can also convert xml files from the openff toolkit (AMBER compatible) to the ORCAFF file. Here, only
the xml file is required:
OPENFF example:
orca_mm -convff -OPENMM complex.xml
If a ORCAFF.prms file should be subdivided into several files, e.g. if the psf file stems from QWikMD with non-
standard molecules included, e.g. a ligand. In that case first the parameters of the ligand are split from the remaining
system, next the ligand needs to be protonated, then a simple ORCAFF.prms file is generated via orca_mm’s makeff
option, and finally the ligand’s new ORCAFF.prms file is added to the main systems file via the above described
mergeff option. Note that the file can only be split into files for nonbonded fragments.
Input options:
Keywords:
Example:
orca_mm -splitff 1C1E_substrate_noH.ORCAFF.prms 7208
If several ORCAFF.prms files are available and should be merged for an ORCA calculation, e.g. for a standard plus
a non-standard molecule.
Input options:
Keywords:
Example:
orca_mm -mergeff 1C1E.ORCAFF.prms substrate_withH.ORCAFF.prms
In case the same ORCAFF.prms file needs to be repeated multiple times, the repeatff functionality is available.
Input options:
orca_mm -repeatff <optional:-verbose> <ORCAFFFILE> <A>
<ORCAFFFILE> = ORCA forcefield file.
<A> = Factor (integer) defining how often this forcefield file should␣
˓→be repeated.
Example:
orca_mm -mergeff methanol.ORCAFF.prms 580
This feature can be useful e.g. in the case of solvating a molecule, i.e. adding multiple copies of a solvent to a
solute. First the solvent can be repeated N times, and subsequently the solute’s prms file can be merged together
with the solvent prms file.
When splitting a ORCAFF.prms file, also splitting of the pdb file is required. The file can be split into an arbitrary
number of individual files.
This can be useful together with the splitff command.
Input options:
orca_mm -splitpdb <optional:-verbose> <PDBFILE> <A1> <optional:A2> ...
Keywords:
Example:
orca_mm -splitpdb 1C1E_substrate_noH.pdb 7208
If several PDB files are available and need to be merged for an ORCA calculation, e.g. a protein and a ligand or
multiple ligands, or a ligand that was first removed from a complex, then modified, and finally should get back into
the complex PDB file.
This can be useful together with the mergeff command.
Input options:
orca_mm -mergepdb <optional:-verbose> <1PDBFILE> <2PDBFILE> ...
Example:
orca_mm -mergepdb 1C1E.pdb substrate_withH.pdb
The orca_mm tool can generate an approximate forcefield for a molecule, storing it in ORCAFF.prms format.
Here, the LJ coefficients are based on UFF parameters and the partial charges are based on a simple PBE or XTB
calculation. The resulting topology is certainly not as accurate as an original CHARMM topology, but can still be
used for an approximate handling of the molecule. Herewith, the molecule can be part of the QM region (having
at least the necessary LJ coefficients), or part of the MM region as a non-active spectator - being not too close to
the region of interest. In the latter case it is important that the molecule is not active, since bonded parameters
are not available. However, it can still be optimized as a rigid body, see sections Geometry Optimizations using
the L-BFGS optimizer and the usage in QM/MM calculations in section Optimization with the Cartesian L-BFGS
Minimizer, on MM level, optimizing its position and orientation with respect to the specific environment.
Input options:
Keywords:
Example:
orca_mm -makeff substrate_withH.xyz -M 2 -XTBOptPBE
Note that ORCA generates bonds based on simple distance rules, which enables ORCA to detect where to add link
atoms between QM and MM atoms, see also section QM-MM, QM-QM2 and QM2-MM Boundary. But the user is
advised to treat a molecule, for which the ORCAFF.prms file was generated with the makeff option, either fully in
the QM, or fully in the MM region, unless the charge distribution has been properly taken care of (due to the need
of integer charges in QM and MM system).
For the definition of the link atoms standard bond lengths between C, N and O and hydrogen are directly set by
ORCA but can be modified by the user, see section QM-MM, QM-QM2 and QM2-MM Boundary. If other atom
types are on the QM side of the QM-MM boundary, their distance to the link atom has to be defined. In this case
a file can be provided to ORCA which defines the standard bond length to hydrogen for all possible atoms. Such a
file can be generated via the following command:
Input options:
orca_mm -getHDist <optional:-verbose> <XYZ/PDBFILE>
Example:
orca_mm -getHDist 1C1E.xyz
This file can then be modified, the required values can be added, and the resulting file can be defined as input for
the QMMM calculation.
Keywords:
Example:
orca_mm -makeff na4cl4.xyz -CEL Na 1.0 -CEL Cl -1.0
Here, na4cl4.xyz is the supercell structure file (it can contain tens of thousands of atoms).
ò Note
• For supercells with more complex oxidation states’, e.g. Co3 O4 , the ORCAFF.prms file can be generated
conveniently via the orca_crystalprep tool, orca_crystalprep.
%mm
ShiftForceCoulomb true # Use the shift force scheme for the Coulomb interaction.
# Default: true.
CoulombCutOff 12. # Distance (in Ang). Default: 12 Ang.
end
%mm
Do_NB_For_Fixed_Fixed true # Compute MM-MM nonbonded interaction also for
# non-active atom pairs. Default true.
end
%mm
Rigid_MM_Water false # Default: false.
end
!MM # or QMMM, as the MM keywords will also affect the MM part of the QMMM calculation
%mm
# Schemes for the truncation of long-range
# Coulomb and LJ interaction:
# The Shift Force scheme for the Coulomb interaction shifts the Coulomb potential
# such that it becomes zero at the cutoff distance.
ShiftForceCoulomb true # Use the shift force scheme for the Coulomb interaction.
# Default: true.
CoulombCutOff 12. # Distance (in Ang). Default: 12 Ang.
# With the Switch Force scheme for the LJ interaction is unchanged up to
# LJCutOffInner. Between LJCutOffInner and LJCutOffOuter a smooth switching function
# is applied onto the LJ potential so that the force goes down to zero at
# LJCutOffOuter, without introducing discontinuities.
SwitchForceLJ true # Use the switch force scheme for the LJ interaction.
# Default: true.
LJCutOffInner 10. # Distance (in Ang). Default: 10 Ang.
LJCutOffOuter 12. # Distance (in Ang). Default: 12 Ang.
(continues on next page)
# Keywords that can be accessed from the mm as well as the qmmm block.
# For a description see qmmm block.
# The following keywords will affect the behavior of MM (without QMMM) calculations,
# but have to be provided via the qmmm block
PrintOptRegion true # Additionally print xyz and trj for opt region
PrintOptRegionExt true # Additionally print xyz and trj for extended opt region
PrintQMRegion true # Additionally print xyz and trj for QM region
PrintPDB true # Additionally print pdb file for entire system, is
# updated every iteration for optimization
end
*pdbfile 0 1 ubq.pdb # structure input via pdb file, but also possible via xyz file
propagated. See Active and Non-Active Atoms - Optimization, Frequency Calculation, Molecular Dynamics
and Rigid MM Water and Fig. 6.57.
Forcefield
ORCA has its own forcefield file format (stored in files called basename.ORCAFF.prms). For a convenient
setup the orca_mm module offers the option to convert from other forcefield formats. Currently, the following
formats can be converted to the ORCA forcefield file format:
CHARMM psf files
protein structure file from the CHARMM forcefield. The psf files can be easily prepared with the
popular molecular visualizer VMD, together with its extensions (psfgen, QwikMD, fftk, which works
together with ORCA ).
AMBER prmtop files
topology files from the AMBER force field. Tutorials on how to generate AMBER prmtop files (for
standard and non-standard molecules) can be found here.
Open Force Field
xml files from the openforcefield initiative. With the openff-toolkit xml topology files (compatible with
the AMBER force field) can be easily generated for small and medium-sized non-standard molecules.
For a tutorial see here.
Simple forcefield for small to medium-sized molecules
Alternatively, the orca_mm module can generate a simple approximate ORCAFF.prms file. For more
options, see ORCA Forcefield File.
This concept has the following advantages:
Modification of forcefield parameters
Atom and bond specific parameters can be easily modified within the ORCA forcefield file, allowing the
user maximum flexibility in modifying the forcefield, which might be particularly useful for chemical
systems like transition metal complexes. See ORCA Forcefield File.
Standard and Non-Standard Ligands
Ligands can be easily and flexibly exchanged or added to the system, see ORCA Forcefield File.
Boundary Treatment
ORCA automatically detects QM-MM boundaries, i.e. bonds that have to be cut between QM and MM
region. ORCA automatically generates the link atoms and keeps them at their relative position throughout
the run, even allowing to optimize the bond along the boundary. See QM-MM, QM-QM2 and QM2-MM
Boundary. Not applicable for CRYSTAL-QMMM.
Treatment of overpolarization
ORCA automatically adapts the charges at the QM-MM boundary. See QM-MM, QM-QM2 and QM2-MM
Boundary. Not applicable for both CRYSTAL-QMMM.
Embedding types
The electrostatic and mechanical embedding schemes are available. See Embedding Types.
Detailed information on the different available input and runtime options and additionally available keywords (see
Additional Keywords) are given below.
QM Atoms
QM atoms can be defined either directly
!QMMM
%qmmm
QMAtoms {0 1 2 27 28} end
end
If Use_QM_InfoFromPDB is set to true, a pdb file should be used for the structural input. QM atoms are defined via
1 in the occupancy column, MM atoms via 0. QM2 atoms (for QM/QM2/MM calculations, see QM2 Atoms) can
be defined via 2 in the occupancy column. In this case Use_QM2_InfoFromPDB must be set to true. The IONIC-
CRYSTAL-QMMM method can have even further entries in the PDB file, see Different QM and MM regions Stored
in the PDB file. Note that the Use_QM_InfoFromPDB keyword needs to be written before the coordinate section.
ubq.pdb:
...
ATOM 327 N ASP A 21 29.599 18.599 9.828 0.00 0.00 P1 N
ATOM 328 HN ASP A 21 29.168 19.310 9.279 0.00 0.00 P1 H
ATOM 329 CA ASP A 21 30.796 19.083 10.566 0.00 0.00 P1 C
ATOM 330 HA ASP A 21 31.577 18.340 10.448 0.00 0.00 P1 H
ATOM 331 CB ASP A 21 31.155 20.515 10.048 2.00 0.00 P1 C
ATOM 332 HB1 ASP A 21 30.220 21.082 9.865 2.00 0.00 P1 H
ATOM 333 HB2 ASP A 21 31.754 21.064 10.801 2.00 0.00 P1 H
ATOM 334 CG ASP A 21 31.923 20.436 8.755 1.00 0.00 P1 C
ATOM 335 OD1 ASP A 21 32.493 19.374 8.456 1.00 0.00 P1 O
ATOM 336 OD2 ASP A 21 31.838 21.402 7.968 1.00 0.00 P1 O
ATOM 337 C ASP A 21 30.491 19.162 12.040 0.00 0.00 P1 C
ATOM 338 O ASP A 21 29.367 19.523 12.441 0.00 0.00 P1 O
...
Note that contrary to the hybrid36 standard of PDB files, ORCA writes non-standard pdb files as:
• atoms 1-99,999 in decimal numbers
• atoms 100,000 and beyond in hexadecimal numbers, with atom 100,000 corresponding to index 186a0.
This ensures a unique mapping of indices. If you want to select an atom with an idex in hexadecimal space (index
larger than 100,000), convert the hexadecimal number into decimals when choosing this index in the ORCA input
file. Note also, that in the pdb file, counting starts from 1, while in ORCA counting starts from zero.
Active and Non-Active Atoms - Optimization, Frequency Calculation, Molecular Dynamics and
Rigid MM Water
The systems of multiscale calculations can become quite large with tens and hundreds of thousands of atoms. In
multiscale calculations the region of interest is often only a particular part of the system, and it is common practice
to restrict the optimization to a small part of the system, which we call the active part of the system. Usually this
active part consists of hundreds of atoms, and is defined as the QM region plus a layer around the QM region. The
same definition holds for frequency calculations, in particular since after optimization non-active atoms are not
at stationary points, and a frequency calculation would lead to artifacts in such a scenario. MD calculations on
systems with hundreds of thousands of atoms are not problematic, but there are applications where a separation in
active and non-active parts can be important (e.g. a solute in a solvent droplet, with the outer shell of the solvent
frozen).
ò Note
Input Format
Active atoms can be defined either directly or via the B-factor column of a pdb file.
If Use_Active_InfoFromPDB is set to true, a pdb file should be used for the structural input. Active atoms are
defined via 1 in the B-factor column, non-active atoms via 0. Note that the Use_Active_InfoFromPDB keyword
needs to be written before the coordinate section.
ubq.pdb:
...
ATOM 327 N ASP A 21 29.599 18.599 9.828 0.00 0.00 P1 N
ATOM 328 HN ASP A 21 29.168 19.310 9.279 0.00 0.00 P1 H
ATOM 329 CA ASP A 21 30.796 19.083 10.566 0.00 1.00 P1 C
ATOM 330 HA ASP A 21 31.577 18.340 10.448 0.00 1.00 P1 H
ATOM 331 CB ASP A 21 31.155 20.515 10.048 1.00 1.00 P1 C
ATOM 332 HB1 ASP A 21 30.220 21.082 9.865 1.00 1.00 P1 H
ATOM 333 HB2 ASP A 21 31.754 21.064 10.801 1.00 1.00 P1 H
ATOM 334 CG ASP A 21 31.923 20.436 8.755 1.00 1.00 P1 C
ATOM 335 OD1 ASP A 21 32.493 19.374 8.456 1.00 1.00 P1 O
ATOM 336 OD2 ASP A 21 31.838 21.402 7.968 1.00 1.00 P1 O
ATOM 337 C ASP A 21 30.491 19.162 12.040 0.00 0.00 P1 C
ATOM 338 O ASP A 21 29.367 19.523 12.441 0.00 0.00 P1 O
...
Note that in the above example also the QM atoms are defined along with the active atoms.
In ORCA’s QM/MM geometry optimization only the positions of the active atoms are optimized. The forces on
these active atoms are nevertheless influenced by the interactions with the non-active surrounding atoms. In order
to get a smooth optimization convergence for quasi-Newton optimization algorithms in internal coordinates, it
is necessary that the Hessian values between the active atoms and the directly surrounding non-active atoms are
available. For that reason the active atoms are extended by a shell of surrounding non-active atoms which are also
included in the geometry optimization, but whose positions are constrained, see Fig. 6.57. This shell of atoms can
be automatically chosen by ORCA. There are three options available:
Distance
(Default) The parameter Dist_AtomsAroundOpt controls which non-active atoms are included in the ex-
tension shell, i.e. non-active atoms that have a distance of less than the sum of their VDW radii plus
Dist_AtomsAroundOpt are included.
Covalent bonds
All (non-active) atoms that are covalently bonded to active atoms are included.
No
No non-active atoms are included.
The user can also provide the atoms for the extension shell manually. This will be discussed in section Frequency
Calculation.
Fig. 6.57: Active and non-active atoms. Additionally shown is the extension shell, which consists of non-active
atoms close in distance to the active atoms. The extension shell is used for optimization in internal coordinates and
PHVA.
The set of active atoms is called the ‘activeRegion’, and the set of active atoms plus the surrounding non-active
atoms is called ‘activeRegionExt’. During geometry optimization the following trajectories are stored (which can
be switched off):
basename_trj.xyz
Entire QM/MM system
basename.QMonly_trj.xyz
Only QM region
basename.activeRegion_trj.xyz
Only active atoms
basename.activeRegionExt_trj.xyz
Active atoms plus extension
The following files are stored containing the optimized structures - if requested:
basename.pdb
Optimized QM/MM system in pdb file format
basename.xyz
Optimized QM/MM system
basename.QMonly.xyz
Only QM region
basename.activeRegion.xyz
Only active atoms
basename.activeRegionExt.xyz
Active atoms plus extension
For very large active regions the quasi-Newton optimization in internal coordinates can become costly and it can be
advantageous to use the L-Opt or L-OptH feature, see section Geometry Optimizations using the L-BFGS optimizer.
For the L-Opt(H) feature there exist two ways to define the active region:
• via the ActiveAtoms keyword (or the Use_Active_InfoFromPDB flag) or
• via fragment definition and the different keywords for fragment optimization. Available options are:
FixFrags
Freeze the coordinates of all atoms of the specified fragments.
RelaxHFrags
Relax the hydrogen atoms of the specified fragments. Default for all atoms if !L-OptH is defined.
RelaxFrags
Relax all atoms of the specified fragments. Default for all atoms if !L-Opt is defined.
RigidFrags
Treat each specified fragment as a rigid body, but relax the position and orientation of these rigid bodies.
ò Note
• The L-Opt(H) option together with the fragment optimization can be used in order to quickly preopti-
mize your system at MM level. E.g. you can optimize the hydrogen positions of the protein and water
molecules, and at the same time relax non-standard molecules, for which no exact bonded parameters
are available, as rigid bodies.
!MM L-OptH
%mm
ORCAFFFilename "DNA_hexamer.ORCAFF.prms"
end
*pdbfile 0 1 protein_ligand.pdb
%geom
Frags # all other atoms belong to fragment 1 by default
2 {22307:22396} end # cofactor
3 {22397:22423} end # ligand
end
RigidFrags {2 3} end # treat cofactor and ligand as individual rigid bodies
end
Frequency Calculation
If all atoms are active, a regular frequency calculation is carried out when requesting !NumFreq. If there are also
non-active atoms in the QM/MM system, the Partial Hessian Vibrational Analysis (PHVA, see section Partial
Hessian Vibrational Analysis) is automatically selected. Here, the PHVA is carried out for the above defined
activeRegionExt, where the extension shell atoms are automatically used as ‘frozen’ atoms. Note that the analytic
Hessian is not available due to the missing analytic second derivatives for the MM calculation. Note that in a new
calculation after an optimization it might happen that the new automatically generated extended active region is
different compared to the previous region before optimization. This means that when using a previously computed
Hessian (e.g. at the end of an optimization or a NEB-TS run) the Hessian does not fit to the new extended active
region. ORCA tries to solve this problem by fetching the information on the extended region from the hess file. If
that does not work (e.g. if you distort the geometry after the Hessian calculation) you should manually provide the
list of atoms of the extended active region. This is done via the following keyword:
%qmmm
OptRegion_FixedAtoms {27 1288:1290 4400} end # manually define the
# activeRegionExt atoms.
end
Note that ORCA did print the necessary information in the output of the calculation in which the Hessian was
computed:
NEB calculations (section Nudged Elastic Band Method) can be carried out in combination with the multiscale
features in order to e.g. study enzyme catalysis. When automatically building the extension shell at the start of a
Multiscale-NEB calculation, not only the coordinates of the main input structure (‘reactant’), but also the atomic
coordinates of the ‘product’ and, if available, of the ‘transition state guess’ are used to determine the union of
the extension shell of the active region. For large systems it is advised to use the active region feature for the
NEB calculation. Note that the atomic positions of the non-active atoms of reactant and product and, if available,
transition state guess, should be identical.
Molecular Dynamics
If there are active and non-active atoms in the multiscale system, only the active atoms are allowed to propagate in
the MD run. If all atoms are active, all atoms are propagated. For more information on the output and trajectory
options, see section Regions.
Rigid MM Water
As TIP3P water might have to be treated as rigid bodies due to its parametrization - please check out the specifics
of the applied force field parametrization - we offer a keyword for the automated rigid treatment of all active MM
water molecules. The following keyword applies bond and angle constraints to active MM water molecules in
optimizations as well as MD runs:
Forcefield Input
For the MM part of the QM/MM calculation forcefield parameters are necessary. Internally, ORCA uses the
ORCA forcefield. For a description on the format, how to obtain and manipulate the forcefield parameters, see
section ORCA Forcefield File.
ò Note
• ORCAFF.prms files only need to be provided for QM/MM, QM/QM2/MM and IONIC-CRYSTAL-
QMMM calculations.
• For QM/QM2 and MOL-CRYSTAL-QMMM calculations there is no need to provide a ORCAFF.prms
file.
• The ORCAFF.prms file for the IONIC-CRYSTAL-QMMM calculation can be conveniently set up with
the orca_crystalprep tool, see section orca_crystalprep.
• For IONIC-CRYSTAL-QMMM and MOL-CRYSTAL-QMMM calculations the self-consistently opti-
mized MM point charges of the entire supercell are stored in an ORCAFF.prms file, see section Charge
Convergence between QM and MM region. This ORCAFF.prms file can then be used in subsequent
calculations with larger QM regions, different methods and basis sets, excited state calculations, etc.
The force field filename is provided via the keyword ORCAFFFilename:
%qmmm
ORCAFFFilename "UBQ.ORCAFF.prms"
end
Link Atoms
ORCA automatically generates link atoms based on the information of the QM region and on the topology of the
system (based on the ORCAFF.prms file). ORCA places link atoms on the bond between QM and MM atoms.
s Important
• When defining the QM, QM2 and MM regions, make sure that you only cut through single bonds (not
aromatic, double, triple bonds, etc.).
The distance between QM atom and link atom is determined via a scaling factor (in relation to the QM-MM bond
length) that is computed as the ratio of the equilibrium bond length between QM and hydrogen atom (d0_QM-H)
and the equilibrium bond length between QM and MM atom (d0_QM-MM).
For the equilibrium bond lengths to hydrogen, ORCA uses tabulated standard values for the most common atoms
involved in boundary regions (C, N, O), which can be modified via keywords as defined further below. ORCA
stores these values on-the-fly in a simple file (basename.H_DIST.prms). If necessary, the user can modify these
values atom-specific or add others to the file and provide this file as input to ORCA (see also paragraph Get standard
hydrogen bond lengths: getHDist). For QM/QM2 and QM/QM2/MM methods the equilibrium bond lengths to
hydrogen are explicitly calculated.
%qmmm
# standard equilibrium bond lengths with hydrogen can be modified
Dist_C_HLA 1.09 # d0_C-H
Dist_O_HLA 0.98 # d0_O-H
Dist_N_HLA 0.99 # d0_N-H
# file can be provided which provides the used d0_X-H values specific to all atoms
H_Dist_FileName "QM_H_dist.txt"
end
The MM bonded interactions within the QM region are neglected in the additive coupling scheme. However, at
the boundary, it is advisable to use some specific bonded interactions which include QM atoms. By default ORCA
neglects only those bonded interactions at the boundary, where only one MM atom is involved, i.e. all bonds of
the type QM1-MM1, bends of the type QM2-QM1-MM1, and torsions of the type QM3-QM2-QM1-MM1. Other
QM-MM mixed bonded interactions (with more than two MM atoms involved) are included. The user is allowed
to include the described interactions, which is controlled via the following keywords:
%qmmm
DeleteLADoubleCounting true # Neglect bends (QM2-QM1-MM1) and torsions
# (QM3-QM2-QM1-MM1). Default true.
DeleteLABondDoubleCounting true # Neglect bonds (QM1-MM1)
end
Charge Alteration
If QM and MM atoms are connected via a bond (defined in the topology file), the charge of the close-by MM atom
(and its neighboring atoms) has to be modified in order to prevent overpolarization of the electron density of LA
and QM region. This charge alteration is automatically taken care of by ORCA. ORCA provides the most popular
schemes that can be used to prevent overpolarization:
CS
Charge Shift - Shift the charge of the MM atom away to the MM2 atoms so that the overall charge is conserved
RCD
Redistributed Charge and Dipole - Shift the charge of the MM atom so that the overall charge and dipole is
conserved
Z0
Keep charges as they are. This MM atom will probably lead to overpolarization
Z1
Delete the charge on the MM1 atom (no overall charge conservation)
Z2
Delete the charges on the MM1 atom and on its first (MM2) neighbors (no overall charge conservation)
Z3
Delete the charges on the MM1 atom and on its first (MM2) and second (MM3) neighbors (no overall charge
conservation)
Embedding Types
The following embeding schemes are available:
Electrostatic
The electrostatic interaction between QM and MM system is computed at the QM level. Thus, the charge
distribution of the MM atoms can polarize the electron density of the QM region. The LJ interaction between
QM and MM system is computed at the MM level.
%qmmm
Embedding Electrostatic # Electrostatic (Default)
# Mechanical
end
In the scheme of electrostatic embedding, the evaluation of the electrostatic potential generated by the MM part
can be accelerated by using the FMM algorithm (described in reference [317]). This will speed up the building of
the Fock Matrix. The default recommended setup can be called using the FMM-QMMM keyword directly in the
keywords line. However, more details about the algorithm parameters and all input options can be found in (see
also paragraph Fast Multipole Method)
! FMM-QMMM
It is recommended to use that option whenever the MM part is composed of more than 10,000 atoms (or point
charges for ECM methods).
!QMMM
%qmmm
QMAtoms {0 1 2 27 28} end
ORCAFFFilename "UBQ.ORCAFF.prms"
end
!QM/XTB or !QM/XTB/MM
!QM/XTB1 or !QM/XTB1/MM
!QM/XTB0 or !QM/XTB0/MM
!QM/HF-3C or !QM/HF-3C/MM
!QM/PBEH-3C or !QM/PBEH-3C/MM
!QM/R2SCAN-3C or !QM/R2SCAN-3C/MM
!QM/PM3 or !QM/PM3/MM
!QM/AM1 or !QM/AM1/MM
Users can define their own low-level methods in the following way
!QM/QM2 or !QM/QM2/MM
%qmmm
QM2CUSTOMMETHOD "B3LYP"
QM2CUSTOMBASIS "def2-SVP def2/J"
end
!QM/QM2 or !QM/QM2/MM
%qmmm
QM2CustomFile "myQM2Method.txt" # File should be available in working directory.
end
The custom QM2 method file can contain any desired input, as e.g. the file myQM2Method.txt:
ò Note
• Only add methods (including convergence settings) and basis sets for the QM2Custom options. Every-
thing else (parallelization, memory, solvation, etc.) is taken care of by ORCA itself.
The QM2 point charges can be scaled with the following keyword.
%qmmm
Scale_QM2Charges_MMAtom 1. # default is 1.
end
Boundary Region
The boundary between high and low level part of the system can contain covalent bonds. For the detection and
realistic treatment of these covalent bonds, a topology of the large QM2 system is generated using the following
keyword.
ò Note
• By default ORCA uses the XTB method for the preparation of the QM2 topology. In order to use the
default you need to make sure to have the otool_xtb binary in your ORCA PATH, see Semi-empirical
tight-binding methods: Grimme’s GFN0-xTB, GFN-xTB and GFN2-xTB.
As can be seen from the input, the only difference to a regular calculation is the necessity to define the high level
region via the QMAtoms keyword.
The two subsystems can have different (integer) charges and multiplicities. Defining the correct charges and mul-
tiplicities is important. The charge and multiplicity defined via the coordinate section defines the charge and
multiplicity of the high level region (QMAtoms). The user still needs to define the charge and multiplicity of the
total system (corresponding to the sum of the charge of the high level and low level parts, and corresponding to the
overall multiplicity).
%qmmm
QMAtoms {0:3} end # high level region
Charge_Total 0 # charge of the full system. Default 0.
Mult_Total 1 # multiplicity of the full system. Default 1.
end
*xyz 0 1 # charge and mult. of the high level region, i.e. atoms 0 to 3
!QM/XTB
!QM/XTB1
!QM/XTB0
!QM/HF-3C
!QM/PBEH-3C
!QM/R2SCAN-3C
!QM/PM3
!QM/AM1
!QM/QM2
For information on how to specify the custom QM/QM2 method please see Available QM2 Methods.
Solvation
Implicit Solvation effects can be included in QM/QM2 calculations. On the one hand, for QM/XTB calculations,
one can adopt the analytical linearized Poisson-Boltzmann (ALPB) solvation model, the domain decomposition
COSMO (ddCOSMO), or the extended conductor-like polarizable continuum model (CPCM-X), and on the other
hand, if no XTB is requested, ORCA uses the C-PCM. The user just needs to add the following tags in the ORCA
input file,
!QM/XTB ALPB(Water)
or
!QM/XTB DDCOSMO(Water)
or
!QM/XTB CPCMX(Water)
!QM/HF-3c CPCM(Water)
If the ddCOSMO (XTB) or the C-PCM (non-XTB) are requested, there are two possible ONIOM/implicit-solvation
methods:[875]
• C-PCM/B: The effect of the solvent is, in the first place, included in the calculation for the large QM2 system.
Once this calculation finishes, the solvation charges located on the surface of the cavity for the large system
are used as point charges for the subsequent low-level and high-level calculations for the small system.
• C-PCM/C: The effect of the solvent is only included in the calculation for the large QM2 system.
The user can choose one scheme or the other via the tag “solv_scheme” in the “qmmm” block:
%qmmm
solv_scheme CPCM_B # CPCM_B (default)
# CPCM_C
end
If the ALPB model or the CPCM-X are requested (within QM/XTB methods), the solvation effect is just included
in the calculation for the large QM2 system (as one does for the C-PCM/C scheme).
QM/QM2/MM Method
The QM/QM2/MM method uses a combination of the subtractive scheme for the QM-QM2 part, and the addi-
tive scheme for the (QM-QM2) - (MM) interaction. It can be used if very large QM regions are required for
biomolecules and explicitly solvated systems. The system is divided into a high level (QM), low level (QM2), and
MM region (MM).
QM2 Atoms
QM2 atoms need to be defined for QM/QM2/MM calculations. They can be defined either directly
%qmmm
QMAtoms {0:4} end # list of QM atoms (counting starts from 0) or
QM2Atoms {5:22} end # list of QM2 atoms
end # an atom should not occur in both lists
*pdbfile 0 1 ubq.pdb
The high and low level subsystems can have different (integer) charges and multiplicities. Defining the correct
charges and multiplicities is important. The charge and multiplicity defined via the coordinate section defines
the charge and multiplicity of the high level region (QMAtoms). The user still needs to define the charge and
multiplicity of the medium system (corresponding to the sum of the charge of the high level and low level regions,
and corresponding to the overall multiplicity of the combined high and low level region). The charge of the MM
region is determined based on the MM parameters provided by the forcefield.
%qmmm
QMAtoms {0:3} end # high level region
Charge_Medium 0 # charge of the medium system. Default 0.
Mult_Medium 1 # multiplicity of the medium system. Default 0.
end
*xyz 0 1 # charge and mult. of the high level region, i.e. atoms 0 to 3
For information on how to specify the custom QM/QM2/MM method please see Available QM2 Methods.
Example Input
6.16.4 CRYSTAL-QMMM
For the simulation of extended systems ORCA provides the CRYSTAL-QMMM features:
MOL-CRYSTAL-QMMM
for molecular crystals.
IONIC-CRYSTAL-QMMM
for semiconductors and insulators.
In this section we present the concepts and keywords that are common to both methods. ORCA is a molecular code
and cannot carry out periodic calculations, but ORCA has been used for modeling selected properties for ionic
solids using embedded cluster models already in the past (see e.g reference [213]). With ORCA 5 we provide the
CRYSTAL-QMMM method, which simplifies setting up and running these types of embedded cluster calculations.
The user needs to provide the structure with a (large enough) supercell representative for the crystal, and provide
a list of QM atoms. The QM region should be located in the central part of the supercell. The QM atoms are
embedded in the remainder of the supercell, the surrounding MM atoms, which are represented by atom-centered
point charges and influence the QM calculations. How these charges are obtained, is outlined in the next paragraph.
During optimizations, the charge convergence scheme can be used (i) only at the very beginning, (ii) every N
geometry steps, or (iii) for each geometry step, using the following keyword:
%geom
ReConvCharge 1 # default is 1. Redo charge convergence scheme every N steps.
end
After charge convergence, the converged charges are stored in the file basename.convCharges.ORCAFF.prms. It
can be used for a later calculation (with the same or different electronic structure settings) with the following
keyword combination:
!IONIC-CRYSTAL-QMMM or !MOL-CRYSTAL-QMMM
%qmmm
Conv_Charges false
ORCAFFFilename "firstjob.convCharges.ORCAFF.prms"
end
MM-MM Interaction
Unlike with the other multiscale methods (QMMM, QM/QM2, QM/QM2/MM) the MM region is only treated as a
perturbation to the QM region. The (bonded and nonbonded) MM-MM interaction is not computed - since it would
not affect the QM-MM interaction - and thus the active region (optimizations, frequencies, . . . ) in CRYSTAL-
QMMM calculations should be restricted to atoms of the QM region.
MOL-CRYSTAL-QMMM
Conceptually we use an additive QM/MM calculation, in which the QM region interacts with the MM region only
via nonbonded interactions. Lennard-Jones interaction between QM and MM region is computed using van der
Waals parameters from the UFF force field. The charge convergence treatment between QM and MM region starts
with zero charges on the MM atoms, and is iterated until convergence of the QM atomic (CHELPG) and MM point
charges is achieved.
The MOL-CRYSTAL-QMMM method expects as structural input a supercell that consists of repeating, identical
molecular subunits, i.e. the atom ordering of the molecules should always be the same, and one molecular subunit
should follow the next one. The minimum input necessary for a MOL-CRYSTAL-QMMM run looks as follows.
%qmmm
NUnitCellAtoms 16 # provide the number of atoms per molecular subunit
QMAtoms {160:175} end # QM atoms, should be in central part of the supercell.
# Must be at least one complete molecular subunit.
end
ò Note
• For molecular crystals it is assumed that the entire supercell consists of repeating units which each have
zero charge. QM regions should consist of one or multiple of such charge-neutral units.
ORCA can extend the QM region (which we call QM core region, defined by the original QMAtoms input) by
one or multiple layers of molecular subunits using the HFLayers keyword. If the HFLayers keyword is used, the
molecular subunits of the defined number of layers around the QM core region is added to the QM region. The
layers of molecular subunits around the QM core region are detected via distance criteria.
%qmmm
HFLayers 0 # default 0
HFLayerGTO "LANL2DZ" # default. Use this basis set for the HFLayer atoms
HFLayerECP "HayWadt" # default. Use these ECPs for the HFLayer atoms.
Conv_Charge_UseQMCoreOnly true # only use the QM core region for the charge
# convergence scheme
end
The HFLayer can be seen as a buffer region between the molecular subunit of interest (original QM atoms) and the
surrounding subunits. The different possible reasons for HFLayers are as follows:
• For DLPNO calculations with HFLayers, the DLPNO multilevel feature is automatically switched on. The
molecules of the HFlayer form an own fragment which is treated on HF level only, i.e. these molecules are
not included in the Post-HF treatment.
• The HFLayers can also be used for non-DLPNO calculations. In such cases, the HFLayer molecules are in
the same way included in the QM calculation as the other QM molecules. But their definition is a convenient
way to choose a different basis set (and ECPs) for those molecules.
• It can be assumed that the QM charges computed for the QM core region are more realistic than the charges
of the HFLayer atoms near the MM atomic charges. Thus, using only the QM atomic charges of the QM
core region represent more realistic charges for the charge convergence scheme.
ò Note
• The term HFLayers might be misleading. Strictly speaking, only for MOL-CRYSTAL-QMMM calcu-
lations with DLPNO methods (e.g. DLPNO-CCSD(T), DLPNO-MP2, DLPNO-B2PLYP) the HF layer
atoms are treated on HF level. For other methods (e.g. DFT) the HF layer atoms are treated with the
same electronic structure method as the QM core region atoms.
• If necessary, the atoms of the HFLayer can be defined by the user. Make sure that complete molecular
subunits are used here.
%qmmm
HFLayerAtoms {0:15} end
end
Example Input
! MOL-CRYSTAL-QMMM
! PBE def2-SVP Opt NumFreq
%qmmm
NUnitCellAtoms 13
QMAtoms {221:233} end
ActiveAtoms {221:233} end
end
*xyzfile 0 1 Ala_SC.xyz
IONIC-CRYSTAL-QMMM
Conceptually we use an embedded cluster calculation, in which the QM region interacts only with the MM atomic
point charges of the surrounding. Unlike with MOL-CRYSTAL-QMMM, the Lennard-Jones interaction between
QM and MM region is not computed. The charge convergence treatment between QM and MM region starts with
the initial MM charges (the charges initially read from the ORCAFF.prms file) and is iterated until convergence of
the QM atomic (CHELPG) and MM point charges is achieved.
Boundary Region
For ionic crystals a boundary region needs to be introduced between the QM region and the atomic point charges
of the MM atoms in order to avoid spurious electron leakage from the clusters and to treat dangling bonds on
the surface of the QM region. This boundary region consists of capped effective core potentials (cECPs). These
cECPs are placed on the position of the MM atoms that are directly adjacent to the QM region. ORCA analyzes
the connectivity of the atoms of the supercell and can thus detect the layers of atoms around the QM region, where
the first layer consists of the atoms directly bonded to the QM atoms, the second layer consists of the atoms directly
bonded to the atoms of the first layer and so on. The charges of these cECPs are determined in the same way as the
MM atomic charges during the charge convergence scheme.
%qmmm
ECPLayerECP "SDD" # cECPs used for the boundary region
ECPLayers 3 # Number of cECP layers around the QM region.
# Default is 3.
Scale_FormalCharge_ECPAtom 1. # default is 1. Charges on cECPs are scaled by
# this factor
end
ORCA can extend the QM region (which we call QM core region, defined by the original QMAtoms input) by
one or multiple layers of atoms using the HFLayers keyword. If the HFLayers keyword is used, the atoms of the
defined number of layers around the QM core region is added to the QM region. The layers of atoms around the
QM core region are detected in the same way as defined above for the ECPLayers.
%qmmm
HFLayers 0 # default 0
HFLayerGTO "LANL2DZ" # default. Use this basis set for the HFLayer atoms
HFLayerECP "HayWadt" # default. Use these ECPs for the HFLayer atoms.
Conv_Charge_UseQMCoreOnly true # only use the QM core region for the charge
# convergence scheme
end
The HFLayer can be seen as a buffer region between the actual atoms of interest (original QM atoms) and the
surrounding cECP and MM point charge environment.The different possible reasons for HFLayers are as follows:
• For DLPNO calculations with HFLayers, the DLPNO multilevel feature is automatically switched on. The
atoms of the HFLayer form an own fragment which is treated at HF level only, i.e. these atoms are not
included in the Post-HF treatment.
• It can be assumed that the QM charges computed for the QM core region are more realistic than the charges
of the HFLayer atoms near the cECPs and MM atomic charges, in particular for highly charged systems.
Thus, using only the QM atomic charges of the QM core region represent more realistic charges for the
charge convergence scheme.
ò Note
• The term HFLayers might be misleading. Strictly speaking, only for IONIC-CRYSTAL-QMMM calcu-
lations with DLPNO methods (e.g. DLPNO-CCSD(T), DLPNO-MP2, DLPNO-B2PLYP) the HF layer
atoms are treated on HF level. For other methods (e.g. DFT) the HF layer atoms are treated with the
same electronic structure method as the QM core region atoms.
• The charge of the HFLayer is automatically computed based on the formal charges of its atoms. If
necessary, the HFLayer charge can be provided by the user.
%qmmm
Charge_HFLayer 10 # by default it is computed automatically based on the formal
# charges from the ORCAFF.prms file
end
For ionic crystals, the QM region (as well as the entire supercell) can consist of an unequal number of atoms of
each atom type. As a result of that, the QM region may have non-zero net charge. Consequently, when assigning
the atomic point charges to the MM atoms during the charge convergence scheme, the sum of the charge of the
QM region, of the ECP layer, and of the atomic charges of the MM atoms, can deviate from the ideal charge of the
supercell. In order to enforce the ideal charge of the supercell, the total charge of the entire system is enforced by
equally shifting the charges of all MM (including boundary) atoms.
%qmmm
Charge_Total 0 # default 0. Total charge of the supercell
EnforceTotalCharge true # enforce the total charge by shifting MM charges
end
The charge shifting procedure can be restricted to the MM atoms on the outer parts of the supercell by defin-
ing the number of OuterPCLayers. If OuterPCLayers is set to 1, only the atoms of the most outer layer of the
supercell (recognized based on the connectivity of the atoms) are included in the charge shifting procedure. If
OuterPCLayers is larger than 2, the atoms connected to the most outer layer are additionally included in the
charge shifting procedure, etc.
%qmmm
OuterPCLayers 0 # default 0, i.e. charge shifting for all MM atoms
end
ò Note
• The charge of the QM core region can be chosen to be assigned automatically. This overwrites the charge
provided in the xyz or pdb section.
%qmmm
AutoDetectQCCharge false # default is false
end
Example Input
! IONIC-CRYSTAL-QMMM
! NMR
! PBE pcSseg-2 def2/JK def2-svp/C
%qmmm
QMAtoms {0:6} end
ORCAFFFilename "nacl6.ORCAFF.prms"
CHARGE_TOTAL 0
(continues on next page)
The stored PDB file contains the following entries in its occupancy column.
0
MM atoms mimicked by surrounding point charges.
1
QM core region atoms
2
HFLayer atoms
3
cECPs
4
OuterPCLayer atoms (subset of MM atoms) if defined, are the only atoms that are used in the charge shift
procedure for enforcing the total charge.
!QMMM
%qmmm
# Charge alteration scheme preventing overpolarization.
ChargeAlteration CS # CS (Default)
# RCD
# Z0
# Z1
# Z2
# Z3
# Parameters for placing the shifted and redistributed charges for RCD and CS schemes.
Scale_RCD 0.5 # Defines where on the bond between MM1 and MM2 the
# shifted charge is positioned. Default: midpoint.
Scale_CS 0.06 # Defines where on the bond between MM2 and MM1/MM3 the
# shifted charge is positioned. Default: 0.06 x bond.
# The extended active region, activeRegionExt, contains the atoms surrounding the
# active atoms.
ExtendActiveRegion distance # rule to choose the atoms belonging to activeRegionExt.
# no - do not use activeRegionExt atoms
# cov_bonds - add only atoms bonded covalently to
# active atoms
# distance (default) - use a distance criterion (VDW
# distance plus Dist_AtomsAroundOpt)
Dist_AtomsAroundOpt 0.0 # in Angstrom (Default 0). Meaning only freeze atoms
# which touch the active atoms by their VDW spheres.
# only needed for ExtendActiveRegion distance
OptRegion_FixedAtoms {27 1288:1290 4400} end # manually define the activeRegionExt
# atoms. Default: empty list.
end
*pdbfile 0 1 ubq.pdb # structure input via pdb file, but also possible via xyz file
# file containing the Lennard Jones coefficients for the Lennard-Jones interaction
%LJCoefficients "temp.LJ"
(continues on next page)
%geom
# calculate the exact Hessian before the first optimization step
Calc_Hess true
# in case of a TS optimization the updated Hessian of the previous
# TS optimization run is read instead of calculating a new one
read_temp_Hess true
end
ò Note
• If you are using bOpt or bTS you have to take care of additional terms over the boundary. Either you can
zero out the dihedral terms of the Q2-Q1-M1-M2 configurations, or you can fix the respective Q2 atoms.
• If you want to use the ORCA constraints, you have to also put them in the Gromacs part of the calculation.
• If there are no bonds between the QM and MM systems, the bOpt optimization of the QM system might
have convergence problems. This is the case if the step size is too large and thus QM atoms come too
close to MM atoms. The convergence problems can be circumvented by adding extra coordinates and
Hessian diagonal values for Cartesian coordinates of selected QM atoms to the set of internal coordinates.
This should be done for only few atoms that are in the boundary region.
%geom
# add the Cartesian position of atoms 2 and 4 to the
# set of internal coordinates with a diagonal Hessian value of 0.1
Hess_Internal
{C 2 D 0.1}
{C 4 D 0.1}
end
end
import os
import pCore
import pBabel
import pMolecule
import pMoleculeScripts
After the execution of the above Python program, a series of files are going to be created chignolin.inp,
chignolin.pc, chignolin.lj and ORCA is going to be called. The generated ORCAinput file is listed below.
! bp86 def2-svp qmmmopt/pdynamo
% geom
constraints
{C 0 C}
{C 1 C}
end
end
% pointcharges "chignolin.pc"
% ljcoefficients "chignolin.lj"
* xyz -1 1
H -1.0637532468 1.1350324675 2.4244220779
C -0.5230000000 0.6870000000 3.2490000000
C 0.4180000000 1.7240000000 3.8660000000
O -0.0690000000 2.7620000000 4.2830000000
O 1.6090000000 1.4630000000 3.9110000000
H -1.2240000000 0.3460000000 3.9970000000
H 0.0550000000 -0.1510000000 2.8890000000
*
There are few points that have to be raised here. Because the keyword qmmm/pdynamo was specified in the header
variable, the pDynamo library will automatically add the constraint block in the ORCA input, which will freeze
the link atoms and the QM atoms to which they are bound. It will also generate the chignolin.lj file contain-
ing all the Lennard-Jones parameters. The important parts of this file, which is somewhat different than the one
generated by Gromacs, are listed next.
# number of atoms combination rule
138 0
# x y z sigma epsilon id
-6.778000 -1.424000 4.200000 3.250000 0.711280 -1
-6.878000 -0.708000 2.896000 3.500000 0.276144 -1
-5.557000 -0.840000 2.138000 3.750000 0.439320 -1
...
0.433000 0.826000 0.502000 2.960000 0.878640 -1
-0.523000 0.687000 3.249000 3.500000 0.276144 1
0.418000 1.724000 3.866000 3.750000 0.439320 2
-0.069000 2.762000 4.283000 2.960000 0.878640 3
1.609000 1.463000 3.911000 2.960000 0.878640 4
-2.259000 -0.588000 1.846000 0.000000 0.000000 -1
-1.795000 2.207000 2.427000 2.500000 0.125520 -1
-1.224000 0.346000 3.997000 2.500000 0.125520 5
0.055000 -0.151000 2.889000 2.500000 0.125520 6
-0.311000 2.922000 0.557000 3.250000 0.711280 -1
(continues on next page)
The second number on the first line refers to the type of combination rule used to calculate the Lennard-Jones
interaction. It is 0 if a geometric average is used (OPLS force field), or 1 for the Lorentz-Berthelot rules (AMBER
force field). The id on the last column is -1 for MM atoms and is equal to the atom number for the QM atoms. In
this case the hydrogen link atom is atom 0. The last block of the file is composed of atom pairs and a special factor
by which their Lennard-Jones interaction is scaled. In general this factor is equal to 1, but for atoms one or two
bonds apart is zero, while for atoms three bonds apart depends on the type of force field, and in this case is 0.5.
After successful completion of the ORCA optimization run, the information will be relayed back the pDynamo
library, which will report the total QM/MM energy of the system. At this point the type QM/MM of calculation is
limited only by the capabilities of the pDynamo library, which are quite extensive.
...
ATOM 1737 CA HSE P 117 14.762 47.946 31.597 1.00 0.00 PROT C
ATOM 1738 HA HSE P 117 14.751 47.579 32.616 0.00 0.00 PROT H
ATOM 1739 CB HSE P 117 14.129 49.300 31.501 1.00 1.00 PROT C
ATOM 1740 HB1 HSE P 117 14.407 49.738 30.518 0.00 1.00 PROT H
ATOM 1741 HB2 HSE P 117 13.024 49.194 31.509 0.00 1.00 PROT H
ATOM 1742 ND1 HSE P 117 13.899 51.381 32.779 0.00 1.00 PROT N
ATOM 1743 CG HSE P 117 14.572 50.261 32.582 0.00 1.00 PROT C
(continues on next page)
NOTES:
• If one wants to include more than one QM region, integers bigger than 1 can be used to define the different
regions.
• Charge groups cannot be split when selecting QM and MM region. The reason is that non-integer partial
charges may occur if a charge group is split. Since the QM partial charges are updated in every QM iteration,
this may lead to a change in the total charge of the system over the course of the MD simulation.
• The occupancy and b-factor columns are used for several declarations in NAMD. If two of these come
together in one simulation, the keyword qmParamPDB is used to define which pdb file contains the information
about QM atoms and bonds.
• To simplify the selection of QM atoms and writing the pdb file a set of scripts is planned to be included in
future releases of NAMD.
To run the calculation, the keyword qmForces on must be set. To select ORCA qmSoftware "orca" must be
specified and the path to the executables must be given to qmExecPath, as well as a directory where the calculation
is carried out (qmBaseDir). To pass the method and specifications from NAMD to ORCA qmConfigLine is used.
These lines will be copied to the beginning of the input file and can contain both simple input as well as block
input. To ensure the calculation of the gradient, the engrad keyword should be used.
The geometry of the QM region including the selected links as well as the MM point charges are copied to the
ORCA inputfile automatically. Multiplicity and charge can be defined using qmMult and qmCharge, although the
latter can be determined automatically by NAMD using the MM parameters. It should be noted at this point that
NAMD is capable to handle more than one QM region per QM/MM calculation. Therefore for each region, charge
and multiplicity are expected. In the case of only one QM region, the input looks like the following:
Currently, two charge modes are available: Mulliken and CHELPG. They have to be specified in the NAMD
input using QMChargeMode and in the qmConfigLine, respectively. Different embedding schemes, point charge
schemes and switching functions are available, which will be not further discussed here. Another useful tool worth
mentioning is the possibility to call secondary executables before the first or after each QM software execution
using QMPrepProc or QMSecProc, respectively. Both are called with the complete path and name to the QM input
file, allowing e.g. storage of values during an QM/MM-MD.
It is strongly enphasized that at this points both programs are constantly developed further. For the latest informa-
tion, either the ORCA forum or the NAMD website should be consulted.
The theory can do most of what ORCA_ASA can and more, such as including vibronic coupling in forbidden tran-
sitions (the so-called Herzberg-Teller effect, HT), considering Duschinsky rotations between modes of different
states, solving the equations using different coordinate systems, etc. There are also seven new approaches to obtain
the excited state geometry and Hessian without necessarily optimizing its geometry. Many keywords and options
are available, but most of the defaults already give good results. Let’s get into specific examples, starting with the
absorption spectrum. Please refer to section More on the Excited State Dynamics module for a complete keyword
list and details.
Assuming DFT/TD-DFT here, but other methods can also be used (see Tips, Tricks and Troubleshooting). With
both Hessians available, the ESD module can be accessed from:
!B3LYP DEF2-SVP TIGHTSCF ESD(ABS)
%TDDFT
NROOTS 5
IROOT 1
END
%ESD
GSHESSIAN "BEN.hess"
ESHESSIAN "BEN_S1.hess"
DOHT TRUE
END
* XYZFILE 0 1 BEN.xyz
s Important
The geometry must match that in the GS Hessian when calling the ESD module. You can obtain it from the
.xyz file after geometry optimization or directly copy it from the .hess file (remember to use BOHRS on the
input to correct the units, if obtained from the .hess).
You must provide both names for the Hessians and set DOHT to TRUE here because the first transition of benzene
is symmetry forbidden, with an oscillator strength of 2e-6. Therefore, all intensity arises from vibronic coupling
(HT effect) [199]. In molecules with strongly allowed transitions, this parameter can typically remain FALSE (the
default). Some calculation details are printed, including the computation of transition dipole derivatives for the
HT component, and the spectrum is saved as BASENAME.spectrum.
Energy TotalSpectrum IntensityFC IntensityHT
10807.078728 2.545915e-02 2.067393e-07 2.545894e-02
(continues on next page)
The first column has the total spectrum, but the contributions from the Franck-Condon part and the Herzberg-Teller
part are also discriminated. As you can see, the FC intensity is less than 1% of the HT intensity here, highlighting
the importance of including the HT effect. It is important to note that, in theory, the absorbance intensity values
correspond to the experimental 𝜀 (in L mol cm−1 ), and they depend on the spectral lineshape. The TotalSpectrum
column can be plotted using any software to obtain the spectrum named Full AH spectrum (shown in blue), in Fig.
6.58 below.
Fig. 6.58: Here is the experimental absorption spectrum for benzene (shown in black on the left), alongside pre-
dictions made using ORCA_ESD at various PES approximations.
The spectrum obtained is very close to the experimental results at 298K, even when simply using all the defaults,
and it could be further improved by adjusting parameters such as lineshape, as discussed in detail in Sec. General
Aspects and Sec. More on the Excited State Dynamics module.
ò Note
• The path integral approach in ORCA_ESD is much faster than the more traditional approach of calcu-
lating all vibronic transitions with non-negligible intensities, one by one [748]. This is especially true
for large systems, where the number of bright vibronic transitions may potentially scale exponentially,
but our approach’s scaling remains polynomial (in fact near linear scaling in favorable cases [199]). The
price to pay is that one can no longer read off the compositions of the vibronic states from the spectrum,
in other words, one cannot assign the peaks without doing further calculations. However, one can know
whether a given vibrational mode contributes to a given peak, by repeating the ESD calculation with a
few modes removed, and see if the peak is still present. This can be conveniently done using the MOD-
ELIST or SINGLEMODE keywords. More information can be found in Sec. More on the Excited State
Dynamics module.
• The Huang-Rhys factors are important tools for qualitative and quantitative analysis of the contributions
of each vibrational mode to the vibrationally resolved spectrum (and also to the transition rate constants,
as will be discussed later). They can be requested by setting PRINTLEVEL in the %ESD module to 3
or above.
Of course, it is not always possible to obtain the excited state (ES) geometry due to root flipping, or it might be
too costly for larger systems. Therefore, some approximations to the ES Potential Energy Surface (PES) have been
developed.
s Important
Please note that certain methods, such as STEOM-DLPNO-CCSD, require significant time to compute numer-
ical gradients. In such cases, we recommend using DFT/TD-DFT Hessians and employing the higher-level
method solely for single points.
If everything is set correctly, after the regular single point calculation, the ESD module in ORCA will initiate. It
proceeds to obtain the excited state (ES) geometry, compute derivatives, and predict the spectrum. The resulting
normalized spectrum can be observed in Fig. 6.58, depicted in red. Due to such simple model, the spectrum is also
simplified. While this simplicity is less critical for larger molecules, it highlight the potential benefit of employing
an intermediate model.
The spectrum obtained corresponds to the green line in Fig. 6.58. As shown, it closely resembles the spectrum
obtained using AH, where a full geometry optimization was performed. Although not set as the default, this
method comes highly recommended based on our experience [199]. Another advantage of this approach is that the
derivatives of the transition dipole are computed simultaneously over Cartesian displacements on the ES structure
using the numerical Hessian. Subsequently, these modes are straightforwardly converted.
OBS: The transition dipoles used in our formulation are always those of the FINAL state geometry. For absorption,
this corresponds to the ES, so in AHAS, the derivatives are computed over this geometry. For fluorescence, the
default behavior is to recompute the derivatives over the GS geometry. Alternatively, you can choose to save time
and convert directly from ES to GS by setting CONVDER TRUE (though this is an approximation). For more
details, refer to Sec. More on the Excited State Dynamics module.
Duschinsky rotations
The ES modes can sometimes be expressed as linear combinations of the GS modes (see Sec. General Aspects
of the Theory), a phenomenon known in the literature as Duschinsky rotation [228]. In our formulation within
ORCA_ESD, it is possible to account for this effect, which reflects a closer approximation to real-world scenarios,
albeit at a higher computational cost.
You can enable this feature by setting USEJ TRUE; otherwise, the rotation matrix J defaults to unity. For instance,
in the case of benzene, while the effect may not be pronounced, there is noticeable improvement in matching peak
ratios with experimental data when incorporating rotations. Exploring this option may reveal more significant
impacts in other cases.
Fig. 6.59: Experimental absorption spectrum for benzene (black on the left) and the effect of Duschinsky rotation
on the spectrum.
Temperature effects
In our model, the effects of the Boltzmann distribution due to temperature are exactly accounted for [199]. The
default temperature is set to 298.15 K, but you can specify any other temperature by adjusting the TEMP parameter
under %ESD. However, it is important to note that when approaching temperatures close to 0 K, numerical issues
may arise. For instance, if you encounter difficulties modeling a spectrum at 5 K or wish to predict a jet-cooled
spectrum, setting TEMP to 0 will activate a set of equations specifically tailored for T=0 K conditions.
As can be seen in Fig. 6.60, at 0 K there are no hot bands and fewer peaks, while at 600 K there are many more
possible transitions due to the population distribution over the GS.
Multistate Spectrum
If you want to predict a spectrum that includes many different states, you should ignore the IROOT flag in all
modules and instead use the STATES flag under %ESD. For example, to predict the absorption spectra of pyrene
in the gas phase and consider the first twenty states, you would specify:
!B3LYP DEF2-TZVP(-F) TIGHTSCF ESD(ABS)
%TDDFT
NROOTS 20
END
%ESD
GSHESSIAN "PYR.hess"
ESHESSIAN "PYR_S1.hess"
DOHT TRUE
STATES 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
UNIT NM
END
* XYZFILE 0 1 PYR.xyz
This input would result in the spectra shown in Fig. 6.61. In this case, each individual spectrum for every state
will be saved as BASENAME.spectrum.root1, BASENAME.spectrum.root2, etc., while the combined spectrum,
which is the sum of all individual spectra, will be saved as BASENAME.spectrum.
Fig. 6.61: Predicted absorption spectrum for pyrene in gas phase (solid blue) in comparison to the experiment
(dashed grey) at 298 K.
OBS: The flag UNIT can be used to control the output unit of the X axis. Its values can be CM-1, NM or EV and
it only affects the OUTPUT, the INPUT should always be in cm−1
Fig. 6.62: Predicted absorption (right) and emission (left) spectrum for benzene in hexane at 298.15 K.
As depicted in Fig. 6.62, the fluorescence spectrum also closely matches the experimental data [199]. The differ-
ence observed in the absorption spectrum in Fig. 6.62, compared to previous spectra, arises because the experiment
was conducted in a solvent environment. Therefore, we adjusted the linewidth to align with the experimental data.
OBS: It is common for the experimental lineshape to vary depending on the setup, and this can be adjusted using
the LINEW flag (in cm−1 ). There are four options for the lineshape function controlled by the LINES flag: DELTA
(for a Dirac delta function), LORENTZ (default), GAUSS (for a Gaussian function), and VOIGT (a Voigt profile,
which is a product of Gaussian and Lorentzian functions).
OBS2: The DELE and TDIP keywords can be used to input adiabatic (not vertical!) excitation energy and transi-
tion dipole moment computed at a higher level of theory. This enables calculating the computationally intensive
Hessians (especially the excited state Hessian) at a low level of theory without compromising the accuracy. For
more details, see Sec. Mixing methods.
If you need to control the lineshapes separately for Gaussian (GAUSS) and Lorentzian (LORENTZ), you can set
LINEW for Lorentzian and INLINEW for Gaussian (where “I” stands for Inhomogeneous Line Width).
OBS: The LINEW and INLINEW are NOT the full width half maximum (𝐹 𝑊 𝐻𝑀 ) of these curves. However,
they are related to them by: 𝐹 𝑊 𝐻𝑀𝑙𝑜𝑟𝑒𝑛𝑡𝑧 = 2 × 𝐿𝐼𝑁 𝐸𝑊 ; 𝐹 𝑊 𝐻𝑀𝑔𝑎𝑢𝑠𝑠 = 2.355 × 𝐼𝑁 𝐿𝐼𝑁 𝐸𝑊 .
For the VOIGT curve, it is a little more complicated
√︁ but in terms of the other FWHMs, it can be approximated as:
𝐹 𝑊 𝐻𝑀𝑣𝑜𝑖𝑔𝑡 = 0.5346 × 𝐹 𝑊 𝐻𝑀𝑙𝑜𝑟𝑒𝑛𝑡𝑧 + 2
(0.2166 × 𝐹 𝑊 𝐻𝑀𝑙𝑜𝑟𝑒𝑛𝑡𝑧 2
+ 𝐹 𝑊 𝐻𝑀𝑔𝑎𝑢𝑠𝑠 ).
. Warning
Whenever using ESD with CIS/TD-DFT and solvation, CPCMEQ will be set to TRUE by default, since the
excited state should be under equilibrium conditions! More info in Including solvation effects via LR-CPCM
theory.
...
***Everything is set, now computing the correlation function***
In one of our theory papers, we investigated the calculation of fluorescence rates for the set of molecules presented
in Fig. 6.63. The results are summarized in Fig. 6.64 for some of the methods used to obtain the Potential Energy
Surface (PES) mentioned.
Fig. 6.63: The set of molecules studied, with rates on Fig. 6.64.
Fig. 6.64: Predicted emission rates for various molecules in hexane at 298.15 K. The numbers below the labels are
the HT contribution to the rates.
or, in this case, by computing the ground state triplet by simply setting the multiplicity to three:
Alternatively, one can use methods like VG, AHAS, etc., to approximate the triplet geometry and Hessian. How-
ever, this approach requires preparing the Hessian in a separate ESD run (Sec. Approximations to the excited state
PES).
Additionally, you must input the adiabatic energy difference between the ground singlet and ground triplet states at
their respective geometries (without any zero-point energy correction) using the DELE flag under %ESD. In this
case, the spin-adapted triplet computed previously serves as our reference triplet state. An example input for the
rate calculation using TDDFT is as follows:
!B3LYP DEF2-TZVP(-F) TIGHTSCF CPCM(ETHANOL) ESD(PHOSP) RI-SOMF(1X)
%TDDFT
NROOTS 20
DOSOC TRUE
TDA FALSE
IROOT 1
END
%ESD GSHESSIAN "BIA.hess"
TSHESSIAN "BIA_T1.hess"
DOHT TRUE
DELE 17260
END
* XYZFILE 0 1 BIA.xyz
$NEW_JOB
$NEW_JOB
Phosphorescence rate calculation are always accompanied by the generation of the vibrationally resolved phospho-
rescence spectrum, which can be visualized in the same way as fluorescence spectra.
OBS.: When computing phosphorescence rates, each rate from individual spin sub-levels must be requested sepa-
rately. You may use the $NEW_JOB option, just changing the IROOT, to write everything in a single input. After
SOC, the three triplet states (𝑇1 with 𝑀𝑆 = -1, 0 and +1) will split into IROOTs 1, 2 and 3, and all of them must be
included when computing the final phosphorescence rate. In this case, it is reasonable to assume that the geometries
and Hessians of these spin sub-levels are the same, and we will use the same .hess file for all three.
OBS2.: The ground state geometry should be used in the input file, similar to the case of fluorescence (vide supra).
OBS3.: Apart from DELE, one can also use the TDIP keyword to input a high-level transition dipole moment,
similar to the fluorescence case. This enables e.g. the calculation of phosphorescence rates/spectra using e.g.
NEVPT2 or DLPNO-STEOM-CCSD transition dipole moments, with (TD)DFT geometries and Hessians. Note
however that the transition dipole moment in phosphorescence processes is complex, so 6 instead of 3 components
are required.
Here, we are computing the rate and spectrum for biacetyl in ethanol at 298 K. The geometries and Hessians
were obtained as previously described, with the ground triplet computed from a simple open-shell calculation.
To compute the rate, the flag DOSOC must be set to TRUE under %TDDFT (Sec Spin-orbit coupling), or the
respective module, and it is advisable to set a large number of roots to ensure a good mixing of states.
Please note that we have chosen the RI-SOMF(1X) option for the spin-orbit coupling integrals, but any of the
available methods can be used (Sec. The Spin-Orbit Coupling Operator).
Calculation of rates
As you can see, the predicted spectra for biacetyl (Fig. 6.65) are quite close to the experimental results [198, 784].
The calculation of the phosphorescence rate is more complex because there are three triplet states that contribute.
Therefore, the observed rate must be taken as an average of these three states.
𝑝ℎ𝑜𝑠𝑝 𝑘1 + 𝑘2 + 𝑘3
𝑘𝑎𝑣 =
3
To be even more strict and account for the Boltzmann population distribution at a given temperature 𝑇 caused by
the Zero Field Splitting (ZFS), one should use [593]:
Fig. 6.65: The experimental (dashed red) and theoretical (solid black, displaced by about 2800 cm−1 ) phosphores-
cence spectra for biacetyl, in ethanol at 298 K.
OBS: A subtlety arises when the final state is not a singlet state, for example in radical phosphorescence (doublet
ground state) or singlet oxygen phosphorescence (triplet ground state). In this case the most rigorous treatment
would be to sum over the final states but average over the initial states. For example, with quartet-to-doublet
phosphorescence one gets
𝑝ℎ𝑜𝑠𝑝 𝑘1→1 + 𝑘2→1 𝑒−(Δ𝐸1,2 /𝑘𝐵 𝑇 ) + 𝑘3→1 𝑒−(Δ𝐸1,3 /𝑘𝐵 𝑇 ) + 𝑘4→1 𝑒−(Δ𝐸1,4 /𝑘𝐵 𝑇 )
𝑘𝑎𝑣 =
1 + 𝑒−(Δ𝐸1,2 /𝑘𝐵 𝑇 ) + 𝑒−(Δ𝐸1,3 /𝑘𝐵 𝑇 ) + 𝑒−(Δ𝐸1,4 /𝑘𝐵 𝑇 )
𝑘1→2 + 𝑘2→2 𝑒−(Δ𝐸1,2 /𝑘𝐵 𝑇 ) + 𝑘3→2 𝑒−(Δ𝐸1,3 /𝑘𝐵 𝑇 ) + 𝑘4→2 𝑒−(Δ𝐸1,4 /𝑘𝐵 𝑇 )
+
1 + 𝑒−(Δ𝐸1,2 /𝑘𝐵 𝑇 ) + 𝑒−(Δ𝐸1,3 /𝑘𝐵 𝑇 ) + 𝑒−(Δ𝐸1,4 /𝑘𝐵 𝑇 )
where 𝑘2→1 is the phosphorescence rate constant from the second sublevel of the initial quartet to the first sublevel
of the final doublet, etc. Note that the Boltzmann factors of the final state do not enter the expression. Unfortunately,
since U-TDDFT is spin contaminated and unsuitable for calculating SOC-corrected transition dipole moments, the
transition dipoles in this case have to be calculated by more advanced methods, such as DFT/ROCIS or multiref-
erence methods. The transition dipole should then be given in the input file using the TDIP keyword.
The SOCMEs between a singlet state and a triplet state consist of three complex numbers, not just one, because
the triplet state has three sublevels. If the user uses the SOCME of one of the sublevels as input to the ISC rate
calculation, this gives the ISC rate associated with that particular sublevel. However, experimentally one usually
does not distinguish the three sublevels of a triplet state, and experimentally ISC rates are reported as if the three
sublevels of a triplet state are the same species. Therefore, the rate of singlet-to-triplet ISC is the sum of the
ISC rates from the singlet state to the three triplet sublevels. Fortunately, in case the Herzberg-Teller effect (vide
infra) can be neglected, it is not necessary to perform three rate calculations and add up the rates, since the rate is
proportional to the squared modulus of the SOCME. Thus, one can run a single ESD calculation where the SOCME
is the square root of the summed squared moduli of the three SOCME components.
As an illustration, consider the 𝑆1 to 𝑇1 ISC rate of acetophenone. First, we optimize the 𝑆0 geometry, and (after
manually tweaking the geometry to break mirror symmetry) use it as an initial guess for the geometry optimization
and frequency calculations of the 𝑆1 and 𝑇1 states. Then, we calculate the 𝑆1 -𝑇1 SOCMEs at the 𝑇1 geometry (note
that, as usual, final state geometries should be used for ESD calculations; this may differ from some programs other
than ORCA). These calculations are conveniently done using a compound script, although the individual steps can
of course also be done using separate input files.
* xyz 0 1
C 1.512698 7.783764 -0.013405
C 2.900029 7.735359 -0.016012
C 3.664170 8.950745 0.000408
C 2.952045 10.199539 0.007630
C 1.564497 10.214795 0.009890
C 0.827311 9.015246 0.000726
H 0.946857 6.847253 -0.027731
H 3.394565 6.763402 -0.041976
H 3.505090 11.140193 0.017889
H 1.039592 11.175094 0.019479
H -0.265468 9.038211 0.000969
C 5.059695 8.958412 0.000442
O 5.733735 10.161120 -0.048672
C 5.927824 7.713913 0.020029
H 5.442615 6.938582 0.639989
H 6.073177 7.326421 -1.014490
H 6.923426 7.950459 0.447785
*
%compound
%tddft
tda false
nroots 2
iroot 1
end
step_end
* xyz 0 3
C 1.512698 7.783764 -0.013405
C 2.900029 7.735359 -0.016012
C 3.664170 8.950745 0.000408
C 2.952045 10.199539 0.007630
C 1.564497 10.214795 0.009890
C 0.827311 9.015246 0.000726
H 0.946857 6.847253 -0.027731
H 3.394565 6.763402 -0.041976
H 3.505090 11.140193 0.017889
H 1.039592 11.175094 0.019479
H -0.265468 9.038211 0.000969
C 5.059695 8.958412 0.000442
O 5.733735 10.161120 -0.048672
C 5.927824 7.713913 0.020029
H 5.442615 6.938582 0.639989
H 6.073177 7.326421 -1.014490
H 6.923426 7.950459 0.447785
*
step_end
%tddft
tda false
nroots 3
triplets true
dosoc true
end
step_end
end
After verifying that neither of the Hessians have imaginary frequencies (which is very important!), we can read the
computed SOCMEs:
--------------------------------------------------------------------------------
CALCULATED SOCME BETWEEN TRIPLETS AND SINGLETS
--------------------------------------------------------------------------------
Root <T|HSO|S> (Re, Im) cm-1
T S Z X Y
--------------------------------------------------------------------------------
1 0 ( 0.00 , -2.00 ) ( 0.00 , 29.24 ) ( -0.00 , -41.11 )
1 1 ( 0.00 , -0.59 ) ( 0.00 , 1.79 ) ( -0.00 , -2.57 )
1 2 ( 0.00 , 0.52 ) ( 0.00 , -3.19 ) ( -0.00 , 3.21 )
1 3 ( 0.00 , -2.39 ) ( 0.00 , 14.57 ) ( -0.00 , -19.53 )
2 0 ( 0.00 , -0.11 ) ( 0.00 , 2.78 ) ( -0.00 , -2.72 )
2 1 ( 0.00 , 2.25 ) ( 0.00 , -20.07 ) ( -0.00 , 28.07 )
2 2 ( 0.00 , 0.02 ) ( 0.00 , -0.13 ) ( -0.00 , 0.29 )
2 3 ( 0.00 , -0.17 ) ( 0.00 , 0.59 ) ( -0.00 , -1.27 )
3 0 ( 0.00 , -0.01 ) ( 0.00 , 0.05 ) ( -0.00 , -0.06 )
3 1 ( 0.00 , -0.01 ) ( 0.00 , 0.19 ) ( -0.00 , -1.36 )
3 2 ( 0.00 , -0.01 ) ( 0.00 , -0.05 ) ( -0.00 , -0.14 )
3 3 ( 0.00 , -0.00 ) ( 0.00 , 0.14 ) ( -0.00 , -0.16 )
The “total” SOCME between 𝑆1 and 𝑇1 is then calculated, from the line that begins with “1 1”, as
√︀
0.002 + (−0.59)2 + 0.002 + 1.792 + 0.002 + 2.572 𝑐𝑚−1 = 3.19𝑐𝑚−1 = 1.45 × 10−5 𝑎𝑢
One should therefore write socme 1.45e-5 in the %esd block in the subsequent ISC rate calculation.
Importantly, the above approach is only applicable to singlet-to-triplet ISC, but not to triplet-to-singlet ISC (includ-
ing, but not limited to, 𝑇1 → 𝑆0 and 𝑇1 → 𝑆1 processes). In the latter case, assuming that the triplet sublevels are
degenerate and in rapid equilibrium, we obtain that the observed rate constant is the average, not the sum, of the
rate constants of the three triplet sublevels, because each triplet sublevel has a Boltzmann weight of 1/3. Therefore,
the “effective” SOCME that should be plugged into the ESD module to get the observed rate constant is (here the
squared modulus |𝑆𝑂𝐶𝑀 𝐸𝑥 |2 should be calculated as 𝑅𝑒(𝑆𝑂𝐶𝑀 𝐸𝑥 )2 + 𝐼𝑚(𝑆𝑂𝐶𝑀 𝐸𝑥 )2 , etc.)
√︂
|𝑆𝑂𝐶𝑀 𝐸𝑥 |2 + |𝑆𝑂𝐶𝑀 𝐸𝑦 |2 + |𝑆𝑂𝐶𝑀 𝐸𝑧 |2 (6.27)
𝑆𝑂𝐶𝑀 𝐸𝑎𝑣 =
3
√
i.e. a factor of 3 smaller than the singlet-to-triplet case. However, both of the two assumptions (degenerate triplet
sublevels, and rapid equilibrium between sublevels) may fail under certain circumstances, which may contribute to
the error of the predicted rate. Nevertheless, in many cases the present, simple approach still provides a rate with
at least the correct order of magnitude.
OBS.: The adiabatic energy difference is NOT computed automatically for ESD(ISC), so you must provide it in
the input. This is the energy of the initial state minus the energy of the final state, each evaluated at its respective
geometry.
OBS2.: All the other options concerning changes of coordinate system, Duschinsky rotation, etc., are also available
here.
OBS3.: For many molecules, the 𝑆1 → 𝑇1 ISC process is not the dominant ISC pathway. This is because the
excited state compositions of 𝑆1 and 𝑇1 are often similar, and therefore ISC transitions between them frequently
do not satisfy the El-Sayed rule. Even if the only experimentally observed excited states are 𝑆1 and 𝑇1 , it may still
be that the initial ISC is dominated by 𝑆1 → 𝑇𝑛 (𝑛 > 1), followed by ultrafast 𝑇𝑛 → 𝑇1 internal conversion.
OBS4.: Similarly, if the molecule starts at a high singlet state 𝑆𝑛 (𝑛 > 1), the dominant ISC pathway is not
necessarily the direct ISC from 𝑆𝑛 to one of the triplet states. Rather, it is possible (but not necessarily true) that
𝑆𝑛 first decays to a lower singlet excited state before the ISC occurs.
OBS5.: If you calculate the DELE or SOCMEs at a higher level of theory and use it as an input for the ESD
calculation, please make sure that you have chosen the same excited state (in terms of state composition, not
energy ordering) in the Hessian and DELE/SOCME calculations. For example, suppose that you have obtained
the geometry and Hessian of the 𝑇2 state, but the 𝑇2 state of the higher level of theory has a very different state
composition than the 𝑇2 state at the level of theory used in the Hessian calculation; rather, it is 𝑇3 at the high level
of theory that shares the same composition as the 𝑇2 state at the lower level of theory. In this case, you should use
the SOCME related to 𝑇3 in the SOCME output file.
OBS6.: The ESD module does not require that the final state of the ISC process is energetically lower than the initial
state. Therefore, reverse ISC (RISC) rates can be calculated in exactly the same way as ISC rates. Note however
that (1) if you want to supply the adiabatic energy difference using the DELE keyword, the energy difference should
be negative; and (2) whether one should sum or average the three components of the SOCMEs depend on whether
the final state is a triplet state, not whether the lower state is a triplet state.
OBS7.: ISC transitions between states other than singlets and triplets (for example between a doublet state an a
quartet state) can also be calculated, provided that the SOCMEs are calculated by a properly spin-adapted or mul-
tireference method, such as DFT/ROCIS or NEVPT2. The squared moduli of the sublevels’ SOCMEs should be
summed over all final state spin sublevels but averaged over all initial state spin sublevels, similar to the phospho-
rescence case (Calculation of rates).
...
Fig. 6.66: Scheme for the calculation of the intersystem crossing in anthracene. The 𝑘𝐼𝑆𝐶 (𝑖) between 𝑆1 and
each triplet is a sum of all transitions to the spin-sublevels and the actual observed 𝑘𝐼𝑆𝐶
𝑜𝑏𝑠
, which consolidates these
transitions. On the right, there is a diagram illustrating the distribution of excited states with 𝐸(𝑆1 ) − 𝐸(𝑇𝑛 )
depicted on the side. Since 𝑇3 is energetically too high, intersystem crossing involving 𝑇3 can be safely neglected.
Then, the derivatives of the SOCME are computed and the rates are printed at the end. By performing the same
calculations for the 𝑇2 states and summing up these values, a predicted 𝑘𝐼𝑆𝐶
𝑜𝑏𝑠
= 1.17 × 108 𝑠−1 can be obtained,
much closer to the experimental value, which is associated with a large error anyway.
OBS.: In cases where the SOCME are relatively large, e.g., SOCME > 5𝑐𝑚−1 , the Herzberg-Teller effect might
be negligible, and a simple Franck-Condon calculation should yield good results. This is typically applicable to
molecules with heavy atoms, where vibronic coupling is less significant.
OBS2.: Always consider that there are actually THREE triplet spin-sublevels, and transitions from the singlet to
all of them should be included.
OBS3.: ISC rates are extremely sensitive to energy differences. Exercise caution when calculating them. If a more
accurate excited state method is available, it should be considered for prediction.
OBS4.: The Herzberg-Teller effect is not yet implemented for ISC transitions between states that are not singlets
and triplets.
%tddft
tda false # Full TDDFT is recommended over TDA
nroots 3
iroot 1 # Change to 2 for S2-S0 IC rate, etc.
nacme true # Calculate the NACME between the iroot-th root with the ground state
etf true # Use electron translation factor (recommended)
end
%esd
gshessian "azulene_S0.hess" # Ground state Hessian (B3LYP-D3/def2-SVP)
eshessian "azulene_S1.hess" # Excited state Hessian (TD-B3LYP-D3/def2-SVP)
usej true # Use Duschinsky rotation (recommended)
end
Here the 𝑆0 geometry, as well as the 𝑆0 and 𝑆1 Hessian files, were obtained at the B3LYP-D3/def2-SVP level of
theory. Note that the NACME calculation uses full TDDFT and also includes the electron-translation factor (ETF),
which are the recommended practices in general. The “iroot 1” specifies that the initial state is 𝑆1 ; the final state
is always 𝑆0 and this cannot be changed.
The computed IC rate constant is given near the end of the output file:
For more accurate results, one may add explicit solvation shells, since implicit solvation models only describe the
electrostatic and dispersive effects of the solvent on the solute, but cannot provide the extra vibrational degrees of
freedom that can help dissipating the excitation energy. Conversely, by using an implicit solvent one also misses
the effect of the solvent viscosity on inhibiting the internal conversion, which is particularly important when one
wants to compare against experiments conducted at low temperatures.
s Important
The LASERE used in the input is NOT necessarily the same as the experimental one. It should be proportional
to the theoretical transition energy. For example, if the experimental 0-0 ∆E is 30000 cm−1 and the laser
energy used is 28000 cm−1 , then for a theoretical ∆E of 33000 cm−1 , you should use a laser energy of 31000
cm−1 to obtain the corresponding theoretical result. At the end of the ESD output, the theoretical 0-0 ∆E is
printed for your information.
Fig. 6.67: The theoretical (solid black - vacuum and solid blue - water) and experimental (dashed red - water)
resonant Raman spectrum for the phenoxyl radical.
OBS.: The actual Raman Intensity collected with any polarization at 90 degrees, the I(𝜋/2; ‖𝑠 + ⊥𝑠 , ⊥𝑖 ) [533],
can be obtained by setting RRINTES to TRUE under %ESD.
And the result is shown in Fig. 6.67. In this case, the default method VG was used. If one wants to include solvent
effects, then CPCM(WATER) should be added. As can be seen, there is a noticeable difference in the main peak
when calculated in water.
It is important to clarify some differences from the ORCA_ASA usage here. Using the ESD module, you do not
need to select which modes you will account for in the spectra; we include all of them. Additionally, we can only
operate at 0 K, and the maximum “Raman Order” is 2. This means we account for all fundamental transitions, first
overtones, and combination bands, without including hot bands. This level of approximation is generally sufficient
for most applications.
If you are working with a very large system and want to reduce calculation time, you can request RORDER 1 under
the %ESD options. This setting includes only the fundamental transitions, omitting higher-order bands. This
approach may be relevant, especially when including both Duschinsky rotations and the Herzberg-Teller effect,
which can significantly increase computation time.
The rRaman spectra are printed with the contributions from “Raman Order” 1 and 2 separated as follows:
Isotopic Labeling
If you want to simulate the effect of isotopic labeling on the rRaman spectrum, there is no need to recalculate the
Hessian again. Instead, you can directly modify the masses of the respective atoms in the Hessian files. This can
be done by editing the $𝑎𝑡𝑜𝑚𝑠 section of the input file or directly in the Hessian file itself (see also Sec. Isotope
Shifts). After making these adjustments, you can rerun ESD using the modified Hessian files, for example:
As depicted in Fig. 6.68, the distinction between phenoxyl and its deuterated counterpart is evident. The peak
around 1000 cm−1 corresponds to a C-H bond, which shifts to lower energy after deuteration. This difference of
approximately 150 cm−1 aligns closely with experimental findings [852].
Fig. 6.68: The theoretical (solid black - C6 H5 O and solid blue - C6 D5 O) and experimental (dashed red) resonant
Raman spectrum for the phenoxyl radical.
OBS: Whenever an ES Hessian is calculated using the HESSFLAG methods, it is saved in a file named BASE-
NAME.ES.hess. If you want to repeat a calculation, you can simply use this file as an input without the need to
recalculate everything.
be chosen appropriately based on your specific needs. While the defaults are generally suitable, you may need to
adjust them according to your requirements.
6.18.7 ESD and STEOM-CCSD or other higher level methods - the APPROXADEN
option
If you plan to use the ESD module together with STEOM-CCSD, or other higher level methods such as EOM-
CCSD, CASSCF/NEVPT2, some special advice must be given.
Since these methods currently do not have analytic gradients, numerical ones will be requested by default to com-
pute the excited state geometries. This, of course, can take a significant amount of time, as they require approxi-
mately 3 × 𝑁atoms single-point calculations. We strongly recommend that, in these cases, you should use DFT/TD-
DFT to obtain the ground/excited/triplet state geometry and Hessians, and only use the higher-level method for the
final ESD step.
Also, we recommend using APPROXADEN under the %ESD options.
%ESD
APPROXADEN TRUE
END
In this case, only one single point at the geometry of the ground state needs to be done, and the adiabatic energy
difference will be automatically obtained from the ES Hessian information, without the need of a second single
point at the extrapolated ES geometry, which could be unstable.
* xyz 0 1
C 0.02461655377138 0.08670067686058 -5.20436273663217
C -0.23485307714882 -0.31738971302751 -3.80610272711970
O -0.15359212444282 1.06795113221760 -4.17749263689755
H 1.05055243293426 -0.00333310016875 -5.61325012342071
H -0.78323750369168 0.02252140387747 -5.95969728166753
H -1.26417590138099 -0.65347889194363 -3.56065466091728
C 0.84884023150886 -0.84537627906508 -2.89604274193698
H 0.68194744925825 -0.50794125098111 -1.85197471265376
H 0.85716491819315 -1.95559179229870 -2.89420656551675
H 1.84600617099845 -0.48435690147087 -3.21751813823758
*
we can compute ESD spectrum within in VE approximation and within the ESD modules according to the following
input:
%TDDFT
NROOTS 10
END
%ESD
ESDFlag ECD
GSHESSIAN "c3h6o_opt_freq.hess "
PRINTLEVEL 2
DOHT TRUE
LINEW 500
SPECRANGE 40000, 70000
STATES 1,2,3,4,5,6,7,8,9,10
END
* xyzfile 0 1 c3h6o_opt_freq.xyz
The result is provided in Figure Fig. 6.69 where one can see that according to the expectations the computed
spectrum agrees with the experiment only when FC and HT vibronic coupling schemes are taken into account
Fig. 6.69: Experimental (black) versus BP86/TDDFT (VE, blue and FC+HT red) ECD spectra for C3H6O molecule
%TDDFT
NROOTS 10
IROOT 1
(continues on next page)
* xyzfile 0 1 c3h6o_opt_freq.xyz
and
%TDDFT
NROOTS 10
IROOT 1
IMULT 3
SOCGRAD TRUE
TRIPLETS TRUE
END
* xyzfile 0 3 c3h6o_opt_freq.xyz
Then one can setup the respective PL and CPL inputs as:
PF:
%TDDFT
NROOTS 10
IROOT 1
IMULT 1
END
%ESD
ESDFlag FLUOR
GSHESSIAN "C3H6O_opt.hess"
PRINTLEVEL 2
DOHT TRUE
LINEW 500
SPECRANGE 40000, 70000
END
* xyzfile 0 1 c3h6o_opt_freq.xyz
CPF:
%TDDFT
NROOTS 10
IROOT 1
IMULT 1
END
%ESD
ESDFlag CPF
GSHESSIAN "C3H6O_opt.hess"
PRINTLEVEL 2
DOHT TRUE
LINEW 500
SPECRANGE 40000, 70000
END
* xyzfile 0 1 c3h6o_opt_freq.xyz
PP:
%TDDFT
NROOTS 10
IROOT 1
IMULT 3
DoSOC true
TRIPLETS TRUE
SOCGRAD TRUE
END
%ESD
ESDFlag PHOSP
GSHESSIAN "C3H6O_opt_freq.hess"
TSHESSIAN "C3H6O_et0.hess"
PRINTLEVEL 2
DELE 62313
DOHT TRUE
LINEW 500
TEMP 295
SPECRANGE 40000, 70000
END
* xyzfile 0 1 C3H6O_opt.xyz
CPP:
%TDDFT
NROOTS 10
IROOT 1
IMULT 3
DoSOC true
TRIPLETS TRUE
SOCGRAD TRUE
END
%ESD
ESDFlag CPP
GSHESSIAN "C3H6O_opt_freq.hess"
TSHESSIAN "C3H6O_et0.hess"
PRINTLEVEL 2
DELE 62313
DOHT TRUE
LINEW 500
TEMP 295
SPECRANGE 40000, 70000
END
* xyzfile 0 1 C3H6O_opt.xyz
Fig. 6.70: a) Computed ABS and ECD (in blue) and Florescence and CPF (in red) under FC+HT vibronic cou-
pling schemes b) Computed Phosphorescence and CPP under FC (in blue ) and FC+HT (in red) vibronic coupling
schemes
%TDDFT NROOTS 5
End
*xyz 0 1
C 0.51103659781880 -1.54799809918165 -0.46957711710367
C -0.67682083480241 -2.19898547218227 -0.76456508506476
(continues on next page)
%TDDFT NROOTS 5
End
*xyz 0 1
C 0.51103659781880 -1.54799809918165 -0.46957711710367
C -0.67682083480241 -2.19898547218227 -0.76456508506476
C 1.59698089595014 -2.23913762447750 0.04536520831045
C 1.49004594789848 -3.60107534512753 0.24696861333386
C -0.75027591609003 -3.56343872947031 -0.57021086417552
C 0.33765559244610 -4.27346122451739 -0.10341675327345
(continues on next page)
Fig. 6.71: Black Experimental vs Calculated ABS, ECD, Fluorescence and CPF spectra for R- (in blue) and L- (in
red) isomers of diphenylnaphthylamine under FC+HT vibronic coupling schemes of the 𝜋 → 𝜋 * transition located
at 25000 𝑐𝑚−1 .
%TDDFT NROOTS 40
TDA FALSE
END
* xyzfile 0 1 pbq.xyz
Similarly, to the ESB(ABS) calculation the MCD spectrum is saved in a BASENAME.MCD file as:
!XTB
%DOCKER GUEST "water.xyz" END
* xyz 0 1
O -2.13487 2.63905 -0.01809
H -1.16698 2.61938 0.02397
H -2.41372 2.24598 0.82256
*
where the file water.xyz is a .xyz file which contains the same water structure, optionally with charge and
multiplicity (in that order) on the comment line (the second line by default):
3
0 1
O -2.13487 2.63905 -0.01809
H -1.16698 2.61938 0.02397
H -2.41372 2.24598 0.82256
The molecule given on the regular ORCA input will be the HOST, and the GUEST is always given through an external
file.
The output will start with:
***************
* ORCA Docker *
***************
where it writes the name of the file with the GUEST structure, the number of structures read, some extra info and
will optimize both host and guest (in this case they are the same), here by default using GFN2-XTB.
ò Note
If no multiplicity or charge are given, the GUEST is assumed to be neutral and closed-shell.
ò Note
The DOCKER right now is only working with the GFN-XTB and GFN-FF methods and the ALPB solvation
model. It will be expanded later to others.
That is followed by some extra info that is explained in more details on its own detailed section (see More details
on the ORCA DOCKER):
Starting Docker
---------------
Guest structure .... structure number 1
Guest charge and multiplicity .... (0 , 1)
Final charge and multiplicity .... (0 , 1)
PES used during evolution .... GFN2-XTB
Setting random seed .... done
Creating spatial grid
Grid Max Dimension 5.50 Angs
Angular Grid Step 32.73 degrees
Cartesian Grid Step 0.50 Angs
Points per Dimension 11 points
Initializing workers
Population Density 0.50 worker/Ang^2
Population Size 57
Evolving structures
Minimization Algorithm mutant particle swarm
Min, Max Iterations (3 , 10)
That is followed by the docking itself, which will stop after a few iterations:
The idea here is to collect as many local minima as possible, that is, collect a first guess for all possible modes of
interaction between the different structures. We do this by allowing both structures to partially optimize, but it is
important to say we will not look for multiple conformers of the host and guest here.
With all solutions collected, we will take a fraction of them and do a final full optimization:
And as you can see, we also automatically print the Interaction Energy, which is simple an energy difference
between the final complex, host and guest. The final best structure with lowest interaction energy is then saved
on the Basename.docker.xyz file. If needed, all other structures are saved on the Basename.docker.struc1.
allopt.xyz, as written on the output:
-------------------------------------
LOWEST INTERACTION ENERGY: -4.968825 kcal/mol (structure 3)
-------------------------------------
(...)
ò Note
The name Basename.docker.struc1.allopt.xyz refers to struc1 because that is the first docked guest.
Later that can be done with multiple guest and that is only a way to organize the outputs.
We are all set, the output can be visualized and it is, as expected:
Fig. 6.72: The final water dimer found using the GFN2-XTB PES.
! XTB PAL16
%DOCKER GUEST "uracil.xyz" END
*xyz 0 1
N -0.2707028 0.7632994 1.0276159
H -0.5957915 1.3097757 1.8163465
C -0.3386212 1.3810817 -0.2276640
O -0.7270425 2.5346295 -0.3329857
N 0.3638189 -1.2896563 0.1949192
H 0.0796815 0.9143946 -2.3190044
C 0.3781329 -0.7736192 -1.0714063
H 0.6499130 -1.4675080 -1.8526542
C 0.0669084 0.5154897 -1.3194961
H 0.4818502 -2.2779688 0.3498201
C -0.0016589 -0.5616540 1.3117092
O -0.0864879 -1.0482643 2.4227999
*
where the uracil.xyz is a simple repetition of the structure, as with the water before.
In this case the output is more diverse, and in fact many different poses appear as candidates for the final optimiza-
tion:
and structure number 6 is found to be the one with lowest interaction energy:
-------------------------------------
LOWEST INTERACTION ENERGY: -18.474228 kcal/mol (structure 6)
-------------------------------------
Here is a scheme with the structures found and their relative energies:
Fig. 6.73: Uracil dimer structures generated by DOCKER (duplicates removed) with relative energies in kcal/mol.
ò Note
There might be duplicated results after the final optimization, these are currently not automatically removed.
Here they were manually removed.
s Important
The PAL16 flag means XTB will run in parallel, but the ORCA DOCKER could be parallelized in a much more
efficient way by paralleizing over the workers. That will be done for the next versions and it will be significantly
more efficient.
! XTB PAL16
%DOCKER
GUEST "water.xyz"
NREPEATGUEST 3
END
*xyz 0 1
N -0.2707028 0.7632994 1.0276159
H -0.5957915 1.3097757 1.8163465
C -0.3386212 1.3810817 -0.2276640
O -0.7270425 2.5346295 -0.3329857
N 0.3638189 -1.2896563 0.1949192
H 0.0796815 0.9143946 -2.3190044
C 0.3781329 -0.7736192 -1.0714063
H 0.6499130 -1.4675080 -1.8526542
C 0.0669084 0.5154897 -1.3194961
H 0.4818502 -2.2779688 0.3498201
C -0.0016589 -0.5616540 1.3117092
O -0.0864879 -1.0482643 2.4227999
*
and the guests on water.xyz will be added on top of the previous best complex three times. Now, there will
be files with names Basename.docker.struc1.allopt.xyz, Basename.docker.struc2.allopt.xyz and
Basename.docker.struc3.allopt.xyz, one for each step. Still, the same final Basename.docker.xyz file
and now a Basename.docker.build.xyz is also printed, with the best result after each iteration.
That’s how the results look like, from the Basename.docker.xyz:
ò Note
By default the HOST is always optimized. It can be changed with %DOCKER FIXHOST TRUE END.
In order to do that, simply pass a multixyz file and the DOCKER will try to dock all structures from that file, one
by one:
! XTB
%DOCKER GUEST "uracil_water.xyz" END
*xyz 0 1
N -0.2707028 0.7632994 1.0276159
H -0.5957915 1.3097757 1.8163465
C -0.3386212 1.3810817 -0.2276640
O -0.7270425 2.5346295 -0.3329857
N 0.3638189 -1.2896563 0.1949192
H 0.0796815 0.9143946 -2.3190044
C 0.3781329 -0.7736192 -1.0714063
H 0.6499130 -1.4675080 -1.8526542
C 0.0669084 0.5154897 -1.3194961
H 0.4818502 -2.2779688 0.3498201
C -0.0016589 -0.5616540 1.3117092
O -0.0864879 -1.0482643 2.4227999
*
with a water followed by an uracil molecule. First, the water will be added, then the uracil, but both separately.
The initial output is a bit different:
***************
* ORCA Docker *
***************
with now two structures being read from file, and the Docking approach is labeled as independent, meaning
each structure will be docked independently of each other.
After everything, the output is:
-------------------------------------
LOWEST INTERACTION ENERGY: -18.482854 kcal/mol (structure 6)
-------------------------------------
(continues on next page)
and one can see that the lowest interaction energy was that of structure 2 (the uracil), meaning it interacts strongly
with the HOST than the water molecule given. Now the file Basename.docker.xyz will contain all final structures,
ordered by interaction energy.
Fig. 6.75: Independent docking of water and uracil on top of an uracil molecule
ò Note
By default, the docking approach uses a fixed random seed and should always give the same result on the same
machine. To make it always completely random add %DOCKER RANDOMSEED TRUE END.
ò Note
In order to use the faster GFN-FF instead of GFN2-XTB, use !DOCK(GFNFF). For a quicker (and less accurate)
docking, use !QUICKDOCK.
ò Note
To try multiple conformers of the GUEST, the ensemble file printed by GOAT Basename.finalensemble.xyz
can be directly given here and the whole ensemble will be tested against a give HOST.
A detailed description of the other options can be found on More details on the ORCA DOCKER
#
# general options
#
FIXHOST TRUE # freeze coordinatef for the HOST during all steps?
# (default FALSE)
#
# evolution step
#
EVPES GFNFF # which PES to use **only** during the evolution step.
GFN0XTB # can be different from the final optimization.
GFN1XTB
GFN2XTB
#
# final optimization
#
6.20.1 example
As a typical example we will use the constrained optimization describing the “umbrella effect” of 𝑁 𝐻3 . The script
will perform a series of calculations and in the end it will print the potential of the movement plus it will identify
the minima and the maximum. The corresponding compound script is the one shown below.
# ----------------------------------------------
# Umbrella coordinate mapping for NH3
# Author: Frank Neese
# ----------------------------------------------
variable JobName = "NH3-umbrella";
variable amin = 50.0;
(continues on next page)
Variable angle;
Variable JobStep;
Variable JobStep_m;
variable step;
step = 1.0*(amax-amin)/(nsteps-1);
Step_End
else
New_step
! &{method} &{basis} TightSCF Opt
%base "&{JobName}.step&{JobStep}"
%geom constraints
{A 1 0 2 &{angle} C}
{A 1 0 3 &{angle} C}
{A 1 0 4 &{angle} C}
end
end
* int 0 1
N 0 0 0 0.0 0.0 0.0
DA 1 0 0 2.0 0.0 0.0
H 1 2 0 1.06 &{angle} 0.0
H 1 2 3 1.06 &{angle} 120.0
H 1 2 3 1.06 &{angle} 240.0
*
Step_End
endif
Read energies[iang] = SCF_ENERGY[jobStep];
print(" index: %3d Angle %6.2lf Energy: %16.12lf Eh\n", iang, angle, energies[iang]);
EndFor
Let’s start with how somebody can execute this input. In order to run it, the easiest way is to save it in a normal
text file, using the name “umbrella.cmp” and then use the following ORCA input file:
%Compound "umbrella.cmp"
nothing more is needed. ORCA will read the compound file and act appropriately.
A few notes about this ORCA input. First, there is no simple input line, (starting with “!”). A simple input is not
required when one uses the Compound feature, but In case the user adds a simple input, all the information from
the simple input will be passed to the actual compound jobs.
In addition, if one does not want to create a separate compound text file, it is perfecly possible in ORCA to use the
compound feature as any other ORCA block. This means that after the %Compound directive, instead of giving
the filename one can append the contents of the Compound file.
As we will see, inside the compound script file each compound job can contain all information of a normal ORCA
input file. There are two very important exceptions here: The number of processors and the MaxCore. These
information should be set in the initial ORCA input file and not in the actual compound files.
The Compound block has the same structure like all ORCA blocks. It starts with a “%” and ends with “End”, if
the input is not read from a file. In case the compound directives are in a file, as in the example above, then simply
the filename inside brackets is needed and no final END.
Variable angle;
Variable JobStep;
Variable JobStep_m;
variable step;
step = 1.0*(amax-amin)/(nsteps-1);
The first part contains some general comments and variable definitions. For the comments we use the same syntax
as in the normal ORCA input, through the “#” symbol. Plase not that more than one “#” symbols in the same line
cause an error.
After the initial comments we see some declarations and definitions. There are many different ways to declare
variables described in detail in section Variables - General.
All variable declarations begin with the directive Variable which is a sign for the program to expect the declaration
of one or more new variables. Then there are many options, including defining more than one variable, assigning
also a value to the variable or using a list of values. Nevertheless all declarations MUST finish with the ; symbol.
This symbol is a message to the program that this is the end of the current command. The need of the ; symbol in
the end of each command is a general requirement in Compound and there are only very few exceptions to it.
EndFor
Then we have the most information dense part. We start with the definition of a for loop. The syntax in compound
for for loops is:
For variable From startValue To endValue Do
directives
EndFor
As we can see in the example above, the startValue and endValue can be constant numbers or previously defined
variables, or even functions of these variables. Keep in mind that they have to be integers. The signal that the loop
has reached it’s end is the EndFor directive. For more details with regard to the for loops please refer to section
For.
Then we proceed to assign some variables.
The syntax of the variable assignement is like in every programming language with a variable, followed with the
= symbol and then the value or an equation. Please keep in mind, that the assignement must always finish with
the ; symbol.
The next step is another significant part of every programming language, namely the if block. The syntax of the if
block is the following:
if (expression to evaluate ) Then
directives
else if ( expression to evaluate ) Then
directives
else
directives
EndIf
The else if and else parts of the block are optional but the final EndIf must always signal the end of the if block.
For more details concerning the usage of the if block please refer to section If of the manual.
Next we have a command which is specific for compound and not a part of a normal programming language. This
is the ReadGeom command. It’s syntax is:
Read_Geom(integer value);
Before explaining this command we will proceed with the next one in the compound script and return for this one.
The next command is the basis of all compound scripts. This is the New_Step Command. This command signals
compound that a normal ORCA calculation follows. It’s syntax is:
New_Command Normal ORCA input Step_End
Some comments about the New_Step command. Firstly, inside the New_Step - Step_End commands one can add all
possilbe commands that a normal ORCA input accepts. We should remember here that the commands that define
the number of processors and the MaxCore command will be ignored.
A second point to keep in mind is the idea of the step. Every New_Step - Step_End structure corresponds to a step,
starting counting from 1 (The first ORCA calculation). This helps us define the property file that this calculation
will create, so that we can use it to retrieve information from it.
A singificant feature in the New_Step - Step_End block. is the usage of the structure &{variable} . This structure
allows the user to use variables that are defined outside the New_Step - Step_End block inside it, making the ORCA
input more generic. For example, in the script given above, we build the basename of the calculations
%base "&{JobName}.step&{JobStep}"
using the defined variables JobName and JobStep. For more details regarding the usage of the &{} structure please
refer to section & while for the New_Step - Step_End structure please refer to the section New_Step.
Finally, a few comments about the geometries of the calculation. There are 3 ways to provide a geometry to
a New_Step - Step_End calculation. The first one is the traditional ORCA input way, where we can give the
coordinates or the name of a file with coordinates, like we do in all ORCA inputs. In Compound though, if we do
not pass any information concerning the geometry of the calculation, then Compound will automatically try to read
the geometry of the previous calculation. This is the second (implicit) way to give a geometry to a compound Step.
Then there is a third way and this is the one we used in the example above. This is the Read_Geom command.
The syntat of this command is:
Read_Geom (Step number);
We can use this command when we want to pass a specific geometry to a calculation that is not explicitly given
inside the New_Step - Step_End structure and it is also not the one from the previous step. Then we just pass the
number of the step of the calculation we are interesting in just before we run our new calculation. For more details
regarding the Read_Geom command please refer to section Read_Geom.
Once all data are available we can use them in equations like in any programming language.
The syntax of the print statement is:
print( format string, [variables]);
For example in the previous script we use it like:
where %3d, %6.2lf and %16.2lf are format identifiers and JobStep, angle and E0 are previously defined variables.
The syntax follows closely the widely accepted syntax of the printf command in the programming language C. For
more details regarding the print statememnt please refer to section: Print.
Similar to the print command are the write2file and write2string commands that are used to write instead of the
output file, either to a file we choose or to produce a new string.
Finally it is really importnat not to forget that every compound file should finish with a final End.
Once we run the previous example we get the following output:
////////////////////////////////////////////////////////
// POTENTIAL ENERGY RESULT
////////////////////////////////////////////////////////
1 50.00 -56.486626696200
2 54.00 -56.498074637200
3 58.00 -56.505200120800
4 62.00 -56.508823168800
5 66.00 -56.509732863600 (-)
6 70.00 -56.508724734300
7 74.00 -56.506590613800
8 78.00 -56.504070086000
9 82.00 -56.501791816800
10 86.00 -56.500229017900
(continues on next page)
with the step, the angle for the corresponding step, the energy of the constrained optimized energy plus the symbols
for the two minima and the maximum in the potential.
SEVEN
DETAILED DOCUMENTATION
Here
5/2
𝐶 = 8𝜋 = 139.947346620998902770103
and the primitive Cartesian Gaussian basis functions {𝜇𝐴 } where 𝐴 is the atomic center, where basis function 𝜇 is
centered at position R𝐴 . In order to catch a glimpse of what the McMurchie-Davidson algorithm is about, consider
two unnormalized, primitive Gaussians centered at atoms 𝐴 and 𝐵, respectively:
𝑗 𝑘
𝐺𝐴 = 𝑥𝑖𝐴 𝑦𝐴 2
𝑧𝐴 exp(−𝛼𝑅𝐴 )
′ ′ ′
𝑗 𝑘
𝐺𝐵 = 𝑥𝑖𝐵 𝑦𝐵 2
𝑧𝐵 exp(−𝛽𝑅𝐵 )
435
ORCA Manual, Release 6.0
By means of the Gaussian product theorem, the two exponentials are straightforwardly rewritten as:
(︁ )︁
2 2
exp(−𝛼𝑅𝐴 ) exp(−𝛽𝑅𝐵 ) = 𝐾𝐴𝐵 exp −(𝛼 + 𝛽)𝑟𝑃2
With
(︁ )︁
𝛼𝛽 2
𝐾𝐴𝐵 = exp − 𝛼+𝛽 |R𝐴 − R𝐵 |
2
𝑟𝑃2 = |r − R𝑃 | is the electronic position relative to the point
𝛼 𝛽
R𝑃 = 𝛼+𝛽 R𝐴 + 𝛼+𝛽 R𝐵
at which the new Gaussian is centered. The ingenious invention of McMurchie and Davidson was to realize that the
complicated polynomial that arises from multiplying the two primitive Cartesian Gaussians can be nicely written
in terms of Hermite polynomials {Λ}. In one dimension:
′
𝑖+𝑖
′ ∑︁
𝑥𝑖𝐴 𝑥𝑖𝐵 = 𝐸𝑡
𝑡=0
And hence:
′ ′ ′
𝑖+𝑖
∑︁ 𝑗+𝑗
∑︁ 𝑘+𝑘
∑︁
𝐺𝐴 𝐺𝐵 = 𝐾𝐴𝐵 𝐸𝑡𝐴𝐵 𝐸𝑢𝐴𝐵 𝐸𝑣𝐴𝐵 Λ𝐴𝐵
𝑡𝑢𝑣
𝑡=0 𝑢=0 𝑣=0
With
(︂ )︂𝑡 (︂ )︂𝑢 (︂ )︂𝑣
𝜕 𝜕 𝜕 (︁ )︁
Λ𝐴𝐵
𝑡𝑢𝑣 = 2
exp −(𝛼 + 𝛽)𝑅𝑃
𝜕𝑋𝑃 𝜕𝑌𝑃 𝜕𝑍𝑃
This means that the original four center integral is reduced to a sum of two-center integrals over Hermite Gaussian
functions. These integrals are denoted as
∫︁ ∫︁
−1
𝑅𝑡+𝑡′ ,𝑢+𝑢′ ,𝑣+𝑣′ = Λ𝐴𝐵 𝐶𝐷
𝑡𝑢𝑣 (r1 ; R𝑃 )Λ𝑡′ 𝑢′ 𝑣 ′ (r2 ; R𝑄 )𝑟12 𝑑r1 𝑑r2
With these definitions one understands the McMurchie Davidson algorithm as consisting of three steps:
1. Transformation of the Bra function product into the Hermite Gaussian Basis
2. Transformation of the Ket function product into the Hermite Gaussian Basis
3. Calculation of the Hermite Gaussian electron repulsion integral
SHARK is the realization that these three steps can be efficiently executed by a triple matrix product:
(𝜇𝐴 𝜈𝐵 |𝜅𝐶 𝜏𝐷 ) = Ebra REket 𝜇𝜈,𝜅𝜏
(︀ )︀
Here Ebra and Eket collect the 𝐸 coefficients for all members of the shell product on the bra and ket side (𝐸𝜇𝜈,𝑡𝑢𝑣
bra
ket
and 𝐸𝜅𝜏,𝑡𝑢𝑣 ), respectively, and R collects the integrals over Hermite Gaussian functions (𝑅𝑡𝑢𝑣,𝑡′ 𝑢′ 𝑣′ ).
There are many benefits to this formulation:
1. The integral is factorized allowing steps to be performed independent of each other. For example, the E
matrices can be calculated at the beginning of the calculation and reused whenever needed. Their storage is
unproblematic
2. Matrix multiplications lead to extremely efficient formation of the target integrals and drive the hardware at
peak performance
3. Steps like contraction of primitive integrals and transformation from the Cartesian to the spherical Harmonics
basis can be folded into the definition of the E matrices thus leading to extremely efficient code with next to
no overhead creates by short loops.
4. Programming integrals becomes very easy and efficient. Other types of integrals as well as derivative inte-
grals are readily approached in the same way. Also, two- and three-index repulsion integrals, as needed for
the RI approximation are also readily formulated in this way.
5. One-electron integrals are equally readily done with this approach.
There is a very large number of technicalities that we will not describe in this manual which is only intended to
provide the gist of the algorithm.
Where 𝑁𝑙 and 𝑀𝑙 are the number of actual basis functions and primitives respectively. Typically, the number of
primitives is much larger than the number of basis functions. The matrix d collects the contraction coefficients for
each angular momentum. Typical basis sets that follow this contraction pattern are atomic natural orbital (ANO)
basis sets. They are typically based on large primitive sets of Gaussians. Such basis sets put very demands on the
integral package since there are many integrals over primitive Gaussian basis functions that need to be generated. If
the integral package does not take advantage of the general contraction, then this integral evaluation will be highly
redundant since identical integrals will be calculated 𝑁𝑙 times (and hence, integrals over four generally contracted
shells will be redundantly generated 𝑁𝑙4 times). SHARK takes full advantage of general contraction for all one-
and two-electron integrals that it can generate. Here, the unique advantages of the integral factorization come to
full benefit since all integral quadruples of a given atom quadruple/angular momentum quadruple can be efficiently
generated by just two large matrix multiplications.
The opposite of general contraction is met with segmented contraction. Here each basis function involves a number
of primitives:
∑︁
𝜙𝜇 = 𝑑𝑘𝜇 𝜑𝑘
𝑘
Quite typically, none of the 𝜑𝑘 that occur in the contraction of one basis functions occurs in any other basis function.
Typical basis sets of this form are the “def2” basis sets of the Karlsruhe group. They are readily handled by most
integral packages and both SHARK and libint are efficient in this case.
The third class of basis sets is met, when general contraction is combined with segmented contraction. Basis sets
of this type are, for example, the correlation consistent (cc) basis sets. We call such basis sets “partially generally
contracted”. In such basis sets, part of the basis functions are generally contracted (for example, the s- and p-
functions in main group elements), while other basis functions (e. g. polarization functions, diffuse functions, core
correlation functions) are not generally contracted. It is difficult to take full advantage of such basis sets given their
complicated structure. In ORCA 5, special code has been provided that transforms the basis set into an intermediate
basis set that does not contain any redundancies and hence drives SHARK or libint at peak performance.
In assessing the efficiency vs the accuracy of different integral algorithms, it is clear that segmented basis sets lead
to the highest possible efficiency if they are well constructed. For such basis set the pre-screening that is an essential
step of any integral direct algorithm performs best. The highest possible accuracy (per basis functions) is met with
generally contracted basis sets. However, here the pre-screening becomes rather inefficient since it can only be
performed at the level of atom/angular momentum combinations rather than individual shell quadruples. Thus, as
soon as a given atom/angular momentum combination leads to any non-negligible integral, all integrals for this
combination need to be calculated. This created a sizeable overhead. Consequently, SCF calculations can never be
as efficient as with segmented basis sets. If this is immaterial, for example, because a subsequent coupled cluster
or MRCI calculation is dominating the calculation time, general contraction is very worthwhile to be explored.
For partial general contraction, our algorithm performs very nearly as efficiently as for segmented contraction in
SCF calculations. However, since the intermediate basis set is larger than the original orbital basis, certain limited
performance penalties can arise in some job types.
This turns SHARK on (default) or off. Note that the option to turn SHARK off, will be unique to ORCA 5.0. Future
versions of ORCA will always make use of SHARK and the legacy code will disappear from the program for good.
%shark
UseGeneralContraction false # turns general contraction algorithm on or
# off. There normally is no need to set this
# flag since the program will find the
# contraction case automatically
Printlevel 1 # Amount of output generated. Choose 0 to
# suppress output and 2 for more output.
# Everything else is debug level printing and
# will fill your harddrive very quickly with
# unusable information
PartialGCFlag -1 # Let the program decide whether to use PGC
0 # do not use it
1 # Enforce PGC (even for ANO bases)
FockFlag SHARK_libint_hybrid # default: best of both worlds
force_shark # Force Shark where possible
force_libint # Force libint where possible
RIJFlag RIJ_Auto # default: program decides the best way
Split_rij # new SHARK Split-RI-J algorithm
Split_rij_2003 # Highly efficient re-implementation of the
(continues on next page)
%coords
CTyp xyz # the type of coordinates xyz or internal
Charge -2 # the total charge of the molecule
Mult 2 # the multiplicity = 2S+1
coords
Cu(1) 0 0 0
Cl(2) 2.25 0 0
Cl(2) -2.25 0 0
Cl(2) 0 2.25 0
Cl(2) 0 -2.25 0
end
end
In this example the fragment feature is used to divide the molecule into a “metal” and a “ligand” fragment and
consequently the program will print the metal and ligand characters contained in each MO in the population analysis
section.
Alternatively you can assign atoms to fragments in the geom block:
*xyz -2 2
Cu 0 0 0
Cl 2.25 0 0
Cl -2.25 0 0
Cl 0 2.25 0
Cl 0 -2.25 0
*
%geom
Fragments
1 {0} end # atom 0 for fragment 1
2 {1:4} end # atoms 1 to 4 for fragment 2
end
end
ò Note
• With the second option (geom-fragments) the %geom block has to be written after the coordinate section.
• geom-fragments also works with coordinates that are defined via an external file.
• For the geom-fragments option the atoms are assigned to fragment 1 if no assignment is given.
%coords
CTyp internal
Charge 0
Mult 1
pardef
rCH = 1.09; # a C-H distance
ACOH = 120.0; # a C-O-H angle
rCO = 1.35, 1.10, 26; # a C-O distance that will be scanned
end
coords
C 0 0 0 0 0 0
O 1 0 0 {rCO} 0 0
H 1 2 0 {rCH} {ACOH} 0
H 1 2 3 {rCH} {ACOH} 180
end
end
In the example above the geometry of formaldehyde is defined in internal coordinates (the geometry functions work
exactly the same way with Cartesian coordinates). Each geometric parameter can be assigned as a function of by en-
closing an expression within function braces, “{} “. For example, a function may look like *cos(Theta)*rML+R.
Note that all trigonometric functions expect their arguments to be in degrees and not radians. The geometry pa-
rameters are expected to be defined such that the lengths come out in Ångströms and the angles in degrees. After
evaluating the functions, the coordinates will be converted to atomic units. In the example above, the variable rCO
was defined as a “Scan parameter”. Its value will be changed in 26 steps from 1.3 Å down to 1.1 Å and at each
point a single point calculation will be done. At the end of the run the program will summarize the total energy
at each point. This information can then be copied into the spreadsheet of a graphics program and the potential
energy surface can be plotted. Up to three parameters can be scan parameters. In this way grids or cubes of energy
(or property) values as a function of geometry can be constructed.
If you want to define a parameter at a series of values rather than evenly spaced intervals, the following syntax is
to be used:
%coords
CTyp internal
Charge 0
Mult 1
pardef
rCH = 1.09; # a C-H distance
ACOH= 120.0; # a C-O-H angle
rCO [1.3 1.25 1.22 1.20 1.18 1.15 1.10]; # a C-O distance that will be scanned
end
coords
C 0 0 0 0 0 0
O 1 0 0 {rCO} 0 0
H 1 2 0 {rCH} {ACOH} 0
H 1 2 3 {rCH} {ACOH} 180
end
end
In this example the C-O distance is changed in seven non-equidistant steps. This can be used in order to provide
more points close to a minimum or maximum and fewer points at less interesting parts of the surface.
A special feature has also been implemented into ORCA - the parameters themselves can be made functions of the
other parameters as in the following (nonsense) example:
%coords
CTyp internal
Charge 0
Mult 1
pardef
rCOHalf= 0.6;
rCO = { 2.0*rCOHalf };
end
coords
C 0 0 0 0 0 0
O 1 0 0 {rCO} 0 0
O 1 0 0 {rCO} 180 0
end
end
In this example the parameter rCO is computed from the parameter rCOHalf. In general the geometry is computed
(assuming a Scan calculation) by: (a) incrementing the value of the parameter to be scanned (b) evaluating the
functions that assign values to parameters, and (c) evaluating functions that assign values to geometrical variables.
Although it is not mandatory, it is good practice to first define the static or scan-parameters and then define the
parameters that are functions of these parameters.
Finally, ORCA has some special features that may help to reduce the computational effort for surface scans:
%method
SwitchToSOSCF true # switches the converger to SOSCF
# after the first point. SOSCF may
# converge better than DIIS if the
# starting orbitals are good.
# default = false
ReducePrint true # reduce printout after the first point
# default=true
ò Note
• You can scan along normal modes of a Hessian using the NMScan feature as described in section Normal
Mode Scan Calculations Between Different Structures.
• The surface scan options are also supported in conjunction with TD-DFT/CIS or MR-CI calculations
(see section Potential Energy Surface Scans).
the methyl group is given first in an arbitrary Cartesian reference frame and then the water molecule is specified in
internal coordinates:
Internal and Cartesian coordinates can thus be mixed in any order but it is recommended that the first 3 atoms are
specified in Cartesian coordinates in order to define a unique reference frame.
# A water dimer
! BP86 def2-SVP
* xyz 0 1
O 1.4190 0.0000 0.0597
H 1.6119 0.0000 -0.8763
H 0.4450 0.0000 0.0898
Q -0.834 -1.3130 0.0000 -0.0310
Q 0.417 -1.8700 0.7570 0.1651
Q 0.417 -1.8700 -0.7570 0.1651
*
Here the “Q“‘s define the atoms as point charges. The next four numbers are the magnitude of the point charge and
its position. The program will then treat the point charges as atoms with no basis functions and nuclear charges
equal to the “Q” values.
If you have thousands of point charges to treat, as in a QM/MM calculation, it is more convenient, and actually
necessary, to read the point charges from an external file as in the following example:
# A water dimer
! BP86 def2-SVP
% pointcharges "pointcharges.pc"
* xyz 0 1
O 1.4190 0.0000 0.0597
H 1.6119 0.0000 -0.8763
H 0.4450 0.0000 0.0898
*
The program will now read the file “pointcharges.pc” that contains the point-charge information and then call
the module orca_pc which adds the point charge contribution to the one-electron matrix and the nuclear repulsion.
The file “pointcharges.pc” is a simple ASCII file in the following format:
3
-0.834 -1.3130 0.0000 -0.0310
0.417 -1.8700 0.7570 0.1651
0.417 -1.8700 -0.7570 0.1651
The first line gives the number of point charges. Each consecutive line gives the magnitude of the point charge (in
atomic units) and its position (in Ångström units!). However, it should be noted that ORCA treats point charges from
an external file differently than “Q” atoms. When using an external point charge file, the interaction between the
point charges is not included in the nuclear energy. This behavior originates from QM/MM, where the interactions
among the point charges is done by the MM program. These programs typically use an external point charge file
when generating the ORCA input. To add the interaction of the point charges to the nuclear energy, the DoEQ
keyword is used either in the simple input or the %method block as shown below.
%pointcharges "pointcharges.pc"
%method
DoEQ true
end
Table 7.1: Different angular grid schemes used in ORCA. The numbers indicate the Lebedev grids used.
AngularGrid Region 1 Region 2 Region 3 Region 4 Region 5
1 14 26 50 50 26
2 14 26 50 110 50
3 26 50 110 194 110
4 26 110 194 302 194
5 26 194 302 434 302
6 50 302 434 590 434
7 110 434 590 770 590
The ideal cutoffs between those regions were subjected to optimization, and are defined for all atoms. Whenever
we refer to a AngularGrid flag in ORCA, one of these schemes is chosen.
where 𝜀 is called the IntAcc of that grid in ORCA, b is any number and ROW refers to the row of the periodic table
for that atom. In its original formulation, 𝑏 was set to 5, but here it as now optimized and varies slightly depending
on the AngularGrid schemes shown above.
One important thing to note is that each increase of IntAcc by 1, adds 15 radial points to the atomic grids, as in the
previous grid scheme. These IntAcc values were optimized for each angular grid:
Table 7.2: Optmimized IntAcc parameters for the exchange-correlation and COSX grids.
AngularGrid XC COSX
1 4.004 3.816
2 4.004 4.020
3 4.159 4.338
4 4.388 4.871
5 4.629 4.871
6 4.959 4.871
7 4.959 4.871
After defining the number of radial points 𝑛𝑟 , the actual radial grid is then defined from a Gauss-Chebyschev
quadrature using the so-called M3 mapping from Treutler and Ahlrich:
𝜉 2
𝑟= 𝑙𝑛
𝑙𝑛2 1 − 𝑥
where −1 ≤ 𝑥 ≤ 1, and the center of the grid (𝑥 = 0) coincides with the value of 𝜉. These 𝜉 parameters were also
optimized for each atom type.
Table 7.3: Angular grid schemes used in different part of ORCA. The XC and COSX grids are separated by a slash,
and multiple COSX grid schemes are separated by a comma.
Grid Name SCF TD-DFT CP-SCF MP2 grad MP2 2ndder
DEFGRID1 3 / 1, 1, 2 1/1 1/1 3 1
DEFGRID2 4 / 1, 2, 3 1/1 1/1 4 4
DEFGRID3 6 / 2, 3, 4 3/2 3/2 5 4
OBS.: The IntAccs for TD-DFT and the CP-SCF are 3.467 for the XC and 3.067 for the COSX instead of the
default. These numbers can be smaller here and we exploit this to increase the overall speed.
From the Table 7.3 one can see, for instance, that the default SCF XC grid now is defined from AngularGrid 4
(with no extra final integration in the end). The default COSX uses a 1,2,3 grid scheme, with the COSX third grid
being used to update the energy after the SCF converges and for the gradients.
A simpler Gauss-Legendre angular grid. By setting AngularGrid to 0, instead of using the Lebedev grids, a
Gauss-Legendre angular grid will be built, as suggested by Treutler and Ahlrich [851]. The number of 𝜃 points is
defined as 0.4𝑛𝑟 by default and the number of 𝜑 points is chosen as to avoid crowding close to the poles.
These grids are in general less efficient than the Lebedev’s, but are useful if one needs to construct extremely large
grids for specific applications.
The SpecialGrid Option. Sometimes, you might want to increase the integration accuracy for some atoms that
need special care, while it is not necessary to enlarge the grid generally. ORCA provides you with a basic mecha-
nism to increase the radial integration accuracy for a few atoms while maintaining the chosen grid for all others.
%METHOD
# a maximum of 64 assignments can be made
# in = 0 : no changes are made
# in > 0 : the grid will be changed for all atoms with
# atomic number=in to IntAcc=an
# in < 0 : only the specific n'th atom will have its
# IntAcc value changed to an
SpecialGridAtoms i1, i2, i3,...,in;
SpecialGridIntAcc a1,a2,a3,...,an;
END
OBS.: Starting from ORCA 5.0 it is not necessary to use this option anymore unless you have very specific reasons.
The basis set is considered during the grid construction and that is automatically extended if needed.
%METHOD
# XC grids
AngularGrid 1 #Lebedev50
2 #Lebedev110
3 #Lebedev194
4 #Lebedev302
5 #Lebedev434
6 #Lebedev590
7 #Lebedev770
0 #SimpleGrid
IntAcc 5.0 # determines no. of radial points
# COSX grids
AngularGridX 1,1,2,4,5 # the first three are used in the SCF
# the 4th in the MP2 gradient and
# the 5th for MP2 second derivatives
IntAccX 3.56,-1,4.5 # if a -1 is given, the default IntAcc is used.
# General
NThetaMax 0.4 # only for AngularGrid=0, multiplier for nr
GridPruning Unpruned # no Pruning
OldPruning # the old pruning
Adaptive # default (and recommended)
HGridReduced true # Reduce grids for H and He by one
# unit (default and recommended)
BFCut 1e-10 # basis fcn. cut. Is adjusted according to
# convergence tolerances
WeightCut 1e-14 # grid weight cut. default: 1e-14
END
#COSX grids
IntAccX 3.076
GridX 1
END
#COSX grids
Z_IntAccX 3.076
Z_GridX 1
Z_GridX_RHS 2
END
OBS.: The Z_Grid_RHS is only used in MP2 and the number here has a different meaning. It refers to which of
the COSX grids used in the SCF will be chosen, rather than an AngularGrid scheme. The default is to use the
second COSX grid.
Hessian. The XC grids used to compute the DFT terms in the Hessian are automatically chosen to be one unit
higher than the SCF grids. Because of the second derivative terms, we found that it is better to have a slightly
higher XC grid here. The COSX grid can be changed freely:
%FREQ
HessGridX = 2,2,2,2
END
These four numbers refer to the possible usages of COSX in the Hessian, as explained in Sec. Frequency calcula-
tions - numerical and analytical
Non-local functionals (VV10 and alike). The default non-local grid is defined by AngularGrid 2, and is not
recommended to be changed. In any case, these can be altered by using:
%METHOD
# non-local grids
VdwAngularGrid 2 # same scheme as the SCF ones
VdWIntAcc 5.0 # determines no. of radial points
VdwGridPruning Adaptive # default
VdwDistTCut 10 # cutoff distance between grid points, in angstroem
END
• When dealing with anions with large negative charges (< −3);
• For very subtle intermolecular interactions;
• When dealing with weird electronic structures;
• With large conjugated systems - graphene-like structures and large polyaromatics.
When needed, the !DEFGRID3 is very large and conservative - it was built to cover almost all these cases. In
contrast, !DEFGRID1 will yield grids of the size close to previous ORCA versions defaults, but still with increased
accuracy.
%method
Method HFGTO (or HF) # Hartree-Fock with GTOs
DFGTO (or DFT) # Density Functional Theory with GTOs
MP2 # Second-order Møller-Plesset Perturbation Theory
CNDO # Complete neglect of differential overlap
INDO # Intermediate neglect of differential overlap
NDDO # Neglect of diatomic differential overlap
end
In the case of Hartree-Fock calculations [840], nothing else is required in this block. Density functional calculations
[451, 647] need slightly more attention, as will be seen in the next section.
The type of calculation to be performed can be chosen by the RunTyp flag as follows:
%method
RunTyp Energy (or SinglePoint) # Single point calculation (default)
Scan (or Trajectory) # Geometric scan
Gradient # Single point energy and gradient
Opt (or GeometryOpt) # Geometry optimization
MD # Molecular dynamics calculation
end
%method
Functional
#***************************************
# Local functionals
#***************************************
HFS # Hartree-Fock Slater (Slater exchange only)
LSD # Local spin density (VWN-5A form)
VWN5 # Local spin density (VWN-5)
VWN3 # Local spin density (VWN-3)
PWLDA # Local spin density (PW-LDA)
#***************************************
# ``Pure'' GGA functionals
(continues on next page)
Note that Functional is a compound keyword. It chooses specific values for the variables Exchange,
Correlation, and ACM described below. If given as a simple input keyword, in some cases, it will also activate a
dispersion correction. You can explicitly give these variables instead or in addition to Functional. However, make
sure that you specify these variables after you have assigned a value to Functional or the values of Exchange,
Correlation and ACM will be reset to the values chosen by Functional.
Empirical Parameters in Density Functionals. Some functionals incorporate empirical parameters that can be
changed to improve agreement with experiment. Currently, there are a few parameters that can be changed (other
than the parameters used in the hybrid functionals, which are described later).
The first of these parameters is 𝛼 of Slater’s X𝛼 method. Theoretically, it has a value of 2/3 and this is used
in the HFS and LSD functionals. However, the exchange contribution is underestimated by about 10% by this
approximation (quite significant!) and a value around 0.70-0.75 is recommended for molecules.
The second parameter is the 𝛽 for Becke’s gradient-corrected exchange functional. Becke determined the value
0.0042 by fitting the exchange energies for rare gas atoms. There is some evidence that with smaller basis sets, a
slightly smaller value such as 0.0039 gives improved results for molecules.
The next parameter is the value 𝜅, which occurs in the PBE exchange functional. It has been given the value 0.804
by Perdew et al. in order to satisfy the Lieb-Oxford bound. Since then, other workers have argued that a larger
value for this parameter (around 1.2) gives better energetics, which is explored in the revPBE functional. Note,
however, that while revPBE gives slightly better energetics, it also gives slightly poorer geometries.
The last two parameters are also related to PBE. Within the PBE correlation functional, there is 𝛽𝐶 (not to be
confused with the 𝛽 exchange parameter in Becke’s exchange functional), whose original value is 𝛽𝐶 = 0.066725.
Modified variants exist with different 𝛽𝐶 values, e.g., the PBEsol functional and the PBEh-3c compound method.
Furthermore, the 𝜇 parameter in the PBE exchange functional may be modified. In the original formulation, it is
2
related to 𝛽𝐶 via 𝜇 = 𝛽𝐶 𝜋3 , but has been modified in later variants as well.
%method
XAlpha 0.75 # Slater's alpha parameter (default 2/3)
XBeta 0.0039 # Becke's beta parameter (default 0.0042)
XKappa 0.804 # PBE(exchange) kappa parameter (default 0.804)
XMuePBE 0.21952 # PBE(exchange) mue parameter (default 0.21952)
CBetaPBE 0.066725 # PBE(correlation) beta parameter (default 0.066725)
end
Specifying Exchange and Correlation approximations individually. The following keywords are available for
specifying the exchange and correlation approximations individually. In addition, scaling parameters can be defined
to construct user-defined hybrid or “extended” hybrid functionals:
%method
Exchange
X_NOX # No exchange
X_SLATER # Slater's local exchange
X_B88 # Becke '88 gradient exchange
X_wB88 # Short-range Becke '88 exchange for range-separated functionals
X_G96 # Gill '96 gradient exchange
X_PW91 # Perdew-Wang (PW) '91 gradient exchange
X_mPW # Adamo-Barone modification of PW exchange
(continues on next page)
Correlation
C_NOC # No correlation
C_VWN5 # Local Vosko-Wilk-Nusair correlation (parameter set "V")
C_VWN3 # Local Vosko-Wilk-Nusair correlation (parameter set "III")
C_PWLDA # Local PW correlation
C_P86 # Perdew '86 correlation
C_PW91 # PW '91 correlation
C_PBE # PBE correlation
C_LYP # LYP correlation
C_TPSS # TPSS meta-GGA correlation
C_B97D # Grimme's modified correlation for the B97-D GGA
C_B97BECKE # Becke's original correlation for the B97 hybrid
C_SCAN # Perdew's constrained correlation for the SCAN meta-GGA
C_RSCAN # Perdew's constrained correlation for the rSCAN meta-GGA
C_R2SCAN # Perdew's constrained correlation for the r2SCAN meta-GGA
end
Hybrid Density Functionals. The hybrid DFs [87, 88] are invoked by choosing a nonzero value for the variable
ACM. (ACM stands for “adiabatic connection model”). Specifically, these functionals have the following form:
X X X C C
𝐸XC = 𝑎𝐸HF + (1 − 𝑎) 𝐸LSD + 𝑏𝐸GGA + 𝐸LSD + 𝑐𝐸GGA (7.1)
X X
Here, 𝐸XC is the total exchange/correlation energy, 𝐸HF is the Hartree-Fock exchange, 𝐸LSD is the local (Slater) ex-
X C
change, 𝐸GGA is the gradient correction to the exchange, 𝐸LSD is the local, spin-density based part of the correlation
C
energy, and 𝐸GGA is the gradient correction to the correlation energy.
This brings us to a slightly awkward subject: several hybrid functionals with the same name give different values
in different programs. The reason for this is that they choose slightly different default values for the parameters 𝑎,
𝑏, and 𝑐 and/or differ in the way they treat the local part of the correlation energy.
Different parametrizations exist. The most popular example of this is due to Vosko, Wilk, and Nusair (VWN,
[874]). VWN in their classic paper give two sets of parameters — one in the main body (parametrization of RPA
results; known as VWN-III) and one in their table 5 of correlation energies (parametrization of the Ceperley/Alder
Monte Carlo results; known as VWN-V). Some programs use VWN-III, while others use VWN-V. Additionally, a
slightly better fit to the uniform electron gas has been produced by Perdew and Wang [668]. The results from this
fit are very similar to those using VWN5, whereas VWN3 yields quite different values.
In ORCA, almost all functionals choose PWLDA as the underlying LDA functional. A special situation arises if
LYP is the correlation functional [502] since LYP is not a correction to the correlation, but rather includes the full
In ORCA, VWN5 is chosen for the local correlation part of B3LYP. This choice is consistent with the TurboMole
program [12, 13, 14], but not with the Gaussian program [278]. However, the user has full control over this setting.
The underlying local part of any correlation functional can be set in the input with the variable LDAOpt:
%method
LDAOpt C_PWLDA
C_VWN5
C_VWN3
end
Specifying C_VWN3 for LDAOpt together with Functional=B3LYP should give results very close to the B3LYP
functional as implemented in the Gaussian series of programs1 . Due to the popularity of the B3LYP functional,
the following aliases are defined in order to facilitate comparisons with other major electronic structure packages:
%method
Functional B3LYP # consistent with TurboMole
B3LYP_TM # := Functional B3LYP
# LDAOpt C_VWN5
B3LYP_G # consistent with Gaussian
# := Functional B3LYP
# LDAOpt C_VWN3
end
One-Parameter Hybrid Density Functionals. The underlying LDA-dependence of the three-parameter (i.e.
ACM) hybrids causes slightly different results from programs which use a different choice of LDA. It has been
argued from a theoretical viewpoint that the optimal mixing of HF exchange is 25% [248]. It has been further
shown that use of this fixed ratio and not scaling the GGA correlation or exchange contributions gives results that
are as good as the original three-parameter hybrids [9]. The one-parameter hybrid PBE0 has been advertised as a
hybrid functional of overall well-balanced accuracy [8].
As such, the one-parameter hybrids are based more in theory and remove some arbitrariness from the hybrid
procedures. The slightly higher HF-exchange (0.25 in favor of 0.20 used in the original three-parameter hybrids)
is also reasonable for many systems. The one-parameter hybrids have the simple form:
X
(︀ X X C
+ 𝑎′ 𝐸HF (7.3)
)︀
𝐸XC = 𝐸DFT − 𝐸DFT + 𝐸DFT
with 𝑎′ = 14 . This is the same as the three-parameter hybrids (equation (7.1)) with 𝑎 = 𝑎′ , 𝑏 = 1 − 𝑎′ , and 𝑐 = 1
and is how it is implemented.
Extended “double-hybrid” functionals. In addition to mixing the HF-exchange into a given DF, Grimme has
proposed to mix in a fraction of the MP2 correlation energy as calculated with hybrid DFT orbitals [320]. Such
functionals may be referred to as “extended” or “double” hybrid functionals. Grimme’s expression is:
%method
ScalHFX = a
ScalDFX = 1-a
ScalGGAC = 1-c
ScalLDAC = 1-c
ScalMP2C = c
end
1 There is some evidence that the version used in the Gaussian program gives slightly better results in molecular applications than the
Grimme recommends the B88 exchange functional, the LYP correlation functional and the parameters 𝑎 = 0.53
and 𝑐 = 0.27. This gives the B2PLYP functional which appears to be a fair bit better than B3LYP based on
Grimme’s detailed evaluation study.
Presently, this methodology covers single point calculations, analytic gradients (and thus also geometry optimiza-
tions, relaxed scans, and transition state searches), and frequencies and other second-derivative properties (without
the frozen core approximation in the MP2 part). Note that %mp2 density relaxed end should be specified in
order to get the response density that is consistent with first-order properties from analytic first-derivatives. By
default, this response density is not calculated since its construction adds significant overhead to the calculation.
Therefore, you have to specifically request it to look at the consistent density. The considerably less costly unre-
laxed (expectation value-like) density may instead requested by %mp2 density unrelaxed end. However, this
is not recommended since the changes to the relaxed density are considerable in our experience and the unrelaxed
density has a much weaker theoretical status than its relaxed counterpart.
Range-separated hybrid functionals. ORCA supports functionals based on the error function splitting of the
two-electron operator used for exchange as first realized by Hirao and coworkers [410]:
−1 −1 −1
𝑟12 = erfc(𝜇 · 𝑟12 ) · 𝑟12 + erf(𝜇 · 𝑟12 ) · 𝑟12
⏟ ⏞ ⏟ ⏞ (7.5)
SR LR
∫︀ 𝑥
where erf(𝑥) = √2𝜋 0 exp(−𝑡2 )𝑑𝑡 and erfc(𝑥) = 1−erf(𝑥). Note that the splitting is only applied to the exchange
contribution; all other contributions (one-electron parts of the Hamiltonian, the electron-electron Coulomb inter-
action and the approximation for the DFT correlation) are not affected. Later, Handy and coworkers generalized
the ansatz to [900]:
This form of the splitting used in ORCA is shown visually (according to Handy and coworkers) in Fig. 7.1.
Fig. 7.1: Graphical description of the Range-Separation ansatz. The gray area corresponds to Hartree-Fock ex-
change. 𝛼 and 𝛽 follow Handy’s terminology [900].
The splitting has been used to define the 𝜔B97 family of functionals, wherein the short-range part (SR) is described
by DFT exchange and the long-range part by exact exchange, i.e. Hartree-Fock exchange. The same is true for
CAM-B3LYP, LC-BLYP, and LC-PBE. It is possible to use a fixed amount of Hartree-Fock exchange (EXX) and/or
a fixed amount of DFT exchange in this ansatz. Here are some examples of range-separated hybrid functionals
available in ORCA and their parameters:
Functional Keyword fixed EXX variable part 𝜇/bohr−1 fixed DFT-X Reference
𝜔B97 WB97 — 100% 0.40 — [151]
𝜔B97X WB97X 15.7706% 84.2294% 0.30 — [151]
𝜔B97X-D3 WB97X-D3 19.5728% 80.4272% 0.25 — [525]
𝜔B97X-V WB97X-V 16.7% 83.3% 0.30 — [555]
𝜔B97X-D3BJ WB97X-D3BJ 16.7% 83.3% 0.30 — [603]
CAM-B3LYP CAM-B3LYP 19% 46% 0.33 35% [900]
LC-BLYP LC-BLYP — 100% 0.33 — [846]
LC-PBE LC-PBE — 100% 0.47 — [410]
The currently available speed-up options are RIJONX and RIJCOSX. Integral-direct single-point calculations,
calculations involving the first nuclear gradient (i.e. geometry optimizations), frequency calculations, TDDFT,
TDDFT nuclear gradient, and EPR/NMR calculations are the supported job types with range-separated hybrid
functionals thus far.
In principle, it is possible to change the amount of fixed Hartree-Fock exchange (ACM-A), the amount of variable
exchange (RangeSepScal), and 𝜇, though this is not recommended. The amount of fixed DFT Exchange (ACM-B)
can only be changed for CAM-B3LYP and LC-BLYP. In other words, ACM-B is ignored by the 𝜔B97 approaches
* xyz 0 1
H 0.0 0.0 0.0
H 0.0 0.0 0.7
*
ò Note
For information on the ACM formalism, see preceding section called “Specifying Exchange and Correlation
approximations individually”. While it is technically possible to choose an exchange functional that has no
𝜇-dependence, this makes no sense conceptually.
LibXC Functionals
Since ORCA 4.2, it is possible to use the functionals provided by LibXC2 within the ORCA framework. The LibXC
version used by ORCA is printed at the beginning of the output. The LibXC reference should be cited when LibXC
is used as part of your calculations. For reference, see [506].
The complete list of functionals available via the LibXC interface can always be inspected by typing at the command
line
orca -libxcfunctionals
...
The list is grouped by “level” of functional (LDA, GGA, meta-GGA, etc.) and then by part of the energy it models
(correlation, exchange, exchange-correlation). Correlation functionals carry a ’_c_’ in their names, exchange
functionals an ’_x_’, and combined exchange-correlation functionals an ’_xc_’. Additional information for a
specific functional can be requested using
%method
method dft
(continues on next page)
2 https://libxc.gitlab.io
%method
method dft
exchange mgga_x_m06_l
correlation mgga_c_m06_l
end
CAM-type range-separated functionals are supported through the LibXC interface since ORCA 5.0. So are func-
tionals that include non-local (VV10) correlation (see DFT Calculations with the Non-Local, Density Dependent
Dispersion Correction (VV10): DFT-NL). The VV10 part is computed internally by ORCA. Other non-local func-
tionals, such as BEEF-vdW, are not supported. Meta-GGA functionals that depend on the kinetic energy density
𝜏 are supported, but not those that depend on the Laplacian of the density ∇2 𝜌.
Double-hybrid functionals can be constructed with LibXC components as described in section DFT Calcu-
lations with Second Order Perturbative Correction (Double-Hybrid Functionals), but only with separate ex-
change and correlation components. So exchange=gga_x_pbe and correlation=gga_c_pbe can be used, but
functional=hyb_gga_xc_pbeh cannot be used in a double-hybrid formulation. Beware that the exchange and
correlation contributions calculated by LibXC are simply scaled by ScalDFX and ScalGGAC, respectively, and no
care is taken to separately scale LDA components or alter other internal parameters!
Screening Thresholds
When the density is smaller than a certain threshold, LibXC skips the evaluation of the functional and instead
sets all the output quantities to zero in order to avoid under- and/or overflows. The default thresholds for different
functionals are set by the LibXC developers, but may sometimes be too low. We have not performed extensive
testing, but allow the user to set the threshold. Similarly, there are thresholds for minimum values of 𝜁 and 𝜏
in order to avoid division by zero. The default values are functional-independent and can be changed using the
following keywords.
%method
LibXCDensityThreshold 1e-12 # seems to be reasonable
LibXCZetaThreshold 2e-16 # default value in LibXC
LibXCTauThreshold 1e-20 # default value in LibXC
end
Starting with ORCA 5.1 it is possible to modify the “external parameters” of a functional that the LibXC in-
terface provides. The available parameters and their default values can be seen in the output or with the orca
-libxcinfo command above. Please exercise caution when using this interface and if using a published func-
tional reparametrization, make sure you can reproduce results from the original publication. The syntax requires
one of the ExtParamX, ExtParamC, or ExtParamXC keywords (depending on which functional is modified), fol-
lowed by the parameter name in quotation marks, and finally the new value. For example, here is an input for the
PWPB95 double-hybrid functional, where the simple input keyword is used to set most parameters (such as the
MP2 scaling factors) and only the exchange and correlation parameters of the mPW91 and B95 LibXC functionals,
respectively, are modified.
%method
Exchange gga_x_mpw91
Correlation mgga_c_bc95
ExtParamX "_bt" 0.00444
ExtParamX "_alpha" 19.823391
(continues on next page)
*xyz 0 1
H 0 0 0
F 0 0 0.9
*
Note that the variable definitions in LibXC may be different from the ones used internally in ORCA or in the
original publication, due to various constant factors, etc. When in doubt, please consult the LibXC documentation
or source code repository — we simply provide access to the interface.
Some LibXC functionals are accessible via the simple input keyword !LibXC(Keyword), e.g. !LibXC(TPSS).
The keywords match those in section Density Functional Methods for functionals that are also implemented na-
tively in ORCA. Using this syntax, parameters for the DFT-D dispersion corrections are also set automatically (if
implemented). Table Table 7.4 lists the available functionals and their LibXC names.
Table 7.4: LibXC functionals available via the simple input !LibXC(Keyword)
Keyword LibXC name(s) Notes
GGA functions
B97-D gga_xc_b97_d Uses D2
B97-D3 gga_xc_b97_d Uses D3(0)
B97-D4 gga_xc_b97_d Uses D4
BLYP gga_x_b88 + gga_c_lyp
BP86 gga_x_b88 + gga_c_p86
KT2 gga_xc_kt2
KT3 gga_xc_kt3
PBE gga_x_pbe + gga_c_pbe
Meta-GGA functionals
B97M-V mgga_xc_b97m_v Uses VV10
B97M-D3BJ mgga_xc_b97m_v Uses D3(BJ)
B97M-D4 mgga_xc_b97m_v Uses D4
M06L mgga_x_m06_l + mgga_c_m06_l
MN15L mgga_x_mn15_l + mgga_c_mn15_l
r2SCAN mgga_x_r2scan + mgga_c_r2scan
rSCAN mgga_x_rscan + mgga_c_rscan
SCAN mgga_x_scan + mgga_c_scan
TPSS mgga_x_tpss + mgga_c_tpss
Hybrid GGA functionals
B3LYP hyb_gga_xc_b3lyp5
B3LYP/G hyb_gga_xc_b3lyp
B97 hyb_gga_xc_b97
PBE0 hyb_gga_xc_pbeh
wB97 hyb_gga_xc_wb97
wB97X hyb_gga_xc_wb97x
wB97X-D3 hyb_gga_xc_wb97x_d3 Uses D3(0)
wB97X-V hyb_gga_xc_wb97x_v Uses VV10
wB97X-D3BJ hyb_gga_xc_wb97x_v Uses D3(BJ)
wB97X-D4 hyb_gga_xc_wb97x_v Uses D4
Hybrid meta-GGA functionals
M05 hyb_mgga_x_m05 + mgga_c_m05
M052X hyb_mgga_x_m05_2x + mgga_c_m05_2x
continues on next page
ò Note
This is the default for non-hybrid DFT! Can be turned off by using !NORI.
A very useful approximation that greatly speeds up DFT calculations unless the molecule gets very large is the so
called “RI-approximation” [65, 225, 245, 246, 440, 862, 888]. RI stands for “Resolution of the identity”. In short,
charge distributions arising from products of basis functions are approximated by a linear combination of auxiliary
basis functions.
∑︁ 𝑖𝑗
𝜑𝑖 (⃗𝑟) 𝜑𝑗 (⃗𝑟) ≈ 𝑐𝑘 𝜂𝑘 (r) (7.7)
𝑘
There are a variety of different possibilities to determine the expansion coefficients 𝑐𝑖𝑗
𝑘 . A while ago, Almlöf
and coworkers [860] have shown that for the approximation of electron repulsion integrals, the best choice is to
minimize the residual repulsion3 .
Define:
∑︁
𝑅𝑖𝑗 ≡ 𝜑𝑖 (⃗𝑟) 𝜑𝑗 (⃗𝑟) − 𝑐𝑖𝑗
𝑘 𝜂𝑘 (⃗
𝑟) (7.8)
𝑘
and
∫︁ ∫︁
1
𝑇𝑖𝑗 = 𝑅𝑖𝑗 (⃗𝑟) 𝑅𝑖𝑗 (⃗𝑟) 𝑑3 𝑟𝑑3 𝑟′ (7.9)
|⃗𝑟 − ⃗𝑟′ |
where:
𝑡𝑖𝑗 (7.11)
⟨︀ ⃒ −1 ⃒ ⟩︀
𝑘 = 𝜑𝑖 𝜑𝑗 𝑟12 𝜂𝑘
⃒ ⃒
(7.12)
⟨︀ ⃒ −1 ⃒ ⟩︀
𝑉𝑖𝑗 = 𝜂𝑖 ⃒𝑟12 ⃒ 𝜂𝑗
3 The basic theory behind the RI method has been known for a long time and since at least the late sixties, methods similar to the RI
approximation have been used — mainly in the context of “approximate ab initio methods” such as LEDO, PDDO, and MADO, but also in
density functional theory in the mid and late seventies by Baerends, Dunlap, and others [65, 225, 862, 888].
%method
RI on # do use the RI-J approximation
off # do not use the RI-J approximation
end
ò Note
If you use RI, you must specify an auxiliary basis set (in the %basis section or using the appropriate simple
keyword) or use the !AutoAux simple keyword.
4 It probably should be noted that a slightly awkward step in the procedure is the inversion of the auxiliary integral matrix V, which can
easily become very large. Matrix inversion is an O(N3 ) process such that for large molecules, this step takes some real time. However, in
ORCA, this is only done once during the calculation, whereas other programs that constrain the fit to also exactly reproduce the number of
electrons perform a similar process each iteration. Starting from ORCA 2.2.09, the Cholesky decomposition is used in favor of matrix inversion,
removing any bottleneck concerning the solution of the linear equation system.
ò Note
• The Split-RI-J algorithm is the default if RI is turned on via !RI. If you do not want to use Split-RI-J,
please also use the keyword !NoSplit-RI-J
%method
RI on
end
%basis
Aux "def2/JK"
end
ò Note
There has been little experimentation with this feature. It is provided on an experimental basis here.
Alternatively, the RI method can be used for the Coulomb term and the standard treatment for the exchange term.
This method is called RIJONX since the exchange term should tend towards linear scaling for large molecules.
This feature can be used for Hartree-Fock and hybrid DFT calculations by using:
%method
RI on # do use the RI approximation
RIFlags 1 # ...but treat exchange exactly
end
The requirements for the auxiliary basis are the same as for the normal RI-J method.
5 This algorithm was described by Kendall and Früchtl [440].
ò Note
This is the default for hybrid DFT! Can be turned off by using !NOCOSX.
The aim of this approximation is to efficiently compute the elements of exchange-type matrices6 :
∑︁
𝐾𝜇𝜈 = 𝑃𝜅𝜏 (𝜇𝜅|𝜈𝜏 ) (7.15)
𝜅𝜏
where P is some kind of density-type matrix (not necessarily symmetric) and the two-electron integrals are defined
over the basis set {𝜙} by:
∫︁
−1
(𝜇𝜅|𝜈𝜏 ) = 𝜇(r1 )𝜅(r1 )𝜈(r2 )𝜏 (r2 )𝑟12 𝑑r1 𝑑r2 (7.16)
𝐹𝜏 𝑔 = (PX)𝜏 𝑔 (7.20)
∑︁
𝐺𝜈𝑔 = 𝐴𝜈𝜏 (r𝑔 )𝐹𝜏 𝑔 (7.21)
𝜏
Given the exchange matrix, the exchange energy is given by (a sum over spin cases is left out here for simplicity):
1 ∑︁
𝐸X = 𝑃𝜇𝜈 𝐾𝜇𝜈 (P) (7.23)
2 𝜇𝜈
Previous to ORCA6, the gradient of the COSX contribution to the energy was taken as an approximation:
𝜕𝐸𝑋 ∑︁ ∑︁ 𝜕𝐹𝜇𝑔
≈2 𝐺𝜈𝑔 (7.24)
𝜕𝜆 𝑔 𝜇𝜈
𝜕𝜆
6 The theory of this approach together with all evaluations and implementation details is described in [383, 624]. References to earlier work
with
𝜕𝐹𝜇𝑔 ∑︁ 𝜕𝑋𝜇𝑔
= 𝑤𝑔1/2 𝑃𝜅𝜇 (7.25)
𝜕𝜆 𝜅
𝜕𝜆
%method
cosxgradtype grad_n
useqgradfit false
end
For expert users, the grid parameters for the exchange grids can be even more finely controlled:
%method
IntAccX Acc1, Acc2, Acc3
GridX Ang1, Ang2, Ang3
end
There are three grids involved: the smallest grid (Acc1, Ang1) that is used for the initial SCF iterations, the medium
grid (Acc2, Ang2) that is used until the end of the SCF and the largest grid (Acc3, Ang3) that is used for the final
energy and the gradient evaluations. UseFinalGridX can be used to turn this last grid on or off, though changing
this is not generally recommended. More details about the grid constructions can be found in Details on the
numerical integration grids.
To modify the overlap fitting parameters, the following input can be specified:
%method
UseSFitting false # Same as NoSFitting in the simple input
# (Default is true)
UseQGradFit false # Uses the SCF fitting matrix for gradient calculations
# (Default is true)
end
Note that overlap fitting also works for HF and MP2 gradients without specifying any additional keyword. The
UseQGradFit parameter uses the same fitting matrix for the gradients as for the energy calculation and is the
default behavior since ORCA6.
Since ORCA 5.0, generally-contracted basis sets can be handled efficiently by using an intermediate partially con-
tracted (pc) atomic-orbital basis for the exchange-matrix computation without affecting the results [383]. Depend-
ing on the basis set and element type, computational speedups by many orders of magnitude are possible. For
testing or benchmark purposes, the K matrix computation can be done in the original basis by using the flag
%method
COSX_PartialContraction false # No intermediate basis for generally contracted shells
# (Default is true)
end
The semi-numerical integration scheme in the default COSX algorithm breaks the permutational symmetry of the
two-electron integrals. We have observed that this flaw is often the cause of convergence problems for iterative
algorithms, in particular for multi-reference theories [382]. An input option is available since ORCA 6.0 to preserve
the full eight-fold permutational symmetry of the two-electron integrals:
%method
COSX_IntSymmetry Full # Fully symmetrized integrals
Standard # Original COSX algorithm
end
The full-symmetrization algorithm often improves the numerical stability and is enabled by default for TRAH-
CASSCF and CASSCF linear-response calculations. However, the full-symmetrization algorithm may come with
additional costs that depend on the number of F intermediates. The number of F intermediates depends on the
symmetry of the density matrix (symmetric (S), anti-symmetric (A), and non-symmetric (N)) and whether overlap
fitting is employed, as summarized in the table below.
Note that for symmetric (S) and anti-symmetric (A) densities, we symmetrize and anti-symmetrize, respectively,
exchange matrices at the end, which reduces the number of F intermediates by a factor of 2. The actual com-
putational costs usually do not increase linearly with the number of F intermediates since we compute the costly
analytic integrals (𝐴𝜈𝜏 (r𝑔 )) only once and then contract them with the additional F intermediates. From our expe-
rience the overhead of the full-symmetrization algorithm is roughly between 1.2 and 1.5 times that of the original
algorithm.
%method
SFitInvertType Cholesky # Cholesky inversion (default)
(continues on next page)
By default, the inversion procedure proceeds through Cholesky decomposition as it is the fastest option. Ideally,
the overlap matrix is non-singular if the basis set is not linearly dependent. For singular matrices, the Cholesky
procedure will fail. It should be noted at this point that the numerical overlap can become linearly dependent even if
the overlap of basis functions is not, and so a separate parameter will be needed to take care of grid-related issues. To
achieve this, a diagonalization procedure (Diag) can be used instead of Cholesky with the corresponding parameter
to screen out eigenvectors belonging to eigenvalues below a threshold (SInvThresh). For both Cholesky and
diagonalization procedures, a “full Q” approach is also available (Cholesky_Q and Diag_Q), which corresponds
to the use of a more accurate (untruncated) fitting matrix.
DFT-D3 is an atom-pairwise (atom-triplewise) dispersion correction which can be added to the KS-DFT energies
and gradient [324]:
𝐸DFT-D3 = 𝐸KS-DFT + 𝐸disp (7.26)
𝐸disp is then the sum of the two- and three-body contributions to the dispersion energy, 𝐸disp = 𝐸 (2) + 𝐸 (3) . Most
important is the two-body term, which is given at long range by:
∑︁ ∑︁ 𝐶 𝐴𝐵
𝐸disp = − 𝑠𝑛 𝑛𝑛 (7.27)
𝑛=6,8
𝑟𝐴𝐵
𝐴<𝐵
th
where 𝐶𝑛𝐴𝐵 denotes the averaged (isotropic) 𝑛 -order dispersion coefficient for atom pair AB and 𝑟𝐴𝐵 is their
internuclear distance. 𝑠𝑛 is a functional-dependent scaling factor (see below). In the general case, an adequate
damping function must be employed.
Damping Functions
In order to avoid near-singularities for small 𝑟𝐴𝐵 , the dispersion contribution needs to be damped at short distances.
One possible way is to use rational damping as proposed by Becke and Johnson [90, 424, 425]:
∑︁ ∑︁ 𝐶𝑛𝐴𝐵
𝐸 (2) = − 𝑠𝑛 𝑛 (7.28)
𝐴<𝐵 𝑛=6,8
𝑟𝐴𝐵 + 𝑓 (𝑅0𝐴𝐵 )𝑛
with [425]
√︃
𝐶8𝐴𝐵
𝑅0𝐴𝐵 = (7.29)
𝐶6𝐴𝐵
and
𝑓 (𝑅0𝐴𝐵 ) = 𝑎1 𝑅0𝐴𝐵 + 𝑎2 . (7.30)
Damping the dispersion contribution to zero for short ranges (as in Ref. [324]) is also possible:
∑︁ ∑︁ 𝐶 𝐴𝐵
𝐸 (2) = − 𝑠𝑛 𝑛𝑛 𝑓𝑑,𝑛 (𝑟𝐴𝐵 ) (7.31)
𝑛=6,8
𝑟𝐴𝐵
𝐴<𝐵
with
1
𝑓𝑑,𝑛 =
1+ 𝑟𝐴𝐵
6( 𝑠𝑟,𝑛 )−𝛼𝑛 (7.32)
𝑅0𝐴𝐵
Note that the 𝑅0𝐴𝐵 used with this damping are from Ref. [324]. For more information on the supported damping
functions, see Ref [326]. The recommended variant is that with Becke-Johnson damping and is invoked by the
keyword !D3BJ or simply !D3. The dispersion correction with zero damping is invoked by the keyword !D3ZERO.
Three-body term
where 𝜃𝑎 , 𝜃𝑏 and 𝜃𝑐 are the internal angles of the triangle formed by 𝑟𝐴𝐵 , 𝑟𝐵𝐶 and 𝑟𝐶𝐴 . The 𝐶9 coefficient is
approximated by
√︁
𝐶9𝐴𝐵𝐶 ≈ − 𝐶6𝐴𝐵 𝐶6𝐴𝐶 𝐶6𝐵𝐶 (7.34)
The three-body contribution has a small effect on medium-sized molecules and is damped according to equation
(7.33). The damping function 𝑓𝑑,(3) (𝑟𝐴𝐵𝐶 ) is similar to the one shown in equation (7.32) with 𝑟𝐴𝐵𝐶 being the
geometric mean of 𝑟𝐴𝐵 , 𝑟𝐵𝐶 and 𝑟𝐶𝐴 . It can be used with both variants of the 𝐸 (2) term, although the three-body
term itself will always be calculated using the zero damping scheme. Adding the three-body correction has proven
to give quite accurate results for the thermochemistry of supramolecular systems[322]. The three-body term is
invoked by the keyword !ABC, along with either the !D3ZERO keyword for zero damping of 𝐸 (2) or !D3BJ for
Becke-Johnson damping of 𝐸 (2) .
Options
Note that correcting Hartree-Fock (HF) is only parametrized with BJ-damping. For a constantly updated list of
supported functionals, check the website of the Grimme group [329]. If there is a functional on this website that
is parametrized, but the parameters are not yet implemented into ORCA, you can specify the parameters manually
as shown below (using the respective parameters from [329]). In the same fashion, one could also use one’s own
parameters, but this is not recommended.
Important: GGA and hybrid functionals should only be used with 𝑠6 = 1.0 to ensure asymptotically correct
behavior. Double-hybrid functionals already account for parts of the dispersion interaction and should therefore
be used with 𝑠6 < 1.0. In the %method block, it is possible to change the 𝑠6 , 𝑎1 , 𝑠8 , and 𝑎2 parameters for the
variant with Becke-Johnson damping:
! d3bj b2plyp
%method
D3S6 0.64
D3A1 0.3065
D3S8 0.9147
D3A2 5.0570
end
The variant with zero damping offers the parameters 𝑠6 , 𝑟𝑠6 , 𝑠8 , and 𝛼6 .
! d3zero blyp
%method
D3S6 1.0
D3RS6 1.094
D3S8 1.682
D3alpha6 14
end
If a geometry optimization is performed (!OPT), then the program automatically calls the DFT-D3 gradient. There
are also special functional parameters, which were optimized for triple-zeta basis sets. This option is only available
with zero damping and can be invoked by the keywords !D3ZERO D3TZ. Preliminary results in the SI of Ref. [324]
indicate that results are only slightly worse than with quadruple-zeta basis sets using the default parameters. This
option should be carefully tested for future use in large computations.
Following are some example input files. In this first example, a computation using the DFT-D3 dispersion correc-
tion with BJ-damping is run. The use of !D3BJ is identical to !D3 as the BJ-damping is on by default.
* xyz 0 1
C 0.000000 0.000000 0.000000
O 0.000000 0.000000 1.400000
O 0.000000 0.000000 -1.400000
*
The output for the dispersion correction in the ORCA output will look like this:
-------------------------------------------------------------------------------
DFT DISPERSION CORRECTION
DFT-D V3
parameters
s6 scaling factor : 1.0000
a1 scaling factor : 0.4289
s8 scaling factor : 0.7875
a2 scaling factor : 4.4407
ad hoc parameters k1-k3 : 16.0000 1.3333 -4.0000
------------------------- ----------------
Dispersion correction -0.000897312
------------------------- ----------------
------------------------- --------------------
FINAL SINGLE POINT ENERGY -188.136908447288
------------------------- --------------------
𝐸disp is given as the “Dispersion correction” and is automatically included in the final single point energy.
As discussed above, the parameters 𝑠6 , 𝑎1 , 𝑠8 , and 𝑎2 may be manually defined by:
%method
D3S6 1.0
D3A1 0.4289
D3S8 0.7875
D3A2 4.4407
end
*xyz 0 1
(continues on next page)
This results in the same output as above, but with additional messages that user inputs were found for the parameters:
The calculation of the same system using zero damping is run by the input:
*xyz 0 1
C 0.000000 0.000000 0.000000
O 0.000000 0.000000 1.400000
O 0.000000 0.000000 -1.400000
*
As stated above, the parameters 𝑠6 , 𝑟𝑠6 , 𝑠8 and 𝛼6 can be defined by the user. The next example shows this along
with the call for the three-body correction (!ABC):
%method
D3S6 1.0000
D3RS6 1.2170
D3S8 0.7220
D3ALPHA6 14.0
end
*xyz 0 1
C 0.000000 0.000000 0.000000
O 0.000000 0.000000 1.400000
O 0.000000 0.000000 -1.400000
*
DFT Calculations with the Non-Local, Density Dependent Dispersion Correction (VV10): DFT-NL
Accounting for the missing van der Waals (vdW, dispersion) forces in standard Kohn-Sham Density Functional
Theory (DFT) has become essential in many studies of chemical and physical electronic structure problems. Com-
mon approaches use atom pair-wise additive schemes such as the popular DFT-D3 [324, 326] method, which is also
available in ORCA by invoking the keyword !D3 (see section Treatment of Dispersion Interactions with DFT-D3),
but these are not self-consistent, and thus do not correct the MOs or any computed property besides the energies.
A different route is followed by the van der Waals Density Functional (vdW-DF) as pioneered by Langreth and
Lundquist [503]. These methods use only the electron density to include such dispersion/correlation effects. The
vdW correlation functional VV10 of Vydrov and Van Voorhis [876] currently seems to be the most promising
candidate for a general and accurate electronic structure method.
We use the term DFT-NL for any density functional in combination with the non-local part of the VV10 functional
with an optimized parameter 𝑏, which will be defined below. The performance of these methods has been evaluated
in Ref. [400] using the GMTKN30 [307, 308, 309] database and the S66 set [6]. The performance of weak hydrogen
bonds were evaluated in Ref. [401].
DFT-NL and DFT-D3 perform very similarly, but NL is to be preferred for metallic systems or when the basic
electronic structure changes significantly (e.g. oxidations or ionizations). As a recent example, Janes and Iron
showed that for functionals such as wB97X-V, including VV10 correlation results in very high quality reaction
barriers when metals are involved [411].
The total exchange-correlation (XC) energy of VV10-type functionals is defined in eq. (7.35). It is composed of
standard exchange (X) and correlation (C) parts and the non-local (NL) term, which covers (mainly) long-range
dispersive energy:
DFT-NL
𝐸XC = 𝐸X(hybrid)GGA + 𝐸CGGA + 𝐸C-NL
VV10
(7.35)
*xyz 0 1
Ar 0.0 0.0 0.0
Ar 0.0 0.0 3.76
*
-------------------------------------------------------------------------------
post-SCF DFT-NL dispersion correction
-------------------------------------------------------------------------------
----------------
TOTAL SCF ENERGY
----------------
(...)
DFT components:
N(Alpha) : 17.999996327923 electrons
N(Beta) : 17.999996327923 electrons
N(Total) : 35.999992655845 electrons
E(X) : -47.880990295917 Eh
E(C) : -1.761924720763 Eh
NL Energy, E(C,NL) : 0.209449624689 Eh
E(XC) : -49.433465391991 Eh
Here, we find the B3LYP total energy (”SCF Energy”), the non-local contribution (”NL Energy”), and their sum
(”SC+NL Energy”), which is the final total energy. In the “DFT components” section, the non-local contribution
is listed separately (”NL Energy, E(C,NL)”) in order to be consistent with the !SCNL output.
In the current version of ORCA, there are several functionals with pre-fitted 𝑏 parameters (the parameter 𝐶 is not
changed), available for use by the keyword !DF NL or !DF SCNL, where DF stands for one of the following density
functional keywords:
DF keyword
(meta-)GGA
BLYP
PBE
REVPBE
RPBE
RPW86PBE
SCANfunc
TPSS
hybrid
B3LYP
B3LYP/G
B3P86
B3PW91
mPW1PW
PBE0
PW1PW
PW6B95
REVPBE0
REVPBE38
TPSSh
TPSS0
R2SCANh (see [128])
R2SCAN0 (see [128])
continues on next page
Additionally, one can include the non-local term in Hartree-Fock (HF) with a parameter of 𝑏 = 3.9 using the
keywords “!HF NL”.
Head-Gordon’s 𝜔B97X-V functional [555] is a reparametrized version of the range-separated 𝜔B97X, which makes
use of the non-local VV10 kernel to capture London-dispersion effects (𝑏 = 6.0 and 𝐶 = 0.01; note that 𝐶 is,
unlike for the other functionals, changed for 𝜔B97X-V). The keyword !wB97X-V evaluates the VV10 kernel in a
post-SCF way by default (i.e. only the semi-local exchange-correlation part is converged self-consistently and the
resulting density is then used to assess the VV10-type energy contribution). A recent study showed that this saves
computer time and does not have a significant effect on the resulting relative energies [603]. The keyword “!NL”
does not have to be specified in this case as the VV10 kernel is invoked automatically. If a user wishes to carry out
fully self-consistent calculations with 𝜔B97X-V, the “!SCNL” keyword must be specified.
The range-separated meta-GGA hybrid 𝜔B97M-V [557] and the meta-GGA B97M-V [556] are also available (via
keywords !wB97M-V and !B97M-V, respectively). In the spirit of 𝜔B97X-V, the VV10 (NL) correction is called
automatically in the post-SCF way by default.
All density functionals that are available in ORCA, but for which no 𝑏 parameter is available, can be used with the
DFT-NL method by providing a value for the parameter 𝑏 as shown here:
%method
NLb 5.0
end
The other parameter 𝐶, appearing in 𝜔0 , may also be changed, as shown in the following example.
! B3LYP NL
! def2-TZVP def2/JK RIJK nososcf nopop
%method
NLC 0.0083
end
*xyz 0 1
Ar 0.0 0.0 0.0
Ar 0.0 0.0 3.76
*
Of course, both parameters may be changed by using the NLb and NLC keywords in the %method block at the same
time.
ò Note
In order to improve the scaling for larger systems, a distance cutoff was also introduced, controlled by the
vdWdistTCUT flag in the %method block. The default value is 10 Å, so two grid points more than 10 Å away
from each other do not correlate via the VV10 potential. This is already very conservative and has practically
zero effect on the final energy, but can be altered if needed.
For methods where the long-range correlation is already partly covered, e.g. in double-hybrids, the NL energy can
be scaled down using the NLScal parameter as shown below. By default, the scaling factor is 1.0 if not otherwise
specified by the employed functional.
%method
NLScal 0.5
end
Self-consistent calculations with the DFT-NL dispersion correction are possible by using the keyword !SCNL in
combination with one of the available density functionals. Note that due to technical reasons, self-consistent cal-
culations are not possible with the Hartree-Fock method.
For example, we can use the B3LYP hybrid functional with the self-consistent DFT-NL variant by the following
input:
! B3LYP SCNL
! def2-TZVP def2/JK RIJK
*xyz 0 1
Ar 0.0 0.0 0.0
Ar 0.0 0.0 3.76
*
The output is the same as a normal SCF calculation, but after convergence, a line with NL Energy, E(C,NL) is
printed under “DFT components”, as it was for the post-SCF DFT-NL variant.
• Analytic gradients are already available, thus geometry optimizations with numerical frequencies can be
computed using these functionals.
• TD-DFT calculations are not yet available.
• Any calculation that requires second derivatives of the NL functional is not yet possible. These are needed
for real type perturbations in the CP-SCF solutions, e.g. for analytic Hessians, dipole polarizabilities, and
double-hybrid gradients.
• Strictly imaginary perturbations such as NMR shielding and EPR g-tensors (both also with GIAOs), and
hyperfine couplings are available.
which is done automatically in ORCA (the FINAL SINGLE POINT ENERGY includes the gCP correction).
The central equation of the gCP correction over all atoms 𝑁 reads:
𝑁 ∑︁
𝑁
𝑒miss
∑︁
𝐸gCP = 𝜎 · 𝑎 · 𝑓dec (𝑅𝑎𝑏 ) (7.42)
𝑎 𝑏̸=𝑎
Table 7.7: Overview of parametrized basis sets. The level keyword in !GCP(level) is a compound of HF or DFT
and the basis set keyword. Valid inputs are, for example: !GCP(HF/MINIS), !GCP(DFT/LANL), !GCP(HF/TZ),
!GCP(DFT/631GD), . . .
parametrized basis set HF DFT basis set
MINIS yes yes MINIS
SV yes yes SV
6-31G(d) yes yes 631GD
6-31G(d) + LANL2DZ (Sc-Zn) no yes LANL
def2-SV(P) no yes SV(P)
def2-SV(P/h,c) no yes SVX or SV(P/H,C)
def2-SVP yes yes SVP
def2-TZVP yes yes TZ
At all print levels, warnings from the gCP program are printed. Using the default print level, the only addi-
tional output is the final gCP correction before FINAL SINGLE POINT ENERGY. Using !LargePrint or %output
Print[P_gCP] 2 end states the gCP level, the 4 parameters mentioned above, and the computed correction. A
larger print level can be specified to get more details (more information on this below).
Several warnings and notices may be issued. Elements of the 5th and higher periods are treated as their 4th period
analogs — e.g. Sn is treated with the same parameters as Ge. If this is the case, a note is printed. Another note
is printed if there is a mismatch between the basis used for the SCF calculation and that of the requested gCP
calculation. For example, the following input with tetramethyltin
! HF def2-SVP GCP(HF/MINIS)
*xyzfile 0 1 tetramethyltin.xyz
should use the parameters of Ge in place of Sn and there should be a mismatch between the basis set in ORCA
(def2-SVP) and gCP (MINIS). Sure enough, the output is as follows:
A mismatch between the basis sets used is allowed since a minor mismatch may only result in a small error. One
should still be careful with such results; use your own judgment! This also allows gCP in calculations that use
an unparametrized basis set. However, in this case, the number of basis functions and exponents should be very
similar!
It should be noted that some elements are not parametrized, depending on the gCP level used. If only a few
atoms in a large molecule are treated inaccurately or not at all, the error is expected to be small. To check all
parameters used and the individual atomic contributions, specify the print level %output Print[P_gCP] 3 end.
For example, the above tetramethyltin input with this print level has the following output:
------------------------------------------------------------------------------
------------------------------------------------------------------------------
Method: hf/minis
From this, it can be seen that the Sn atom (atom 2 in the list of atomic contributions) gives no contribution because
its Emiss is zero (unparametrized for the given gCP level). This is confirmed by looking at the gCP element
parameters section, which lists the emiss of Sn as zero for !GCP(HF/MINIS). Rerunning this example with
!GCP(HF/SVP) now gives a contribution for Sn, as seen by the following output. Note that this calculation also
has a much smaller basis set mismatch, and so should be the more accurate gCP correction of the two.
------------------------------------------------------------------------------
------------------------------------------------------------------------------
Method: hf/svp
The gCP input can also be defined in the %method block of the input:
%method
DoGCP true/false # turn gCP on/off
GCPMETHOD "method" # define method string for otool_gcp, e.g. "dft/svp"
GCP.D3MINIS true/false # use special DFT-D3 refit for HF/MINIS (default=true)
end
General advice:
• Small basis sets show not only a large BSSE, but general shortcomings. These effects are not always clearly
distinguishable.
• If computationally affordable, large basis sets (triple-𝜁 and higher) are always preferable for a given system.
• gCP only makes sense for somewhat large molecules
• gCP should always be applied together with a dispersion correction for DFT: gCP-D3 is well tested, but gCP-
NL also works well (see sections Treatment of Dispersion Interactions with DFT-D3 and DFT Calculations
with the Non-Local, Density Dependent Dispersion Correction (VV10): DFT-NL)
ò Note
• !GCP(HF/MINIS) automatically sets the refitted D3 parameter, as proposed in the original gCP paper.
• The gCP method is implemented via an external tool called otool_gcp, which is based on the original
Fortran program used in the publication. Thus, the otool_gcp binary can also be called directly via the
command line (otool_gcp -h gives an overview of the options).
• It is also possible to read an external parameter file ($HOME/.gcppar) using the !GCP(FILE) keyword.
For further information, please look at the manual for the gcp program as provided by Prof. S. Grimme8 .
• During the calculation, some temporary output files are written by ORCA: BASENAME.gcp.in.tmp and
BASENAME.gcp.out.tmp will contain the input for otool_gcp and its output, respectively.
• It has been demonstrated that the popular combination of B3LYP with 6-31G(d) can be strongly improved
using DFT-D3 and gCP [475]. For convenience, the keyword !B3LYP-gCP-D3/6-31G* has been de-
fined. This is equivalent to !B3LYP 6-31G* D3BJ GCP(DFT/631GD).
element basis
H-He, B-Ne MINIS
Li-Be MINIS+1(p)
Na-Mg MINIS+1(p)
Al-Ar MINIS+1(d)
K-Zn SV
Ga-Kr SVP
Rb-Rn def2-SVP with Stuttgart-Dresden ECPs
HF/MINIX
Three terms are added to correct the HF energy 𝐸tot in order to include London dispersion interactions, to
account for the BSSE and to correct for basis set deficiencies, i.e. overestimated bond lengths. The corrected total
energy is therefore calculated as
HF-3c HF/MINIX D3(BJ) gCP
𝐸tot = 𝐸tot + 𝐸disp + 𝐸BSSE + 𝐸SRB . (7.43)
D3(BJ)
The first correction term 𝐸disp is the atom-pair wise London dispersion energy from the D3 dispersion correction
scheme[324] applying Becke-Johnson (BJ) damping [90, 424, 425] (see section Treatment of Dispersion Interac-
gCP
tions with DFT-D3). The second term 𝐸BSSE denotes the geometrical counterpoise (gCP) correction [476] to treat
the BSSE (see section DFT and HF Calculations with the Geometrical Counterpoise Correction: gCP). For the
HF-3c method, the three usual D3 parameters 𝑠8 , 𝑎1 and 𝑎2 were re-fitted using reference interaction energies of
the complexes of the S66 test set [6]. This results in 𝑠8 = 0.8777, 𝑎1 = 0.4171 and 𝑎2 = 2.9149. The parameter
𝑠6 was set to unity as usual to enforce the correct asymptotic limit and the gCP correction was already applied in
this fitting step.
The last term 𝐸SRB is a short-ranged correction to deal with basis set deficiencies which occur when using small or
minimal basis sets. It corrects for systematically overestimated covalent bond lengths for electronegative elements
and is calculated as a sum over all atom pairs:
Atoms
∑︁ Atoms
∑︁ 0,D3 3/4
𝐸SRB = −𝑠 (𝑍𝐴 𝑍𝐵 )3/2 exp(−𝛾(𝑅𝐴𝐵 ) 𝑅𝐴𝐵 )
𝐴 𝐵̸=𝐴
0,D3
Here, 𝑅𝐴𝐵 are the default cut-off radii as determined ab initio for the D3 scheme [324] and 𝑍𝐴 , 𝑍𝐵 are the
nuclear charges. This correction is applied for all elements up to argon. The empirical fitting parameters 𝑠 = 0.03
and 𝛾 = 0.7 were determined to produce vanishing HF-3c total atomic forces for B3LYP-D3(BJ)/def2-TZVPP
equilibrium structures of 107 small organic molecules. More details can be found in the original publication [834].
The HF-3c method can only be invoked with a simple keyword:
! HF-3c
! HF-3c is a compound keyword and equals ! HF MINIX D3BJ GCP(HF/MINIX) PATOM, hence no basis set etc.
has to be specified. The PATOM guess is selected since the grid construction for the default guess can take more
time than an actual SCF step. The guess can only be overwritten manually in the %method section.
The default mode for the integral handling is set to Conventional. The storing of the two-electron integrals on
disk or in memory if possible leads to large computational savings. In case one want to use the Direct mode, this
has to be specified in the %scf input section:
%scf
SCFmode Direct
end
The output gives the used parameters and the correction itself for D3 and gCP separately. As the SRB correction is
also calculated with the otool_gcp, the results are given in the gCP output section. The Total correction to
HF/MINIX is the sum of all three corrections (D3, gCP and SRB) and FINAL SINGLE POINT ENERGY is the total
HF-3c energy as given in equation (7.43).
-------------------------------------------------------------------------------
DFT DISPERSION CORRECTION
DFT-D V3
parameters
using HF/MINIX parameters
s6 scaling factor : 1.0000
a1 scaling factor : 0.4171
s8 scaling factor : 0.8777
a2 scaling factor : 2.9149
ad hoc parameters k1-k3 : 16.0000 1.3333 -4.0000
------------------------- ----------------
Dispersion correction -0.051255292
------------------------- ----------------
------------------------------------------------------------------------------
------------------------------------------------------------------------------
Method: hf/minix
------------------------- --------------------
FINAL SINGLE POINT ENERGY -163.002895262171
------------------------- --------------------
For the elements up to Xe, the default initial guess is a Hückel guess. Beyond Xe, the guess mode is changed to
HCORE since no Hückel parameters for the respective ECP bases are available and other models are not implemented
at the moment. For calculations with only lighter elements and therefore no ECPs, the ECP printouts in the output
file can be ignored.
PBEh-3c: A PBE hybrid density functional with small AO basis set and two corrections
PBEh-3c is a highly efficient electronic structure approach performing particularly well in the optimization of ge-
ometries and for interaction energies of non-covalent complexes.[325] Here, a global hybrid variant of the Perdew-
Burke-Ernzerhof (PBE) functional with a relatively large amount of non-local Fock-exchange (42%) is employed
with a valence-double-zeta Gaussian AO basis set (def2-mSVP). Basis set superposition errors (BSSE) and Lon-
don dispersion effects are accounted for by the gCP and D3 schemes, respectively (see above). The basis set is
constructed such that:
For inter- and intramolecular BSSE the gCP expression from Eq. (7.42) is used but with a damping function (sim-
ilar to the zero-damping in Eq. (7.32)). This damping improves the thermochemistry of the method significantly
compared with the non-damped version. London dispersion effects are accounted for by the DFT-D3 (BJ-damping)
scheme including the three-body term. Compared to the related HF-3c approach, the PBEh-3c is somewhat more
costly, however, it yields much better geometries. These are roughly of MP2-quality (or even better for non-covalent
structures) but may be computed at much lower cost. Due to the moderate amount of non-local Fock exchange, the
method is less prone to self-interaction errors (as in GGAs) but still applicable in cases when Hartree-Fock fails
(strongly correlated systems).
The PBEh-3c method may be invoked with the simple keyword:
! PBEh-3c
Identical to HF-3c, the default initial guess for all elements up to Xe is a Hückel guess. Beyond Xe, the guess mode
is changed to HCORE. For calculations with only lighter elements and therefore no ECPs, the ECP printouts in the
output file can be ignored.
Recently, a new composite ‘low-cost’ method for accurate thermochemistry, structures, and noncovalent interac-
tions specifically also for transition metal chemistry and other stronger correlated systems was implemented. As
it is based on the B97 GGA including D3 with three-body contribution, a short range bond length correction, and
a modified, stripped-down triple-𝜁 basis, def2-mTZVP, the computational cost of this method termed B97-3c are
between that of HF-3c and PBEh-3c (for large systems roughly two times more expensive than HF-3c). It is invoked
with a simple keyword analogously to the latter methods. Some more detailed information can be found in Ref.
[121] .
! r2SCAN-3c
The vDZP basis set alone is utilized as follows (note that the corresponding large-core ECPs are called automati-
cally):
! vDZP
The methods MNDO [206, 207, 848], AM1 [208] and PM3 [822] are available for main group elements only
and arise from the work of the Dewar group. They have been optimized to reproduce molecular structure and
energetics. The older CNDO/1,2 and INDO/1,2 were developed by the Pople group [61, 175, 176, 177, 693,
696, 697, 749, 750] and were designed to roughly mimic minimal basis ab initio calculations. The methods of the
Zerner group (ZINDO/1,2 and ZINDO/S) are closely related to the older methods but have been well parameterized
for transition metals too [36, 37, 38, 63, 183, 466, 720, 908, 909, 910, 912]. ZINDO/1 (and less so ZINDO/2)
are suitable for geometry optimization. ZINDO/S gives good results for electronically excited states at moderate
configuration interaction levels and is also successful for the calculation of electron and spin distributions in large
transition metal complexes [37, 183, 466, 908, 909, 910]. The ZNDDO/1,2 methods have been implemented
into ORCA as straightforward extensions of the corresponding INDO methods without changing any parameter.
However, the methods benefit from the somewhat more accurate representation of the Coulomb interaction within
the NDDO approximation [431, 634]. The preliminary experience with these methods is that they are better than
the corresponding INDO methods for calculation of transition metal complex structures but on the whole have also
similar deficiencies.
The analytic gradients are available for all of these methods and can be used to produce reasonable molecular
structures at low computational cost or to get preliminary insight in the behavior of the system under investigation9 .
There is also a mechanism for simplified input. Instead of giving values for Method and Version separately you
can also assign the value that would normally belong to Method to Version. The program will recognize that and
assign the correct values to both Method and Version.
%method
# shortcut to Method=NDDO; and Version=AM1;
Method AM1
end
• If you want you can also combine semiempirical methods with MP2 (energies only). For example use Method
=AM1; and DoMP2 =true; It is questionable if this makes the results of semiempirical calculations any better
but at least it is possible in ORCA.
You can change the built-in semiempirical parameters in a straightforward fashion. For example:
%cis NRoots 20
MaxDim 3 # Davidson expansion space = MaxDim * NRoots
end
%ndoparas P[6,25] 20
P[6,26] 20
end
The %ndoparas block is there in order to let you input your favorite personal parameters. The “molecular” param-
eters are set using “INTFA” (“interaction factors”);
All atomic parameters are collected in an array “P”. The first index is the atomic number of the element whose
parameters you want to change. The second index identifies which parameter. The list of parameters follows
below. Most of them will only be interesting for expert users. The most commonly modified parameters are the
Beta’s (number 25 through 28). Note that most programs require a negative number here. In ORCA the resonance
integrals are defined in a way that makes the Beta’s positive.
ò Note
• XTB0 is a non-self-consistent tight-binding method, and as such, its accuracy is generally inferior to
XTB1 and XTB2 (and sometimes even XTBFF), despite that it is a few times faster than XTB1 and
XTB2. From our experience, we only recommend XTB0 when both XTB1 and XTB2 exhibit qualitative
failures for the system of interest.
• Please note that XTB0, XTB1 and XTB2 can also be used for the initial path generation or for the
calculation of an initial TS structure on XTB level, both as input for the subsequent NEB calculation on
a higher level of theory. For more details, please consult section Nudged Elastic Band Method.
Solvation
Three implicit solvation models can be requested in XTB calculations: (1) the analytical linearized Poisson-
Boltzmann (ALPB) solvation model, (2) the domain decomposition COSMO (ddCOSMO)[136], and (3) the ex-
tended conductor-like polarizable continuum model (CPCM-X).[815] These three models can be requested via the
following tags in the simple input
or
or
! XTB
! ALPB(water) # use ALPB for implicit solvation, solvent water,
! DDCOSMO(water) # use ddCOSMO for implicit solvation, solvent water,
! CPCMX(water) # use CPCMX for implicit solvation, solvent water,
# they can also be defined in the xtb block
%xtb
XTBINPUTSTRING "argument 1" # string passed on to XTB call
XTBINPUTSTRING2 "keyword 2" # string passed on to XTB call
ETemp 0 # electronic temperature, value for --etemp
DOALPB false # use implicit solvation, ALPB
ALPBSOLVENT "" # ALPB solvent, no default, string for --alpb
DODDCOSMO false # use implicit solvation, ddCOSMO
DDCOSMOSOLVENT "" # ddCOSMO solvent, no default, string for --cosmo
DOCPCMX false # use implicit solvation, CPCMX
CPCMXSOLVENT "" # CPCMX solvent, no default, string for --cpcmx
EPSILON 3.5 # Dielectric constant (only for ddCOSMO)
ACCURACY 1 # accuracy, value for --acc, default is ORCA's accuracy x 1.e6
MAXCORE 1024 # memory in MB reserved for XTB calculation,
# default is ORCA's maxcore
NPROCS 1 # number of processors for running XTB",
# default is ORCA's PAL command
end
ò Note
• If jobs are run over several nodes, the number of cores used by the XTB tool might be lower than requested
via the pal keyword.
ò Note
As of ORCA version 4.0, the basis set handling has been significantly modified!
Please check your basis sets very carefully!
ò Note
As of ORCA 4.0, the basis set name has to be put in quotation marks, and the basis set name identifiers are the
same as in the simple input!
%basis
. Warning
• ORCA uses pure d and f functions (5D and 7F instead of Cartesian 6D and 10F) for all basis sets. This
needs to be taken into account when results are compared with other programs, especially for Pople-style
basis sets that were optimized with Cartesian (6D) functions.
• If you use Decontract: if your basis set arises from general contraction it will contain duplicate primi-
tives in several contractions and these will be removed such that only unique primitives remain and there
is no problem with redundancy.
A complete list of predefined basis sets and their availability is given in Table 7.10.
ò Note
Check these pointers for more information on the basis sets: (indicated in ecah element of the table as well)
• 1 Used with the Def-ECP pseudopotentials (Rb–Lr).
• 2 Used with the Def2-ECP pseudopotentials (Rb–Rn).
• 3 Used with the dhf-ECP or dhf-ECP-2c pseudopotentials (Rb–Rn). For elements H–Kr equivalent to the
respective def2-XVP basis set.
• 4 Used with the HayWadt pseudopotentials (Na–La, Hf–Bi, U–Pu).
• 5 Valence double-ζ with large-core pseudopotentials. For the respective ECP types per element, see Ref.
[15] and table 6.5.
• 6 The respective basis sets without core correlation functions, i.e. (aug-)cc-pVXZ(-DK)(/C), are used for
H and He.
• 7 Used with the SK-MCDHF-RSC pseudopotentials (Ca, Cu–Kr, Sr–Xe, Ba, Hf–Ra, U).
A note on RI and auxiliary basis sets: one thing that is certainly feasible and reasonable if you do not want to
depend on the RI approximation is to converge a RI-J calculation and then take the resulting orbitals as initial
guess for a calculation with exact Coulomb term. This should converge within a few cycles and the total execution
time should still be lower than just converging the calculation directly with exact Coulomb treatment.
1 Used with the Def-ECP pseudopotentials (Rb–Lr).
2 Used with the Def2-ECP pseudopotentials (Rb–Rn).
3 Used with the dhf-ECP or dhf-ECP-2c pseudopotentials (Rb–Rn).
4 Used with the HayWadt pseudopotentials (Na–La, Hf–Bi, U–Pu).
5 Valence double-ζ with large-core pseudopotentials. For the respective ECP types per element, see Ref. [540] and Table 4.3.
6 The respective basis sets without core correlation functions, i.e. (aug-)cc-pVXZ(-DK)(/C), are used for H and He.
7 Used with the SK-MCDHF-RSC pseudopotentials (Ca, Cu–Kr, Sr–Xe, Ba, Hf–Ra, U).
%basis
AuxJ "AutoAux" # Use AutoAux to generate the AuxJ fitting basis set
AuxJK "AutoAux" # Use AutoAux to generate the AuxJK fitting basis set
AuxC "AutoAux" # Use AutoAux to generate the AuxC fitting basis set
AutoAuxSize 0-3 # 0 use minimal effective rather than minimal
# primitive exponent (suitable for ANO basis sets)
# 1 (default) increases the maximal exponent
# for the shells with low angular momenta.
# 2 increases the maximal exponent for all shells
# 3 directly uses the primitives and produces
# the largest fitting basis
AutoAuxLmax false # If true increase the maximal angular momentum of
# the fitting basis set to the highest value
# permitted by ORCA and by the orbital basis set.
AutoAuxLLimit -1 # If >0, do not exceed the given angular momentum.
OldAutoAux false # If true selects the ORCA 3.1 generation procedure
# Only change the defaults below if you know what you are doing
Note that if the orbital basis set contains diffuse functions, as is the case for the aug-cc-pVXZ sets, the AutoAux
fitting basis may contain (near-)linear dependencies. In this case, the Cholesky decomposition of the Coulomb
metric will fail and the program will likely crash. One may print the offending auxiliary basis using !PrintBasis
and manually remove the most diffuse s- and/or p-functions, which will usually resolve the problem. An alternative,
automatic solution is implemented in ORCA 5.0 – see section Removal of Redundant Basis Functions.
Note that for simplicity and consistency the input format is the same as that used in the basis set files. In this format
the first line carries first the angular momentum of the shell to be added (s, p, d, f, g, h, i, j) and the number of
primitives. Then for each primitive one line follows which has (a) the index of the primitive (1, 2, 3, . . . ) (b) the
exponent of the primitive and (c) the contraction coefficient (unnormalized). Note that ORCA always uses spherical
harmonic Gaussian functions. L-shells (not to be confused with angular momentum equal to 9) can only be dealt
with as separate s- and p-shells. There also is the possibility to include a SCALE X statement after the number of
primitives in the first line to indicate that the basis function exponents should be scaled.
In order to add basis functions to the basis of a given element (for example because you do not like the standard
polarization functions) use AddGTO instead of NewGTO. In NewGTO or AddGTO you can also use the nicknames of
internally stored basis sets. An example is:
%basis
NewGTO 8 # new basis for oxygen
"6-31G"
D 1
1 0.4 1.0
end
end
In this example the 6-31G basis is assigned to oxygen and in addition a polarization function with exponent 0.4 is
added to the oxygen basis.
Note that the NewGTO keyword does not change the ECP for the given element - you must use NewECP or DelECP
(see section Advanced Specification of Effective Core Potentials).
A similar mechanism was established for the auxiliary basis sets in RI calculations:
%basis
NewAuxJGTO 8 # new auxiliary basis for oxygen
s 1
1 350 1.0
... etc
end
AddAuxJGTO 8 # add a shell to the auxiliary basis for
# oxygen
D 1
1 0.8 1.0
end
end
New basis functions can be specifically assigned to any auxiliary basis sets. The keywords NewAuxCGTO,
AddAuxCGTO, NewAuxJKGTO, AddAuxJKGTO, NewCABSGTO, AddCABSGTO are used in the same way. The key-
words NewAuxGTO and AddAuxGTO are the same as NewAuxJGTO and AddAuxJGTO, that is, they only influence
the Coulomb auxiliary basis (/J basis)!
*int 0 1
C(1) 0 0 0 0.00 0.0 0.00
AddGTO
D 1
1 1.0 1.0
end
O(2) 1 0 0 1.13 0.0 0.00
NewGTO
"6-311G"
D 1
1 1.2 1.0
end
*
In this example an extra d-shell with exponent 1.0 is added to the first carbon atom and the basis for the oxygen
atom is changed to 6-311G with an extra d-function of exponent 1.2 added.
Analogously, AUX basis functions can be assigned or added to individual atoms using the keywords NewAuxJGTO,
AddAuxJGTO, NewAuxCGTO, AddAuxCGTO, NewAuxJKGTO, AddAuxJKGTO, NewCABSGTO, AddCABSGTO.
A note on the use of AutoAux: if you change the basis set on a given atom and want to generate a fitting basis, you
have to specify it again in the COORDS section, even if AutoAux is already present in the simple input line or in the
%basis block. For example:
! Def2-SVP Def2/JK
%basis
NewAuxJKGTO H
"AutoAux"
end
end
*xyz 0 1
O 0.00 0.00 0.00
H -0.25 0.93 0.00
H 0.96 0.00 0.00
AddGTO
P 1
1 1.6 1.0
D 1
1 1.0 1.0
end
NewAuxJKGTO
"AutoAux"
end
*
Here the oxygen atom is assigned the Def2-SVP basis and the Def2/JK fitting basis, the first hydrogen atom is
assigned the Def2-SVP basis and an automatically generated fitting basis and the second hydrogen atom is assigned
the Def2-SVP basis with two additional polarization functions and a larger automatically generated fitting basis
that accounts for these functions.
Tip
When assigning custom basis sets it is always a good idea to print the basis set information (%output
print[p_basis] 2 end or simply !PrintBasis) and check that everything is correct.
It is also possible to read fragment-specific basis sets from a file. The syntax is analogous, using the keywords
ReadFragBasis, ReadFragAuxJ, ReadFragAuxJK, ReadFragAuxC, ReadFragCABS, and ReadFragECP. In this
case, the input string is expected to be an existing basis set file in GAMESS-US format (see section Reading Orbital
and Auxiliary Basis Sets from a File). All other details above (e.g., regarding ECPs and AutoAux) also apply here.
%basis
# read an externally specified orbital basis
GTOName = "MyBasis.bas"
# read an externally specified Coulomb-fitting basis for RI calculations
GTOAuxJName = "MyAuxJBasis.bas"
# read an externally specified Coulomb- and exchange-fitting basis
GTOAuxJKName = "MyAuxJKBasis.bas"
# read an externally specified correlation-fitting basis
GTOAuxCName = "MyAuxCBasis.bas"
# read an externally specified complementary auxiliary basis set
(continues on next page)
A word of caution: in C/C++ the backslashes in directory assignments must be given twice to be correctly under-
stood! The format is that used for “GAMESS-US” in the EMSL library [251]. To give an example of what this
format looks like here is a part of the 3-21GSP basis of Buenker and coworkers [588, 589]:
The file format for the auxiliary basis sets is exactly the same. Basis sets can be also exported in GAMESS-US
format by the orca_exportbasis utility (section orca_exportbasis). Note that in order to read basis sets printed
by ORCA (using !PrintBasis), the NewGTO and end keywords must be removed.
%basis
ECP "def2-ECP" # All elements (for which the ECP is defined)
NewECP Pt "def2-SD" end # Different ECP for Pt
end
A variant of the NewECP keyword can be used for individual atoms inside the geometry definition:
* xyz ...
...
S 0.0 0.0 0.0 NewECP "SDD" end
...
*
Note that these keywords only affect the ECP and not the valence basis set!
In case the basis set for an element/atom has been changed using the NewGTO keyword (see sections Assigning
or Adding Basis Functions to an Element and Assigning or Adding Basis Functions to Individual Atoms above) it
may be necessary to remove the ECP from that element/atom. This can be done with the DelECP keyword in the
%basis block or coordinates input, respectively:
To remove all ECPs loaded by default (e.g. in case no global basis set is chosen) you can use the !NoECP simple
keyword.
%basis
NewECP <element>
N_core <number of core electrons>
lmax <max. angular momentum>
[shells]
end
end
For each ECP shell, first the angular momentum 𝑙 has to be given, followed by the number of primitives. The prim-
itives themselves are then specified by giving a running index and the respective tuple of exponent 𝑎𝑘𝑙 , expansion
coefficient 𝑑𝑘𝑙 and radial power 𝑛𝑘𝑙 .
# ECP shell
l <number of primitives>
1 a1l d1l n1l
2 a2l d2l n3l
...
As an example, consider the SD(10,MDF) for Vanadium. The name indicates a Stuttgart–Dresden type ECP that
replaces 10 core electrons and is derived from a relativistic calculation for the neutral atom. It consists of 4 shells
with angular momentum s, p, d, and f. Note that the f shell has an expansion coefficient of 0.0 and thus will
not contribute at all to this effective core potential. This is typical for all SD potentials (but may be different for
program packages like TURBOMOLE that do not support arbitrary angular momentum with respect to the ECP
and therefore use recontractions of the original parameter sets).
%basis
# ECP SD(10,MDF) for V
# M. Dolg, U. Wedig, H. Stoll, H. Preuss,
# J. Chem. Phys. 86, 866 (1987).
NewECP V
N_core 10
lmax f
s 2
1 14.4900000000 178.4479710000 2
2 6.5240000000 19.8313750000 2
(continues on next page)
%basis
GhostECP true
# AllowGhostECP true # synonym
end
*xyz ...
# atom> charge x y z optional ECP declaration
Zr> 4.0 0.0 0.0 0.0 NewECP "SDD" end
...
*
The declaration of such a coreless ECP center takes place in the coordinates section by appending a bracket “>”
to the element symbol. Note that embedding ECPs are treated as point charges in ORCA, so the charge has to
be given next. The coordinates of the coreless ECP center have to be specified as usual and may be followed by
an optional ECP assignment. In general, calculations that employ an ECP embedding procedure should be single
point calculations. However if the need arises to perform a geometry optimization, make sure to set up explicit
Cartesian constraints for the coreless ECP centers.
%scf
sthresh 1e-6 # default 1e-7
end
Although there is no strict limit for the value of the above parameter, it should reasonably be somewhere between
1e-5 and 1e-8 (the default is 1e-7). One may get away with 1e-9 or perhaps even lower without convergence
problem, but there is a risk that the result is contaminated with noise caused by the near zero vectors. In difficult
cases, an 1e-6 threshold was often found to work smoothly, and above that one risks throwing away more and more
functions, which also influence comparability of results with other calculations. To monitor the behavior of the
small eigenvalues, one should look for the following block in the output
Here, the smallest eigenvalue is printed, along with the currently used overlap threshold, and the number of func-
tions below this (which will be dropped). It is a recommended consistency check to look for an equal number of
zero entries among orbital energies once the SCF procedure converged. Note that for functions belonging to zero
eigenvalues no level shifts are applied!
In case that redundant vectors were removed from the basis, ! MORead NoIter should only be used in conjunction
with the same SThresh as in the original calculation, otherwise the results will be inconsistent. ! MORead may
still be used together with a change in SThresh, but a few SCF iterations will be required.
%basis
PCDTrimBas Overlap # Trim the orbital basis in the overlap metric
PCDTrimAuxJ Coulomb # Trim the AuxJ basis in the Coulomb metric
PCDTrimAuxJK Coulomb # Trim the AuxJK basis in the Coulomb metric
PCDTrimAuxC Coulomb # Trim the AuxC basis in the Coulomb metric
PCDThresh -1 # Threshold for the PCD: chosen automatically if <0
end
%scf
Guess HCore # One electron matrix
Hueckel # Extended H\"uckel guess
PAtom # Polarized atomic densities
PModel # Model potential
MORead # Restart from an earlier calc.
MOInp "Name.gbw" # orbitals used for MORead
GuessMode FMatrix # FMatrix projection
CMatrix # Corresponding orbital projection
AutoStart true # try to use the orbitals from the existing
# GBW file of the same name (if possible)
# (default)
false # don't use orbitals from existing GBW file
end
where the sum is over all orbitals of the initial guess orbital set, 𝑎†𝑝 is the creation operator for an electron in guess
MO 𝑝, 𝑎𝑝 is the corresponding annihilation operator and 𝜀𝑖 is the orbital energy. This effective one electron operator
is diagonalized in the actual basis and the eigenvectors are the initial guess orbitals in the target basis. For most
wavefunctions this produces a fairly reasonable guess.
CMatrix is more involved. It uses the theory of corresponding orbitals to fit each MO subspace (occupied, partially
occupied or spin-up and spin-down occupied) separately [34, 444]. After fitting the occupied orbitals, the virtual
starting orbitals are chosen in the orthogonal complement of the occupied orbitals. In some cases, especially when
restarting ROHF calculations, this may be an advantage. Otherwise, it is not expected that CMatrix will be grossly
superior to FMatrix for most cases.
! moread
%moinp "name.gbw"
This is done by default for single-point calculations if the .gbw file of the same name exists.
The program stores the current orbitals in every SCF cycle. Should a job crash, it can be restarted from the orbitals
that were present at this time by just re-running the calculation to use the present .gbw file. In addition, an effort has
been made to make .gbw files from different releases compatible with each other. If your input .gbw file is from an
older release, use ! rescue moread noiter with % moinp "name.gbw" to produce an up-to-date .gbw. When
the rescue keyword is invoked, only the orbital coefficients are read from the .gbw file, and everything else from
the input file. Thus, make sure that the geometry and the basis set of the old .gbw file and the new input match.
Within the same ORCA version, neither the geometry nor the basis set stored in name.gbw need to match the
present geometry or basis set. The program merely checks if the molecules found in the current calculation and
name.gbw are consistent with each other and then performs one of the possible orbital projections. If the two basis
sets are identical the program by default only reorthogonalizes and renormalizes the input orbitals. However, this
can be overruled by explicitly specifying GuessMode in the % scf block as CMatrix or FMatrix.
If redundant components were removed from the basis (see Linear Dependence), then ! moread noiter
must not be used to read SCF orbitals from a previous calculation, as it is going to lead to wrong results. In
that case, ! rescue moread may be used (without noiter) if doing the entire calculation in one go is not
possible.
For pre 2.5-03 versions of ORCA the input .gbw file from the earlier calculation must have a different name than
the new calculation, because in the very beginning of a calculation, a new .gbw file is written. If the names are the
same, the .gbw file from the earlier calculation is overwritten and all information is lost. Therefore, if you want to
restart a calculation with an input file of the same name as the previous calculation, you have to rename the .gbw
file first. This is good practice anyway to avoid surprises, particularly for expensive calculations.
There is an additional aspect of restarting SCF calculations — if you have chosen SCFMode = Conventional the
program stores a large number of integrals that might have been time consuming to calculate on disk. Normally
the program deletes these integrals at the end of the calculation. However, if you want to do a closely related
calculation that requires the same integrals (i.e. the geometry, the basis set and the threshold Thresh are the same)
it is faster to use the integrals generated previously. This is done by using KeepInts = true in the % scf block
of the first calculation and then use ReadInts = true in the % scf block of the second calculation. If the second
calculation has a different name than the first calculation you have to use IntName = "FirstName" to tell the
program the name of the integral files. Note that the file containing the integrals does not have an extension — it
is simply the name of the previous input file with .inp stripped off.
%scf
KeepInts true # Keep integrals on disk
ReadInts true # Read integrals from disk
IntName "MyInts" # Name of the integral files without extension
end
Note that, in general, restarting calculations with old integral files requires the awareness and responsibility of the
user. If properly used, this feature can save considerable amounts of time.
7.6.7 Changing the Order of Initial Guess MOs and Breaking the Initial Guess
Symmetry
Occasionally you will want to change the order of initial guess MOs — be it because the initial guess yielded an
erroneous occupation pattern or because you want to converge to a different electronic state using the orbitals of
a previous calculation. Reordering of MOs and other tasks (like breaking the symmetry of the electronic wave-
function) are conveniently handled with the Rotate feature in ORCA. Rotate is a subblock of the SCF block that
allows you to linearly transform pairs of MOs.
%scf
Rotate
{ MO1, MO2, Angle }
{ MO1, MO2, Angle, Operator1, Operator2 }
{ MO1, MO2} # Shortcut to swap MO1 and MO2. Angle=90 degrees.
end
end
Here, MO1 and MO2 are the indices of the two MOs of interest. Recall that ORCA starts counting MOs with index
0, i.e. the MO with index 1 is the second MO. Angle is the rotation angle in degrees. A rotation angle of 90∘
corresponds to flipping two MOs, an angle of 45∘ leads to a 50:50 mixture of two MOs, and a 180∘ rotation leads to
a change of phase. Operator1 and Operator2 are the orbitals sets for the rotation. For UHF calculations spin-up
orbitals belong to operator 0 and spin-down orbitals to operator 1. RHF and ROHF calculations only have a single
orbital set.
Among others, the Rotate feature can be used to produce broken-symmetry solutions, for example in transition
metal dimers. In order to do that, first perform a high-spin calculation, then find the pairs of MOs that are symmetric
and antisymmetric combinations of each other. Take these MOs as the initial guess and use rotations of 45∘ for each
pair to localize the starting MOs. If you are lucky and the broken symmetry solution exists, you have a good chance
of finding it this way. See section Broken-Symmetry Wavefunctions and Exchange Couplings for more details on
the broken-symmetry approach.
%scf
guessmix 75 # angle in degrees, default is 45
end
Like other keys, Convergence is a compound key that assigns default values to a variety of other variables given
in the box below. In table Threshold choices for compound convergence keys we present the chosen values for
each compound key. If the corresponding simple inputs are given (StrongSCF, VeryTightSCF, . . . etc), then in
addition the values of table Additional threshold choices set by the simple input keys (strongSCF, . . . etc.) are also
set. The default convergence criteria are reasonable and should be sufficient for most purposes. For a cursory
look at populations weaker convergence may be sufficient, whereas other cases may require stronger than default
convergence. Note that Convergence does not only affect the target convergence tolerances but also the integral
accuracy as discussed in the section about direct SCF and alike. This is very important: if the error in the
integrals is larger than the convergence criterion, a direct SCF calculation cannot possibly converge.
The convergence criteria are always printed in the output. Given below is a list of the convergence criteria for
! TightSCF, which is often used for calculations on transition metal complexes.
%scf
TolE 1e-8 # energy change between two cycles
TolRMSP 5e-9 # RMS density change
TolMaxP 1e-7 # maximum density change
TolErr 5e-7 # DIIS error convergence
TolG 1e-5 # orbital gradient convergence
(continues on next page)
Sloppy
TolE 3e-5
TolMAXP 1e-4
TolRMSP 1e-5
TolErr 1e-4
Thresh 1e-9
TCut 1e-10
DFTGrid.BFCut 1e-10
TolG 3e-4
TolX 3e-4
Z_Tol 5e-3
Loose
TolE 1e-5
TolMAXP 1e-3
TolRMSP 1e-4
TolErr 5e-4
Thresh 1e-9
TCut 1e-10
DFTGrid.BFCut 1e-10
TolG 1e-4
TolX 1e-4
Z_Tol 3e-3
Medium
SCFConvMode _CONVCHECK_ENERGY
TolE 1e-6
TolMAXP 1e-5
TolRMSP 1e-6
TolErr 1e-5
Thresh 1e-10
TCut 1e-11
DFTGrid.BFCut 1e-10
TolG 5e-5
TolX 5e-5
Z_Tol 1e-3
Strong
SCFConvMode _CONVCHECK_ENERGY
TolE 3e-7
TolMAXP 3e-6
TolRMSP 1e-7
TolErr 3e-6
continues on next page
Thresh 1e-10
TCut 3e-11
DFTGrid.BFCut 3e-11
TolG 2e-5
TolX 2e-5
Z_Tol 7e-4
Tight
SCFConvMode _CONVCHECK_ENERGY
TolE 1e-8
TolMAXP 1e-7
TolRMSP 5e-9
TolErr 5e-7
Thresh 2.5e-11
TCut 2.5e-12
DFTGrid.BFCut 1e-11
TolG 1e-5
TolX 1e-5
Z_Tol 1e-4
VeryTight
SCFConvMode _CONVCHECK_ENERGY
TolE 1e-9
TolMAXP 1e-8
TolRMSP 1e-9
TolErr 1e-8
Thresh 1e-12
TCut 1e-14
DFTGrid.BFCut 1e-12
TolG 2e-6
TolX 2e-6
Z_Tol 3e-5
Extreme
SCFConvMode _CONVCHECK_ALL
TolE 1e-14
TolMAXP 1e-14
TolRMSP 1e-14
TolErr 1e-14
Thresh 3e-16
TCut 3e-16
TolG 1e-09
TolX 1e-09
Z_Tol 3e-06
DFTGrid.BFCut 3e-16
Table 7.12: Additional threshold choices set by the simple input keys (strongSCF, . . . etc.)
SloppySCF
DCAS.TolG 5.0e-3
continues on next page
DCAS.TolE 1.0e-6
DMDCI.STol 1.0e-4
DMRCI.ETol 1.0e-5
DMRCI.RTol 1.0e-5
DCIS.ETol 1.0e-5
DCIS.RTol 1.0e-5
LooseSCF
IN.DCAS.TolG 5.0e-3
DCAS.TolE 1.0e-6
DMDCI.STol 1.0e-4
DMRCI.ETol 1.0e-5
DMRCI.RTol 1.0e-5
DCIS.ETol 1.0e-5
DCIS.RTol 1.0e-5
NORMALSCF
DCAS.TolG 1.0e-3
DCAS.TolE 1.0e-7
DMDCI.STol 2.5e-5
DMRCI.ETol 1.0e-6
DMRCI.RTol 1.0e-6
DCIS.ETol 1.0e-6
DCIS.RTol 1.0e-6
STRONGSCF
DCAS.TolG 5.00e-4
DCAS.TolE 6.66e-8
DMDCI.STol 7.50e-6
DMRCI.ETol 6.66e-7
DMRCI.RTol 6.66e-7
DCIS.ETol 6.66e-7
DCIS.RTol 6.66e-7
TIGHTSCF
DCAS.TolG 2.5e-4
DCAS.TolE 2.5e-8
DMDCI.STol 1.0e-5
DMRCI.ETol 2.5e-7
DMRCI.RTol 2.5e-7
DCIS.ETol 2.5e-7
DCIS.RTol 2.5e-7
VERYTIGHTSCF
DCAS.TolG 1.0e-5
DCAS.TolE 1.0e-8
DMDCI.STol 1.0e-6
DMRCI.ETol 1.0e-7
DMRCI.RTol 1.0e-7
DCIS.ETol 1.0e-7
DCIS.RTol 1.0e-7
EXTREMESCF
DCAS.TolG 1.0e-9
DCAS.TolE 1.0e-12
continues on next page
DMDCI.STol 1.0e-9
DMDCI.TCutInt 0.0
DMRCI.ETol 1.0e-12
DMRCI.RTol 1.0e-12
DCIS.ETol 1.0e-12
DCIS.RTol 1.0e-12
If ConvCheckMode=0, all convergence criteria have to be satisfied for the program to accept the calculation
as converged, which is a quite rigorous criterion. In this mode, the program also has mechanisms to decide
that a calculation is converged even if one convergence criterion is not fulfilled but the others are overachieved.
ConvCheckMode=1 means that one criterion is enough. This is quite dangerous, so ensure that none of the criteria
are too weak, otherwise the result will be unreliable. The default ConvCheckMode=2 is a check of medium rigor
— the program checks for the change in total energy and for the change in the one-electron energy. If the ratio
of total energy and one-electron energy is constant, the self-consistent field does not fluctuate anymore and the
calculation can be considered converged. If you have small eigenvalues of the overlap matrix, the density may not
be converged to the number of significant figures requested by TolMaxP and TolRMSP.
ConvForced is a flag to prevent time consuming calculations on non-converged wave functions. It will default to
ConvForced=1 for Post-HF methods, Excited States runs and Broken Symmetry calculations. You can overwrite
this default behavior by setting ConvForced=0.
Irrespective of the ConvForced value that has been chosen, properties or numerical calculations (NumGrad, Num-
Freq) will not be performed on non-converged wavefunctions!
where 𝛼 is the damping factor, which must have a value of less than 1. Thus the permissible range (not checked
by the program) is 0 . . . 0.999999. For 𝛼 values larger than 1, the calculation cannot proceed since no new density
is admixed. Damping is important in the early stages of a calculation where 𝑃old and 𝑃new are very different from
each other and the energy is strongly fluctuating. Many schemes have been suggested that vary the damping factor
dynamically to give strong damping in the beginning and no damping in the end of an SCF. The scheme imple-
mented in ORCA is that by Hehenberger and Zerner [911] and is invoked with CNVZerner=true. Static damping
is invoked with CNVDamp=true. These convergers are mutually exclusive. They can be used in the beginning of a
calculation when it is not within the convergence radius of DIIS or SOSCF. Damping works reasonably well, but
most other convergers in ORCA are more powerful.
If damping used in conjunction with DIIS or SOSCF, the value of DampErr is important: once the DIIS error falls
below DampErr, the damping is turned off. In case SOSCF is used, DampErr refers to the orbital gradient value at
which the damping is turned off. The default value is 0.1 Eh. In difficult cases, however, it is a good idea to choose
DampErr much smaller, e.g. 0.001. This is — to some extent — chosen automatically together with the keyword
! SlowConv.
%scf
# control of the Damping procedure
CNVDamp true # default: true
CNVZerner false # default: false
DampFac 0.98 # default: 0.7
DampErr 0.05 # default: 0.1
DampMin 0.1 # default: 0.0
DampMax 0.99 # default: 0.98
# more convenient:
(continues on next page)
Note that for troublesome or lacking SCF convergence the TRAH algorithm should be used (see Sec. Trust-Region
Augmented Hessian (TRAH) SCF). If not turned off explicitly, TRAH is switched on automatically whenever conver-
gence problems are present by means of the AutoTRAH feature (see Sec. Trust-Region Augmented Hessian (TRAH)
SCF).
%scf
# control of the SOSCF procedure
CNVSOSCF true # default: false
SOSCFStart 0.1 # default: 0.01
SOSCFMaxIt 5 # default: 1000
# more convenient:
SOSCF Start 0.1 MaxIt 5 end
end
For many calculations on transition metal complexes, it is a good idea to be conservative in the startup criterion
for SOSCF, it may diverge otherwise. A choice of 0.01 or lower is recommended.
||x|| ≤ ℎ .
(H − 𝜇I) x = −g,
which have the two unknowns (𝜇, x). Instead of solving the level-shifted Newtons equations, the eigenvalues and
eigenvectors of the scaled augmented Hessian are solved,
0 𝛼g𝑇
(︂ )︂ (︂ )︂ (︂ )︂
1 1
=𝜇 ,
𝛼g H x̃ x̃
The TRAH eigenvalue equations are solved iteratively with the Davidson algorithm until the residual norm for x̃
is below a scaled (by TolFacMicro) norm of the electronic gradient. The scaling parameter 𝛼 is adjusted in every
Davidson iteration (micro iteration) such that
1
||x|| ≈ || x̃|| ≤ ℎ
𝛼
by using a bisection search within [𝛼0 , 𝛼1 ] and ensures that the orbital rotation (update) vectors are within the
trust region. Once x is found, the orbitals are updated and a new macro iteration starts with the SCF energy and
electronic gradient computation g. TRAH terminates if the gradient norm ||g|| is below a user-given threshold
TolG.
The most time consuming steps of the algorithm are the computation of the electronic gradient g and the linear
transformations of the electronic Hessian H with some trial vectors during the Davidson micro iterations. Both
intermediates can be computed efficiently in the atomic-orbital basis using AO-Fock matrices as done for TD-DFT
or CP-SCF. Hence, TRAH-SCF can be also used for very large molecules. However, in contrast to a standard
DIIS approach, difference density matrices cannot be used which makes the shell pair screening based on Schwarz
estimates and density matrices less effective for TRAH. To accelerate the various sigma vector computations, we
choose for those steps in the micro iterations as for CP-SCF smaller grids for evaluation of XC functionals and
semi-numerical exchange COSX, which is controlled via
%method
Z_GridXC 1 // Lebedev Grid
Z_IntAccXC 3.467 // eps parameter of radial grid
Z_GridX 1 // Lebedev Grid
Z_IntAccX 3.067 // eps parameter of radial grid
end
TRAH-SCF is currently implemented for restricted closed-shell (RHF and RKS) and unrestricted open-shell deter-
minants (UHF and UKS) and can be accelerated with RIJ, RIJONX, RIJK, or RIJCOSX. Solvation effects can also be
accounted for with the C-PCM model. The implementation is also parallelized with MPI. A restricted open-shell
implementation (ROHF and ROKS) is not yet available.
The default preconditioner (diag) for the Davidson algorithm uses approximate matrix element of the diago-
nal Hessian. We have also added an improved preconditioner (full) that uses the exact orbital Hessian for a
subset of the most important occupied-virtual MO pairs (with smallest orbital-energy difference). This number
PreconMaxRed (default 250) cannot be too large.
%scf
trah
Precond Diag # DIAG, FULL, or NONE
PreconMaxRed 250 # maximum dimension of FULL Hessian for preconditioning
end
end
Otherwise, additional computational bottlenecks would be introduced when transforming the two-electron integrals
in the MO basis or when diagonalizing this reduced-space Hessian. Note that for the integral transformation the
RI approximation is used and an auxiliary /C basis must be provided. Please also note that, so far, we have only
implemented an XC Hessian contribution for LDA functionals. From our experience, the “full” precondition is
very advantageous for RHF and UHF calculations of small molecules but does not provide any advantage for other
(TRAH-)SCF calculations.
In cases for which the conventional SCF procedures (DIIS/KDIIS/SOSCF) struggle, we invoke TRAH-SCF auto-
matically (AutoTRAH). For this purpose, we perform a linear interpolation of the norm of the electronic gradient on
the log10 scale after a minimum number of SCF iterations AutoTRAHIter (default 20). The number of iterations
for interpolations is controlled by AutoTRAHNInter (default 10). If the slope 𝑠 of the interpolated gradient norm
10−𝑠 becomes smaller than AutoTRAHTol (default 1.125), conventional SCF is shut down and TRAH-SCF start
from the current set of MOs. Those parameters were optimized for a benchmark set with the purpose to minimize
the calculation times even for SCF calculations that are hard to converge. There is not really a need to modify the
AutoTRAH parameters except for turning TRAH off entirely.
! NoTRAH
The accuracy of the SCF calculation is controlled by via the simple keywords NORMALSCF, LOOSESCF, etc. The
accuracy threshold that checks the gradient norm for TRAH-SCF calculations is is read from the SCF input block.
Note that checking the Frobensius norm of ||g|| is the only convergence check in TRAH.
%scf
TolG 1.e-6 # gradient norm threshold (converging macro iterations)
end
Below a complete list of input parameters is given for TRAH. Please note that all parameters influence the conver-
gence and should not be changed carelessly!
%scf
# AutoTRAH parameter
AutoTRAH true
AutoTRAHTol 1.125
AutoTRAHIter 20
AutoTRAHNInter 10
# TRAH parameter
trah
MaxRed 16 # maximum number of Davidson micro iterations
NStart 2 # number of start vectors for Davidson (at least 2)
TolFacMicro 0.1# Scaling factor for Davidson convergence
# threshold = TolFacMicro * || G ||
MinTolMicro 1.e-2 # minimum accuracy of micro iterations
QuadRegionStart 1.e-3 # start Newton-Raphson if || G || < QuadRegionStart
tradius 0.4 # initial trust radius
AlphaMin 0.1 # lower bound of gradient scaling parameter
AlphaMax 1000. # upper bound of gradient scaling parameter
Randomize true # add white noise to Davidson start vectors
PseudoRand false # use pseudo random numbers for comparibility
MaxNoise 1.e-2 # maximum random number magnitude
OrbUpdate Taylor # orbital update algorithm (TAYLOR or CAYLEY)
InactiveMOs Canonical # CANONICAL or NOTSET
Precond Diag # DIAG, FULL, or NONE
PreconMaxRed 250 # maximum dimension of FULL Hessian for preconditioning
end
end
OBS.: The maximum number of macro iterations is defined by MAXITER under the %SCF block.
ò Note
• Finite temperature SCF (fractional occupation numbers or FOD analysis, see sections Fractional Oc-
cupation Numbers and Fractional Occupation Number Weighted Electron Density (FOD), respectively)
cannot be used together with the CNVRico or SOSCF methods.
Clearly, the power of fractional occupation numbers goes far beyond what is presently implemented in the program
and future releases will likely make more use of them. The program prints a warning whenever it uses fractional
occupation numbers. The fractionally occupied orbitals should be checked to ensure they are actually the intended
ones.
ò Note
• Using GuessMode = CMatrix will cause problems because there are no orbital energies for the initial
guess orbitals. The program will then average over all orbitals — which makes no sense at all.
(𝛿1 and 𝛿2 are unity if the level is lower than 𝐸𝐹 while they are 0 and −1, respectively, for levels higher than
𝐸𝐹 ). The 𝑓𝑖 represent the fractional occupation numbers (0≤ 𝑓𝑖 ≤1; sum over all electronic single-particle levels
obtained by solving self-consistently the KS-SCF equations minimizing the free-electronic energy).
𝜌𝐹 𝑂𝐷 (𝑟) can be plotted using a pre-defined contour surface value (see FOD plots). FOD plots only show the
contribution of the ‘hot’ (strongly correlated) electrons and can thus be used to choose a suitable QC method for
the system in question based on some rules of thumb (see FOD plots). Mulliken reduced orbital charges based on
𝜌𝐹 𝑂𝐷 (𝑟) (see Mulliken Population Analysis) offer a fast alternative to get the information of the FOD plot.
The integration of 𝜌𝐹 𝑂𝐷 over all space yields as additional information a single size-extensive number termed
𝑁𝐹 𝑂𝐷 which correlates well with other scalar SEC diagnostics and can be used to globally quantify SEC effects
in the molecule.
𝜌𝐹 𝑂𝐷 (and 𝑁𝐹 𝑂𝐷 ) strongly depend on the orbital energy gap which itself depends almost linearly on the amount
of the non-local Fock exchange admixture 𝑎𝑥 . The following (empirical) function of the optimal electronic tem-
perature 𝑇𝑒𝑙 on 𝑎𝑥
is used to ensure that similar results of the FOD analysis are obtained with various functionals. For example, the
SmearTemp has to be 5000 K for TPSS (𝑎𝑥 = 0), 9000 K for B3LYP (𝑎𝑥 = 20%), 10000 K for PBE0 (𝑎𝑥 = 25%), and
15800 K for M06-2x (𝑎𝑥 = 54%). The result of the FOD analysis is not strongly dependent on the employed basis
set (see supplementary information of the original publication[327]). TPSS/def2-TZVP/TightSCF was chosen as
the default since it is fast and robust. The FOD analysis is a very efficient and practicable tool to get information
about the amount and localization of SEC in the system of question. It is called by a simple keyword:
# ground state of p-benzyne
! FOD
* xyz 0 1
C 0.0000000 1.2077612 0.7161013
C 0.0000000 0.0000000 1.3596219
C 0.0000000 -1.2077612 0.7161013
C 0.0000000 -1.2077612 -0.7161013
C 0.0000000 0.0000000 -1.3596219
C 0.0000000 1.2077612 -0.7161013
H 0.0000000 2.1606260 1.2276695
H 0.0000000 -2.1606260 1.2276695
H 0.0000000 -2.1606260 -1.2276695
H 0.0000000 2.1606260 -1.2276695
*
----------------------------------------D-I-I-S--------------------------------------------
Iteration Energy (Eh) Delta-E RMSDP MaxDP DIISErr Damp Time(sec)
-------------------------------------------------------------------------------------------
*** Starting incremental Fock matrix formation ***
1 -230.8982516003082139 0.00e+00 5.01e-03 1.01e-01 1.12e-01 0.700 1.7
Warning: op=0 Small HOMO/LUMO gap ( -0.021) - skipping pre-diagonalization
Will do a full diagonalization
2 -230.9463607195993120 -4.81e-02 1.15e-03 2.59e-02 4.06e-02 0.700 1.6
***Turning on AO-DIIS***
... etc.
12 -231.0033984839932089 -5.02e-09 3.33e-07 7.37e-06 7.95e-06 0.000 1.1
**** Energy Check signals convergence ****
FOD:
Fermi smearing:E(HOMO(Eh)) = -0.201252 MUE = -0.179318 gap= 1.119 eV
N_FOD = 0.920364
The default functional and basis set are TPSS and def2-TZVP respectively. If the FOD analysis should be done
employing a different functional, one has to explicitly specify the functional and basis set in the simple keyword
line and adjust the SmearTemp accordingly.
# ozone molecule
! B3LYP def2-TZVP TightSCF
%scf
(continues on next page)
* xyz 0 1
O 0.00000000017911 0.00000000000000 0.43702029765776
O -1.09512651993192 0.00000000000000 -0.21851064888325
O 1.09512651975281 0.00000000000000 -0.21851064877451
*
The FOD analysis may also be useful for finding a suitable active space for e.g. CASSCF calculations.
ò Note
• The FOD analysis will be always printed (including Mulliken reduced orbital charges based on 𝜌𝐹 𝑂𝐷 )
if SmearTemp > 0 K 𝜌𝐹 𝑂𝐷 is stored on disk in the file Basename.scfp_fod which is included in the
general Basename.densities container).
• Since the 𝑆ˆ2 expectation value is not defined for fractional occupation numbers, its printout is omitted.
%scf
HFTyp RHF # closed-shell (RKS for DFT)
UHF # unrestricted open-shell (UKS for DFT)
ROHF # restricted open-shell (ROKS for DFT)
CASSCF # complete active space SCF
end
In certain cases you may want to run open-shell molecules with RHF/RKS to get a “half-electron” type wave-
function [205]. The total energy is not corrected! Sometimes these half-electron computations lead to acceptable
convergence, and the resulting orbitals may be used as input for ROHF, UHF or MRCI calculations. Especially
for transition metal complexes the orbitals are quite different from ROHF or UHF orbitals, so that it is not rec-
ommended to over-interpret the wavefunctions from such calculations. The calculation is set up in the following
way:
%scf
HFTyp ROHF
ROHF_case HIGHSPIN
ROHF_NEl[1] 4 # number of electrons in the open-shell
end
The ROHF code also has a very powerful feature that goes back to insights of Mike Zerner [818, 907]. It can
average over either all states of a given configuration (CAHF) or all states of a given spin for a given configuration
(SAHF). Especially the SAHF feature gives you easy access to most degenerate high symmetry situations and the
orbitals resulting from such calculations will be very convenient as input for CI calculations.
%scf
HFTyp ROHF
ROHF_case CAHF # configuration averaged HF
SAHF # spin averaged HF
ROHF_NumOp 3 # number of operators (3, 2 or 1)
ROHF_NOrb[1] 2,1 # number of orbitals in each open-shell
ROHF_NEl[1] 1,1 # number of electrons in each open-shell
end
The hypothetical example below could represent an excited state of an octahedral d3 transition metal complex. In
this case there are five open-shell orbitals. The first three open-shell orbitals contain two electrons and the last two
one electron. The input for a SAHF calculation is identical, just replace CAHF with SAHF.
%scf
HFTyp ROHF
ROHF_case CAHF # configuration averaged HF
ROHF_NumOp 3 # 3 operators in this case: closed, open1, open2
ROHF_NOrb[1] 3,2 # 3 orbitals in first open shell, 2 in the second
ROHF_NEl[1] 2,1 # 2 electrons in first open shell, 1 in the second
end
Another feature of the ROHF code is the ability to converge the SCF to a given Configuration State Function
(CSF-ROHF) [512]. In this way one can approach results from MCSCF calculations. This can be requested in two
ways.
The user can give a specific coupling situation.
%scf
HFTyp ROHF
ROHF_CASE USER_CSF # User defined CSF
ROHF_REF {1 1 -1 -1} end # CSF to be converged to
end
Or the user can give how many orbitals per shell. Where each open-shell will couple with antiparallel spin with
the previous one.
%scf
HFTyp ROHF
ROHF_CASE AF_CSF # User defined CSF
ROHF_AFORBS 2,2 # Coupling Situation
end
As an example, one can think of a Fe(III) dimer, where each center is locally high spin, but they couple antiferro-
magnetically to each other. In order to get the ROHF solution for this system, first one need a set of guess orbitals.
The guess orbitals can be obtained either from the QROs of an UHF calculation, or a high spin ROHF calculation,
or even a SAHF or CAHF. Independently of the method used, the orbitals need to be localized and ordered in a
way that the 5 3d orbitals of each iron are grouped together in sequence. From this, one can run a CSF-ROHF
calculation for the antiferromagnetic CSF as shown bellow:
%scf
HFTyp ROHF
ROHF_CASE USER_CSF # User defined CSF
ROHF_REF {1 1 1 1 1 -1 -1 -1 -1 -1} end # 2 open shells coupling antiparallel
end
or
%scf
HFTyp ROHF
ROHF_CASE AF_CSF # User defined CSF
ROHF_AFORBS 5,5 # 2 open shells coupling antiparallel
end
The CSF-ROHF procedure can recognize doubly occupied and virtual orbitals in the definition of the CSF when
the USER_CSF case is invoked. When detected, these orbitals will be rotated out of the open-shells defined in the
ROHF method and the calculation will run normally:
%scf
HFTyp ROHF
ROHF_CASE USER_CSF # User defined CSF
ROHF_REF {1 1 2 1 -1 -1 0 -1} end # the DOMO will be rotated to the closed-shell and
# the VMO will be rotated to the virtual space.
end
The user can also directly input the ROHF variables by means of the ROHFOPT Case User keyword. For example
for the high spin case with three electrons in three orbitals gives two operators with vector coupling coefficients
𝑎 = 1 and 𝑏 = 2 (Zerner convention).
%scf
HFTyp ROHF
ROHFOP Case User # manual input of ROHF variables
Nop 2 # number of operators
Norb[1] 3 # number of open-shell orbitals
Nel[1] 3 # number of open-shell electrons
A[1,1] 1 # Coulomb vector in the open shell
B[1,1] 2 # Exchange vector in the open shell
end
end
One awkward feature of the ROHF theory is that the Fock operator is somewhat arbitrarily defined. Different
choices lead to the same wavefunction, but have different convergence properties that may vary from system to
system. ORCA thus lets the user choose the desired variant. Playing around with these choices may turn a divergent
or slowly converging ROHF calculation into a successful calculation!
The ROHF_Restrict feature is another feature that may be useful. If you suspect that the ROHF calculation does
not converge because an open-shell and a closed-shell orbital are flipping back and forth, you can try to avoid this
behavior by choosing ROHF_Restrict true. Of course there is no guarantee that it will work, and no guarantee
that the system stays in the desired state. However, it decreases the chances of large, uncontrolled steps.
%scf
ROHF_Mode 0 # construct F according to Pulay (default)
1 # construct F as in the Gamess program
2 # construct F according to Kollmar
There are various printing options for UNOs described in the output section Population Analyses and Control of
Output. The UNOs can also be plotted as described in the plots section Orbital and Density Plots. In general the
program stores a file BaseName.uno, where BaseName is by default the name of you input file with .inp stripped
off. Accordingly, the gbw file is named BaseName.gbw. The .uno file is a normal gbw file that contains the
geometry, basis set and the UNO orbitals. It could be used, for example, to start a ROHF calculation.
Here, 𝑛𝑝 is the number of primitives involved in shell 𝑝, and 𝑙𝑝 is the angular momentum for this shell. Large
integrals are also good candidates for storage, because small changes in the density that multiply large integrals are
likely to give a nonzero contribution to the changes in the Fock matrix.
ORCA thus features two possibilities for integral handling, which are controlled by the variable SCFMode. In the
mode Conventional, all integrals above a given threshold are stored on disk (in a compressed format that saves
much disk space). In the mode Direct, all two-electron integrals are recomputed in each iteration.
Two further variables are of importance: In the Conventional mode the program may write enormous amounts
of data to disk. To ensure this stays within bounds, the program first performs a so-called “statistics run” that gives
a pessimistic estimate of how large the integral files will be. Oftentimes, the program will overestimate the amount
of disk space required by a factor of two or more. The maximum amount of disk space that is allowed for the
integral files is given by MaxDisk (in Megabytes).
On the other hand, if the integral files in Conventional run are small enough to fit into the central memory, it is
faster to do this since it avoids I/O bottlenecks. The maximum amount of memory allocated for integrals in this
1 A batch is a set of integrals that arises from all components of the shells involved in the integral. For example a ⟨𝑝𝑝|𝑝𝑝⟩ batch gives rise
to 3 × 3 × 3 × 3 = 81 integrals due to all possible combinations of 𝑝𝑥 , 𝑝𝑦 and 𝑝𝑧 functions in the four shells. Computations based on batches
lead to great computational advantages because the 81 integrals involved in the ⟨𝑝𝑝|𝑝𝑝⟩ batch share many common intermediate quantities.
way is specified by MaxIntMem (in Megabytes). If the integral files are larger than MaxIntMem, no integrals will
be read into memory.
%scf
MaxIter 100 # Max. no. of SCF iterations
SCFMode Direct # default, other choice: Conventional
Thresh 1e-8 # Threshold for neglecting integrals / Fock matrix contributions
# Depends on the chosen convergence tolerance (in Eh).
TCut 1e-10 # Threshold for neglecting primitive batches. If the prefactor
# in the integral is smaller than TCut, the contribution of the
# primitive batch to the total batch is neglected.
UseCheapInts false # default: false
DirectResetFreq 20 # default: 15
MaxDisk 2500 # Max. amount of disk for 2 el. ints. (MB)
MaxIntMem 400 # Max. amount of RAM for 2 el. ints. (MB)
end
The flag UseCheapInts has the following meaning: In a Direct SCF calculation, the oscillations in the total
energy and density are initially quite large. High accuracy in the integrals is therefore not crucial. If UseCheapInts
is switched on, the program loosens the threshold for the integrals and thus saves a lot of computational time. After
having obtained a reasonable initial convergence, the thresholds are tightened to the target accuracy. One pitfall with
this method is that the number of cycles required to reach convergence may be larger relative to a calculation with
full integral accuracy throughout.2 When restarting calculations that are close to convergence, it is recommended
to switch UseCheapInts off. UseCheapInts has no meaning in a conventional SCF.
The value of DirectResetFreq sets the number of incremental Fock matrix builds after which the program should
perform a full Fock matrix build in a Direct SCF calculation. To prevent numerical instabilities that arise from
accumulated errors in the recursively build Fock matrix, the value should not be too large, since this will adversely
affect the SCF convergence. If the value is too small, the program will update more frequently, but the calculation
will take considerably longer, since a full Fock matrix build is more expensive than a recursive one.
The thresholds TCut and Thresh also deserve a closer explanation. Thresh is a threshold that determines when to
neglect two-electron integrals. If a given integral is smaller than Thresh Eh, it will not be stored or used in Fock
matrix construction. Additionally, contributions to the Fock matrix that are smaller than Thresh Eh will not be
calculated in a Direct SCF.
Clearly, it would be wasteful to calculate an integral, then find out it is good for nothing and thus discard it. A
useful feature would be an efficient way to estimate the size of the integral before it is even calculated, or even have
an estimate that is a rigorous upper bound on the value of the integral. Häser and Ahlrichs [346] were the first to
recognize that such an upper bound is actually rather easy to calculate. They showed that:
(7.47)
√︀ √︀
|⟨𝑖𝑗 |𝑘𝑙 ⟩| ⩽ ⟨𝑖𝑗 |𝑖𝑗 ⟩ ⟨𝑘𝑙 |𝑘𝑙 ⟩
where:
∫︁ ∫︁
−1
⟨𝑖𝑗 |𝑘𝑙 ⟩ = 𝜑𝑖 (⃗𝑟1 ) 𝜑𝑗 (⃗𝑟1 ) 𝑟12 𝜑𝑘 (⃗𝑟2 ) 𝜑𝑙 (⃗𝑟2 ) 𝑑⃗𝑟1 𝑑⃗𝑟2 (7.48)
Thus, in order to compute an upper bound for the integral only the right hand side of this equation must be known.
This involves only two index quantities, namely the matrix of two center exchange integrals ⟨𝑖𝑗 |𝑖𝑗 ⟩. These integrals
are easy and quick to calculate and they are all ⩾0 so that there is no trouble with the square root. Thus, one has
a powerful device to avoid computation of small integrals. In an actual calculation, the Schwartz prescreening is
not used on the level of individual basis functions but on the level of shell batches because integrals are always
calculated in batches. To realize this, the largest exchange integral of a given exchange integral block is looked for
and its square root is stored in the so called pre-screening matrix K (that is stored on disk in ORCA). In a Direct
SCF this matrix is not recalculated in every cycle, but simply read from disk whenever it is needed. The matrix of
exchange integrals on the level of individual basis function is used in Conventional calculations to estimate the
disk requirements (the “statistics” run).
Once it has been determined that a given integral batch survives it may be calculated as:
∑︁ ∑︁ ∑︁ ∑︁
⟨𝑖𝑗 |𝑘𝑙 ⟩ = 𝑑𝑝𝑖 𝑑𝑞𝑗 𝑑𝑘𝑟 𝑑𝑠𝑙 ⟨𝑖𝑝 𝑗𝑞 |𝑘𝑟 𝑙𝑠 ⟩ (7.49)
𝑝 𝑞 𝑟 𝑠
2 This might be an undesirable feature of the current implementation.
where the sums 𝑝, 𝑞, 𝑟, 𝑠 run over the primitive Gaussians in each basis function 𝑖, 𝑗, 𝑘, 𝑙 and the 𝑑’s are the con-
traction coefficients. There are more powerful algorithms than this one and they are also used in ORCA. However,
if many terms in the sum can be skipped and the total angular momentum is low, it is still worthwhile to compute
contracted integrals in this straightforward way. In equation (7.49), each primitive integral batch ⟨𝑖𝑝 𝑗𝑞 |𝑘𝑟 𝑙𝑠 ⟩ con-
tains a prefactor 𝐼𝐺𝑎𝑢𝑠𝑠𝑖𝑎𝑛𝑠 that depends on the position of the four Gaussians and their orbital exponents. Since
a contracted Gaussian usually has orbital exponents over a rather wide range, it is clear that many of these prim-
itive integral batches will contribute negligibly to the final integral values. In order to reduce the overhead, the
parameter TCut is introduced. If the common prefactor 𝐼𝑝𝑞𝑟𝑠 is smaller than TCut, the primitive integral batch is
skipped. However, 𝐼𝑝𝑞𝑟𝑠 is not a rigorous upper bound to the true value of the primitive integral. Thus, one has
to be more conservative with TCut than with Thresh. In practice it appears that choosing TCut=0.01*Thresh
provides sufficient accuracy, but the user is encouraged to determine the influence of TCut if it is suspected that
the accuracy reached in the integrals is not sufficient.
Hint
• If the direct SCF calculation is close to convergence but fails to finally converge, this maybe related to a
numerical problem with the Fock matrix update procedure – the accumulated numerical noise from the
update procedure prevents sharp convergence. In this case, set Thresh and TCut lower and/or let the
calculation more frequently reset the Fock matrix (DirectResetFreq).
ò Note
• For a Direct calculation, there is no way to have Thresh larger than TolE. If the errors in the Fock
matrix are larger than the requested convergence of the energy, the change in energy can never reach
TolE. The program checks for that.
• The actual disk space used for all temporary files may easily be larger than MaxDisk. MaxDisk only
pertains to the two-electron integral files. Other disk requirements are not currently checked by the
program and appear to be uncritical.
Using ORCA’s DeltaSCF, we can choose to converge the SCF to a HOMO/LUMO excited state. Now that excited
state was obtained by fully relaxing the orbitals and can include any contributions such as the VV10 correlation or
CPCM for solvation. We will also allow for gradients, geometry optimization, Hessian, EPR, NMR, or anything
else that ORCA can do for a “normal” ground state calculation.
s Important
The states obtained here are still represented by single-determinant wavefunctions, and in some cases might not
even have physically correct meaning. Be careful and conscious of what you are doing! These are relatively
reasonable wavefunctions for cases when:
1. the excited state can be simply described by a particle-hole interaction. That is for example NOT the
case of a benzene molecule or most pi-pi* excited states.
2. the occupied and virtual orbitals are orthogonal or separated in space such that the relevant exchange
integral is zero. Eg. some n-pi* states, orthogonal or long-distance charge separated states, etc;
3. for open-shell and doubly-excited states which can be represented by a single-determinant wavefunction.
Besides the regular keywords like method, basis set, OPT and FREQ, one needs to specify DELTASCF on the main
input, and in this case, UHF, since the alpha and beta orbitals will be different (for doubly-excited states RHF is
sufficient).
It is also necessary to add the ALPHACONF or BETACONF under the %SCF block. That is a minimal representation of
the configuration you want to converge to. In this case, 0,1 means a HOMO/LUMO transition, where the HOMO
has occupation zero and LUMO occupation one. For a HOMO-1/LUMO transition, it would be ALPHACONF 0,1,
1. For a HOMO/LUMO+1 it would be ALPHACONF 0,0,1 and so on. Just picture how the frontier orbitals should
look like. Any orbital below the first zero is assumed to be occupied and any orbital above the last occupied is
assumed to be empty.
After the regular startup, the DeltaSCF-specific print shows:
-------------------------------
DELTA-SCF INITIAL CONFIGURATION
-------------------------------
Here you can follow the initial configuration and some other important things:
1. Hessian update refers to which method will be used for the SOSCF Hessian update. ORCA’s default is
L-BFGS, which forces the electronic Hessian to be positive definite and will always push the system down to
a minimum. As we want to go to a saddle point the L-SR1 is set by default for DeltaSCF. More details on
Hessian updates and their consequences at this reference from the group of Hannes Jónsson [510].
2. Aufbau metric is the way one measures the “overlap” between the actual and reference wavefunctions
(more details on [184]). It is MOM by default, but can be also set to %SCF PMOM TRUE END to use PMOM.
3. Keep initial reference TRUE means we will always try to keep the initial reference state defined after
the guess phase. That is sometimes called IMOM in the literature [71]. If %SCF KEEPINITIALREF FALSE
END is set, it is always the last SCF iteration that is taken as reference.
s Important
Here are starting the orbitals from the PMODEL guess because it is trivial. In general we recommend always
starting the SCF by reading the orbitals of a previously converged ground-state SCF! Please check Restarting
SCF Calculations for more info on that.
ò Note
The statement MOM changed the orbital occupation numbers is normal, it is just printing what it is
doing. Nothing to worry about.
and one can see from the spin contamination, that this is indeed an open-shell singlet:
----------------------
UHF SPIN CONTAMINATION
----------------------
The gradient is then computed, and the geometry is optimized until convergence. Finally the frequencies show this
is actually not a minimum, but a saddle point on the geometry space!
-----------------------
VIBRATIONAL FREQUENCIES
-----------------------
0: 0.00 cm**-1
1: 0.00 cm**-1
2: 0.00 cm**-1
3: 0.00 cm**-1
4: 0.00 cm**-1
5: 0.00 cm**-1
6: -591.31 cm**-1 ***imaginary mode***
7: 799.56 cm**-1
8: 1228.37 cm**-1
9: 1271.29 cm**-1
10: 2971.77 cm**-1
11: 3067.96 cm**-1
The reason is: the HOMO/LUMO transition on formaldehyde populated the 𝜋 * LUMO, thus breaking the double
bound and making the carbon atom pyramidal. If one starts from a slightly distorted structure, it then converges to
the actual geometry minimum. Starting from a pyramidal structure:
!wB97M-D4 DEF2-TZVP DELTASCF UHF OPT FREQ
%SCF ALPHACONF 0,1 END
* XYZ 0 1
C 0.00000 0.00000 -0.60298
O -0.74131 -0.10909 0.45746
H 0.00000 0.93467 -1.18217
(continues on next page)
-----------------------
VIBRATIONAL FREQUENCIES
-----------------------
0: 0.00 cm**-1
1: 0.00 cm**-1
2: 0.00 cm**-1
3: 0.00 cm**-1
4: 0.00 cm**-1
5: 0.00 cm**-1
6: 713.25 cm**-1
7: 826.75 cm**-1
8: 1206.57 cm**-1
9: 1292.70 cm**-1
10: 2826.06 cm**-1
11: 2893.16 cm**-1
The final geometry is surprisingly accurate for the gas phase formaldehyde too! We will also show the results
here using the range-corrected, meta-GGA hybrid wB97M-D4 and the double-hybrid DFT !B2PLYP DEF2-QZVPP
AUTOAUX, just to show that MP2 also works.
Table 7.13: Geometry of gas phase formaldehyde versus the DeltaSCF results, in Angstroem and degrees.
parameter exp. PBE wB97M-D4 B2PLYP
r(C-O) 1.323 1.300 1.310 1.311
r(C-H) 1.098 1.113 1.093 1.090
∠HCH 118.8 115.0 117.0 116.8
∠OOP 34.0 41.1 36.5 37.0
s Important
We are using the default SCF algorithm here, AO-DIIS + SOSCF because this is relatively simple. In general
and for more complicated cases we suggest using directly the second order method, to avoid escaping back to
the ground state with !NODIIS.
s Important
Do NOT combine DeltaSCF wavefunctions with CCSD, or any such method with single excitations. It requires
a speciallized version of CC which we don’t have yet.
s Important
When running the same calculation above with wB97M-D4, there will not be a virtual orbital between the alpha
HOMO-1 and the HOMO (so no negative HOMO-LUMO gap). There is nothing wrong here, it just optimized
the orbitals to the excited state such that this is now a minimum on the SCF surface.
The energy is still higher than the non-DeltaSCF solution and if you plot the orbitals you will see that the alpha
HOMO is now a 𝜋 orbital instead of an 𝑛.
and the electron from orbital number two will be removed. IONIZEBETA works for beta orbitals. One can start
from an anion UHF -electronic structure obtained by adding one extra electron and remove a core electron like
this to obtain core-excited states too. Geometry optimization, EPR, and even TD-DFT calculations are all valid for
these states.
As an example, the input below will ionize the 1s electron from a water molecule, which corresponds to MO 0
here:
ò Note
If the orbital is not localized over a single atom one might need to localized them first!
and one can see from the results that is exactly where it converged to.
----------------
ORBITAL ENERGIES
----------------
SPIN UP ORBITALS
NO OCC E(Eh) E(eV)
0 0.0000 -20.108086 -547.1688
1 1.0000 -1.567415 -42.6515
2 1.0000 -1.057257 -28.7694
3 1.0000 -0.939315 -25.5601
4 1.0000 -0.882871 -24.0241
5 0.0000 -0.304254 -8.2792
6 0.0000 -0.239285 -6.5113
7 0.0000 0.044344 1.2066
(...)
ò Note
ORCA automatically adjusts charge and multiplicity here. The input should contain those from the reference
system!
Here are some examples of binding energies for 1s electrons. The atom from where it was removed is highlighted
in bold:
Table 7.14: Binding energies from 1s electrons found by DeltaSCF using wB97M-V/DEF2-TZVPP, in eV.
2|𝐻𝑎𝑏 | = ∆𝐸12
where states 𝑎 and 𝑏 are diabatic states ∆𝐸12 is the energy difference between adiabatic states 1 and 2 (which are
obtained via SCF solution). Here is an example of the diabatic couplings obtained for a benzene dimer, obtained
by starting from the ground state cation and exciting the beta electron with:
ò Note
There is more to come with respect to DeltaSCF. We are collaborating further with Prof. Hannes Jónsson’s
group - stay tuned.
%SCF
#
# general options
#
PMOM FALSE # use the PMOM metric instead of the regular MOM? (default FALSE)
#
(continues on next page)
#
# SOSCF Hessian update
#
AU𝑥 = B𝑥 ,
where U𝑥 is the vector of solutions for perturbation 𝑥, the right-hand side (RHS) matrix B𝑥 is perturbation-specific
and the left-hand side (LHS) matrix A is perturbation-independent and contains, among other terms, the two-
electron repulsion integrals (𝑖𝑗|𝑎𝑏) and (𝑖𝑎|𝑗𝑏). The equations are solved iteratively and the LHS is reassembled
at every step, while the RHS does not change. The generation and transformation of the two-electron integrals are
therefore the most time-consuming parts of the CP-SCF solution.
The ORCA module which solves these equations accepts several options given below with their default values:
%method
Z_Solver Pople # (default) Use the Pople algorithm to solve the equations
DIIS # Use the DIIS algorithm
CG # Use the conjugate gradient algorithm
Z_Tol 1e-3 # Convergence tolerance for the residual norm.
# Default is 1e-5 for VeryTightOpt
# and varies from 3e-3 to 3e-6 from LooseSCF to ExtremeSCF
Z_MaxIter 128 # Maximum number of iterations
Z_MaxDIIS 12 # Maximum number of DIIS vectors
Z_Shift 0.3 # Level shift for DIIS
Z_GridXC 1 # XC angular grid used for the LHS
Z_IntAccXC 3.467 # XC radial grid accuracy used for the LHS
Z_GridX 1 # COSX angular grid used for the LHS
Z_IntAccX 3.067 # COSX radial grid accuracy used for the LHS
Z_GridX_RHS 2 # COSX grid used for the RHS of MP2 Z-vector eqs (see below)
Z_COSX_Alg 0 # (default) choose the best COSX algorithm automatically
1 # better prescreening, more efficient for few densities
2 # uses more memory, more efficient for many densities
end
Since ORCA 6, the same settings are used for all electric response property calculations as well as for CIS/TD-DFT
gradients and relaxed densities. For convenience, the keywords in the %elprop input block are still available but
they modify the same internal variables as those in %method. For magnetic response properties, the solver and
convergence tolerance are set separately in %eprnmr, because the convergence behavior of the magnetic response
CP-SCF equations is sometimes different.
%elprop
Solver # Alias, see: %method Z_Solver
Tol # Alias, see: %method Z_Tol
MaxIter # Alias, see: %method Z_MaxIter
MaxDIIS # Alias, see: %method Z_MaxDIIS
LevelShift # Alias, see: %method Z_Shift
end
%eprnmr
Solver # Solver for magnetic response, see options at: %method Z_Solver
Tol # Convergence tolerance for magnetic response
MaxIter # Alias, see: %method Z_MaxIter
MaxDIIS # Alias, see: %method Z_MaxDIIS
LevelShift # Alias, see: %method Z_Shift
end
The keywords Z_GridX and Z_IntAccX are applicable if the RIJCOSX approximation is chosen for the treat-
ment of two-electron integrals. They determine the angular and radial COSX integration grids, as discussed in
section Changing TD-DFT, CP-SCF and Hessian grids. Analogously, the keywords Z_Grid and Z_IntAcc deter-
mine the integration grid for DFT XC functionals.
Integrals on the RHS are evaluated differently for different perturbations - refer to sections Using the RI Approx-
imation for Hartree-Fock and Hybrid DFT (RIJCOSX), EPR and NMR properties, RIJCOSX-RI-MP2 Gradients,
and MP2 and RI-MP2 Second Derivatives and RI-MP2 and Double-Hybrid DFT Response Properties for SCF-
level gradients, EPR/NMR calculations with GIAOs, MP2 gradients, and MP2 second derivatives, respectively.
For MP2 Z-vector equations, the RIJCOSX Fock-response terms in the RHS are evaluated with the COSX grid
specified by Z_GridX_RHS. Note that it is used differently to Z_GridX: instead, it selects one of the three grids used
in the SCF (see Sections Using the RI Approximation for Hartree-Fock and Hybrid DFT (RIJCOSX), COSX Grid
and Convergence Issues, and Details on the numerical integration grids for details) and it is not recommended to
change the default value of 2.
If the RIJONX or RIJK approximation is used in the SCF, the same is also employed in the CP-SCF. Note, however,
that the RI-K approximation is not efficient for these terms.
%scf
guess hcore # for illustrative purposes only
HFTyp UHF # default based on spin multiplicity
STABPerform true # default false
STABRestartUHFifUnstable true # restart the UHF-SCF if unstable
STABNRoots 3 # number of eigenpairs sought
STABMaxDim 3 # Davidson expansion space = MaxDim * NRoots
STABMaxIter 100 # maximum number of Davidson iterations
(continues on next page)
* xyz 0 1
h 0.0 0.0 0.0
h 0.0 0.0 1.4
*
The determination of the electronic Hessian is structurally comparable to the TDHF/CIS/TDDFT procedure. Thus,
many options are very similar and the user is encouraged to read the section on TDDFT (Section Excited States via
RPA, CIS, TD-DFT and SF-TDA) to clarify some of the options given here. Since one is usually only interested
in the qualitative determination “stable or not?”, three roots should be sufficient to find the lowest eigenvalue. By
the same philosophy, StabMaxDim, StabMaxIter, StabNGuess and the convergence criteria were chosen. The
parameter StabLambda refers to the 𝜆 of equation 37 of reference [780], which determines the mixing of the
original SCF solution and the new orbitals to yield a new guess. Choosing this value is not trivial, since positive
and negative values can lead to different new solutions (at least in principle). The convergence of the ensuing SCF
depends on it, as well, since all SCF procedures require a sufficiently good guess to converge in a decent number
of iterations (or even at all).
The orbital window and the energy window can be specified. Note that the StabEWIN will be overridden by the
appropriate StabORBWIN values. The automatic determination is also influenced by the %method FrozenCore
settings. Tests have shown that significant curtailing of the actual orbital window can drastically influence the
results to the point of qualitative failure.
Current limitations on the method are:
• Only single-point-like calculations are supported. For geometry optimizations etc., one must use the guess
MORead feature Choice of Initial Guess and Restart of SCF Calculations to employ the guess obtained here.
Likewise, one must extract a geometry and run a separate calculation if one is interested in the SCF stability.
• As for TDDFT, NORI, RIJONX, and RIJCOSX are supported. RI-JK is not supported.
• Other, more advanced features like finite-temperature calculations and relativistic calculations (beside ECPs)
are not possible at this time.
Overall, the user is cautioned against using the stability analysis blindly without critically evaluating the result in
terms of energy difference and by investigating the orbitals (by the printout or by plotting). Its usefulness cannot
be denied, but it is certainly not black-box.
An SCF stability analysis with default settings can be requested via STABILITY, SCFSTABILITY, SCFSTAB or
STAB on the simple input line.
per element can be adjusted in the %method block. The default number of core electrons per element is listed in
Table 7.16.
H He
0 0
Li Be B C N O F Ne
0 0 2 2 2 2 2 2
Na Mg Al Si P S Cl Ar
2 2 10 10 10 10 10 10
K Ca Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr
10 10 10 10 10 10 10 10 10 10 10 10 18 18 18 18 18 18
Rb Sr Y Zr Nb Mo Tc Ru Rh Pd Ag Cd In Sn Sb Te I Xe
18 18 28 28 28 28 28 28 28 28 28 28 36 36 36 36 36 36
Cs Ba Lu Hf Ta W Re Os Ir Pt Au Hg Tl Pb Bi Po At Rn
36 36 46 46 46 46 46 46 46 46 46 46 68 68 68 68 68 68
Fr Ra Lr Rf Db Sg Bh Hs Mt Ds Rg Cn
Lan- La Ce Pr Nd Pm Sm Eu Gd Tb Dy Ho Er Tm Yb
thanides
36 36 36 36 36 36 36 36 36 36 36 36 36 36
Ac- Ac Th Pa U Np Pu Am Cm Bk Cf Es Fm Md No
tinides
68 68 68 68 68 68 68 68 68 68 68 68 68 68
For systems containing heavy elements, core electrons might have higher orbital energies compared to the orbital
energies of valence MOs of some lighter elements. In that case, core electrons might be included in the correlation
calculation, which ultimately leads to large errors in correlation energy. In order to prevent this, the MO ordering
is checked: Do all lower energy MOs in the core region have core electron character, i.e. are they strongly localized
on the individual elements? For post-(CAS)SCF calulations, this check is always performed both after the SCF
calculation, and after the initial guess (because the SCF may be skipped with !NoIter). For other calculations,
the check is off by default but may be switched on with the CheckFrozenCore keyword in the %method block.
If core orbitals are found in the valence region, while more delocalized orbitals are found in the core region, the
corresponding MO pairs are swapped. This behavior can be disabled using the CorrectFrozenCore keyword.
%method
FrozenCore FC_ELECTRONS #Freeze all core electrons
FC_EWIN #Freeze selected core electrons via an energy window
#e.g. for MP2: %mp2 EWin EMin,EMax
FC_NONE #No frozencore approximation
-n #Freeze a total of n electrons
ò Note
of the computer that you use. It is important, that the program uses the flags CFLOAT, UCFLOAT, CDOUBLE or
UCDOUBLE in order to store the unsorted and sorted AO exchange integrals. Which flag is used will influence the
performance of the program and to some extent the accuracy of the result (float based single precision results are
usually very slightly less accurate; 𝜇Eh-range deviations from the double precision result1 ). Finally, gradients are
presently only available for the memory based algorithm since in this case a much larger set of integrals is required.
The ! MP2 command does the following: (a) it changes the Method to HFGTO and (b) it sets the flag DoMP2 to
true. The program will then first carry out a Hartree-Fock SCF calculation and then estimate the correlation
energy by MP2 theory. RHF, UHF and high-spin ROHF reference wavefunctions are permissible and the type of
MP2 calculation to be carried out (for high-spin ROHF the gradients are not available) is automatically chosen
based on the value of HFTyp. If the SCF is carried out conventionally, the MP2 calculation will also be done in a
conventional scheme unless the user forces the calculation to be direct. For SCFMode =Direct the MP2 energy
evaluation will be fully in the integral direct mode.
The following variables can be adjusted in the block for conventional MP2 calculations:
%mp2
EMin -1.5 # orbital energy cutoff that defines the
# frozen core in Eh
EMax 1.0e3 # orbital energy cutoff that defines the
# neglected virtual orbitals in Eh
EWin EMin,EMax # the same, but accessed as array
# (respects settings in %method block!)
MaxCore 256 # maximum amount of memory (in MB) to be
# used for integral buffering
ForceDirect false # Force the calculation to be integral
# direct
RI false # use the RI approximation
F12 false # apply F12 correction
Q1Opt # For non-RI calculations a flag how to perform
# the first quarter transformation
# 1 - use double precision buffers
# (default for gradient runs)
# 2 - use single precision buffers. This reduces
# the memory usage in the bottleneck step by
# a factor of two. If several passes are re-
# quired, the number of passes is reduced by
# a factor of two.
# -1 - Use a disk based algorithm. This respects
# the flags UCFLOAT,CFLOAT,UCDOUBLE and
# CDOUBLE. (but BE CAREFUL with FLOAT)
# (default for energy runs)
PrintLevel 2 # How much output to produce. PrintLevel 3 produces
# also pair correlation energies and other info.
DoSCS false # use spin-component scaling
Ps 1.2 # scaling factor for ab pairs
Pt 0.333 # scaling factor for aa and bb pairs
Density none # no density construction
unrelaxed # only "unrelaxed densities"
relaxed # full relaxed densities
NatOrbs false # calculate natural orbitals
7.13.2 RI-MP2
The RI-MP2 module is of a straightforward nature. The program first transforms the three-index integrals (𝑖𝑎|𝑃˜ ),
where “𝑖” is a occupied, “𝑎” is a virtual MO and “𝑃˜ ” is an auxiliary basis function that is orthogonalized against
the Coulomb metric. These integrals are stored on disk, which is not critical, even if the basis has several thousand
functions. The integral transformation is parallelized and has no specifically large core memory requirements.
In the next step, the integrals are read ordered with respect to the occupied labels and the exchange operators
1 However, sometimes, and in particular when transition metals and core orbitals are involved we have met unpleasantly large errors. So –
7.13. The Second Order Many Body Pertubation Theory Module (MP2) 533
ORCA Manual, Release 6.0
∑︀NAux
𝐾 𝑖𝑗 (𝑎, 𝑏) = (𝑖𝑎|𝑗𝑏) = 𝑃˜ (𝑖𝑎|𝑃˜ )(𝑃˜ |𝑗𝑏) are formed in the rate limiting O(N5 ) step. This step is done with
high efficiency by a large matrix multiplication and parallelizes well. From the exchange operators, the MP2
amplitudes and the MP2 energy is formed. The program mildly benefits from large core memory (%maxcore) as
this minimizes the number of batches and hence reads through the integral list.
The RI-MP2 gradient is also available. Here, all necessary intermediates are made on the fly.
In the RI approximation, one introduces an auxiliary fitting basis 𝜂𝑃 (r) and then approximates the two-electron
integrals in the Coulomb metric as:
∑︁
(𝑝𝑞|𝑟𝑠) ≈ (𝑝𝑞|𝑃 ) 𝑉𝑃−1
𝑄 (𝑄|𝑟𝑠) (7.50)
𝑃𝑄
where 𝑉𝑃 𝑄 = (𝑃 |𝑄) is a two-index electron-electron repulsion integral. As first discussed by Weigend and Häser,
the closed-shell case RI-MP2 gradient takes the form:
∑︁ ∑︁ ∑︁ (︁ )︁
(𝑥)
𝑥
𝐸RI-MP2 =2 (𝜇𝜈|𝑃 ) 𝑐𝜇𝑖 Γ𝑃
𝑖𝜈 +
𝑥
𝑉𝑅𝑆 V−1/2 𝛾V−1/2 + ⟨DF𝑥 ⟩ (7.51)
𝑅𝑆
𝜇𝜈𝑃 𝑖 𝑅𝑆
The F-matrix derivative terms are precisely handled as in the non-RI case and need not be discussed any further.
𝑖𝑎 is a three-index two-particle “density”:
Γ𝑃
−1/2
∑︁
Γ𝑃 𝑖𝑎 = (1 + 𝛿𝑖𝑗 ) 𝑡˜𝑖𝑗
𝑎𝑏 𝑉𝑃 𝑄 (𝑄|𝑗𝑏) (7.52)
𝑗𝑏𝑄
In a similar way, the remaining contributions to the energy weighted density matrix can be obtained efficiently.
Note, however, that the response operator and solution of the CP-SCF equations still proceed via traditional four-
index integrals since the SCF operator was built in this way. Thus, while the derivatives of the three-index integrals
are readily and efficiently calculated, one still has the separable contribution to the gradient, which requires the
derivatives of the four-index integrals.
The RI-MP2 energy and gradient calculations can be drastically accelerated by employing the RIJCOSX or the
RIJDX approximation.
Here 𝑉𝑁 𝑁 is the nuclear repulsion energy and ℎ𝜇𝜈 is a matrix element of the usual one-electron operator which
contains the kinetic energy and electron-nuclear attraction terms (⟨ab⟩ denotes the trace of the matrix product ab).
As usual, the molecular spin-orbitals are expanded in atom centered basis functions (𝜎 = 𝛼, 𝛽):
∑︁
𝜓𝑝𝜎 (r) = 𝑐𝜎𝜇𝑝 𝜙𝜇 (r) (7.57)
𝜇
with MO coefficients 𝑐𝜎𝜇𝑝 . The total density is given by (real orbitals are assumed throughout):
∑︁ 2
∑︁
𝜌 (r) = |𝜓𝑖𝜎 (r)| = 𝜎
𝑃𝜇𝜈 𝜙𝜇 (r) 𝜙𝜈 (r) = 𝜌𝛼 (r) + 𝜌𝛽 (r) (7.58)
𝑖𝜎 𝜇𝜈𝜎
The second term of (7.56) represents the Coulombic self-repulsion. The third term represents the contribution of
the Hartree-Fock exchange with the two-electron integrals being defined as:
∫︁ ∫︁
−1
(𝜇𝜈|𝜅𝜏 ) = 𝜑𝜇 (r1 ) 𝜑𝜈 (r1 ) 𝑟12 𝜑𝜅 (r2 ) 𝜑𝜏 (r2 ) 𝑑r1 𝑑r2 (7.59)
The mixing parameter 𝑎𝑥 controls the fraction of Hartree-Fock exchange and is of a semi-empirical nature. The
exchange correlation contribution may be written as:
Here, 𝐸XGGA [𝜌𝛼 , 𝜌𝛽 ] is the exchange part of the XC- functional in question and 𝐸CGGA [𝜌𝛼 , 𝜌𝛽 ] is the correlation
part. The parameter 𝑏 controls the mixing of DFT correlation into the total energy and the parameter 𝑐DF is a
global scaling factor that allows one to proceed from Hartree-Fock theory (𝑎X = 1, 𝑐DF = 0, 𝑐PT = 0) to MP2
theory (𝑎X = 1, 𝑐DF = 0, 𝑐PT = 1) to pure DFT (𝑎X = 1, 𝑐DF = 0, 𝑐PT = 1) to hybrid DFT (0 < 𝑎X < 1,
𝑐DF = 1, 𝑐PT = 0) and finally to the general perturbatively corrected methods discussed in this work (0 < 𝑎X < 1,
𝑐DF = 1, 0 < 𝑐PT < 1). As discussed in detail by Grimme, the B2- PLYP functional uses the Lee-Yang-Parr
(LYP) functional as correlation part, the Becke 1988 (B88) functional as GGA exchange part and the optimum
choice of the semi-empirical parameters was determined to be 𝑎X = 0.53, 𝑐PT = 0.27, 𝑐DF = 1, 𝑏 = 1 − 𝑐PT .
For convenience, we will suppress the explicit reference to the parameters 𝑎X and 𝑏 in the XC part and rewrite the
gradient corrected XC energy as:
∫︁
𝐸XC 𝜌 , 𝜌 = 𝑓 𝜌𝛼 , 𝜌𝛽 , 𝛾 𝛼𝛼 , 𝛾 𝛽𝛽 , 𝛾 𝛼𝛽 𝑑r (7.61)
[︀ 𝛼 𝛽 ]︀ (︀ )︀
′
with the gradient invariants 𝛾 𝜎𝜎 = ∇𝜌 ⃗ 𝜎′ . The final term in eq (48) represents the scaled second order
⃗ 𝜎 ∇𝜌
perturbation energy:
1 ∑︁ ⟨︀ 𝑖𝛼 𝑗𝛼 𝑖𝛼 𝑗𝛼 + ⟩︀ 1 ∑︁ ⟨︀ 𝑖𝛽 𝑗𝛽 𝑖𝛽 𝑗𝛽 + ⟩︀ ∑︁ ⟨︀ 𝑖𝛼 𝑗𝛽 𝑖𝛼 𝑗𝛽 + ⟩︀
𝐸 PT2 = t K̄ + t K̄ + t K̄ (7.62)
2 𝑖 <𝑗 2 𝑖 <𝑗 𝑖 ,𝑗
𝛼 𝛼 𝛽 𝛽 𝛼 𝛽
The PT2 amplitudes have been collected in matrices t𝑖𝜎 𝑗𝜎′ with elements:
(︁ )︁−1
𝑖 𝑗 ¯ 𝑖𝜎 𝑗𝜎′ 𝜀𝜎𝑖 + 𝜀𝜎𝑗 ′ − 𝜀𝜎𝑎 − 𝜀𝜎𝑏 ′
𝑡𝑎𝜎𝜎 𝑏𝜎𝜎′′ = 𝐾 (7.63)
𝑎𝜎 𝑏𝜎′
Where the orbitals were assumed to be canonical with orbital energies 𝜀𝜎𝑝 . The exchange operator matrices are
𝑖 𝑗 ¯ 𝑖𝜎 𝑗𝜎′ = (𝑖𝜎 𝑎𝜎 |𝑗𝜎′ 𝑏𝜎′ ) −
𝐾𝑎𝜎𝜎 𝑏𝜎𝜎′′ = (𝑖𝜎 𝑎𝜎 |𝑗𝜎′ 𝑏𝜎′ ) and the anti-symmetrized exchange integrals are defined as 𝐾 𝑎𝜎 𝑏𝜎′
𝛿𝜎𝜎′ (𝑖𝜎 𝑏𝜎 |𝜎 𝑎𝜎 ).
The orbitals satisfy the SCF equations with the matrix element of the SCF operator given by:
∑︁
𝜎 𝜎 𝜎
𝐹𝜇𝜈 = ℎ𝜇𝜈 + 𝑃𝜅𝜏 (𝜇𝜈|𝜅𝜏 ) − 𝑎X 𝑃𝜅𝜏 (𝜇𝜅|𝜈𝜏 ) + 𝑐DF (𝜇|𝑉XC |𝜈) (7.64)
𝜅𝜏
The matrix elements of the XC–potential for a gradient corrected functional are: [840]
∫︁ {︂ }︂
𝛿𝑓 𝛿𝑓 ⃗ ⃗ 𝛿𝑓 ⃗ ⃗
𝛼
(𝜇|𝑉XC |𝜈) = (𝜙𝜇 𝜙𝜈 ) + 2 ∇𝜌𝛼 ∇ (𝜙𝜇 𝜙𝜈 ) + ∇𝜌𝛽 ∇ (𝜙𝜇 𝜙𝜈 ) 𝑑r (7.65)
𝛿𝜌𝛼 (r) 𝛿𝛾𝛼𝛼 𝛿𝛾𝛼𝛽
The energy in equation (7.56) depends on the MO-coefficients, the PT2-amplitudes and through 𝑉𝑁 𝑁 , 𝑉𝑒𝑁 (in ℎ)
and the basis functions also explicitly on the molecular geometry. Unfortunately, the energy is only stationary with
respect to the PT2 amplitudes since they can be considered as having been optimized through the minimization of
the Hylleraas functional:
⎧ ⎫
⎨ 1 ∑︁ ⟨︀ 1 ⟨ ⟩⎬
𝛼 𝛽
∑︁ ⟨︀ ∑︁ ⟨︀
t𝑖𝛼 𝑗𝛼 K̄𝑖𝛼 𝑗𝛼 + + t𝑖𝛽 𝑗𝛽 K̄𝑖𝛽 𝑗𝛽 + + t𝑖𝛼 𝑗𝛽 K̄𝑖𝛼 𝑗𝛽 + + D′ F𝛼+ + D′ F𝛽+
⟩︀ ⟩︀ ⟩︀ ⟨︀ ⟩︀
𝐸PT2 = min
t ⎩2 2 ⎭
𝑖 <𝑗
𝛼 𝛼 𝑖 <𝑗 𝛽 𝛽 𝑖 𝑗𝛼 𝛽
(7.66)
7.13. The Second Order Many Body Pertubation Theory Module (MP2) 535
ORCA Manual, Release 6.0
With analogous expressions for the spin-down unrelaxed difference densities. Minimization of this functional with
respect to the amplitudes yields the second order perturbation energy. The derivative of the SCF part of equation
(7.56) with respect to a parameter “𝑥” is straightforward and well known. It yields:
𝑥 𝑥
⟨︀ ⟩︀ ∑︀ (𝑥)
𝐸SCF = 𝑉𝑁𝑥 𝑁 + ⟨Ph ⟩ + W𝑆𝐶𝐹 S(𝑥) + 𝜇𝜈𝜅𝜏 Γ𝜇𝜈𝜅𝜏 (𝜇𝜈|𝜅𝜏 )
∑︁ ∫︀ {︁ (𝑥)
}︁
𝛿𝑓 𝛿𝑓 ⃗ ⃗ (𝑥) 𝛿𝑓 ⃗
′⃗
(𝑥)
+ 𝛿𝜌𝜎 (r) 𝜌𝜎 + 2 𝛿𝛾𝜎𝜎 ∇𝜌𝜎 ∇𝜌𝜎 + 𝛿𝛾 ′ ∇𝜌𝜎 ∇𝜌𝜎 𝜎𝜎
𝑑r (7.69)
𝜎
⏟ ⏞
(𝜎 ′ ̸=𝜎)
Superscript “𝑥” refers to the derivative with respect to some perturbation “𝑥” while a superscript in parentheses
indicates that only the derivative of the basis functions with respect to “𝑥” is to be taken. For example:
{︁ }︁
(𝑥) ∑︀ 𝜎 𝜕𝜙𝜇 𝜕𝜙𝜈
𝜌𝜎 = 𝜇𝜈 𝑃𝜇𝜈 𝜙 𝜈 + 𝜙𝜇 𝜕𝑥
(︁ )︁𝜕𝑥 (︁ )︁ (︁ )︁ (7.70)
𝜕𝜙𝜇 𝜕𝜙𝜈 ^
ℎ𝜇𝜈 = 𝜕𝑥 |ℎ̂|𝜙𝜈 + 𝜙𝜇 |ℎ̂| 𝜕𝑥 + 𝜙𝜇 | 𝜕𝜕𝑥ℎ |𝜙𝜈
𝑥
In equation (7.69), S is the overlap matrix and W SCF the energy weighted density:
SCF
∑︁
𝛼;SCF 𝛽;SCF
𝑊𝜇𝜈 = 𝑊𝜇𝜈 + 𝑊𝜇𝜈 =− 𝑐𝜎𝜇𝑖 𝑐𝜎𝜈𝑖 𝜀𝜎𝑖 (7.71)
𝑖𝜎
At this point, the effective two-particle density matrix is fully separable and reads:
1 1 1
Γ𝜇𝜈𝜅𝜏 = 𝑃𝜇𝜈 𝑃𝜅𝜏 − 𝑎𝑥 𝑃𝜇𝜅 𝛼 𝛼
𝑃𝜈𝜏 − 𝑎𝑥 𝑃𝜇𝜅 𝛽 𝛽
𝑃𝜈𝜏 (7.72)
2 2 2
The derivative of the PT2 part is considerably more complex, since 𝐸PT2 is not stationary with respect to changes
in the molecular orbitals. This necessitates the solution of the coupled-perturbed SCF (CP-SCF) equations. We
follow the standard practice and expand the perturbed orbitals in terms of the unperturbed ones as:
∑︁
𝜓𝑝𝜎;𝑥 (r) = 𝜎;𝑥 𝜎
𝑈𝑞𝑝 𝜓𝑞 (r) (7.73)
𝑞
The occupied-occupied and virtual-virtual blocks of U are fixed, as usual, through the derivative of the orthonor-
mality constraints:
1 𝜎(𝑥)
𝜎;𝑥
𝑈𝑖𝑗 = − 𝑆𝑖𝑗 (7.74)
2
1 𝜎(𝑥)
𝜎;𝑥
𝑈𝑎𝑏 = − 𝑆𝑎𝑏 (7.75)
2
𝜎;𝑥 𝜎(𝑥)
𝑈𝑖𝑎 = −𝑆𝑖𝑎 − 𝑈𝑎𝑖 𝜎;𝑥
(7.76)
𝜎(𝑥) (𝑥)
Where 𝜇𝜈 𝑐𝜇𝑝 𝑐𝜈𝑞 𝑆𝜇𝜈 .
𝜎 𝜎
The remaining virtual-occupied block of U 𝑥 must be determined through the
∑︀
𝑆𝑝𝑞 =
solution of the CP-SCF equations. However, as shown by Handy and Schaefer, this step is unnecessary and only a
single set of CP-SCF equations (Z-vector equations) needs to be solved. To this end, one defines the Lagrangian:
𝑖𝛼 𝑗 𝛼
𝐿𝛼 𝜎 ′
(𝑘𝛼 𝑖𝛼 |𝑗𝛼 𝑏𝛼 ) 𝑡𝑘𝑎𝛼𝛼 𝑗𝑏𝛼𝛼
∑︀ ∑︀
𝑎𝑖 = 𝑅 (D )𝑎𝑖 + 2 𝑗𝛼 𝑏𝛼 𝑐𝛼 (𝑎𝛼 𝑐𝛼 |𝑗𝛼 𝑏𝛼 ) 𝑡𝑐𝛼 𝑏𝛼 − 2
𝑗 𝛽 𝑖𝛼 ∑︀ 𝑗𝛼 𝑘𝛼 𝑏𝛼 𝑗 𝑘 (7.77)
+2 𝑗𝛽 𝑏𝛽 𝑐𝛼 (𝑎𝛼 𝑐𝛼 |𝑗𝛽 𝑏𝛽 ) 𝑡𝑏𝛽 𝑐𝛼 − 2 𝑗𝛽 𝑘𝛼 𝑏𝛽 (𝑘𝛼 𝑖𝛼 |𝑗𝛽 𝑏𝛽 ) 𝑡𝑏𝛽𝛽 𝑎𝛼𝛼
∑︀
An analogous equation holds for 𝐿𝛽𝑎𝑖 . The matrix elements of the response operator 𝑅𝛼 (D′ ) are best evaluated in
the AO basis and then transformed into the MO basis. The AO basis matrix elements are given by:
∑︁ ′
𝑅𝛼 (D′ )𝜇𝜈 = 2𝐷𝜅𝜏′
(𝜇𝜈|𝜅𝜏 ) − 𝐷𝜅𝜏 𝛼
[(𝜇𝜅|𝜈𝜏 ) + (𝜈𝑘|𝜇𝜏 )]
𝜅𝜏
∑︁ ∫︁ [︂ 𝛿 2 𝑓 (︂
𝛿2 𝑓 ⃗ 𝛼 𝛿2 𝑓 ⃗ 𝛽
)︂
+ ′
𝜁 (D ) (𝜑𝜇 𝜑𝜈 ) + 2 ∇𝜌P + ⃗ (𝜑𝜇 𝜑𝜈 )
∇𝜌P 𝜁 (D′ ) ∇
𝛿𝜌𝛼 𝛿𝜁 𝛿𝛾𝛼𝛼 𝛿𝜁 𝛿𝛾𝛼𝛽 𝛿𝜁 (7.78)
𝜁
(︂ )︂ ]︂
𝛿𝑓 ⃗ 𝛼 𝛿𝑓 ⃗ 𝛽 ⃗
+ 2 ∇𝜌D′ + ∇𝜌D′ ∇ (𝜑𝜇 𝜑𝜈 ) 𝑑r
𝛿𝛾𝛼𝛼 𝛿𝛾𝛼𝛽
where
𝜁 (D′ ) = 𝜌𝛼 𝛽 ′ ′ ′
D′ , 𝜌D′ , 𝛾𝛼𝛼 (D ) , 𝛾𝛽𝛽 (D ) , 𝛾𝛼𝛽 (D ) (7.79)
The 𝜁-gradient-parameters are evaluated as a mixture of PT2 difference densities and SCF densities. For example:
𝛾𝛼𝛼 (D′ ) = 2∇𝜌
⃗ 𝛼 ′ ∇𝜌
D
⃗ 𝛼′
P (7.80)
With
∑︁ ′
𝜌𝛼
D′ (r) =
𝛼
𝐷𝜇𝜈 𝜑𝜇 (r) 𝜑𝜈 (r) (7.81)
𝜇𝜈
∑︁
𝜌𝛼
P (r) =
𝛼
𝑃𝜇𝜈 𝜑𝜇 (r) 𝜑𝜈 (r) (7.82)
𝜇𝜈
Having defined the Lagrangian, the following CP-SCF equations need to be solved for the elements of the “Z-
vector”:
(𝜀𝜎𝑎 − 𝜀𝜎𝑖 ) 𝑍𝑎𝑖
𝜎
+ 𝑅𝜎 (Z)𝑎𝑖 = −𝐿𝜎𝑎𝑖 (7.83)
The solution defines the occupied-virtual block of the relaxed difference density, which is given by:
𝜎
D𝜎 = D′ + Z𝜎 (7.84)
For convenience, D𝜎 is symmetrized since it will only be contracted with symmetric matrices afterwards. After
having solved the Z-vector equations, all parts of the energy weighted difference density matrix can be readily
calculated:
1 𝛼 (︀ 𝛼 )︀ 1 ∑︁ ∑︁ 𝑘 𝑗
𝑊𝑖𝑗𝛼;PT2 = − 𝐷𝑖𝑗 𝜀𝑖 + 𝜀𝛼𝑗 − 𝑅 (D)𝑖𝑗 − (𝑖𝛼 𝑎𝛼 |𝑘𝛼 𝑏𝛼 ) 𝑡𝑗𝑎𝛼𝛼𝑘𝑏𝛼𝛼 − (𝑖𝛼 𝑎𝛼 |𝑘𝛽 𝑏𝛽 ) 𝑡𝑏𝛽𝛽𝑎𝛼𝛼 (7.85)
2 2
𝑘𝛼 𝑎𝛼 𝑏𝛼 𝑘𝛽 𝑎𝛼 𝑏𝛽
𝛼;PT2 1 𝛼 𝛼 ∑︁ ∑︁ 𝑗 𝑖
𝑊𝑎𝑏 = − 𝐷𝑎𝑏 (𝜀𝑎 + 𝜀𝛼
𝑏)− (𝑖𝛼 𝑎𝛼 |𝑗𝛼 𝑐𝛼 ) 𝑡𝑖𝑏𝛼𝛼𝑗𝑐𝛼𝛼 − (𝑖𝛼 𝑎𝛼 |𝑗𝛽 𝑐𝛽 ) 𝑡𝑐𝛽𝛽 𝑏𝛼𝛼 (7.86)
2 𝑖𝛼 𝑗 𝛼 𝑐 𝛼 𝑖𝛼 𝑗𝛽 𝑐𝛽
𝑗 𝑘
𝛼;PT2
∑︁ 𝑘𝛼 𝑗𝛼
∑︁
𝑊𝑎𝑖 = −2 (𝑘𝛼 𝑖𝛼 |𝑗𝛼 𝑏𝛼 ) 𝑡𝑎𝛼 𝑏𝛼 − 2 (𝑘𝛼 𝑖𝛼 |𝑗𝛽 𝑏𝛽 ) 𝑡𝑏𝛽𝛽 𝑎𝛼𝛼 (7.87)
𝑗 𝛼 𝑘 𝛼 𝑏𝛼 𝑗𝛽 𝑘𝛼 𝑏𝛽
𝛼;PT2
𝑊𝑖𝑎 = −𝜀𝛼 𝛼
𝑖 𝑍𝑎𝑖 (7.88)
Once more, analogous equations hold for the spin-down case. With the relaxed difference density and energy
weighted density matrices in hand, one can finally proceed to evaluate the gradient of the PT2 part as (WPT2 =
W𝛼;PT2 + W𝛽;PT2 ):
⟩ + WPT2 S(𝑥) + 𝜇𝜈𝜅𝜏 ΓPT2
(𝑥)
= ⟨Dh𝑥{︂
𝑥
⟨︀ ⟩︀ ∑︀
𝐸PT2 𝜇𝜈𝜅𝜏 (𝜇𝜈|𝜅𝜏 )
(7.89)
∫︁ }︂
𝑟 𝑟 𝑟 𝑟
∑︀ 𝛿𝑓 (𝑥) 𝛿𝑓 (𝑥) 𝛿𝑓 (𝑥)
+ 𝛿𝜌𝜎 (r) 𝜌𝜎 + 2 𝛿𝛾𝜎𝜎 ∇𝜌𝜎 ∇𝜌𝜎 + 𝛿𝛾𝜎𝜎 ∇𝜌𝜎 ∇𝜌𝜎 𝑑r
′
𝜎
(𝜎̸=𝜎 ′ )
ΓNS
𝑖 𝑗 𝑖 𝑗
∑︁ ∑︁ ∑︁
𝛼 𝛼 𝛼 𝑖𝛼 𝑗 𝛼
𝜇𝜈𝜅𝜏 = 𝑐𝛼
𝜇𝑖 𝑐𝜈𝑎 𝑐𝜅𝑗 𝑐𝜏 𝑏 𝑡𝑎𝛼 𝑏𝛼 + 𝑐𝛽𝜇𝑖 𝑐𝛽𝜈𝑎 𝑐𝛽𝜅𝑗 𝑐𝛽𝜏𝑏 𝑡𝑎𝛽𝛽 𝑏𝛽𝛽 + 2 𝑐𝛼 𝛼 𝛽 𝛽 𝛼 𝛽
𝜇𝑖 𝑐𝜈𝑎 𝑐𝜅𝑗 𝑐𝜏 𝑏 𝑡𝑎𝛼 𝑏𝛽 (7.91)
𝑖𝛼 𝑗𝛼 𝑎𝛼 𝑏𝛼 𝑖𝛽 𝑗 𝛽 𝑎 𝛽 𝑏 𝛽 𝑖𝛼 𝑗𝛽 𝑎𝛼 𝑏𝛽
Thus, the non-separable part is merely the back-transformation of the amplitudes from the MO to the AO basis. It
is, however, important to symmetrize the two-particle density matrix in order to be able to exploit the full permu-
tational symmetry of the AO derivative integrals.
7.13. The Second Order Many Body Pertubation Theory Module (MP2) 537
ORCA Manual, Release 6.0
𝐻ˆ is the 0𝑡ℎ order Hamiltonian as proposed by Møller and Plesset, Ψ0 is the reference determinant, Ψ1 is the
first-order wave function and 𝐸0 = 𝐸HF = ⟨ΨHF | 𝐻
ˆ |ΨHF ⟩ is the reference energy. The quantities t collectively
denote the MP2 amplitudes.
The fundamental idea of the OO-MP2 method is to not only minimize the MP2 energy with respect to the MP2
amplitudes, but to minimize the total energy additionally with respect to changes in the orbitals. Since the MP2
energy is not variational with respect to the MO coefficients, no orbital relaxation due to the correlation field is taken
into account. If the reference determinant is poor, the low-order perturbative correction then becomes unreliable.
This may be alleviated to a large extent by choosing better orbitals in the reference determinant. Numerical evidence
for the correctness of this assumption will be presented below.
In order to allow for orbital relaxation, the Hylleraas functional can be regarded as a functional of the wavefunction
amplitudes t and the orbital rotation parameters R that will be defined below. Through a suitable parameterization
it becomes unnecessary to ensure orbital orthonormality through Lagrange multipliers. The functional that we
minimize reads:
ˆ |Ψ0 ⟩ + ⟨Ψ1 | 𝐻
𝐿 {t, R} = 𝐸0 [R] + 2 ⟨Ψ1 | 𝐻 ˆ 0 − 𝐸0 |Ψ1 ⟩ (7.93)
Ψ0 is the reference determinant. However, it does no longer correspond to the Hartree-Fock (HF) determinant.
Hence, the reference energy 𝐸0 [R] = ⟨Ψ0 [R]| 𝐻 ˆ |Ψ0 [R]⟩ also changes during the variational process and is no
longer stationary with respect to the HF MO coefficients. Obviously, 𝐸0 [R] ⩾ 𝐸HF since the HF determinant is,
by construction, the single determinant with the lowest expectation value of the full Hamiltonian.
The reference energy is given as:
∑︁ 1 ∑︁
𝐸0 [R] = ⟨𝑖| ℎ |𝑖⟩ + ⟨𝑖𝑗||𝑖𝑗⟩ (7.94)
𝑖
2 𝑖𝑗
A conceptually important point is that Brillouin’s theorem [419] is no longer obeyed since the Fock matrix will
contain off-diagonal blocks. Under these circumstances the first-order wavefunction would contain contributions
from single excitations. Since the orbital optimization brings in all important effects of the singles we prefer to
leave them out of the treatment. Any attempt to the contrary will destroy the convergence properties. We have
nevertheless contemplated to include the single excitations perturbatively:
(2)
∑︁ |𝐹𝑖𝑎 |2
𝐸Singles = − (7.96)
𝑖𝑎
𝜀𝑎 − 𝜀𝑖
The perturbative nature of this correction would destroy the stationary nature of the total energy and is hence not
desirable. Furthermore, results with inclusion of single excitation contributions represent no improvement to the
results reported below. They will therefore not be documented below and henceforth be omitted from the OO-MP2
method by default.
The explicit form of the orbital-optimized MP2 Hylleraas functional employing the RI approximation (OO-RI-
MP2) becomes:
∑︁ 1 ∑︁ ∑︁ ′ ∑︁ ∑︁
𝐿∞ [t, R] = ⟨𝑖|ℎ̂ |𝑖⟩ + ⟨𝑖𝑗||𝑖𝑗⟩ + (𝑖𝑎|𝑃 )Γ𝑖𝑎𝑃 + 𝐷𝑖𝑗 𝐹𝑖𝑗 + 𝐷𝑎𝑏 𝐹𝑎𝑏 (7.97)
𝑖
2 𝑖𝑗 𝑖𝑗
𝑖𝑎𝑃 𝑎𝑏
with:
′ ∑︁ ∑︁
Γ𝑖𝑎𝑃 = 𝑉𝑃−1
𝑄 (𝑄|𝑗𝑏)𝑡𝑖𝑗
𝑎𝑏 (7.98)
𝑄 𝑗𝑏
and it is insisted that the orbitals diagonalize the occupied and virtual subspaces, respectively:
where the MP2 amplitudes in the case of a block diagonal Fock matrix are obtained through the condition 𝜕𝐿 ∞
𝜕𝑡𝑖𝑗
= 0:
𝑎𝑏
⟨𝑖𝑗||𝑎𝑏⟩
𝑡𝑖𝑗
𝑎𝑏 = − (7.104)
𝜀𝑎 + 𝜀𝑏 − 𝜀𝑖 − 𝜀𝑗
The orbital changes are parameterized by an anti-Hermitian matrix R and an exponential Ansatz,
Through this Ansatz it is ensured that the orbitals remain orthonormal and no Lagrangian multipliers need to be
introduced. The first-order expansion of the Fock operator due to the orbital rotations are:
∑︁
(1)
𝐹𝑝𝑞 [𝑅] = 𝐹𝑝𝑞 [0] + 𝑅𝑝𝑞 + 𝑅𝑟𝑝 𝐹𝑟𝑞 [0] + 𝑅𝑟𝑞 𝐹𝑝𝑟 [0] (7.107)
𝑟
∑︁
(1)
𝑅𝑝𝑞 = 𝑅𝑐𝑘 {⟨𝑝𝑐||𝑞𝑘⟩ + ⟨𝑝𝑘||𝑞𝑐⟩} (7.108)
𝑘𝑐
(︁ )︁
The first-order energy change becomes ℎ𝑝𝑞 ≡ ⟨𝑝| ℎ̂ |𝑞⟩ , 𝑔𝑝𝑞𝑟𝑠 ≡ ⟨𝑝𝑞||𝑟𝑠⟩ :
𝑅𝑐𝑖 (ℎ𝑐𝑖 + ℎ𝑖𝑐 ) + 21 𝑖𝑗𝑐 𝑅𝑐𝑖 (𝑔𝑐𝑗𝑖𝑗 + 𝑔𝑖𝑗𝑐𝑗 ) + 𝑅𝑐𝑗 (𝑔𝑖𝑐𝑖𝑗 + 𝑔𝑖𝑗𝑖𝑐 )
∑︀ ∑︀
𝐿∞ [t, R] = 𝑖𝑐
′ ′
)Γ𝑖𝑎𝑃 − 2 𝑖𝑘𝑎𝑃 𝑅𝑎𝑘 (𝑖𝑘|𝑃)︁)Γ𝑖𝑎𝑃
∑︀ ∑︀
+2 𝑖𝑎𝑐𝑃 𝑅𝑐𝑖 (𝑎𝑐|𝑃
(7.109)
(︁
∑︀ (1) ∑︀
− 𝑖𝑗 𝐷𝑖𝑗 𝑅𝑖𝑗 + 𝑐 (𝑅𝑐𝑖 𝐹𝑐𝑗 + 𝑅𝑐𝑗 𝐹𝑖𝑐 )
(︁ )︁
∑︀ (1) ∑︀
+ 𝑎𝑏 𝐷𝑎𝑏 𝑅𝑎𝑏 − 𝑘 (𝑅𝑎𝑘 𝐹𝑘𝑏 + 𝑅𝑏𝑘 𝐹𝑎𝑘 )
(︁ )︁
The condition for the energy functional to be stationary with respect to the orbital rotations 𝜕𝐿𝜕𝑅
∞ [t,R]
𝑎𝑖
= 0 , yields
the expression for the orbital gradient and hence the expression for the OO-RI-MP2 Lagrangian.
𝜕𝐿∞ [t, R] ∑︁ ∑︁
≡ 𝑔𝑎𝑖 = 2𝐹𝑎𝑖 + 2 𝐷𝑖𝑗 𝐹𝑎𝑗 − 2 𝐷𝑎𝑏 𝐹𝑖𝑏 + 𝑅(1) (D)𝑎𝑖 (7.110)
𝜕𝑅𝑎𝑖 𝑗 𝑏
∑︁ ∑︁
+2 (𝑎𝑐|𝑃 )Γ′𝑃
𝑖𝑎 − 2 (𝑖𝑘|𝑃 )Γ′𝑃
𝑖𝑎
𝑐𝑃 𝑘𝑃
7.13. The Second Order Many Body Pertubation Theory Module (MP2) 539
ORCA Manual, Release 6.0
The goal of the orbital optimization process is to bring this gradient to zero. There are obviously many ways to
achieve this. In our experience, the following simple procedure is essentially satisfactory. We first build a matrix
B in the current MO basis with the following structure:
where ∆ is a level shift parameter. The occupied/occupied and virtual/virtual blocks of this matrix are arbitrary
but their definition has a bearing on the convergence properties of the method. The orbital energies of the block
diagonalized Fock matrix appear to be a logical choice. If the gradient is zero, the B-matrix is diagonal. Hence
one obtains an improved set of orbitals by diagonalizing B.
In order to accelerate convergence a standard DIIS scheme is used. [451, 576] However, in order to carry out the
DIIS extrapolation of the B-matrix it is essential that a common basis is used that does not change from iteration
to iteration. Since the B-matrix itself is defined in the molecular orbitals of the current iteration we choose as a
common set of orthonormal orbitals the MOs of the HF calculation. The extrapolation is carried out in this basis
and the extrapolated B-matrix is transformed back to the current set of MOs prior to diagonalization. Obviously,
the same strategy can be used for orbital optimization in any method for which an orbital gradient is available.
For well behaved cases this simple scheme converges in 5-10 iterations. Transition metals and more complicated
molecules may require up to 20 iterations and level shifting in order to achieve convergence.
Upon convergence the sum of the matrix D and the density of the reference determinant 𝑃𝜇𝜈 = 𝑖 𝑐𝜇𝑖 𝑐𝜈𝑖 form the
∑︀
true one-particle density matrix of the OO-MP2 approach that can be used for property or gradient calculations.
1 ∑︁ | ⟨𝑖𝑗||𝑎𝑏⟩ |2 𝑎𝑏 𝑝
𝐸𝜎𝑝 -MP2 = − 𝑎𝑏
(1 − 𝑒−𝜎(Δ𝑖𝑗 ) )
4 ∆𝑖𝑗
𝑖𝑗𝑎𝑏
which corresponds to regularizing the first-order amplitudes. For the 𝜅 regularization, the MP2 energy is modified
according to
1 ∑︁ | ⟨𝑖𝑗||𝑎𝑏⟩ |2 (︁ 𝑎𝑏
)︁2
𝐸𝜅-MP2 = − 𝑎𝑏
1 − 𝑒−𝜅(Δ𝑖𝑗 )
4 ∆𝑖𝑗
𝑖𝑗𝑎𝑏
which corresponds to regularizing the first-order amplitudes and the exchange integrals.
Regularized MP2 is available for standard MP2 in “memory mode” (Q1Opt>0) and RI-MP2 (RIJDX, RIJCOSX,
RIJK).
The usage of regularized MP2 is controlled by the DoRegMP2 keyword, the type of regularization can be specified
by setting the RegMP2Type parameter to 0 for 𝜅, 1 for 𝜎, or 2 for 𝜎 2 . The value of the regularizers can be specified
by RegMP2Kappa and RegMP2Sigma respectively.
%mp2
DoRegMP2 true # required
RegMP2Type 0 # kappa regularizer
1 # sigma regularizer
2 # sigma-sqaured regularizer
RegMP2Kappa 1.1 # kappa value
RegMP2Sigma 0.5 # sigma value
end
It is important to note that only single point energies are available and tested for regularized MP2. Density, Gradient,
and Hessian calculations are not yet supported.
%method
Z_GridX 2 # Lebedev 110-point grid
Z_IntAccX 3.067 # radial integration accuracy
end
The grid used for evaluation of the response operator on the right-hand side of the Z-vector equations (see for
example eqs (7.77) and (7.78)) can be independently selected using the keyword Z_GridX_RHS. Note that starting
with ORCA 5, the usage is different to Z_GridX - the choice is between one of the three grids used during the
RIJCOSX SCF procedure: a small grid for the initial iterations, a medium grid for the final iterations (default in
ORCA 5), and a large grid to evaluate the energy more accurately after the iterations have converged.
%method
Z_GridX_RHS 1 # small SCF grid
2 # medium SCF grid (default)
3 # large SCF grid
end
Yet another grid is used to evaluate basis functions derivatives. Appropriate parameters are chosen through !
DefGridn (in addition to the three SCF grids), but one can override this by setting the angular (GridX) and radial
(IntAccX) grids explicitly through:
Alternatively, all the grid settings can be defined in the %method block, as discussed in section SCF grid keyword
list. The first three entries define the three SCF grids, the fourth entry the MP2 grid for basis function derivatives
(refer to section RIJCOSX-RI-MP2 Gradients) and the fifth entry the grid for the four-external contribution.
%method
IntAccX Acc1, Acc2, Acc3, Acc4, Acc5
GridX Ang1, Ang2, Ang3, Ang4, Ang5
end
7.13. The Second Order Many Body Pertubation Theory Module (MP2) 541
ORCA Manual, Release 6.0
By default perturbed canonical orbitals are used for the occupied block, i.e., the internal orbital rotation coefficients
are chosen as
(B) (B)
B
𝐹𝑖𝑗 − 𝑆𝑖𝑗 𝜀𝑗
𝑈𝑖𝑗 =
𝜀𝑗 − 𝜀𝑖
which results in 𝐹𝑖𝑗B = 0, thereby eliminating its contribution to the perturbed amplitudes:
𝑖𝑗,B
∑︁ [︁ 𝑘𝑗 B
]︁
𝑖𝑘 B
𝑇𝑎𝑏 ←− 𝑇𝑎𝑏 𝐹𝑘𝑗 + 𝑇𝑎𝑏 𝐹𝑘𝑖 (7.112)
𝑘
B 1 (B)
𝑈𝑖𝑗 = − 𝑆𝑖𝑗
2
And the relevant contributions to eq (7.112) are added, unless ⃒𝐹𝑖𝑗B ⃒ < FCut. The required amplitudes T𝑖𝑘 and T𝑘𝑗
⃒ ⃒
(all amplitudes, in case UsePertCanOrbs = false) are stored on disk if RespStoreT = true or recalculated
as needed otherwise. The latter option is significantly slower and not recommended unless disk space is an issue.
Similarly, in the case of insufficient RAM, the option RespDijConv = true tells ORCA to store all amplitudes in
the batch (required to calculate 𝐷𝑖𝑗 B
) on disk, rather than keep them in memory. The 3-index 2-particle densities,
needed for the right-hand side of the Z-vector equations, are always stored on disk.
Note also that in this implementation the RIJCOSX Fock-response terms are calculated with one of the SCF grids,
chosen with Z_GridX_RHS (see section CP-SCF Options).
Further information of local correlation methods in ORCA can be found in section Local correlation. The local
MP2 method becomes truly beneficial for very large molecules and can be used to compute energies of systems
containing several hundred atoms. Fig. 7.3 shows the scaling behavior for linear alkane chains. Note that this
represents an idealized situation. For three-dimensional molecules the crossover with canonical RI-MP2 is going
to occur at a later point.
Fig. 7.3: Scaling of the DLPNO-MP2 method with default thresholds for linear alkane chains in def2-TZVP basis.
Shown are also the times for the corresponding Hartree-Fock calculations with RIJCOSX and for RI-MP2.
In the following, the most important design principles of the RHF-DLPNO-MP2 are pointed out.
• Unlike in the√︁∫︀2013 version of the DLPNO methodology, domains are selected by means of the differen-
tial overlap 𝜇′2 (r)𝑑r between localized MOs 𝑖 and projected atomic orbitals (PAOs) 𝜇
𝑖2 (r)˜ ˜′ which are
normalized to unity. The default value for the corresponding cutoff is 𝑇CutDO = 10−2 .
• MP2 amplitudes for each pair of localized orbitals 𝑖𝑗 are expressed in a basis of pair natural orbitals (PNOs)
˜𝑖𝑗 . PNOs are obtained from diagonalization of an approximate, “semicanonical” MP2 pair density D𝑖𝑗 .
𝑎
Only PNOs with an occupation number > 𝑇CutPNO are retained, with a default value of 𝑇CutPNO = 10−8 for
DLPNO-MP2. The pair density is given by:
(𝑖˜𝜇|𝑗 𝜈˜)
𝑇𝜇˜𝑖𝑗𝜈˜ = −
D𝑖𝑗 = T𝑖𝑗† T̃𝑖𝑗 + T𝑖𝑗 T̃𝑖𝑗† where 𝜀𝜇˜ + 𝜀𝜈˜(︀− 𝐹𝑖𝑖 − 𝐹𝑗𝑗 )︀
−1
T̃𝑖𝑗 = (1 + 𝛿𝑖𝑗 ) 4T𝑖𝑗 − 2T𝑖𝑗†
• Since the occupied block of the Fock matrix is not diagonal in the basis of localized orbitals, the MP2
amplitudes T𝑖𝑗 are obtained by solving the following set of residual equations iteratively (where subscripts
of PNOs have been dropped):
(︁ ⃒ )︁ (︀ )︀ 𝑖𝑗 ∑︁ ∑︁ ∑︁ ∑︁
𝑅𝑎𝑖𝑗 𝑖𝑗,𝑘𝑗 𝑘𝑗 𝑘𝑗,𝑖𝑗
𝐹𝑘𝑗 𝑆𝑎˜𝑖𝑗,𝑖𝑘 𝑖𝑘 𝑖𝑘,𝑖𝑗
⃒ ˜
˜
˜𝑏
= 𝑖˜
𝑎 ⃒𝑗 𝑏 + 𝜀 𝑎
˜ + 𝜀˜𝑏 − 𝐹𝑖𝑖 − 𝐹 𝑗𝑗 𝑇𝑎 ˜
˜𝑏
− 𝐹 𝑖𝑘 𝑆𝑎˜ 𝑐
˜ 𝑇 ˜ 𝑆
𝑐˜𝑑 𝑑𝑏˜˜ − 𝑐˜ 𝑇𝑐˜𝑑˜𝑆𝑑˜˜
𝑏
=0
𝑘̸=𝑖 𝑐˜𝑑˜ 𝑘̸=𝑗 𝑐˜𝑑˜
• The largest part of the error relative to canonical RI-MP2 is controlled by the domain (TCutDO) and PNO
(TCutPNO) thresholds, which should be adequate for most applications. If increased accuracy is needed
(e.g. for studying weak interactions), tighter truncation criteria can be invoked by means of the ! TightPNO
7.13. The Second Order Many Body Pertubation Theory Module (MP2) 543
ORCA Manual, Release 6.0
keyword. Conversely, a less accurate but faster calculation can be performed with the ! LoosePNO keyword.
For more details refer to table Table 7.17.
• Fitting domains are determined by means of orbital Mulliken populations with a threshold 𝑇CutMKN = 10−3 .
This threshold results in an error contribution that is typically about an order of magnitude smaller than the
overall total energy deviation from RI-MP2.
• Prior to performing the local MP2 calculation, pairs of localized molecular orbitals 𝑖𝑗 are prescreened using
an MP2 energy estimate with a dipole approximation, and the differential overlap integral between orbitals
𝑖 and 𝑗. This procedure has been chosen conservatively and leads to minimal errors.
• Residual evaluation can be accelerated significantly by neglecting terms with associated Fock matrix ele-
ments 𝐹𝑖𝑘 and 𝐹𝑘𝑗 below 𝐹Cut = 10−5 . Errors resulting from this approximation are typically below 1 𝜇Eh
and thus negligible.
• Sparsity of the MO and PAO coefficient matrices in atomic orbital basis is exploited to accelerate integral
transformations for large systems. Truncation of the coefficients is controlled by a parameter 𝑇CutC . Neglect
of these coefficients has to be performed very carefully in order to avoid uncontrollable errors. The threshold
has been chosen so as to make the errors essentially vanish.
• By default, core orbitals are frozen in the MP2 module. However, if core orbitals are subject to an MP2
treatment, it is necessary to use a tighter PNO cutoff for pairs involving at least one core orbital. For this
purpose core orbitals and valence orbitals are localized separately. The cutoff for pairs involving core orbitals
is given by 𝑇CutPNO × 𝑇ScalePNO_Core , where 𝑇ScalePNO_Core = 10−2 by default. For more details refer to
section Including (semi)core orbitals in the correlation treatment.
The UHF-DLPNO-MP2 implementation differs somewhat from the RHF case, particularly regarding construction
of PNOs, as described below.
• A separate set of PAOs 𝜇
˜′𝛼 and 𝜇
˜′𝛽 is obtained for each spin case.
• For 𝛼𝛽 pairs, separate pair domains of PAOs need to be determined for each spin case. For example, the 𝛼
pair domain [𝑖𝛼 𝑗𝛽 ]𝛼 is the union of the domains [𝑖𝛼 ]𝛼 and [𝑗𝛽 ]𝛼 . The latter domain [𝑗𝛽 ]𝛼 is determined by
evaluating the spatial differential overlap between 𝑗𝛽 and 𝛼-spin PAOs 𝜇 ˜′𝛼 .
• One set of PNOs is needed for each same-spin pair. Opposite-spin pairs require a set of 𝛼-PNOs and a set
of 𝛽-PNOs. In total this results in four types of PNO sets.
• Semicanonical amplitudes are obtained as follows, where 𝑖, 𝑗 are spin orbitals and 𝜇
˜𝜈˜ are nonredundant spin
PAOs.
⟨𝑖𝑗||˜
𝜇𝜈˜⟩
𝑇𝜇˜𝑖𝑗𝜈˜ = −
𝜀𝜇˜ + 𝜀𝜈˜ − 𝐹𝑖𝑖 − 𝐹𝑗𝑗
⟨ ⃒⃒ ⟩ (︀
𝑅𝑎𝑖˜𝜎 𝑗˜𝑏𝜏 𝑎𝑏 + 𝜀𝑎˜ + 𝜀˜𝑏 − 𝐹𝑖𝑖 − 𝐹𝑗𝑗 𝑇𝑎˜𝑖𝑗˜𝑏
⃒⃒ ˜ )︀
= 𝑖𝑗 ⃒⃒˜
𝜎 𝜏
∑︁ ∑︁ ∑︁ ∑︁
− 𝐹𝑖𝑘 𝑆𝑎˜𝑖𝑗,𝑘𝑗 𝑘𝑗 𝑘𝑗,𝑖𝑗
𝑐˜ 𝑇𝑐˜𝑑˜ 𝑆𝑑˜˜
𝑏
− 𝐹𝑘𝑗 𝑆𝑎˜𝑖𝑗,𝑖𝑘 𝑖𝑘 𝑖𝑘,𝑖𝑗
𝑐˜ 𝑇𝑐˜𝑑˜𝑆𝑑˜˜
𝑏
=0
𝑘𝜎 ̸=𝑖𝜎 𝑐˜𝜎 𝑑˜𝜏 𝑘𝜏 ̸=𝑗𝜏 𝑐˜𝜎 𝑑˜𝜏
• Most approximations are consistent between the RHF and UHF schemes, with the exception of the PNO
truncation. This means that results would match for closed-shell molecules with 𝑇CutPNO = 0 (provided both
Hartree-Fock solutions are identical), but this is not true whenever the PNO space is truncated. Therefore,
UHF-DLPNO-MP2 energies should only be compared to other UHF-DLPNO-MP2 energies, even for closed-
shell species.
• We found that it is necessary to use tighter PNO thresholds for UHF-DLPNO-MP2. With NormalPNO
settings the default value is 𝑇CutPNO = 10−9 . For an overview of accuracy settings refer to table Table 7.17.
As in the RHF implementation, the PNO cutoff for pairs involving core orbitals is scaled with 𝑇ScalePNO_Core .
7.13. The Second Order Many Body Pertubation Theory Module (MP2) 545
ORCA Manual, Release 6.0
• As of 2018, we expect that the DLPNO-MP2 gradient can most beneficially be used for geometry optimiza-
tions of systems containing around 70-150 atoms. It may be faster than RI-MP2 even for systems containing
50-60 atoms or less, but the timing difference is probably not going to be very large. Of course, structures
containing 200 atoms and above can (and have been) optimized, but this may take long if many geometry
steps are required. On the other hand, single point gradient or density calculations can be performed for
systems containing many hundred atoms.
• DLPNO-MP2 is a substantially more expensive method for geometry optimizations than GGA or hybrid
DFT functionals. Therefore, it is generally a good idea to start a geometry optimization with a structure that
is already optimized at dispersion-corrected DFT level.
• RIJCOSX can be used to accelerate exchange evaluation substantially. However, great care needs to be ex-
ercised with the grid settings. Insufficiently large grids may lead, for example, to non-planar distortions of
planar molecules. The updated default grids in ORCA 5 (DefGrid2-3) should be sufficiently accurate to
optimize neutral main group compounds. We therefore recommend these grids for general use with some
careful checking in more complicated cases. Even with these grids, the calculation is a lot faster than “reg-
ular” Hartree-Fock with basis sets of triple zeta quality (or larger).
Using RIJONX is also possible.
• Sufficiently large grids should be used for the exchange-correlation functional of double hybrids. The SCF
calculation takes only a fraction of the time that is needed for DLPNO-MP2, and sacrificing quality because
of an insufficiently accurate grid is a waste of computer time.
• Optimization of large structures is often a challenge for the geometry optimizer. It may help to change the
trust radius settings, to modify the settings of the AddExtraBonds feature, or to change other settings of the
geometry optimizer. Sometimes it may be beneficial to check the geometry optimizer settings with a less
demanding electronic structure method.
• Finally, problems with a geometry optimization may in some cases indeed be caused by the DLPNO ap-
proximations. Using LoosePNO for accurate calculations is not recommended anyway, and difficulties with
NormalPNO settings are possibly rectified by switching to TightPNO.
During the development process, a number of difficulties were encountered related to the orbital localization Z-
vector equations. Great care was taken to work around these problems and to make the procedures as robust
as possible, but a number of settings can be changed. For more information on these aspects, we recommend
consulting the full paper on the DLPNO-MP2 gradient [687].
• Several different solvers are implemented for the orbital localization Z-vector equations. The default is an
iterative conjugate gradient solver. As an alternative, the DIIS-accelerated Jacobi solver can be used, but
it tends to be inferior to the conjugate gradient solver. Moreover, a direct solver is available as a fail-safe
alternative for smaller systems. As the dimension of the linear equation system is 𝑛(𝑛 − 1)/2 for 𝑛 occupied
orbitals, the memory requirement and FLOP count increase as 𝑂(𝑛4 ) and 𝑂(𝑛6 ), respectively, and using the
direct solver becomes unfeasible for large systems.
• Settings for the CPSCF solver are specified the same way as for canonical MP2.
• Under specific circumstances, the orbital Hessian of the orbital localization function may have zero or near-
zero eigenvalues, which can lead to singular localization Z-vector equations. In particular, it is typically a
consequence of continuously degenerate localized orbitals, which may (but do not need to) appear in some
molecular symmetries.[761] A typical symptom are natural occupation number above 2 and below 0 for
systems that would be expected to have MP2 density eigenvalues between 2 and 0 without the DLPNO
approximations.
• In order to work around the aforementioned problem, a procedure has been implemented to eliminate sin-
gular or near-singular eigenvectors of the localization function orbital Hessian. Vectors with an eigenvalue
smaller than ZLoc_EThresh (or ZLoc_EThresh_core for the core orbitals) are subject to the modified pro-
cedure. If the program eliminates any eigenvectors, it might sometimes be a good idea to check if calculated
properties are reasonable (or at least to check the natural occupation numbers). Eigenvectors of the Hessian
are calculated by Davidson diagonalization by default, but direct diagonalization can be chosen for smaller
systems, instead.
• Diagonalization of the localization orbital Hessian can be switched off altogether by setting ZLoc_EThresh
to 0.
• If the “Asymmetric localization equation residual norm” exceeds the localization Z-vector equation toler-
ance (ZLoc_Tol), there are typically two plausible reasons: (1) the localized orbitals are not sufficiently
tightly converged (too large LocTol) or unconverged, or (2) the orbital localization Hessian has got small
eigenvalues that were not eliminated.
This is an overview over the options related to the gradient:
7.13. The Second Order Many Body Pertubation Theory Module (MP2) 547
ORCA Manual, Release 6.0
• In particular, the near-redundancy of PAO domains introduces numerical instabilities in the algorithm.
Hence, these should be truncated at PAOOverlapThresh=1e-5, which is higher than the default for the
energy and gradient. Therefore, the energy and gradient in jobs, which include response property calcula-
tions, may deviate from jobs, which do not. The difference is much smaller than the accuracy of the method
(vs RI-MP2) but it is still advisable to use the same value of PAOOverlapThresh in all calculations, when
calculating, e.g., relative energies.
• For the same reason, if diffuse basis sets are used, it is advised to set SThresh=1e-6 in the %scf block.
• Another instability arises due to small differences between the occupation number of kept and discarded
PNOs and may result in very large errors. The smallest difference is printed during the DLPNO-MP2 relaxed
density calculation:
Smallest occupation number difference between PNOs and complementary PNOs. Absolute: 3.10e-10 Rel-
ative: 3.28e-02
We found that a relative difference under 10−3 , which is not uncommon, may be cause for concern. To regu-
larize the unstable equations, a level shift is applied, which is equal to 𝑇CutPNO multiplied by 𝑇ScalePNO_LShift .
A reasonable value of TScalePNO_LShift=0.1 is set by default for response property calculations but not
for gradient (or energy) calculations, as these were not found to suffer from this issue, so the same consider-
ations as above apply.
• The option DLPNOGrad_Opt=BUFFERED is not implemented for response properties.
A summary of the additional options used for DLPNO-MP2 response properties is given below:
%mp2
PAOOverlapThresh 1e-5 # Threshold for constructing non-redundant PAOs
# Default is 1e-8 for energy/gradient calculations!
TScalePNO_LShift 0.1 # Level shift for PNO constraint equations:
# TScalePNO_LShift * TCutPNO
# Default is 0 for energy/gradient calculations!
end
An example input for a DSD-PBEP86 calculation of the NMR shielding and dipole polarizability tensors employing
DLPNO-MP2 is given below. Note that the def2-TZVP basis set is not necessarily ideal for either shielding or
polarizability.
The program will use the orbitals from calc0.loc as a starting guess for the localization and map the reference
orbitals to the new ones based on maximal overlap. The lists of correlated and screened out pairs are read from the
files calc0.IJLIST.0.tmp and calc0.IJLISTSCR.0.tmp, while the domain information (MO-PAO, MO-Aux, etc.) is
read from calc0.MapDLPNO00.tmp and calc0.MapDLPNOPre0.tmp. The number of PNOs for a each pair (stored
in calc0.IJNPNO.0.tmp) is also kept consistent with the reference calculation: the ones with the higest occupation
numbers are kept, disregarding 𝑇CutPNO .
This procedure should improve the accuracy and numerical stability for manually calculated geometric derivatives
of various DLPNO-MP2 properties (including those that require analytic first or second derivatives at the displaced
geometries). For semi-numerical Hessian calculations (NumFreq), it is sufficient to add StoreDLPNOData=true
as shown below and ORCA will handle the rest. For the sake of numerical stability, it is also recommended to
increase PAOOverlapThresh and add a PNO level shift for the reasons described in section Local MP2 Response
Properties.
! DLPNO-MP2 def2-SVP def2-SVP/C VeryTightSCF NumFreq
%mp2
StoreDLPNOData true
PAOOverlapThresh 1e-5
TScalePNO_LShift 0.1
end
# geometry definition
Note that in case the orbital localization Hessian is (near-)singular, the mapping of orbitals from reference to
displaced geometries will likely fail. No solution is presently implemented for this problem.
7.13. The Second Order Many Body Pertubation Theory Module (MP2) 549
ORCA Manual, Release 6.0
Note that a given pair or fragments can only belong to a single layer and definitions later in the input overwrite
previous ones. This means that if the above input is used in a 4-fragment calculation, the 1-4 interfragment inter-
actions will be treated with LoosePNO thresholds, the interactions within fragment 1 and with fragment 2 – with
NormalPNO thresholds, 2-3 pairs – with TightPNO, 1-3 and 2-4 pairs will be left at the HF level, 3-4 and 4-4 pairs
will be treated with 𝑇CutPNO = 10−8 and 𝑇CutDO = 10−2 (i.e. the NormalPNO defaults), and 2-2 and 3-3 pairs will
be left at the global (TightPNO) settings.
7.14.1 Theory
We start from the full CI hierarchy in which the wavefunction is expanded as:
where |0⟩ is a single-determinant reference and S, D, T, Q, . . . denote the single, double, triple quadruple and higher
excitations relative to this determinant at the spin-orbital level. As usual, labels 𝑖, 𝑗, 𝑘, 𝑙 refer to occupied orbitals
in |0⟩, 𝑎, 𝑏, 𝑐, 𝑑 to unoccupied MOs and 𝑝, 𝑞, 𝑟, 𝑠 to general MOs. The action of the second quantized excitation
operators 𝑎𝑎𝑖 = 𝑎†𝑎 𝑎𝑖 on |0⟩ lead to excited determinants |Φ𝑎𝑖 ⟩ that enter |Ψ⟩ with coefficients 𝐶𝑎𝑖 . The variational
equations are:
𝑖𝑗
(7.115)
⟨︀ 𝑎𝑏
− Φ𝑎𝑏
⟩︀ ⟨︀ ⟩︀
Φ𝑖𝑗 |𝐻 − 𝐸0 | 0 + 𝑆 + 𝐷 = 𝐸C 𝐶𝑎𝑏 𝑖𝑗 |𝐻 − 𝐸0 | 𝑇 + 𝑄
𝐸C = ⟨0 |𝐻| 𝑆 + 𝐷⟩ (7.116)
which requires the exact singles- and doubles amplitudes to be known. In order to truncate the series to singles-
and doubles one may either neglect the terms containing the higher excitations on the right hand side (leading to
CISD) or approximate their effect thereby losing the variational character of the
∑︀CI method (CCSD, ∑︀QCISD𝑖𝑗 and
CEPA methods). Defining the one- and two-body excitation operators as 𝐶ˆ1 = 𝑖𝑎 𝐶𝑎𝑖 𝑎𝑎𝑖 , 𝐶ˆ2 = 41 𝑖𝑗𝑎𝑏 𝐶𝑎𝑏 𝑎𝑎𝑏
𝑖𝑗
one can proceed to approximate the triples and quadruples by the disconnected terms:
1 ˆ2
|𝑄⟩ = 𝐶 |0⟩ (7.118)
2 2
As is well known, the CCSD equations contain many more disconnected contributions arising from the various
powers of the 𝐶ˆ1 operator (if one would stick to CC logics one would usually label the cluster amplitudes with
𝑡𝑖𝑎 , 𝑡𝑖𝑗
𝑎𝑏 ,. . . and the 𝑛-body cluster operators with 𝑇𝑛 ; we take a CI point of view here). In order to obtain the CEPA
ˆ
type equations from ((7.114)-(7.118)), it is most transparent to relabel the singles and doubles excitations with a
compound label 𝑃 for the internal indices (𝑖) or (ij) and 𝑥 for (𝑎) or (ab). Then, the approximations are as follows:
1 ⟨ 𝑥 ⃒⃒ ⃒ ⟩ 1 ∑︁ ⟨ ⟩
Φ𝑃 ⃒(𝐻 − 𝐸0 ) 𝐶ˆ22 ⃒ 0 = 𝐶𝑦𝑄 𝐶𝑧𝑅 Φ𝑥𝑃 |𝐻 − 𝐸0 | Φ𝑦𝑧 (7.119)
⃒
𝑄𝑅
2 2
𝑄𝑅𝑦𝑧
∑︁ ⟨ ⟩
≈ 𝐶𝑥𝑃 𝐶𝑦𝑄 Φ𝑥𝑃 |𝐻| Φ𝑥𝑦
𝑃𝑄 (7.120)
𝑄𝑦
∑︁ ⟨ ⟩ ∑︁ ⟨ ⟩
= 𝐶𝑥𝑃 𝐶𝑦𝑄 0 |𝐻| Φ𝑦𝑄 − 𝐶𝑥𝑃 𝐶𝑦𝑄 0 |𝐻| Φ𝑦𝑄 (7.121)
𝑄𝑦 𝑄𝑦∪𝑃 𝑥
⎛ ⎞
∑︁
≈ 𝐶𝑥𝑃 ⎝𝐸C − 𝜀𝑄 ⎠ (7.122)
𝑄∪𝑃
Here the second line contains the approximation that only the terms in which either Qy or Rz are equal to Px
are kept (this destroys the unitary invariance) and the fourth line contains the approximation that only “exclusion
principle violating” (EPV) terms of internal labels are considered. The notation 𝑄𝑦 ∪𝑃 𝑥 means “Qy joint with Px”
(containing common orbital indices) and 𝜀𝑄 is the pair correlation energy. The EPV terms must be subtracted from
the correlation energy since they arise from double excitations that are impossible due to the fact that an excitation
out of an occupied or into an empty orbital of the reference determinant has already been performed. Inserting eq.
(7.122) into eq. (7.115) 𝐶𝑥𝑃 𝐸𝐶 cancels and effectively is replaced by the “partial correlation energy” 𝑄∪𝑃 𝜀𝑄 .
∑︀
The resulting equations thus have the appearance of a diagonally shifted (“dressed”) CISD equation
⟨Φ𝑥𝑃 |𝐻 − 𝐸0 + ∆| 0 + 𝑆 + 𝐷⟩ = 0. If the second approximation mentioned above is avoided Malrieu’s (SC)
2
-CISD arises. [38, 63, 647, 720, 912] Otherwise, one obtains CEPA/3 with the shift:
∑︁
−∆𝑖𝑗
𝑎𝑏 = (𝜀𝑖𝑘 + 𝜀𝑗𝑘 ) − 𝜀𝑖𝑗 (7.123)
𝑘
CEPA/2 is obtained by −∆𝑖𝑗 𝑎𝑏 = 𝜀𝑖𝑗 and CEPA/1 is the average of the CEPA/2 and CEPA/3. As mentioned by
Ahlrichs, [11] no consensus appears to exist in the literature for the appropriate shift on the single excitations. If
one proceeds straightforwardly in the same way as above, one obtains:
(︃ )︃
⟨ ⃒ ⃒ ⟩ ∑︁
𝑎⃒ ˆ ˆ ⃒ 𝑖
Φ𝑖 ⃒(𝐻 − 𝐸0 ) 𝐶1 𝐶2 ⃒ 0 ≈ 𝐶𝑎 𝐸C − 2 𝜀𝑖𝑘 (7.124)
𝑘
as the appropriate effect of the disconnected triples on the singles. It has been assumed here that only the singles
|Φ𝑎𝑖 ⟩ in 𝐶ˆ1 contribute to the shift. If |0⟩ is a HF determinant, the effect of the disconnected triples in the doubles
projection vanishes under the same CEPA approximations owing to Brillouin’s theorem. Averaged CEPA models
are derived by assuming that all pair correlation energies are equal (except 𝜀𝑖𝑖 = 0). As previously discussed by
Gdanitz [291], the averaging of CEPA/1 yields 𝑛2 𝐸C and CEPA/3 𝐸C 𝑛(𝑛−1) 4𝑛−6
where 𝑛 is the number of correlated
electrons. These happen to be the shifts used for the averaged coupled-pair functional (ACPF [292]) and averaged
quadratic coupled-cluster (AQCC [841]) methods respectively. However, averaging the singles shift of eq. (7.124)
gives 𝑛4 𝐸C . The latter is also the leading term in the expansion of the AQCC shift for large 𝑛. In view of the
instability of ACPF in certain situations, Gdanitz has proposed to use the AQCC shift for the singles and the
original ACPF shift for the doubles and called his new method ACPF/2 [292]. Based on what has been argued
above, we feel that it would be most consistent with the ACPF approach to simply use 𝑛4 𝐸C as the appropriate
singles shift. We refer to this as NACPF.
It is readily demonstrated that the averaged models may be obtained by a variation of the modified correlation
energy functional:
⟨0 + 𝑆 + 𝐷 |𝐻 − 𝐸0 | 0 + 𝑆 + 𝐷⟩
𝐸C = (7.125)
1 + 𝑔𝑠 ⟨𝑆|𝑆⟩ + 𝑔𝐷 ⟨𝐷|𝐷⟩
with
∑︁ ∑︁
𝑁𝑃 = 1 + 𝑇𝑃 𝑄 (𝐶𝑦𝑄 )2 (7.127)
𝑄 𝑦
The topological matrix for pairs 𝑃 =(ij) and 𝑄 = (𝑘𝑙) is chosen as: [440]
with 𝑛𝑖 being the number of electrons in orbital 𝑖 in the reference determinant. The singles out of orbital 𝑖 are
formally equated with 𝑃 = (𝑖𝑖).∑︀ At the spin-orbital level, 𝑛𝑖 = 1, for closed shells 𝑛𝑖 = 2. Using the same
topological matrix in ∆𝑃 = 𝑄 𝑇𝑃 𝑄 𝜀𝑄 one recovers the CEPA/1 shifts for the doubles in eq. (7.124). It is
straightforward to obtain the CPF equivalents of the other CEPA models by adjusting the 𝑇𝑃 𝑄 matrix appropriately.
In our program, we have done so and we refer below to these methods as CPF/1, CPF/2 and CPF/3 in analogy to the
CEPA models (CPF/1 ≡CPF). In fact, as discussed by Ahlrichs and co-workers, variation of the CPF-functional
leads to equations that very closely resemble the CEPA equation and can be readily implemented along the same
lines as a simple modification of a CISD program. Ahlrichs et al. argued that the energies of CEPA/1 and CPF/1
should be very close. We have independently confirmed that in the majority of cases, the total energies predicted
by the two methods differ by less than 0.1 mEh.
An alternative to the CPF approach which is also based on variational optimization of an energy functional is
the VCEPA method [455]. The equations resulting from application of the variational principle to the VCEPA
functional are even closer to the CEPA equations than for CPF so that the resulting energies are practically indis-
tinguishable from the corresponding CEPA values. The VCEPA variants are referred to as VCEPA/1, VCEPA/2,
and VCEPA/3 in analogy to CEPA and CPF. A strictly size extensive energy functional (SEOI) which is invariant
with respect to unitary transformations within the occupied and virtual orbital subspaces is also available [456] (an
open-shell version is not implemented yet).
Again, a somewhat critical point concerns the single excitations. They do not account for a large fraction of the
correlation energy. However, large coefficients of the single excitations lead to instability and deterioration of the
results. Secondly, linear response properties are highly dependent on the effective energies of the singles and their
balanced treatment is therefore important. Since the CEPA and CPF methods amount to shifting down the diagonal
energies of the singles and doubles, instabilities are expected if the effective energy of an excitation approaches
the reference energy of even falls below it. In the CPF method this would show up as denominators 𝑁𝑃 that are
too small. The argument that the CPF denominators are too small has led Chong and Langhoff to the proposal
of the MCPF method which uses a slightly more elaborate averaging than (𝑁𝑃 𝑁𝑄 )1/2 [173].1 However, their
modification was solely based on numerical arguments rather than physical or mathematical reasoning. In the light
of Eq. (7.124) and the performance of the NACPF, it appears to us that for the singles one should use twice the
𝑇𝑃 𝑄 proposed by Ahlrichs and co-workers. The topological matrix 𝑇𝑃 𝑄 is modified in the following way for the
(very slightly) modified method to which we refer to as NCPF/1:
𝑇𝑖𝑗,𝑘 = 0 (7.130)
1 This method – although it has been rather extensively used in the past – is not implemented in ORCA. We recommend to use our NCPF/1
instead.
𝛿𝑖𝑘 + 𝛿𝑖𝑙
𝑇𝑖,𝑘𝑙 = 2 (7.131)
𝑛𝑖
𝑇𝑖,𝑘 = 0 (7.132)
(note that 𝑇𝑃 𝑄 ̸= 𝑇𝑄𝑃 for this choice). Thus, the effect of the singles on the doubles is set to zero based on the
analysis of the CEPA approximations and the effect of the singles on the singles is also set to zero. This is a sensible
choice since the product of two single excitations is a double excitation which is already included in the SD space
and thus none of them can belong to the outer space. It is straightforward to adapt this reasoning about the single
excitations to the CEPA versions as well as to NCPF/2 and NCPF/3.
The aforementioned ambiguities arising from the use of single excitations in coupled-pair methods can be avoided
by using correlation-adapted orbitals instead of Hartree-Fock orbitals thus eliminating the single excitations. There
are two alternatives: (a) Brueckner orbitals and (b) optimized orbitals obtained from the variational optimization of
the electronic energy with respect to the orbitals. Both approaches have already been used for the coupled-cluster
doubles (CCD) method [360, 777] and later been extended to coupled-pair methods [454]. In the case of CCD,
orbital optimization requires the solution of so-called Λ (or Z vector) equations [745]. There is, however, a cheaper
alternative approximating the Z vector by a simple analytical formula [457].
Furthermore, the parametrized coupled-cluster (pCCSD) method of Huntington and Nooijen [405], which com-
bines the accuracy of coupled-pair type methods for (usually superior to CCSD, at least for energies and energy
differences) with the higher stability of the coupled-cluster methods, is an attractive alternative. Comprehensive nu-
merical tests [404] indicate that particularly pCCSD(-1,1,1) (or pCCSD/1a) and pCCSD (-1.5,1,1) (or pCCSD/2a)
have great potential for accurate computational thermochemistry. These methods can be employed by adding the
“simple” keywords pCCSD/1a or pCCSD/2a to the first line of input. As mentioned in section Local Coupled Pair
and Coupled-Cluster Calculations, the LPNO variants of the pCCSD methods are also available for RHF and UHF
references via usage of the simple keywords LPNO-pCCSD/1a and LPNO-pCCSD/2a.
𝑝𝑞
𝐾𝑟𝑠 = (𝑝𝑟|𝑞𝑠) (7.136)
𝑝𝑞
𝐽𝑟𝑠 = (𝑝𝑞|𝑟𝑠) (7.137)
2 Our coupled-cluster implementation is largely based on this nice paper. The equations there have been extensively verified to be correct.
The two-electron integrals are written in (11|12) notation and F is the closed-shell Fock operator with F 𝑉 being
𝑖𝑗
its virtual sub-block. We do not assume the validity of Brillouin’s theorem. The amplitudes 𝐶𝑎𝑖 , 𝐶𝑎𝑏 have been
collected in vectors C𝑖 and matrices C𝑖𝑗 wherever appropriate. The shifts ∆𝑖 and ∆𝑖𝑗 are dependent on the method
used and are defined in Table Table 7.18 for each method implemented in ORCA.
Table 7.18: Summary of the diagonal shifts used in various singles- and doubles methods discussed in this chapter.
The quantities 𝜀𝑖 and 𝜀𝑖𝑗 are the correlation energy increments brought about by the single- and the double excita-
tions respectively. The partial denominators for the CPF type methods 𝑁𝑖 and 𝑁𝑖𝑗 are specified in eq. (7.127).
Method Doubles Shift Singles Shift
CISD 𝐸C 𝐸C
CEPA/0 0 0
1 1 1 1
∑︀ ∑︀
CEPA/1 2 (𝜀𝑖 + 𝜀𝑗 ) + 4 (𝜀𝑖𝑘 + 𝜀𝑗𝑘 ) 2 𝜀𝑖𝑖 + 2 𝜀𝑖𝑘
𝑘 𝑘
CEPA/2 𝛿𝑖𝑗 𝜀𝑖 + 𝜀𝑖𝑗 𝜀𝑖 + 𝜀∑︀
𝑖𝑖
1
∑︀
CEPA/3 (𝜀𝑖 + 𝜀𝑗 ) − 𝛿𝑖𝑗 𝜀𝑖 − 𝜀𝑖𝑗 + 2 (𝜀𝑖𝑘 + 𝜀𝑗𝑘 ) 𝜀𝑖 + 𝜀𝑖𝑘
𝑘 𝑘
1
∑︀ ∑︀
NCEPA/1 4 (𝜀𝑖𝑘 + 𝜀𝑗𝑘 ) 𝜀𝑖𝑖 + 𝜀𝑖𝑘
𝑘 𝑘
NCEPA/2 𝜀𝑖𝑗 2𝜀∑︀
𝑖𝑖
−𝜀𝑖𝑗 + 12
∑︀
NCEPA/3 (𝜀𝑖𝑘 + 𝜀𝑗𝑘 ) 2 𝜀𝑖𝑘
{︂ 𝑘 }︂ 𝑘{︂ }︂
1 𝜀𝑖 𝜀𝑗 1
∑︀ 𝜀𝑖𝑘 𝜀𝑗𝑘 1 𝜀𝑖𝑖 1
∑︀ 𝜀𝑖𝑘
CPF/1 𝑁𝑖𝑗 2 ( 𝑁𝑖 + 𝑁𝑗 ) + 4 ( 𝑁𝑖𝑘 + 𝑁𝑗𝑘 ) 𝑁𝑖 2 𝑁𝑖𝑖 + 2 𝑁𝑖𝑘
{︁ }︁ 𝑘 {︁ }︁𝑘
𝜀𝑖 𝜀 𝜀𝑖 𝜀𝑖𝑖
CPF/2 𝑁𝑖𝑗 𝛿𝑖𝑗 𝑁 𝑖
+ 𝑁𝑖𝑗𝑖𝑗 𝑁𝑖 𝑁 +𝑁
{︂ }︂ {︂ 𝑖 𝑖𝑖 }︂
𝜀𝑖 𝜀 𝜀 ∑︀ 𝜀𝑖𝑘 𝜀𝑗𝑘 𝜀𝑖 ∑︀ 𝜀𝑖𝑘
CPF/3 𝑁𝑖𝑗 𝑁 𝑖
(1 − 𝛿𝑖𝑗 ) + 𝑁𝑗𝑗 − 𝑁𝑖𝑗𝑖𝑗 + 12 ( 𝑁𝑖𝑘 + 𝑁𝑗𝑘 ) 𝑁𝑖 𝑁𝑖 + 𝑁𝑖𝑘
𝑘 {︂ 𝑘 }︂
1
∑︀ 𝜀𝑖𝑘 𝜀𝑗𝑘 𝜀𝑖𝑖 ∑︀ 𝜀𝑖𝑘
NCPF/1 4 𝑁𝑖𝑗 (𝑁𝑖𝑘
+ 𝑁𝑗𝑘 ) 𝑁𝑖 𝑁 𝑖𝑖
+ 𝑁𝑖𝑘
𝑘 𝑘
𝜀 𝜀𝑖𝑖
NCPF/2 𝑁𝑖𝑗 𝑁𝑖𝑗𝑖𝑗 2𝑁𝑖 𝑁𝑖𝑖
{︂ }︂
𝜀 1
∑︀ 𝜀𝑖𝑘 𝜀𝑗𝑘 ∑︀ 𝜀𝑖𝑘
NCPF/3 𝑁𝑖𝑗 − 𝑁𝑖𝑗𝑖𝑗 + 2 (𝑁𝑖𝑘
+ 𝑁𝑗𝑘 ) 2𝑁𝑖 𝑁𝑖𝑘
𝑘 𝑘
2 2
ACPF 𝑛 𝐸C [︁𝑛 𝐸C ]︁
2 (𝑛−3)(𝑛−2)
ACPF/2 𝑛 𝐸C 1− 𝑛(𝑛−1) 𝐸C
2 4
NACPF [︁𝑛 𝐸C ]︁ [︁𝑛 𝐸C ]︁
(𝑛−3)(𝑛−2) (𝑛−3)(𝑛−2)
AQCC 1− 𝑛(𝑛−1) 𝐸C 1− 𝑛(𝑛−1) 𝐸C
The QCISD method requires some slight modifications. We found it most convenient to think about the effect of the
nonlinear terms as a “dressing” of the integrals occurring in equations (7.133) and (7.134). This attitude is close
to the recent arguments of Heully and Malrieu and may even open interesting new routes towards the calculation
of excited states and the incorporation of connected triple excitations.[391] The dressed integrals are given by:
∑︁ ⟨︀
𝐹¯𝑖𝑘 = 𝐹𝑖𝑘 + C𝑖𝑙 2K𝑘𝑙 − K𝑘𝑙+
(︀ )︀⟩︀
(7.139)
𝑙
∑︁ {︀
𝐹¯𝑎𝑏 C𝑘𝑙 2K𝑘𝑙 − K𝑘𝑙+ 𝑎𝑏
(︀ )︀}︀
= 𝐹𝑎𝑏 − (7.140)
𝑘𝑙
∑︁ (︀
𝐹¯𝑘𝑐 = 𝐹𝑘𝑐 + 2K𝑘𝑙 − K𝑘𝑙+ C𝑙
)︀
(7.141)
𝑙
The CCSD method can be written in a similar way but requires 15 additional terms that we do not document here.
They may be taken conveniently from our paper about the LPNO-CCSD method [617].
A somewhat subtle point concerns the definition of the shifts in making the transition from spin-orbitals to spatial
orbitals. For example, the CEPA/2 shift becomes in the generator state formalism:
(︂ )︂ (︂ )︂
⟨ ⟩
𝑖𝑗 1 𝛼𝛼 2 𝛼𝛽 𝑖𝑗 1 𝛼𝛼 1 𝛼𝛽
− Φ̃𝑎𝑏𝑖𝑗 |∆ 𝑖𝑗
|Ψ = 𝐶 𝜀 + 𝜀 + 𝐶 − 𝜀 + 𝜀 (7.145)
𝑎𝑏
3 𝑖𝑗 3 𝑖𝑗 𝑏𝑎
3 𝑖𝑗 3 𝑖𝑗
(Φ̃𝑎𝑏
𝑖𝑗 is a contravariant configuration state function, see Pulay et al. [745]. The parallel and antiparallel spin pair
energies are given by:
1 ∑︁ [︁ 𝑖𝑗 𝑖𝑗
]︁ (︁
𝑖𝑗 𝑖𝑗
)︁
𝜀𝛼𝛼
𝑖𝑗 = 𝐾𝑎𝑏 − 𝐾𝑏𝑎 𝐶𝑎𝑏 − 𝐶𝑏𝑎 (7.146)
2
𝑎𝑏
1 ∑︁ 𝑖𝑗 𝑖𝑗
𝜀𝛼𝛽
𝑖𝑗 = 𝐾𝑎𝑏 𝐶𝑎𝑏 (7.147)
2
𝑎𝑏
This formulation would maintain the exact equivalence of an orbital and a spin-orbital based code. Only in the
(unrealistic) case that the parallel and antiparallel pair correlation energies are equal the CEPA/2 shift of Table
7.18 arise. However, we have not found it possible to maintain the same equivalence for the CPF method since the
electron pairs defined by the generator state formalism are a combination of parallel and antiparallel spin pairs. In
order to maintain the maximum degree of internal consistency we have therefore decided to follow the proposal of
Ahlrichs and co-workers and use the topological matrix 𝑇𝑃 𝑄 in equation (7.128) and the equivalents thereof in the
CEPA and CPF methods that we have programmed.
results with the same basis set. Of the LPNO and DLPNO methods, the LPNO is the older one and will eventually
be discarded from ORCA. It has some higher order scaling steps (up to 𝑁 5 ) while DLPNO is linear scaling and
of similar accuracy. Amongst the DLPNO methods, the first generation implementation of the DLPNO methods
(DLPNO2013) is only near-linear scaling, while the DLPNO implementation since ORCA 4.0 is linear scaling.
It is important to understand that the LPNO and DLPNO implementations are intimately tied to the RI approxima-
tion. Hence, in these calculations one must specify a fitting basis set. The same rules as for RI-MP2 apply: the
auxiliary basis sets optimized for MP2 are just fine for PNO calculations. You can specify several aux bases for
the same job and the program will sort it out correctly.
The theory of the LPNO methods has been thoroughly described in the literature in a number of original research
papers.[617, 623, 721, 723]
Hence, it is sufficient to only point to a few significant design principles and features of these methods:
1. The correlation energy of any molecule can be written as a sum over the correlation energies of pairs of
electrons, labelled by the internal indices (𝑖𝑗) of pairs of orbitals that are occupied in the reference deter-
minant. If the orbitals (𝑖) and (𝑗) are localized, the pair correlation energy 𝜖𝑖𝑗 falls off very quickly with
distance, quite typically by about an order of magnitude per chemical bond that is separating orbitals (𝑖) and
(𝑗). Hence, by using a suitable cut-off for a reasonable pair correlation energy estimate many electron pairs
can be removed from the high-level treatment and only a linear scaling number of electron pairs will make
a significant contribution to the correlation energy.
2. The natural estimate for the pair correlation energy comes from second order many body perturbation theory
(MP2). However, canonical MP2 is scaling with the fifth power of the molecular size and hence, is not
really attractive from a theoretical nor computational point of view. Owing to the small pre-factor RI-MP2
goes a long way to provide reasonably cheap estimates for pair correlation energies. However, if one uses
localized internal orbitals, then the MP2 energy expression must be cast in form of linear equations. On the
other hand, if one uses canonical virtual orbitals together with localized internal orbitals and neglects the
coupling terms coming from purely internal Fock matrix elements F(𝑖,𝑘) and F(𝑘,𝑗) then one ends up with
a fair approximation that is termed “semi-canonical MP2” in ORCA. It serves as a guess in the older LPNO
method. For DLPNO this method is also not attractive.
3. In DLPNO, the guess is more sophisticated. Here the virtual space is spanned by projected atomic orbitals
(PAOs) that are assigned to domains of atoms that are associated with each local internal orbital (𝑖) and
with the union of two such domains (𝑖) and (𝑗) for the electron pair (𝑖𝑗). If one applies the semi-local
approximation, one obtains an excellent approximation to the semi-canonical MP2 energy. This is called the
“semi-local” approximation and it scales linearly with respect to computational effort. If one iterates these
equations to self-consistency to eliminate the coupling terms F(𝑖,𝑘) and F(𝑘,𝑗) then one obtains the full local
MP2 method (LMP2 or L-MP2). By making the domains large enough the results approach the canonical
MP2 energy to arbitrary accuracy while still being linear scaling with respect to computational resources.
This method is the default for the DLPNO method.
4. Basically, the high-spin open-shell version of the DLPNO uses the same strategy as the closed-shell variant
to efficiently generate the open-shell PNOs in a consistent manner to the closed-shell formalism. Through the
development of the UHF-LPNO-CCSD method, we have realized that use of the unrestricted MP2 (UMP2)
approach to define the open-shell PNOs introduces a few complexities; (1) the PNOs for 𝛽 spin orbitals
cannot be defined for 𝛼-𝛼 electron pairs and vice versa, (2) the diagonal PNOs for singly occupied orbitals
cannot be properly defined, and (3) the PNO space does not become identical to that in the closed-shell
LPNO framework in the closed-shell limit. However, to program all the unrestricted CCSD terms in the
LPNO basis, those PNOs are certainly necessary. Therefore, in the UHF-LPNO-CCSD implementation,
several terms, which, in many cases, give rather minor contributions in the correlation energy are omitted.
Due to these facts, the UHF-LPNO-CCSD does not give identical results to that of RHF-LPNO-CCSD in
the closed-shell limit. In addition, screening of the weak pairs on the basis of the semi-canonical UMP2
pair-energy results in somewhat unbalanced treatment of the closed- and open-shell states in some cases,
leading to rather larger errors in the reaction energies. To overcome those issues, in the high-spin open-
shell DLPNO-CCSD method, the PNOs are generated in the framework of semi-canonical NEVPT2 which
smoothly converges to the RHF-MP2 counterpart in the closed-shell limit. The open-shell DLPNO-CCSD,
which is made available from ORCA 4.0, includes a full set of the open-shell CCSD equations and is designed
as a natural extension to the RHF-DLPNO-CCSD.
5. Screening of the electron pairs according to a truncation parameter (in ORCA it is called 𝑇CutPairs ) is not
sufficient to obtain a highly performing local electronic structure method. The original work of Pulay sug-
gested to limit excitations out of the internal orbitals (𝑖) and (𝑗) to the domain associated with the pair (𝑖𝑗).
While this works well and has been implemented to perfection by Werner, Schütz and co-workers over the
years,[755, 756, 775, 776] the pre-factor of such calculations is high, since the domains have to be chosen
large in order to recover 99.9% or more of the canonical correlation energy.
6. The ORCA developers have therefore turned to an approach that has been used with a high degree of suc-
cess in the early 1970s by Meyer, Kutzelnigg, Staemmler and their co-workers, namely the method of “pair
natural orbitals” (PNOs).[10, 583, 584, 887]
As shown by Loewdin in his seminal paper from 1955, natural orbitals (the eigenfunctions of the one-particle
density matrix) provide the fastest possible convergence of the correlated wavefunction with respect to the
number of one-particle functions included in the virtual space. It has been amply established that approxi-
mate natural orbitals are almost as succesful as the true natural orbitals (which would require the knowledge
of the exact wavefunction) in this respect. While the success of approximate correlation treatments of many
particle systems that use approximate natural orbitals of the whole systems are somewhat limited, this is not
the case for pair natural orbitals. The latter have first been suggested as a basis for correlation calculations
by England and co-workers and, at the time, were given the name “pseudonatural orbitals”, a term that was
used by Meyer throughout his pioneering work.
7. The PNOs are approximate natural orbitals of a given electron pair. In order to generate them one requires a
one particle pair density matrix 𝐷𝑖𝑗 the eigenfunctions of which are the PNOs themselves while the corre-
sponding eigenvalues are the PNO occupation numbers. While there are many creative possibilities that can
lead to slightly different PNO sets, a quite useful and natural approximation is to generate such a density from
the MP2 amplitudes as an expectation value (the “unrelaxed” MP2 density. One then uses a second thresh-
old (in ORCA𝑇CutPNO ) that controls the PNOs to be included in the calculation. PNOs with an occupation
number < 𝑇CutPNO are neglected.
8. PNOs of a given electron pair form an orthonormal set. However, PNOs belonging to different electron pairs
are not orthonormal and hence they overlap. This non-orthogonality leads to surprisingly few complica-
tions because the PNOs stay orthogonal to all occupied orbitals. In practice, the equations for PNO-based
correlation calculations are hardly more complex than the canonical equations.
9. The nice feature of these pair densities is that they become small when the pair interaction becomes small.
Hence weak pairs are correlated by very few PNOs. Therefore, the PNO expansion of the wavefunction is
extremely compact and there only is a linear scaling number of significant excitation amplitudes that need to
be considered.
10. A great feature of the PNOs is that they are “self-adapting” to the correlation situation that they are supposed
to describe. Hence, they are as delocalized as required by the physics and there is no ad-hoc assumption
about their location in space. However, it is clear that the PNOs are located in the same region of space as
the internal orbitals that they correlate because otherwise they would not contribute to the correlation energy.
11. In the iterative local MP2, a set of PNOs is calculated for the MP2 calculation from the semicanonical
amplitudes first using the cutoff TCutPNO ×LMP2ScaleTCutPNO. The size of the resulting PNO space should
be comparable with DLPNO-MP2. After the iterations have converged, a (smaller) set of PNOs for the
CCSD double excitation amplitudes is generated from the iterated local MP2 amplitudes in the (larger) PNO
basis. The PNOs for the single excitation amplitudes are always calculated using the semicanonical MP2
amplitudes, as they require a much more conservative PNO truncation threshold.
12. Capitalizing on this feature one can define generous domains and expand the PNOs in terms of the PAOs
and auxiliary fit functions (for the RI approximations) that are contained in these domains. In ORCA this is
controlled by the third significant truncation parameter 𝑇CutMKN . This is the basis of the DLPNO method.
In the older LPNO method, the PNOs are expanded in terms of the canonical virtual orbitals and 𝑇CutMKN
is only used for a local fit to the PNOs. In the linear-scaling DLPNO implementation the domains expanding
the PNOs in terms of the PAOs are controlled via 𝑇CutDO .
13. PNO expansions have the amazing advantage that the PNOs converge to a well-defined set as the basis set is
approaching completeness. Hence, the increase in the number of PNOs per electron pair is very small upon
enlargement of the orbital basis. In other words, correlation calculations with large basis sets are not that
much more expensive than correlation calculations with small basis sets. Thus, the advantage of PNO over
canonical calculations increases with the size of the basis set. This is a great feature as large and flexible
basis sets are a requirement for meaningful correlation calculations.
14. In summary, DLPNO and LPNO calculations are controlled by only three cut-off parameters with well-
defined meanings: a) 𝑇CutPairs , the cut-off for the electron pairs to be included in the coupled-pair or coupled-
cluster iterations, b) 𝑇CutPNO which controls how many PNOs are retained for a given electron pair and c)
𝑇CutMKN that controls how large the domains are that the PNOs expand over. For the linear-scaling DLPNO
calculations the domain sizes are controlled via 𝑇CutDO .
15. It is clear that owing to the truncations a certain amount of error is introduced in the results. However, having
the LMP2 results available, one can compensate for the errors coming from 𝑇CutPairs and 𝑇CutPNO . This
is done in ORCA and the correction is added to the final correlation energy, thus bringing it very close (to
mEh accuracy or better) to the canonical result. 𝑇CutMKN is best dealt with by making it conservative (at
1e−3 to 1e−4 the domains are about 20–30 atoms large, which is sufficient for an accurate treatment).
16. Note that the LPNO and DLPNO methods do not introduce any real space cut-offs. We refrain from doing
so and insist in our method development by making all truncations based on wavefunction or energy param-
eters. We feel that this is the most unbiased approach and it involves no element of “chemical intuition” or
“prejudice”.
17. In the DLPNO method a highly efficient screening mechanism is operative. In this method one first obtains
a (quadratically scaling) multipole estimate for the pair correlation energy that is extremely fast to compute
(a few seconds, even for entire proteins). Only if this estimate is large enough, a given electron pair is even
considered for a LMP2 treatment. Quite typically pairs with energy contributions of 1e−6 Eh and smaller
are very well described by the dipole-dipole estimate. Specifically, we drop pairs with estimated energies
< 0.01×𝑇CutPairs and add their multipole energy sum to the final correlation energy. These corrections tend
to be extremely small, even for large molecules and are insignificant for the energy. However, importantly, the
multipole estimate ensures linear scaling in the MP2 treatment. The pairs that then do not survive the pair-
prescreening are called “weak pairs” in the ORCA or DLPNO sense. They still play a role in the calculation
of the triple excitation correction.
18. The calculation of triple excitation contributions is more involved and one does not have a perturbative
estimate available since the (T) contribution is perturbative itself. While the (T) contribution is much smaller
than the CCSD correlation energy, the errors introduced by the various local and PNO approximations can
be significant. We found that one has to include triples with at least one pair being a “weak” LMP2 pair
(with its LMP2 amplitudes) in order to arrive at sufficiently accurate results.
Given these explanations the various cut-off parameters that can be controlled in LPNO and DLPNO calcula-
tions should be understandable and are listed below. We emphasize again that only the three thresholds 𝑇CutPairs ,
𝑇CutPNO and 𝑇CutMKN should be touched by the user, unless very specific questions are addressed. The recom-
mended way to control the accuracy of calculations is to specify “TightPNO”, “NormalPNO” or “LoosePNO”
keywords, rather than to change numeric values of cutoffs. Individual thresholds should normally not be changed,
as the defaults are sensible and lead to good cost/performance ratios.
%mdci TCutPairs 1e-4 # cut-off for the pair truncation
TCutPNO 3.33e-7 # cut-off for the PNO truncation
TCutDO 1e-2 # cut-off for the DLPNO domain construction
TCutMKN 1e-3 # cut-off for the local fit
# for DLPNO2013: also domain construction
# remaining options, tied to the three main cut-offs,
EXPERTS ONLY!
Localize true # flag for using localized orbitals
LocMet AHFB # Localization method.
# Options: PM, FB, IAOIBO, IAOBOYS, NEWBOYS, AHFB
LocTol 1e-6 # Absolute threshold for the localization procedure
# Automatically adjusted by default.
LocTolRel 1e-8 # Relative threshold for the localization procedure
LocMaxIter 128 # Maximum number of localization iterations
LocRandom 1 # default, take random seed for any localization
# For internal orbitals: choose best of 32 localizations
# Switched off for AHFB
0 # take constant seed for any localization (for testing)
LocNAttempts np # number of localization attempts
# default: number of processes, minimum 8, if
# randomize true
(continues on next page)
For larger systems and tighter thresholds the disk I/O of a DLPNO calculation may become challenging. In this
case, it might be usefull to keep some integrals in memory, if enough RAM is available. With the following flag
%mdci
StorageType Shared
end
ORCA will try to store certain much-used integrals in shared memory. If the amount of memory is not sufficient,
ORCA will fall back to on-disk storage. NOTE: This flag will only work if all processes work on the same node.
IMPORTANT NOTE REGARDING ORBITAL LOCALIZATION
• Localized orbitals for DLPNO are obtained via the Foster-Boys method with an augmented Hessian
converger (AHFB) by default.
• The localization tolerance (LocTol) is coupled to the SCF gradient tolerance (TolG) with a constant factor
by default. Selecting specific SCF convergence settings (such as TightSCF) therefore also ensures obtaining
a set of appropriately well converged localized orbitals. This can be overridden by setting a different value
for LocTol.
• An important feature of the augmented Hessian converger is that it systematically approaches a local maxi-
mum of the localization function (even though convergence to the global maximum cannot be guaranteed).
As opposed to that, the conventional localization method (FB) may stop, for example, at a saddle point. In
bad cases, this can lead to deviations of several kJ/mol in the DLPNO energy. Likewise, it can contribute
towards lack of reproducibility of results.
• No similar procedure has been implemented for the other localization methods (such as Pipek-Mezey) yet.
The same problems as with the FB converger can occur in these cases.
%MDCI
LocMet FB
LocTol 1.0e-6
LocRandom 1
End
Regarding the methods that employ randomization (FB, PM, IAOIBO, IAOBOYS) only, the following notes apply:
• Generally, better DLPNO results are obtained when several runs of localization are undertaken using different
initial guesses. The different initial guesses are obtained using randomization (LocRandom).
• However, randomization of the initial guess can lead to differently localized MOs in different calculations.
This can yield non-identical correlation energies, varying in the sub-kJ/mol range, for different runs on the
same machine.
• In order to yield identical correlation energy results, randomization can be switched off (LocRandom 0).
However, switching off randomization only leads to identical results on the same machine, but can still lead
to slightly different results (in the sub-kJ/mol range) on different machines.
• Reproducibility of the correlation energy is expected to increase further if LocNAttempts is set to higher
values.
The input below shows how to perform a DLPNO calculation with settings that exactly reproduce the canonical
RI-MP2 result. They are not recommended for production use, but merely to show that if the local approximations
are pushed, then the result coincides with the canonical one. If one would set 𝑇CutPNO to zero this would give
canonical RI-CCSD. However, this is an absurdly inefficient calculation and hence not done.
#
! def2-SV(P) def2/JK def2-SVP/C RI-JK DLPNO-CCSD VeryTightSCF RI-MP2
# obtain a result that only contains errors from the PNO approximation
# but no others
%mdci TCutPairs 0
TCutMKN 0
UseFullLMP2Guess true
LMP2FCut 1e-9
LMP2MaxIter 25
LMP2TolE 1e-10
LMP2TolR 1e-11
PAOOVerlapThresh 1e-9
end
! Bohrs
* xyz 0 1
C -1.505246952209632 1.048213673267046 -3.005665895986369
C 1.289678561934891 0.246429688933291 -3.259735682020124
C 2.834670835163566 1.157307360133605 -0.990383454919828
C 1.924119415395082 -0.128330938291771 1.465070676514038
C -0.931529472233802 -0.722841293992075 1.397639867298547
C -2.347670084056626 1.213332291655600 -0.217984867773136
H 2.084955694093313 0.973408301535989 -5.037750251258102
H 1.426532559234904 -1.831017720289521 -3.371063003813707
H -1.795307501459984 2.891278294563413 -3.927855043896308
H -2.709613973668925 -0.308515546176734 -4.026627646697411
H -4.404246093821399 0.941639912907262 -0.071175054238094
H -1.962867323232915 3.122079490952855 0.528101313545138
H -1.245096579039474 -2.621186110634707 0.594784162223769
H -1.699155144887690 -0.782162821007662 3.328959985756973
H 2.347109421287126 1.104305785540561 3.087624818244846
H 2.990679065503112 -1.888017241218143 1.775287572161196
(continues on next page)
Another option is to choose the involved chemical core electrons by using an energy window. In this way all electron
pairs and Singles that involve chemical core electrons, which are in the defined energy window, are affected by
TScalePNO_CORE.
A summary with the number of electrons affected by TScalePNO_Core for the examples just discussed is shown
in Table Table 7.19.
Table 7.19: Number of chemical core electrons included in the DLPNO calculation and affected by
TScalePNO_Core for the TiF4 examples
Frozen Included𝑎
FrozenCore (default) 18 0 40
NoFrozenCore 0 18 40
EWIN -40, 10000 16 2 40
𝑎
using TScalePNO_Core.
By default, ORCA provides a chemical meaningful definition for the number of electrons which belong to the
chemical core of each element. As already discussed, these default values define which pairs are affected by
TScalePNO_Core. However, the user can modify the number of chemical core electrons for a specific element via
the NewNCore keyword.
In the previous example, the number of chemical core electrons for Ti has been fixed to 8.
Starting from ORCA 6.0, in DLPNO calculations, tightened TCutPNO thresholds are used by default for “semicore”
electron pairs involving the 3s and 3p orbitals of first-row transition metals.[32] This improves not only the accuracy
of the results noticeably but also the efficiency of the computations as the system size grows (ref.). To reproduce
results obtained with earlier versions, the number of semicore orbitals on first-row transition metals needs to be set
to zero (the old default) instead of eight (the current default), as done below for a Zn atom with the NewNSemiCore
keyword in the method block:
NOTE
• Of course, if electrons are replaced by ECPs, they are not included in the correlation treatment.
• If ECPs are used, the number for NewNCore has to include the electrons represented by the ECPs as well.
E.g. if an element is supposed to have 60 electrons in the ECP and additional 8 electrons should be frozen
in the correlation calculation, NewNCore should be 68.
• The different sets of orbitals (chemical core electrons included in the correlation treatment and valence
electrons) are localized separately in order to avoid the mixing of core and valence orbitals.
Multi-Level Calculations
In many applications events are investigated that are located in a relatively small region of the system of interest.
In these cases, combined quantum-mechanics/molecular-mechanics (QM/MM) approaches have been proved to be
extremely useful, especially in the modeling of enzymatic reactions. The basic idea of any QM/MM method is to
treat a small region of the system at the QM level and to use an MM treatment for the remaining part of the system.
Alternatively, QM/QM methods, where different parts of a system are studied at various quantum mechanical
levels, are also available. Quantum mechanical methods are more computationally demanding than the molecular
mechanics treatment, and this limits the applicability of all-QM approaches. Nevertheless, QM/QM methods retain
some strong advantages over QM/MM schemes. For instance, force field parameters for the molecular mechanics
part of the calculation are not necessary, and thus there are no restrictions on the type of chemical systems that can
be treated. Moreover, problems usually caused by boundaries between QM and MM parts do not occur. Finally,
the accuracy of an all-QM calculation is expected to be higher compared to the accuracy of QM/MM approaches,
that is limited by the MM treatment.
In ORCA, the different methods that can be used in a QM/QM calculations are:
• DLPNO-CCSD(T) with TightPNO thresholds
• DLPNO-CCSD(T) with NormalPNO thresholds
• DLPNO-CCSD(T) with LoosePNO thresholds
• DLPNO-CCSD
• DLPNO-MP2
• HF
The user can define an arbitrary number of fragments in the input, the level of theory to be used for each fragment
and for the interaction between different fragments. Localized molecular orbitals are then assigned to a given
fragment on the basis of their Mulliken populations.
The following example shows the calculation of a benzene dimer, for which the individual monomers are calculated
on MP2 level, and the interaction between the two monomers is calculated on TightPNO DLPNO-CCSD(T) level.
More realistic use cases are discussed in ref. [812].
*xyz 0 1
C(1) 1.393 0.000 0.0
H(1) 2.474 0.000 0.0
C(1) 0.695 1.206 0.0
H(1) 1.238 2.143 0.0
C(1) -0.695 1.206 0.0
H(1) -1.238 2.143 0.0
C(1) -1.393 0.000 0.0
H(1) -2.474 0.000 0.0
C(1) -0.695 -1.206 0.0
H(1) -1.238 -2.143 0.0
C(1) 0.695 -1.206 0.0
H(1) 1.238 -2.143 0.0
C(2) 2.333 1.33 3.5
H(2) 3.414 1.33 3.5
C(2) 1.635 2.536 3.5
H(2) 2.178 3.473 3.5
C(2) 0.245 2.536 3.5
H(2) -0.298 3.473 3.5
C(2) -0.453 1.33 3.5
H(2) -1.534 1.33 3.5
C(2) 0.245 0.124 3.5
H(2) -0.298 -0.813 3.5
C(2) 1.635 0.124 3.5
H(2) 2.178 -0.813 3.5
*
• For the calculation of the interaction energy, the energy of the individual benzene monomer should be cal-
culated on the accuracy level of the monomer in the dimer calculation, i.e. using MP2 with full LMP2 guess
for the above example.
All possible settings for the multi-level calculation are listed below.
# The one-keyword line defines the default method for the multi-level calculation.
# Options here are DLPNO-CCSD(T) or DLPNO-CCSD with the addition of the
# LoosePNO, NormalPNO and TightPNO keyword
!DLPNO-CCSD(T)
# The below given keywords define the changes with respect to the
# above given default method. The user should take care that each intra- or
# interfragment combination is defined only once (unlike in the example given below)
%mdci
LoosePNOFragInter {1 1} {2 2} # use LoosePNO settings for the intrafragment
# pair energies of fragments 1 and 2
NormalPNOFragInter {1 2} # use NormalPNO settings for the interfragment
# pair energies between fragment 1 and 2
TightPNOFragInter {1 3} # use TightPNO settings for the interfragment
# pair energies between fragment 1 and 3
NormalPNOTightPairFragInter {1 2} # use NormalPNO settings but with TCutPairs
# 1.e-5 for the interfragment pair energies
# between fragment 1 and 2
LoosePNOTightPairFragInter {1 3} # use LoosePNO settings but with TCutPairs 1.e-5
# for the interfragment pair energies between
# fragment 1 and 3
NoTriplesFragments 1, 2 # if all MOs of a triple are located on fragment
# 1 and / or 2, the triple is neglected
MP2FragInter {1 1} {2 2} # compute the intrafragment pair energies of
# fragments 1 and 2 on MP2 level
HFFragInter {1 1} {2 2} # compute the intrafragment energies on HF level
UseFullLmp2Guess false # default = false,
# if MP2FragInter is used: default = true
%mdci
nroots 4
DTOl 1e-7
NORMALPNOFragInter { 1 1}
LOOSEPNOFragInter { 1 1}
HFFRAGMENTINTERACTION { 2 2}
end
*xyz 0 1
C(1) 2.782064 -1.456235 0.000000
C(1) 1.478695 -0.729491 0.000000
C(1) 0.274461 -1.343436 0.000000
N(1) -0.914790 -0.659079 0.000000
C(1) -0.988897 0.709718 0.000000
N(1) 0.241239 1.324758 0.000000
H(1) 0.224165 2.335424 0.000000
C(1) 1.507368 0.726274 0.000000
O(1) 2.518005 1.411594 0.000000
(continues on next page)
Here the example is a mono-hydrated thymine molecule, where the thymine is treated at the main fragment and
water is treated at the environment. It will result in the following output
----------------------
EOM-CCSD RESULTS (RHS)
----------------------
The result of a full a IP-EOM-DLPNO-CCSD calculation with NORMALPNO setting would have looked like
The results in multi-layer IP-EOM-DLPNO-CCSD method has been found to be in excellent agreement with stan-
dard variant. The 𝑀 𝑃 2𝐹 𝑟𝑎𝑔𝐼𝑛𝑡𝑒𝑟 treatment is not available for the EOM method. To get a reasonable accuracy
one need to treat the fragment from where the ionization is happening (thymine in the above example) at the highest
possible level. The interaction between the main fragment (thymine) and environment (water) should be treated
at the intermediate level accuracy. The environment can safely be treated with 𝐻𝐹 𝐹 𝑟𝑎𝑔𝐼𝑛𝑡𝑒𝑟 for almost all the
cases. One can decide the size of the main fragment by looking at HF occupied orbitals as the Koopmans’ approx-
imation is a very good zeroth order guess for the IP values. The electron attached states are much less localized as
compared to the ionization problem. Consequently, the multi-layer EA-EOM-DLPNO-CCSD requires much more
tighter thresholds than the IP variant. An typical input file for multi-layer EA-EOM-DLPNO-CCSD will look as
follows.
! EA-EOM-DLPNO-CCSD NORMALPNO ma-def2-SVP RIJCOSX aug-cc-pVDZ/C def2/J
%mdci
NRoots 4
FollowCIS true
TCutPNOSingles 1e-12
MaxIter 2000
DTol 1e-7
NDAV 10
NormalPNOFragInter { 1 1 }
LoosePNOFragInter { 1 2 } { 2 2 }
end
* xyz 0 1
N(1) -1.114 -0.934 -3.554
C(1) -0.343 -0.202 -4.483
H(1) -0.668 -0.311 -5.520
C(1) 0.635 1.107 -2.633
O(1) 1.241 2.018 -2.013
N(1) 0.022 0.050 -1.776
H(1) -0.069 0.339 -0.800
C(1) -0.975 -0.782 -2.233
O(1) -1.697 -1.422 -1.333
C(1) 1.087 1.852 -4.986
H(1) 1.673 2.594 -4.418
H(1) 1.771 1.340 -5.697
H(1) 0.348 2.403 -5.609
H(1) -1.823 -1.635 -3.888
N(2) -4.904 -4.773 -4.958
H(2) -4.634 -3.987 -5.572
C(2) -4.875 -4.201 -3.599
C(2) -3.704 -3.226 -3.310
H(2) -5.818 -3.646 -3.423
H(2) -4.859 -5.012 -2.850
O(2) -3.026 -2.826 -4.301
H(2) -4.078 -5.386 -5.029
O(2) -3.559 -2.899 -2.077
H(2) -2.494 -2.057 -1.754
C(2) 0.440 0.898 -4.018
end
It is a thymine-glycine complex where the thymine is treated as the main fragment and glycine as the environment.
One needs to use a more tighter value of 𝑇 𝐶𝑢𝑡𝑃 𝑁 𝑂𝑆𝑖𝑛𝑔𝑙𝑒𝑠 for EA as in the case of standard EA-EOM-DLPNO-
CCSD. The 𝑇 𝐶𝑢𝑡𝑃 𝑁 𝑂𝑆𝑖𝑛𝑔𝑙𝑒𝑠 for the respective fragments automatically gets adjusted based on their respective
𝑇 𝐶𝑢𝑡𝑃 𝑁 𝑂 values. The output will be
----------------------
EOM-CCSD RESULTS (RHS)
----------------------
The results are in excellent agreement with the standard EA-EOM-DLPNO-CCSD method.
----------------------
EOM-CCSD RESULTS (RHS)
----------------------
To get the reasonable accuracy in multi-layer EA-EOM-CCSD one need to treat the environment and inter-fragment
interaction atleast at 𝐿𝑜𝑜𝑠𝑒𝑃 𝑁 𝑂𝐹 𝑟𝑎𝑔𝐼𝑛𝑡𝑒𝑟 level.
The singles Fock matrix can be obtained via transformation from its counterpart (𝐺(t1 )𝜇𝜈 ) in the atomic orbital
(AO) basis
∑︁ 𝑗 ∑︁
𝐺(t1 )𝜇𝜈 = 𝑡𝑏 (2(𝜇𝜈|𝑗𝑏) − (𝜇𝑗|𝜈𝑏)) = 𝑃 (t1 )𝜅𝜏 (2(𝜇𝜈|𝜅𝜏 ) − (𝜇𝜅|𝜈𝜏 )), (7.148)
𝑗𝑏 𝜅𝜏
where
∑︁
𝑃 (t1 )𝜅𝜏 = 𝑡𝑗𝑏 𝑐𝑗𝜅 𝑐𝑏𝜏
𝑗𝑏
is the analogue of the SCF density matrix for the singles Fock case. For the singles Coulomb (𝐽(t1 )𝜇𝜈 ) case,
the density may be symmetrized (𝑃˜ (t1 )𝜅𝜏 = 𝑃 (t1 )𝜅𝜏 + 𝑃 (t1 )𝜏 𝜅 ), and one may use the resolution of identity
approximation
∑︁ ∑︁ ∑︁
−1 −1 −1
𝐽(t1 )𝜇𝜈 = 𝑃˜ (t1 )𝜅𝜏 (𝜇𝜈|𝜅𝜏 ) ≈ 𝑃˜ (t1 )𝜅𝜏 (𝜇𝜈|𝑟12 |𝐴)𝑉𝐴𝐵 (𝐵|𝑟12 |𝜅𝜏 ),
𝜅𝜏 𝐴𝐵 𝜅𝜏
where 𝐴, 𝐵 are elements of the RI/DF auxiliary fitting basis. Note that the factor of 2 in ((7.148)) is taken care
of by symmetrization. Since we are using a symmetric density, we may use the same efficient routine to evaluate
the singles Coulomb term as in the SCF case, see Using the RI-J Approximation to the Coulomb Part and The
Split-RI-J Coulomb Approximation.
For the exchange case (𝐾(t1 )𝜇𝜈 ), one possibility is to use the COSX approximation (see Using the RI Approxima-
tion for Hartree-Fock and Hybrid DFT (RIJCOSX))
∑︁ ∑︁ ∑︁ ∑︁
𝐾(t1 )𝜇𝜈 = 𝑃 (t1 )𝜅𝜏 (𝜇𝜅|𝜈𝜏 ) ≈ 𝑄𝜇𝑔 𝐴𝜈𝜏 (r𝑔 ) 𝑃 (t1 )𝜅𝜏 𝑋𝜅𝑔 ,
𝜅𝜏 𝑔 𝜏 𝜅
The COSX routine is able to deal with asymmetric densities as well, and thus, it can be used here similar to the
SCF case.
The other possibility is to use RI for exchange (RIK),
∑︁ ∑︁
−1 −1 −1 ˜
𝐾(t1 )𝜇𝜈 = 𝑐𝑗𝜅 𝐶(t1 )𝑗𝜏 (𝜇𝜅|𝜈𝜏 ) ≈ (𝜇𝑗|𝑟12 |𝐴)𝑉𝐴𝐵 (𝐵|𝑟12 |𝜈 𝑗),
𝑗𝜅𝜏 𝑗𝐴𝐵
where
∑︁
𝐶(t1 )𝑗𝜏 = 𝑡𝑗𝑏 𝑐𝑏𝜏 ,
𝑏
Here, ⃒Ψ𝑆𝐼 is the CASSCF 𝑁 -electron wavefunction for state 𝐼 with total spin S. The set of ⃒Φ𝑆𝑘 is a set of
⃒ ⟩︀ ⃒ ⟩︀
configuration state functions (for example linear combination of Slater determinants) each adapted to a total spin
𝑆. The expansion coefficients 𝐶𝑘𝐼 represent the first set of variational parameters. Each CSF is constructed from
a common set of orthonormal molecular orbitals 𝜓𝑖 (r) which are in turn expanded in basis functions 𝜓𝑖 (r) =
𝜇 𝑐𝜇𝑖 𝜑𝜇 (r). The MO coefficients 𝑐𝜇𝑖 form the second set of variational parameters.
∑︀
The energy. The energy of the CASSCF wavefunction is given by the Rayleigh quotient
⟨ ⃒ ⃒ ⟩
⃒ˆ ⃒ 𝑆
Ψ𝑆𝐼 ⃒𝐻 BO Ψ 𝐼
(7.150)
⃒
𝐸 (c, C) = ⟨︀ 𝑆 ⃒ 𝑆 ⟩︀ ,
Ψ𝐼 Ψ𝐼
⃒
and represents an upper bound to the true total energy. However, CASSCF calculations are not designed to provide
values for total energy which are close to the exact energy. The purpose of a CASSCF calculation is to provide a
qualitatively correct wavefunction, which forms a good starting point for a treatment of dynamic electron correla-
tion.
The CASSCF method is fully variational in the sense that the energy is made stationary with respect to variations
in both sets of MO and CI coefficients. At convergence, the gradient of the energy with respect to the MO and CI
coefficients vanishes
𝜕𝐸 (c, C)
= 0, (7.151)
𝜕𝑐𝜇𝑖
𝜕𝐸 (c, C)
= 0. (7.152)
𝜕𝐶𝑘𝐼
Orbital spaces. In CASSCF calculations, the MO space is divided into three user defined subspaces:
• The “inactive orbitals” are the orbitals which are doubly occupied in all configuration state functions (labels
𝑖, 𝑗, 𝑘, 𝑙).
• The “active orbitals” are the orbitals with variable occupation numbers in the various CSFs (labels 𝑡, 𝑢, 𝑣, 𝑤).
• The “external orbitals” (labels 𝑎, 𝑏, 𝑐, 𝑑)
Note that in older publications, the inactive and active orbitals are distinguished and referred to as “internal” or-
bitals.
The wavefunction and energy is invariant with respect to unitary transformations within the three subspaces. The
special feature of a CASSCF wavefunction is that a fixed number of electrons is assigned to each subspace. The
internal subspace is of course completely filled but the CSFs in the active space constitute a full-CI of 𝑛-electrons
in 𝑚-orbitals. The CSF list is constructed such, however, that a wavefunction of well defined total spin (and
potential space) symmetry results. Such a wavefunction is referred to as a CASSCF(𝑛,𝑚) wavefunction. The
CSF list grows extremely quickly with the number of active orbitals and the number of active electrons (basically
7.15. The Complete Active Space Self-Consistent Field (CASSCF) Module 571
ORCA Manual, Release 6.0
factorially). Depending on the system, the limit of feasibility is roughly around ∼14 active orbitals or about one
million CSFs in the active space. Larger active spaces are tractable with approximate CI solver such as the Iterative-
Configuration-Expansion CI (ICE-CI) described in Approximate Full CI Calculations in Subspace: ICE-CI or the
Density Matrix Renormalization Group (DMRG) discussed in Density Matrix Renormalization Group.1
Since the orbitals within the subspaces are only defined up to a unitary transformation, the program needs to make
some canonicalization choice.
In ORCA, the final orbitals by default are:
1. natural orbitals in the active space,
2. orbitals which diagonalize the CASSCF Fock matrix in the internal space and
3. orbitals which diagonalize the CASSCF Fock matrix in the external space.
State averaging. In many circumstances, it is desirable to optimize the orbitals not for a single state but for the
average of several states. In order to see what is done, the energy for state 𝐼 is re-written as:
∑︁ ∑︁
𝐸𝐼 (c, C) = Γ𝑝(𝐼)
𝑞 ℎ𝑝𝑞 + 𝑝𝑟(𝐼)
Γ𝑞𝑠 (𝑝𝑞 |𝑟𝑠 ) (7.153)
𝑝𝑞 𝑝𝑞𝑟𝑠
𝑝(𝐼) 𝑝𝑟(𝐼)
Here, Γ𝑞 and Γ𝑞𝑠 are the one-and two-particle reduced electron density matrices for this state (labels 𝑝, 𝑞, 𝑟, 𝑠
span the internal and active subspaces):
1 ⟨︀ 𝑆 ⃒⃒ 𝑝 𝑟
Ψ𝐼 𝐸𝑞 𝐸𝑠 − 𝛿𝑞𝑟 𝐸𝑠𝑝 ⃒ Ψ𝑆𝐼
Γ𝑝𝑟(𝐼) (7.155)
⃒ ⟩︀
𝑞𝑠 =
2
The average energy is simply obtained from averaging the density matrices using arbitrary weights 𝑤𝐼 that are user
defined but are constrained to sum to unity.
∑︁
Γ𝑝(𝑎𝑣)
𝑞 = 𝑤𝐼 Γ𝑝(𝐼)
𝑞 (7.156)
𝐼
∑︁
𝑝𝑟(𝑎𝑣)
Γ𝑞𝑠 = 𝑤𝐼 Γ𝑝𝑟(𝐼)
𝑞𝑠 (7.157)
𝐼
∑︁
𝑤𝐼 = 1 (7.158)
𝐼
Optimization of CASSCF wavefunctions. In general, except for trivial cases, CASSCF wavefunctions are con-
siderably more difficult to optimize than RHF (or UHF) wavefunctions. The underlying reason is that variations
in c and C maybe strongly coupled and the energy functional may have many local minima in (c,C) space. Conse-
quently, the choice of starting orbitals is of really high importance and the choice which orbitals and electrons are
included in the active space has decisive influence on the success of a CASSCF study. In general, after transforma-
tion to natural orbitals, one can classify the active space orbitals by their occupation numbers which vary between
0.0 and 2.0. In general, convergence problems are almost guaranteed if orbitals with occupation numbers close
to zero or close to 2.0 are included in the active space. Occupation numbers between 0.02 and 1.98 are typically
very reasonable and should not lead to large convergence problems. The reason for the occurrence of convergence
problems is that the energy is only very weakly dependent on rotations between internal and active orbitals if the
active orbital is almost doubly occupied and similarly for the rotations between external and weakly occupied active
orbitals. However, in some cases (for example in the study of potential energy surfaces) it may not be avoidable
to include weakly or almost inactive orbitals in the active space and in these cases the use of the most powerful
convergence aids is necessary (vide infra). As in the case of single-determinant wavefunctions (RHF, UHF, RKS,
UKS) there are first and second order converging methods available. The first order CASSCF methods require the
transformed integrals (𝑡𝑢|𝑣𝑥) with 𝑥 belonging to any subspace. This is a very small subspace of the total trans-
formed integral list and is readily held in central storage even for larger calculations. On the other hand, second
order CASSCF methods require the integrals (𝑝𝑞|𝑥𝑦) and (𝑝𝑥|𝑞𝑦) (𝑝, 𝑞 = internal, active; 𝑥, 𝑦 = any orbital). This
is a fairly large set of integrals and their generation is laborious in terms of CPU time and disk storage. Second
order CASSCF calculations are therefore more limited in the size of the molecules which can be well treated. It
1 For approximate full CI approaches, CASSCF is neither invariant to active-active rotations nor exactly size-consistent.
would be possible to basically avoid the integral transformation also in the case of second-order CASSCF calcu-
lations and proceed to fully direct calculations. Such calculations may become quite time consuming since there
may be a large number of Fock matrix builds necessary.
The augmented Hessian method (Newton-Raphson) solves the eigenvalue problem:
(︂ )︂ (︂ )︂ (︂ )︂
0 g 1 1
=𝜀 (7.159)
g H t t
Here, g is the orbital gradient (derivative of the total energy with respect to a non-redundant rotation between two
orbitals) and H is the orbital Hessian (second derivative of the energy with respect to two non-redundant orbital
rotations). The vector t (in intermediate normalization obtained from the CI like vector) summarizes the rotation
angles. The angles are used to define the antisymmetric matrix (𝑋𝑝𝑞 = −𝑋𝑞𝑝 is thus the rotation angle between
orbitals 𝑝 and 𝑞):
(︂ )︂
0 t
X= , (7.160)
−t 0
which is used to parametrize the unitary matrix U = exp (X) which is used to update the orbitals according to:
* int 0 1
C 0 0 0 0.00 0.0 0.00
O 1 0 0 1.20 0.0 0.00
H 1 2 0 1.10 120.0 0.00
H 1 2 3 1.10 120.0 180.00
*
Now examine the occupation numbers of the natural orbitals (you will find that in the output of the MP2 part of
the calculation):
Natural Orbital Occupation Numbers:
N[ 0] = 2.00000000
N[ 1] = 2.00000000
N[ 2] = 1.98676733
N[ 3] = 1.97726840
N[ 4] = 1.97500109
N[ 5] = 1.96759239
N[ 6] = 1.96423113
(continues on next page)
7.15. The Complete Active Space Self-Consistent Field (CASSCF) Module 573
ORCA Manual, Release 6.0
A rule of thumb is that orbitals with occupation numbers between 1.98 and 0.02 should be in the active space.
Thus, in the present case we speculate that a 10 electrons in 8 orbitals active space would be appropriate for the
CASSCF of the ground state. Let’s try:
#
# Run a CASSCF calculation for the ground state of H2CO
#
! SVP def2-SVP/C SmallPrint
! moread
%moinp "Test-CASSCF-MP2-H2CO.mp2nat"
%casscf nel 10
norb 8
mult 1
end
* int 0 1
C 0 0 0 0.00 0.0 0.00
O 1 0 0 1.20 0.0 0.00
H 1 2 0 1.10 120.0 0.00
H 1 2 3 1.10 120.0 180.00
*
MACRO-ITERATION 10:
--- Inactive Energy E0 = -82.97337099 Eh
E(CAS)= -113.889438276 Eh DE= -0.000000807
--- Energy gap subspaces: Ext-Act = -0.431 Act-Int = -0.240
N(occ)= 1.99763 1.99696 1.98360 1.97923 1.94253 0.05958 0.02153 0.01894
||g|| = 0.000361782 Max(G)= 0.000189613 Rot=9,2
---- THE CAS-SCF GRADIENT HAS CONVERGED ----
--- FINALIZING ORBITALS ---
---- DOING ONE FINAL ITERATION FOR PRINTING ----
--- Forming Natural Orbitals
--- Canonicalize Internal Space
--- Canonicalize External Space
From which we see that we had two orbitals too many in the active space with occupation numbers very close to
two. The presence of barely correlated orbitals (occupation close to 0.0 or 2.0) can cause convergence problems.
Their inclusion in the active space does not significantly change the energy and it might better to omit these orbitals
from the start.
In the present case, we re-run the CASSCF with 6 active electrons in six orbitals. The result is:
MACRO-ITERATION 2:
--- Inactive Energy E0 = -101.16144179 Eh
E(CAS)= -113.882700257 Eh DE= -0.012049926
--- Energy gap subspaces: Ext-Act = -0.411 Act-Int = -0.142
N(occ)= 1.98172 1.97921 1.94092 0.05983 0.02089 0.01743
||g|| = 0.052811635 Max(G)= 0.025065586 Rot=19,7
(continues on next page)
MACRO-ITERATION 3:
--- Inactive Energy E0 = -100.78371592 Eh
E(CAS)= -113.885011169 Eh DE= -0.002310912
--- Energy gap subspaces: Ext-Act = -0.434 Act-Int = -0.199
N(occ)= 1.98150 1.97909 1.94143 0.05924 0.02108 0.01766
||g|| = 0.017438409 Max(G)= 0.009231446 Rot=10,4
--- Orbital Update [SuperCI(PT)]
--- Canonicalize Internal Space
--- Canonicalize External Space
--- SX_PT (Skipped TA=0 IT=0): ||X|| = 0.050337699 Max(X)(6,2) = -0.033671129
--- SFit(Active Orbitals)
MACRO-ITERATION 4:
--- Inactive Energy E0 = -100.72313195 Eh
E(CAS)= -113.885258854 Eh DE= -0.000247685
--- Energy gap subspaces: Ext-Act = -0.438 Act-Int = -0.219
N(occ)= 1.98141 1.97918 1.94178 0.05886 0.02102 0.01776
||g|| = 0.009726271 Max(G)= 0.004281706 Rot=9,2
--- Orbital Update [SuperCI(PT)]
--- Canonicalize Internal Space
--- Canonicalize External Space
--- SX_PT (Skipped TA=0 IT=0): ||X|| = 0.031123960 Max(X)(22,9) = 0.015789781
--- SFit(Active Orbitals)
MACRO-ITERATION 5:
--- Inactive Energy E0 = -100.65264536 Eh
E(CAS)= -113.885424851 Eh DE= -0.000165997
--- Energy gap subspaces: Ext-Act = -0.440 Act-Int = -0.238
N(occ)= 1.98140 1.97918 1.94202 0.05857 0.02105 0.01776
||g|| = 0.006606671 Max(G)= 0.003548636 Rot=9,2
--- Orbital Update [SuperCI(PT)]
--- Canonicalize Internal Space
--- Canonicalize External Space
--- SX_PT (Skipped TA=0 IT=0): ||X|| = 0.019988497 Max(X)(6,2) = -0.014410848
--- SFit(Active Orbitals)
MACRO-ITERATION 6:
--- Inactive Energy E0 = -100.56070274 Eh
E(CAS)= -113.885549550 Eh DE= -0.000124699
--- Energy gap subspaces: Ext-Act = -0.440 Act-Int = -0.268
N(occ)= 1.98138 1.97925 1.94206 0.05849 0.02104 0.01778
||g|| = 0.004483296 Max(G)= 0.002939015 Rot=9,2
--- Orbital Update [SuperCI(PT)]
--- Canonicalize Internal Space
--- Canonicalize External Space
--- SX_PT (Skipped TA=0 IT=0): ||X|| = 0.011383690 Max(X)(5,4) = 0.005997355
--- SFit(Active Orbitals)
MACRO-ITERATION 7:
--- Inactive Energy E0 = -100.52522560 Eh
E(CAS)= -113.885583124 Eh DE= -0.000033574
--- Energy gap subspaces: Ext-Act = -0.437 Act-Int = -0.283
N(occ)= 1.98132 1.97929 1.94192 0.05861 0.02103 0.01783
||g|| = 0.002275031 Max(G)= -0.001215398 Rot=10,4
--- Orbital Update [SuperCI(PT)]
(continues on next page)
7.15. The Complete Active Space Self-Consistent Field (CASSCF) Module 575
ORCA Manual, Release 6.0
MACRO-ITERATION 8:
--- Inactive Energy E0 = -100.52457962 Eh
E(CAS)= -113.885584276 Eh DE= -0.000001152
--- Energy gap subspaces: Ext-Act = -0.438 Act-Int = -0.283
N(occ)= 1.98134 1.97931 1.94184 0.05868 0.02101 0.01781
||g|| = 0.000752012 Max(G)= -0.000357510 Rot=13,4
---- THE CAS-SCF GRADIENT HAS CONVERGED ----
--- FINALIZING ORBITALS ---
---- DOING ONE FINAL ITERATION FOR PRINTING ----
--- Forming Natural Orbitals
--- Canonicalize Internal Space
--- Canonicalize External Space
MACRO-ITERATION 9:
--- Inactive Energy E0 = -100.52457962 Eh
--- All densities will be recomputed
E(CAS)= -113.885584276 Eh DE= -0.000000000
--- Energy gap subspaces: Ext-Act = -0.858 Act-Int = -0.283
N(occ)= 1.98172 1.97932 1.94207 0.05845 0.02100 0.01743
||g|| = 0.000752012 Max(G)= -0.000327367 Rot=12,4
--------------
CASSCF RESULTS
--------------
The calculation converges very quickly and the occupation numbers show you that all of these orbitals are actually
needed in the active space. The omission of the two orbitals from the active space came at an increase of the energy
by ∼4 mEh which seems to be tolerable. Let’s look what we have in the active space in figure Fig. 7.4.
Fig. 7.4: Orbitals of the active space for the CASSCF(6,6) calculation of H2 CO.
Thus, we can see that we got a fairly nice result: our calculation has correlated the in-plane oxygen lone pair, the
C-O 𝜎 and the C-O 𝜋 bond. For each strongly occupied bonding orbital, there is an accompanying weakly occupied
antibonding orbital in the active space that is characterized by one more node. In particular, the correlating lone
pair and the C-O 𝜎 * orbital would have been hard to find with any other procedure than the one chosen based on
natural orbitals. We have now done it blindly and looked at the orbitals only after the CASSCF — a better approach
is normally to look at the starting orbitals before you enter a potentially expensive CASSCF calculation. If you have
bonding/antibonding pairs in the active space plus perhaps the singly-occupied MOs of the system you probably
have chosen a reasonable active space.
We can play the game now somewhat more seriously and optimize the geometry of the molecule using a reasonable
basis set:
%casscf nel 6
norb 6
end
* int 0 1
C 0 0 0 0.00 0.0 0.00
O 1 0 0 1.20 0.0 0.00
H 1 2 0 1.10 120.0 0.00
H 1 2 3 1.10 120.0 180.00
*
and get:
7.15. The Complete Active Space Self-Consistent Field (CASSCF) Module 577
ORCA Manual, Release 6.0
---------------------------------------------------------------------------
Redundant Internal Coordinates
Let us compare to MP2 geometries (this job was actually run first):
! RI-MP2 def2-TZVP def2-TZVP/C Opt
* int 0 1
C 0 0 0 0.00 0.0 0.00
O 1 0 0 1.20 0.0 0.00
H 1 2 0 1.10 120.0 0.00
H 1 2 3 1.10 120.0 180.00
*
-------------------------------------------------------------------------
Redundant Internal Coordinates
The results are actually extremely similar (better than 1 pm agreement). Compare to RHF:
---------------------------------------------------------------------------
Redundant Internal Coordinates
Thus, one can observe that the correlation brought in by CASSCF or MP2 has an important effect on the C=O
distance (∼4 pm), while the rest of the geometry is not much affected.
More on the technical use of the CASSCF program.
The most elementary input information which is always required for CASSCF calculations is the specification of
the number of active electrons and orbitals.
%casscf nel 4 # number of active space electrons
norb 6 # number of active orbitals
end
The CASSCF program in ORCA can average states of several multiplicities. The multiplicities are given as a list.
For each multiplicity the number of roots should be specified:
%casscf mult 1,3 # here: multiplicities singlet and triplet
If the symmetry handling in ORCA is enabled (! UseSym) each multiplicity block must have an irreducible rep-
resentation assigned. Numbers corresponding to the “irrep” within a given symmetry are printed in the output of
ORCA.
%casscf mult 1,3 # here: multiplicities singlet and triplet
irrep 0,1 # here: irrep for each mult. block (mandatory!)
nroots 4,2 # four singlets, two triplets
Several roots and multiplicities usually imply a state average CASSCF (SA-CASSCF) calculation. Note that the
program by default chooses equal weights for the multiplicity blocks. Roots within a given block have equal weight.
Users can define a custom weighting scheme for the multiplicity blocks and roots:
%casscf mult 1,3 # here: multiplicities singlet and triplet
nroots 4,2 # four singlets, two triplets
bweight 2,1 # singlets and triplets weighted 2:1
weights[0] = 0.5,0.2,0.2,0.2 # singlet weights
weights[1] = 0.7,0.3 # triplet weights
end
The program automatically normalizes these weights such that the sum over all weights is unity. If convergence
on an excited state is desired then the weights[0] array may look like 0.0,0.0,1.0 (this would optimize the
orbitals for the third excited state. If several states cross during the orbital optimization this will ultimately cause
convergence problems.
We note passing that the converged orbitals of the state averaged procedure are a compromise for the set of states.
ORCA by default only prints the SA-CASSCF gradient norm. State-specific gradients are summarized at the end
of the calculation with the keyword PrintGState.
%casscf
...
printgstate true # optional printing of the state-specific orbital gradients
end
Orbital optimization methods. In the following we discuss the available options for orbital optimization. A num-
ber of convergence problems can be resolved changing the guess orbitals. The following keywords are optional
and should only be used facing severe convergence difficulties. Aside from the SuperCI_PT (default),[459]
several orbital optimization methods (list below) are implemented.
7.15. The Complete Active Space Self-Consistent Field (CASSCF) Module 579
ORCA Manual, Release 6.0
The different convergers have different strengths. First order method are cheap but typically require more iterations
compared to second order methods. When the gradient is far off from convergence the program uses the converger
defined as orbstep while close to convergence the switchstep is used. The actual criteria for switchstep are
defined with the keywords SwitchConv and SwitchIter.
%casscf
OrbStep SuperCI # or any other from the list above
SwitchStep DIIS # or any other from the list above
Picking a convergence strategy, the program has to balance speed and robustness. The default strategy uses the
SuperCI_PT as converger for orbstep and switchstep.[459] This approach determines the elements 𝑋𝑝𝑞 of the
anti-Hermitean matrix used in the orbital update according to
C𝑛𝑒𝑤 = C𝑜𝑙𝑑 𝑒X
In case of convergence problems with the default settings, it is recommended to try the combination of orbstep
SuperCI and switchstep DIIS, which in conjuction with a large level shift (2 Eh), which may be immediately
successful. The proposed scheme typically requires more iterations. Moreoever, in contrast to the SuperCI(PT),
the SuperCI, DIIS and KDIIS should not be used when the active orbitals have an occupation of exactly 2.0 or 0.0!
The DIIS may sometimes converge slowly or “trail” towards the end such that real convergence is never reached.
The KDIIS [452, 453] — based on perturbation theory — is an approximation to the regular DIIS procedure
avoiding redundant rotations. Both DIIS schemes avoid linear dependencies in the expansion space.
MaxDIIS 15 # max. no of DIIS vectors to keep
DIISThresh 1e-7 # overlap criteria for linear dependency
The combination of SuperCI and DIIS (switchstep) is particularly suited to protect the active space composi-
tion. Adjusting the level shift will do the job. Here, level shift is the single most important lever to control
convergence.
Level-shift is particularly important if the active, inactive and virtual orbitals overlap in their orbital energies. The
energy separation of the subspaces is printed in the output. Ideally, the entries Ext-Act and Act-Int should be
positive and larger than 0.2 Eh. This will help the program to preserve your active space composition throughout
the iterations. If no shift is specified in the input, ORCA will choose a level-shift to guarantee an energy separation
between the subspaces (MinShift).
E(CAS)= -230.590325053 Eh DE= -0.000798832
--- Energy gap subspaces: Ext-Act = -0.244 Act-Int = -0.002
--- current l-shift: Up(Ext-Act) = 0.54 Dn(Act-Int) = 0.30
In difficult cases the use of the Newton-Raphson method (NR) is recommended even if each individual iteration is
considerably more expensive. It is strong towards the end but it would be a waste to start orbital optimization with
the expensive NR method since its radius of quadratic convergence is quite small. The computationally cheaper
alternative is the SOSCF procedure belonging to the family of quasi-Newton updates.
Keep in mind that the Newton-Raphson is designed for optimization on a convex surface (Hessian is semidefinite).
If the NR is switched on too early, there is a good chance that this condition is not fulfilled. In this case the program
will complain about negative eigenvalues or diagonal elements of the Hessian as can be seen in the snippet below.
The next optimization step is large and unpredictable. It is a wildcard that can get you closer to convergence or
immediate divergence of the CASSCF procedure.
||g|| = 0.771376945 Max(G)= 0.216712933 Rot=140,53
--- Orbital Update [ NR]
Warning: NEGATIVE diagonal element D(81,53)= -4.733590
Warning: NEGATIVE diagonal element D(82,53)= -4.737955
...
For larger system, the augmented Hessian equations are solved iteratively (NR iterations). The augmented Hes-
sian is considered solved when the residual norm, < 𝑟|𝑟 >, is small enough. Aside from the overall CASSCF
convergence, negative eigenvalues affect these NR iterations.
--- Orbital Update [ NR]
AugHess Tolerance (auto): Tol= 1.00e-07
AUGHESS-ITER 0: E= -0.174480747 <r|r>= 0.558679452
AUGHESS-ITER 1: E= -0.308672359 <r|r>= 0.468254671
AUGHESS-ITER 2: E= -0.434272813 <r|r>= 0.286305469
AUGHESS-ITER 3: E= -0.439149451 <r|r>= 0.286514628
AUGHESS-ITER 4: E= -0.605787445 <r|r>= 0.191691955
AUGHESS-ITER 5: E= -0.607766529 <r|r>= 0.310450670
AUGHESS-ITER 6: E= -0.611674930 <r|r>= 0.141402593
AUGHESS-ITER 7: E= -0.623145299 <r|r>= 0.394505306
AUGHESS-ITER 8: E= -0.658410333 <r|r>= 0.166915094
AUGHESS-ITER 9: E= -0.790571374 <r|r>= 4.722929453
AUGHESS-ITER 10: E= -0.790590554 <r|r>= 4.716012014
AugHess: No convergence in the Davidson procedure
...
There are a number of refined NR settings that influence the convergence behavior on a non-convex energy surface.
We mention the keywords for completeness and dis-encourage from changing the default settings. If overall conver-
gence cannot be changed due to negative eigenvalues, it is recommended to delay the NR switchstep (switchconv,
switchiter). This will require some trial and error, since the curvature of the surface is a priori not know.
%casscf
...
aughess
Solver 0 # Davidson (default)
(continues on next page)
7.15. The Complete Active Space Self-Consistent Field (CASSCF) Module 581
ORCA Manual, Release 6.0
In general, convergence is strongly influenced by numerical noise, especially in the final iterations. One source
of numerical noise is the incremental Fock build. Thus, it can help to enforce more frequent full Fock matrix
formation.
If the orbital change in the active space is small, the active Fock matrix in ORCA is approximated using the density
matrix from the previous cycle saving a second Fock matrix build. However, this approximation might also be
a source of numerical instability. The threshold “SwitchDens” can be set to zero to enable the exact build. The
program default starts with a rather large value (1e-2) and will reduce this parameter automatically when necessary.
In all of the implemented orbital optimization schemes the step-size correlates with the gradient-norm. A constant
damping factor can be set with the keyword GradScaling. Note, damping and level shifting techniques are not
recommended for the default converger (SuperCI_PT).
There are situations when the active space has been chosen carefully, but the initial gradient is still far off. To keep
the “good” active space, we can suppress all rotation but the inactive-external ones until the gradient-norm is small
enough to continue safely. The threshold can be set with FreezeIE keyword. Once the components of the gradient
in the inactive-external direction have a weight of less than FreezeIE, all constraints are lifted. ORCA by default
freezes active rotations if the total gradient norm is larger than 1.0 and the active rotations have a weight of less
than 5%. The feature can be turned off setting the threshold to zero.
Similarly, rotations of the almost doubly occupied orbitals with the inactive orbitals can be damped using the thresh-
old FreezeActive. Rotations of this type are damped as long as all their weight is smaller than FreezeActive.
In contrast to the ShiftDn, it damps just the “troublesome” parts of internal-active rotations. This option applies
to all of the orbital optimization schemes but the SuperCI_PT.
If the calculation starts from a converged Hartree-Fock orbitals, the core orbitals should not change dramatically
by the CASSCF optimization. Often trailing convergence is associated to rotations with low lying orbitals. Their
contribution to the total energy is fairly small. With the keyword FreezeGrad these rotations can be omitted from
the orbital optimization procedure.
By default rotations with frozencore (or deleted virtuals) are not omitted. If the option FreezeGrad is active, the
ratio with respect to the total gradient is printed.
In addition to maximizing the overlap, "ActConstraints 1" checks if the composition of the active space has
changed i.e. an orbital has been rotated out of the active space. In this case, ORCA aborts and stores the last valid
set of orbitals. Below is an example error message.
7.15. The Complete Active Space Self-Consistent Field (CASSCF) Module 583
ORCA Manual, Release 6.0
In the snippet above, the active space ranges from 37-43. The program reports that orbitals 37,38 and 43 have
changed their character. The overlap of orbital 43 (active) with the previous set of active orbitals is just 3% and the
program aborts. There are a number of reasons, why this happens in the calculation. If this error occurs constantly
with the same orbitals, it is worthwhile to inspect the rotating partner orbitals (visualize). It might be sign that
the active space is not balanced and should be extended. In many instances changing the level-shift or lowering
switchconv is sufficient to protect the active space. In some cases, turning off the sanity check ("ActConstraints
0") and re-rotating orbitals will bring CASSCF closer to convergence. Some problems can be avoided by a better
design of the calculation. The CASSCF tutorial elaborates on the subject in more detail.
There are situations such as parameter scans, where “actconstraints” is counter-productive and should be disabled.
In other words, we want to allow changes in the active space composition. As an example, consider the rotation
of ethylene around its double-bond represented by a CAS(2,2). Although the active space consists of the bonding
and anti-bonding orbitals 𝜋-orbitals, their composition in terms of atomic orbitals changes from the eclipsed to the
staggered conformation. Depending on the actual input settings (orbstep and number of scan points), this might
trigger an abort.
Final orbitals options.
Once the calculation has converged, ORCA will do a final macro-iteration, where the orbital are “finalized”. For
complete active spaces (CAS), these transformations do not alter the final energy and wavefunction. Note, that
solutions from approximate CAS-CI solvers such as the ICE approach or the DMRG ansatz are affected by the
final orbital transformation. The magnitude depends on the truncation level (e.g. TGen, TVar and MaxM) of the
approximated wavefunction. The default final orbitals are canonical in the internal and external space with respect
to state-averaged Fock operator. The active orbitals are chosen as natural orbitals. Other orbital choices are equally
valid and can be selected for the individual subspaces.
#internal space
IntOrbs CanonOrbs # canonical
LocOrbs # localized
unchanged # no changes
#external space
ExtOrbs CanonOrbs # canonical
LocOrbs # localized
unchanged # no changes
SDOs are specific for the active orbital space.[491] The set of options (PMOS, OSZ, DOI, DoubelShell) are
specific for the inactive and external space. They aim to assist the extension of the current active space. All four
options, re-design the first NOrb (number of active orbitals) next to the active space, while the remaining orbitals
of the same subspace are canonical. The re-designed orbital are based on different concepts.
• PMOS generates the bonding / anti-bonding partner orbitals for the chosen active space. It is based on the
orthogonalization tail of the active orbitals.
• OSZ generates a single orbital for each active orbital, that maximizes the dipole-dipole interaction.
• DOI follows the same principle as OSZ, but the differential overlap is maximized instead.
• DoubleShell is specific to the external space. The highest active MO or DoubleShellMO is analyzed. A
set of orbitals with the same angular momentum but larger radial distribution is generated.
Optionally, the four options above can be supplemented with a reference MO using the keyword RefMO/
DoubleShellMO. The presence of RefMO/DoubleShellMO changes the default behavior. In case of PMOS, OSZ
and DOI, all orbitals of the given subspace are chosen to maximize a single objective function with respect to the
reference MO (must be active). This contrasts the default settings, where for each active MO an objective function
is maximized and a single “best” orbital is picked. In other words, in the default setting, each active orbital has a
corresponding “best” orbital in the selected subspace neighboring the active space.
The aforementioned options are aids and the resulting orbitals should be inspected prior extension of the active
space. In particular the PMOS option is useful in the context of transition metal complexes to find suitable Lig-
and based orbitals. There are more options (dorbs, forbs, DoubleShell), that are specifically designed for
coordination chemistry. A more detailed description is found in the CASSCF tutorial that supplements the manual.
If the active space consists of a single set of metal d-orbitals, natural orbitals may be a mixture of the d-orbitals.
The active orbitals are remixed to obtain “pure” d-orbitals (ligand field orbitals) if the actorbs is set to dorbs.
The same holds for f-orbitals and the option forbs. Furthermore, the keyword dorbs automatically triggers the
ab initio ligand field analysis (AILFT).[57, 490]The approach has been reported in a number of applications.[53,
56, 154, 169, 170, 428, 799, 837] Note that the actual representation depends on the chosen axis frame. It is
thus recommended to align the molecule properly. For more details on the AILFT approach, we refer to the AILFT
section (1- and 2-shell Abinitio Ligand Field Theory), the original paper and the CASSCF tutorial, where examples
are shown. For a few applications, a printing of the complete wavefunction is useful and can be requested.
The CI-step default setting is CSF based and is done in the present program by generating a partial “formula tape”
which is read in each CI iteration. The tape may become quite large beyond several hundred thousand CSFs which
limits the applicability of the CASSCF module. The accelerated CI (ACCCI) has the same limitations, but uses a
slightly different algorithm that handles multi-root calculations much more efficiently. For now, properties (spin-
orbit coupling, g-Tensor. . . ) as well as NEVPT2 corrections are not available with ACCCI. Nevertheless, it is the
recommended option to converge a CASSCF calculation with multiple roots. The resulting .gbw file may be used
in a successive run to obtain properties or NEVPT2 corrections.
Larger active spaces are tractable with the DMRG approach or the iterative configuration expansion (ICE) devel-
oped in our own group.[171, 172] DMRG and ICE return approximate full CI results. The maximum size of the
7.15. The Complete Active Space Self-Consistent Field (CASSCF) Module 585
ORCA Manual, Release 6.0
active space depends on the system and the required accuracy. Active spaces of 10–20 orbitals should be feasible
with both approaches. The CASSCF tutorial covers examples with ACCCI and ICE as CI solvers.
%casscf
CIStep CSFCI # CSF based CI (default)
ACCCI # CSF based CI solver with faster algorithm for multi-root calculations
ICE # CSF based approximate CI -> ICE/CIPSI algorithm
DMRGCI # density matrix renormalization group approach instead of the CI
end
In the ICE approach, the computation of the coupling coefficients is time-consuming and by default repeated in
every macro-iteration. To avoid the reconstruction, it is recommended to once generate a coupling coefficient
library (cclib) and to use it for all of your ICE calculations. The details of the methodology and the cclib are
described in the ICE section Approximate Full CI Calculations in Subspace: ICE-CI.
Detailed settings for the conventional CI solvers (CSFCI, ACCCI, ICE) can be controlled in a sub-block. Not all
of the options and properties are available for CISteps apart from the default! NEVPT2, transition densities
and spin-dependent properties such as spin-orbit coupling are not yet available for ACCCI and ICE.
%casscf ci
MaxIter 64 # max. no. of CI iters.
MaxDim 10 # Davidson expansion space = MaxDim * NRoots
NGuessMat 512 # Initial guess matrix: 512x512
PrintLevel 3 # amount of output during CI iterations
ETol 1e-10 # default 0.1*ETol in CASSCF
RTol 1e-10 # default 0.1*ETol in CASSCF
TGen 1e-4 # ICE generator thresh
TVar 1e-11 # ICE selection thresh, default = TGen*1e-7
end
The CI-step DMRGCI interfaces to the BLOCK program developed in the group of G. K.-L. Chan [156, 157,
296, 789]. A detailed description of the BLOCK program, its input parameters, general information and exam-
ples on the density matrix renormalization group (DMRG) approach, are available in the section Density Matrix
Renormalization Group of the manual.
The implementation of DMRG in BLOCK is fully spin-adapted. However, spin-densities and related properties are
not available in the current version of the BLOCK code. To start a DMRG calculation add the keyword “CIStep
DMRGCI” into a regular CASSCF input. ORCA will set default parameters and generate and input for the BLOCK
program. In general, DMRG is not invariant to rotation in the active space. The program by default will run an
automatic ordering procedure (Fiedler). More and refined options can be set in the dmrg sub-block of CASSCF
— see section Density Matrix Renormalization Group for a complete list of keywords.
%casscf
nel 8
norb 6
mult 3
CIStep DMRGCI
# Detailed settings
dmrg
# more/refined options
...
end
end
It is highly recommended to start the calculation with split-localized orbitals. Any set of starting orbitals (gbw file)
can be localized using the orca_loc program. Typing orca_loc in the shell will return a small help-file with
details on how to setup an input for the localization. Examples for DMRG including the localization are in the
corresponding section of the manual Density Matrix Renormalization Group. The utility program orca_loc is
documented in section orca_loc. Split-localization refers to an independent localization of the internal and virtual
part of the desired active orbitals.
NOTE:
• Let us stress again: it is strongly recommended to first LOOK at your orbitals and make sure that the ones
that will enter the active space are really the ones that you want to be in the active space! Many problems can
be solved by thinking about the desired physical contents of the reference space before starting a CASSCF.
A poor choice of orbitals results in poor convergence or poor accuracy of the results! Choosing the active
orbitals always requires chemical and physical insight into the molecules that you are studying!
• Please try the program with default settings before playing with the more advanced options. If you encounter
convergence problems, have a look into your output, read the warning and see how the gradient and energy
evolves. Increasing MaxIter will not help in many cases.
• Be careful with keywords such as !tightscf, !verytightscf and so on. These keywords set higher
integral thresholds, which is a good idea, but also tighten the CASSCF convergence thresholds. If you do
not need a tighter energy convergence, reset the criteria in the casscf block using ETol. For many applications
an energy convergence beyond 10−7 is unnecessary.
In addition to pseudo-spin 1/2 A-tensors for individual Kramers doublets, the CASSCF module also features the
calculation of “intrinsic” HFC A-tensors for the whole lowest nonrelativistic spin multiplet in the effective Hamil-
tonian approach.[489]
In contrast to the MRCI module, the CASSCF module also supports the calculation of susceptibility tensors at
non-zero magnetic fields. The corresponding keywords are
7.15. The Complete Active Space Self-Consistent Field (CASSCF) Module 587
ORCA Manual, Release 6.0
...
%casscf
...
rel
dosoc true
dosusceptibility true
susctensor_nfields 2 # number of user-defined magnetic fields
susctensor_magfields[0] = 35000,0,0 # 1st user-defined magnetic field
susctensor_magfields[1] = 70000,0,0 # 2nd user-defined magnetic field
end
end
This example input calculates the susceptibility tensor at the two (vector-valued!) magnetic fields (35000,0,0)
and (70000,0,0) (in Gauss). Note that for practical reasons it is necessary to specify the number of user-defined
magnetic fields using the keyword susctensor_nfields.
Until ORCA 4.0 it was possible to access spin-spin couplings only via running CAS-CI type calculations in MRCI.
Converged CASSCF orbitals can be read setting the following flags
%mrci
...
TPre 0.0
citype mrci
newblock 2 *
excitations none
refs CAS(9,8) end
end
soc
DoSSC true # spin-spin coupling
DoSOC true # spin-orbit coupling
...
end
end
* xyz 1 2
C 0 0 0.0
O 0 0 2.3504
*
Starting with ORCA 4.1, spin-spin couplings are also directly accessible in the CASSCF module via the keyword
DoSSC true in the rel subblock. Note that the calculation of SSC requires the definition of an auxiliary basis
set (AuxC auxiliary basis set slot), since it is only implemented in conjunction with RI integrals. A common
way to introduce dynamical correlation for the property computation, is to replace the energies entering the quasi-
degenerate perturbation theory. If the NEVPT2 energy correction is computed in CASSCF, there will be additional
printings where CASSCF energies are replaced by the more accurate NEVPT2 values. Alternatively, these diagonal
energies can be taken from the input file similarly how it is described for the MRCI module. A more detailed
documentation is presented in the MRCI property section.
ò Note
• The program does NOT print the SOC matrix by default! To obtain SOCMEs at the
CASSCF/NEVPT2/. . . levels, please set the PrintLevel in the rel block to at least 2.
*xyz 2 3
Ni 0.0000000000 0.0000000000 0.0000000000
*
The programm after the CASSCF convergence will undergo few important steps and sanity checks which involve
1. an Orbital purification step
2. a Phase correction of the 1 and 2-electron integrals
It is then important from the user’s perspective to monitor that these steps have been succesfully performed. The
relevant parts of the output are provided below:
...
=============================
(continues on next page)
7.15. The Complete Active Space Self-Consistent Field (CASSCF) Module 589
ORCA Manual, Release 6.0
In following the fitted 1-electron energies and SCP parameters also Racah parameters for 1-shells will be printed
at the CASSCF and NEVPT2 levels of theory
------------------------------
AILFT MATRIX ELEMENTS (CASSCF)
--------------------------------
-------------------------------------------------
Slater-Condon Parameters (electronic repulsion) :
-------------------------------------------------
F0dd(from 2el Ints) = 0.980960738 a.u. = 26.693 eV = 215296.0 cm**-1 (fixed)
F2dd = 0.451725025 a.u. = 12.292 eV = 99142.2 cm**-1
F4dd = 0.280604669 a.u. = 7.636 eV = 61585.6 cm**-1
-------------------
Racah Parameters :
-------------------
A(F0dd from 2el Ints) = 0.949782441 a.u. = 25.845 eV = 208453.2 cm**-1
B = 0.006037419 a.u. = 0.164 eV = 1325.1 cm**-1
C = 0.022270212 a.u. = 0.606 eV = 4887.7 cm**-1
C/B = 3.689
-------------------------------------------------------------------------------
-----------------------------------------
The ligand field one electron eigenfunctions:
-----------------------------------------
Orbital Energy (eV) Energy(cm-1) dz2 dxz dyz dx2-y2 dxy
1 0.000 0.0 -0.999978 -0.000164 -0.001934 0.005783 -0.002568
2 0.000 0.0 -0.005768 -0.000269 -0.000262 -0.999967 -0.005788
3 0.000 0.0 0.002600 0.000424 0.001046 0.005773 -0.999979
4 0.000 0.0 0.000241 -0.999246 -0.038831 0.000280 -0.000462
5 0.000 0.0 0.001930 0.038832 -0.999243 0.000246 -0.001022
Ligand field orbitals were stored in ni.3d.casscf.lft.gbw
...
------------------------------
AILFT MATRIX ELEMENTS (NEVPT2)
--------------------------------
-------------------------------------------------
Slater-Condon Parameters (electronic repulsion) :
-------------------------------------------------
F2dd = 0.415943380 a.u. = 11.318 eV = 91289.0 cm**-1
F4dd = 0.259145554 a.u. = 7.052 eV = 56875.9 cm**-1
-------------------
Racah Parameters :
-------------------
B = 0.005550482 a.u. = 0.151 eV = 1218.2 cm**-1
C = 0.020567107 a.u. = 0.560 eV = 4514.0 cm**-1
C/B = 3.705
-------------------------------------------------------------------------------
-----------------------------------------
The ligand field one electron eigenfunctions:
-----------------------------------------
(continues on next page)
7.15. The Complete Active Space Self-Consistent Field (CASSCF) Module 591
ORCA Manual, Release 6.0
Note that:
• At the CASSCF level F0 (and subsequently racah A) is computed from CASSCF 2-electron coulomb integrals
• On the other hand at the NEVPT2 level F0 is not defined hence F0 and racah A are not printed. Below an
alternative using the effective Slater exponnets will be provided.
• The LFT orbitals are saved in *.lft.gbw files which can be processed by the orca_plot to generate orbital
visualization files.
AILFT provides a Fit quality analysis (see the original paper [57, 490])
Note: That at the CASSCF level the AI matrix of free atoms and ions is exactly parameterized in the chosen LFT
parameterization scheme. As a result the RMS AI-LFT fitting errors is expected to be practically zero. This is not
the case when a correlation treatment is chosen like NEVPT2 and the errors are expected to be somewhat larger.
The above is shown below:
------------------------------------------------
COMPARISON OF AB INITIO AND LIGAND FIELD RESULTS
------------------------------------------------
Block 1
---------
AI-Root 0: E(AI)= 0.000 eV -> LF-Root 0: 0.000 eV S= 0.998 Delta= -0.000 eV
AI-Root 1: E(AI)= 0.000 eV -> LF-Root 1: 0.000 eV S= 0.981 Delta= -0.000 eV
AI-Root 2: E(AI)= 0.000 eV -> LF-Root 2: 0.000 eV S= 0.980 Delta= -0.000 eV
AI-Root 3: E(AI)= 0.000 eV -> LF-Root 3: 0.000 eV S= 0.773 Delta= 0.000 eV
AI-Root 4: E(AI)= 0.000 eV -> LF-Root 4: 0.000 eV S= 0.774 Delta= -0.000 eV
AI-Root 5: E(AI)= 0.000 eV -> LF-Root 5: 0.000 eV S= 0.985 Delta= -0.000 eV
AI-Root 6: E(AI)= 0.000 eV -> LF-Root 6: 0.000 eV S= 0.986 Delta= -0.000 eV
AI-Root 7: E(AI)= 2.464 eV -> LF-Root 7: 2.464 eV S= 0.998 Delta= -0.000 eV
AI-Root 8: E(AI)= 2.464 eV -> LF-Root 8: 2.464 eV S= 0.998 Delta= -0.000 eV
AI-Root 9: E(AI)= 2.464 eV -> LF-Root 9: 2.464 eV S= 1.000 Delta= -0.000 eV
RMS error for this block = 0.000 eV = 0.0 cm**-1
Block 2
---------
AI-Root 0: E(AI)= 2.033 eV -> LF-Root 0: 2.033 eV S= 1.000 Delta= -0.000 eV
AI-Root 1: E(AI)= 2.033 eV -> LF-Root 1: 2.033 eV S= 1.000 Delta= -0.000 eV
AI-Root 2: E(AI)= 2.033 eV -> LF-Root 2: 2.033 eV S= 0.903 Delta= -0.000 eV
AI-Root 3: E(AI)= 2.033 eV -> LF-Root 3: 2.033 eV S= 0.967 Delta= -0.000 eV
AI-Root 4: E(AI)= 2.033 eV -> LF-Root 4: 2.033 eV S= 0.935 Delta= -0.000 eV
AI-Root 5: E(AI)= 3.183 eV -> LF-Root 5: 3.183 eV S= 0.996 Delta= -0.000 eV
AI-Root 6: E(AI)= 3.183 eV -> LF-Root 6: 3.183 eV S= 0.999 Delta= -0.000 eV
AI-Root 7: E(AI)= 3.183 eV -> LF-Root 7: 3.183 eV S= 0.996 Delta= -0.000 eV
AI-Root 8: E(AI)= 3.183 eV -> LF-Root 8: 3.183 eV S= 0.999 Delta= -0.000 eV
AI-Root 9: E(AI)= 3.183 eV -> LF-Root 9: 3.183 eV S= 0.999 Delta= -0.000 eV
AI-Root 10: E(AI)= 3.183 eV -> LF-Root 10: 3.183 eV S= 0.995 Delta= -0.000 eV
AI-Root 11: E(AI)= 3.183 eV -> LF-Root 11: 3.183 eV S= 0.992 Delta= -0.000 eV
(continues on next page)
------------------------------------------------
COMPARISON OF AB INITIO AND LIGAND FIELD RESULTS
------------------------------------------------
Block 1
---------
AI-Root 0: E(AI)= -0.000 eV -> LF-Root 0: 0.000 eV S= 0.933 Delta= -0.000 eV
AI-Root 1: E(AI)= 0.000 eV -> LF-Root 1: 0.000 eV S= 0.769 Delta= -0.000 eV
AI-Root 2: E(AI)= 0.001 eV -> LF-Root 2: 0.000 eV S= 0.773 Delta= 0.000 eV
AI-Root 3: E(AI)= 0.001 eV -> LF-Root 3: 0.000 eV S= 0.742 Delta= 0.001 eV
AI-Root 4: E(AI)= 0.002 eV -> LF-Root 4: 0.000 eV S= 0.750 Delta= 0.001 eV
AI-Root 5: E(AI)= 0.003 eV -> LF-Root 5: 0.001 eV S= 0.931 Delta= 0.002 eV
AI-Root 6: E(AI)= 0.003 eV -> LF-Root 6: 0.001 eV S= 0.998 Delta= 0.003 eV
AI-Root 7: E(AI)= 2.195 eV -> LF-Root 7: 2.266 eV S= 1.000 Delta= -0.070 eV
AI-Root 8: E(AI)= 2.195 eV -> LF-Root 8: 2.266 eV S= 0.998 Delta= -0.070 eV
AI-Root 9: E(AI)= 2.195 eV -> LF-Root 9: 2.266 eV S= 0.998 Delta= -0.070 eV
RMS error for this block = 0.039 eV = 311.1 cm**-1
Block 2
---------
AI-Root 0: E(AI)= 1.812 eV -> LF-Root 0: 1.875 eV S= 0.825 Delta= -0.063 eV
AI-Root 1: E(AI)= 1.812 eV -> LF-Root 1: 1.875 eV S= 0.938 Delta= -0.063 eV
AI-Root 2: E(AI)= 1.812 eV -> LF-Root 2: 1.875 eV S= 1.000 Delta= -0.063 eV
AI-Root 3: E(AI)= 1.812 eV -> LF-Root 3: 1.875 eV S= 1.000 Delta= -0.063 eV
AI-Root 4: E(AI)= 1.812 eV -> LF-Root 4: 1.875 eV S= 0.773 Delta= -0.063 eV
AI-Root 5: E(AI)= 2.987 eV -> LF-Root 5: 2.932 eV S= 0.955 Delta= 0.056 eV
AI-Root 6: E(AI)= 2.987 eV -> LF-Root 6: 2.932 eV S= 0.910 Delta= 0.055 eV
(continues on next page)
7.15. The Complete Active Space Self-Consistent Field (CASSCF) Module 593
ORCA Manual, Release 6.0
Several utilities are offered for more specialized tasks that provide better control of the AILFT inputs and outputs:
• Skipping orbital otimization or reading in previously computed orbitals can be requested in two ways:
1. By the !NoIter keyword in the command line
2. By the AILFT_SkipOrbOpt in the ailft block (see example below)
• Estimating F0 SCPs or Racah A from single zeta Slater Exponents can be requested from the
AILFT_EffectveSlaterExponents true keyword in the ailft block
• For the above task the knowledge of the principle quantum numbers is required. This can be specidied in
two ways:
1. By the AILFT_PQN x keyword in the ailft block (x=3 for 3d)
2. By the LFTCase x keyword (LFTCase 3d, ommiting in this way the ActOrbs dOrbs keyword)
Let us see how all the above translates in the above example of the Ni2+ 𝑑8 ion
%casscf
nel 8
norb 5
LFTCase 3d
mult 3,1
nroots 10,15
ailft
#AILFT_SkipOrbOpt true (An alternative to NoIter)
(continues on next page)
*xyz 2 3
Ni 0.0000000000 0.0000000000 0.0000000000
*
By running the above input the fitted 1-electron energies and SCP parameters also Racah parameters for 1-shells
will be printed at the CASSCF and NEVPT2 levels of theory, including F0s and Racah A as estimated from single
zeta effective Slater exponents from the fitted F2dd SCPs.
------------------------------
AILFT MATRIX ELEMENTS (CASSCF)
--------------------------------
-------------------------------------------------
Slater-Condon Parameters (electronic repulsion) :
-------------------------------------------------
-------------------------------------------------------------------------------
Computed Single Zeta Slater Effective Exponents ...
-------------------------------------------------------------------------------
kd(SZ)(from F2dd) = 3.134434893 a.u.
-------------------------------------------------------------------------------
Computed F0s from Single Zeta Slater Effective Exponents ...
-------------------------------------------------------------------------------
F0dd(from F2dd kd(SZ)) = 0.809116820 a.u. = 22.017 eV = 177580.6 cm**-1
F2dd = 0.427107567 a.u. = 11.622 eV = 93739.3 cm**-1
F4dd = 0.264174069 a.u. = 7.189 eV = 57979.5 cm**-1
-------------------------------------------------------------------------------
-------------------
Racah Parameters :
-------------------
A(from F2dd kd(SZ)) = 0.779764145 a.u. = 21.218 eV = 171138.4 cm**-1
B = 0.005721310 a.u. = 0.156 eV = 1255.7 cm**-1
C = 0.020966196 a.u. = 0.571 eV = 4601.5 cm**-1
C/B = 3.665
-------------------------------------------------------------------------------
-----------------------------------------
The ligand field one electron eigenfunctions:
-----------------------------------------
Orbital Energy (eV) Energy(cm-1) dz2 dxz dyz dx2-y2 dxy
1 0.000 0.0 -0.999981 0.000787 -0.001735 0.004390 -0.003810
2 0.000 0.0 0.003811 0.000493 0.000955 0.000497 -0.999992
3 0.000 0.0 0.004388 0.000169 0.000080 0.999990 0.000514
4 0.000 0.0 -0.000750 -0.999810 -0.019460 0.000174 -0.000514
5 0.000 0.0 -0.001754 -0.019459 0.999809 -0.000069 0.000939
Ligand field orbitals were stored in ni.3d.casscf.lft.gbw
(continues on next page)
7.15. The Complete Active Space Self-Consistent Field (CASSCF) Module 595
ORCA Manual, Release 6.0
...
------------------------------
AILFT MATRIX ELEMENTS (NEVPT2)
--------------------------------
-------------------------------------------------
Slater-Condon Parameters (electronic repulsion) :
-------------------------------------------------
-------------------------------------------------------------------------------
Computed Single Zeta Slater Effective Exponents ...
-------------------------------------------------------------------------------
kd(SZ)(from F2dd) = 3.126330433 a.u.
-------------------------------------------------------------------------------
Computed F0s from Single Zeta Slater Effective Exponents ...
-------------------------------------------------------------------------------
F0dd(from F2dd kd(SZ)) = 0.807024751 a.u. = 21.960 eV = 177121.5 cm**-1
F2dd = 0.426003229 a.u. = 11.592 eV = 93496.9 cm**-1
F4dd = 0.262001371 a.u. = 7.129 eV = 57502.7 cm**-1
-------------------------------------------------------------------------------
-------------------
Racah Parameters :
-------------------
A(from F2dd kd(SZ)) = 0.777913487 a.u. = 21.168 eV = 170732.3 cm**-1
B = 0.005723406 a.u. = 0.156 eV = 1256.1 cm**-1
C = 0.020793760 a.u. = 0.566 eV = 4563.7 cm**-1
C/B = 3.633
-------------------------------------------------------------------------------
-----------------------------------------
The ligand field one electron eigenfunctions:
-----------------------------------------
Orbital Energy (eV) Energy(cm-1) dz2 dxz dyz dx2-y2 dxy
1 0.000 0.0 -0.000608 -0.999795 0.017518 0.010019 0.001244
2 0.000 0.9 0.000003 -0.017532 -0.999696 -0.003661 0.016920
3 0.001 4.9 0.065092 -0.009854 0.004898 -0.995782 0.063719
4 0.001 5.0 -0.004126 0.002173 0.016617 0.063640 0.997824
5 0.001 10.5 0.997871 0.000042 -0.000237 0.065225 -0.000030
Ligand field orbitals were stored in ni.3d.nevpt2.lft.gbw
It is also possible to treat only the High Spin states in the d- and f- 1-shell AILFT. Note that not all the cases can be
treated as this renters the different SCP parameters undefined. In the beggining, AILFT will check whether such
case is detected and will drop a warning message
For example in the case of the Fe2+ 𝑑6 ion with an input like the following:
%casscf
nel 6
norb 5
(continues on next page)
*xyz 2 3
Fe 0.0000000000 0.0000000000 0.0000000000
*
WARNING: In AILFT F2dd remains undefined when considering only the HS Multiplicity block
Be Careful with the results!
TIP: If possible use in addition a LS Multiplicity Block
Spin orbit coupling effects (SOC) can be introduced by parametrizing the effective SOC constant 𝜁. As long as
SOC is requested in the rel CASSCF block the respective requested shell effective SOC constant 𝜁 will be computed
at the end of every AILFT calculation
Hence in the above examples one gets:
----------------------------------------------
SPIN ORBIT COUPLING (based on CASSCF orbitals)
----------------------------------------------
7.15. The Complete Active Space Self-Consistent Field (CASSCF) Module 597
ORCA Manual, Release 6.0
-----SOC-CONSTANTS-----
---All Values in cm-1---
ZETA_D = 622.71
------------------------
Starting fron ORCA 5.0 it is also possible in addition to CASSCF and NEVPT2 to employ DCDCAS(2) and
Hermitian QD-NEVPT2 Abinitio Hamiltonians in AILFT Example inputs are provided below for DCDCAS(2):
!def2-SVP def2-SVP/C
%casscf
nel 8
norb 5
actorbs dorbs
mult 3,1
nroots 10,15
dcdcas true
corrorder 2
rel
dosoc true
end
end
*xyz 2 3
Ni 0.0000000000 0.0000000000 0.0000000000
*
!def2-SVP def2-SVP/C
%casscf
nel 8
norb 5
actorbs dorbs
mult 3,1
nroots 10,15
PTMethod sc_nevpt2
PTSettings
QDType QD_VanVleck
end
rel
dosoc true
end
(continues on next page)
*xyz 2 3
Ni 0.0000000000 0.0000000000 0.0000000000
*
Running the above inputs the respective DCDCAS(2) and Hermitian QD-NEVPT2 Hamiltonians will be processed:
Calculating ab initio Hamiltonian matrices ...
------------------------------------------------------------
DCDCAS correction for this block/order is calculated
DCDCAS Hamiltonian of block = 0 and order = 0 is passed
DCDCAS Hamiltonian diagonalized
------------------------------------------------------------
------------------------------------------------------------
DCDCAS correction for this block/order is calculated
DCDCAS Hamiltonian of block = 0 and order = 1 is passed
DCDCAS Hamiltonian diagonalized
------------------------------------------------------------
------------------------------------------------------------
DCDCAS correction for this block/order is calculated
DCDCAS Hamiltonian of block = 0 and order = 2 is passed
DCDCAS Hamiltonian diagonalized
------------------------------------------------------------
------------------------------------------------------------
DCDCAS correction for this block/order is calculated
DCDCAS Hamiltonian of block = 1 and order = 0 is passed
DCDCAS Hamiltonian diagonalized
------------------------------------------------------------
------------------------------------------------------------
DCDCAS correction for this block/order is calculated
DCDCAS Hamiltonian of block = 1 and order = 1 is passed
DCDCAS Hamiltonian diagonalized
------------------------------------------------------------
------------------------------------------------------------
DCDCAS correction for this block/order is calculated
DCDCAS Hamiltonian of block = 1 and order = 2 is passed
DCDCAS Hamiltonian diagonalized
------------------------------------------------------------
...
It should be noted that NEVPT2 and Hermitian QD-NEVPT2 AILFT require a complete saturation of the excitation
space. This implies that if less roots than the required are requested the AILFT analyis will be skipped in these cases.
This is on the contrary not the case in CASSCF or DCDCAS(2) in which AILFT can operate under incomplete
saturation of the excitation space.
Calculating ab initio Hamiltonian matrices ...
WARNING: Number of NEVPT2 roots for block 0 (5) is not equal to the number of CASCI CSFs (10)!
(continues on next page)
7.15. The Complete Active Space Self-Consistent Field (CASSCF) Module 599
ORCA Manual, Release 6.0
WARNING: Number of NEVPT2 roots for block 1 (2) is not equal to the number of CASCI CSFs (15)!
Skipping AILFT analysis with NEVPT2 energies!
%method
frozencore fc_none
end
%scf
rotate
{0,8,90}
end
end
%casscf
nel 10
norb 6
mult 3,1
nroots 100,100
LFTCase 1s3d
rel
dosoc true
end
end
*xyz 2 3
Ni 0.0000000000 0.0000000000 0.0000000000
*
In following the AI-LFT Hamiltonians are constructed and the LFT parameters are fitted at the CASSCF and at the
NEVPT2 levels of theory
------------------------------
AILFT MATRIX ELEMENTS (CASSCF)
--------------------------------
-------------------------------------------------
Slater-Condon Parameters (electronic repulsion) :
-------------------------------------------------
F0ss = 17.137989284 a.u. = 466.348 eV = 3761353.9 cm**-1
F0dd = 0.809116820 a.u. = 22.017 eV = 177580.6 cm**-1
F2dd = 0.427107567 a.u. = 11.622 eV = 93739.3 cm**-1
F4dd = 0.278548413 a.u. = 7.580 eV = 61134.3 cm**-1
F0sd = 1.285327742 a.u. = 34.976 eV = 282096.8 cm**-1
G2sd = 0.001928559 a.u. = 0.052 eV = 423.3 cm**-1
R2sddd = 0.003748289 a.u. = 0.102 eV = 822.7 cm**-1
-----------------------------------------
The ligand field one electron eigenfunctions:
-----------------------------------------
Orbital Energy (eV) Energy(cm-1) s dz2 dxz dyz dx2-y2 ␣
˓→ dxz
1 0.000 0.0 -1.000000 -0.000000 0.000000 -0.000000 -0.000000 0.
˓→000000
7.15. The Complete Active Space Self-Consistent Field (CASSCF) Module 601
ORCA Manual, Release 6.0
...
------------------------------
AILFT MATRIX ELEMENTS (NEVPT2)
--------------------------------
-------------------------------------------------
Slater-Condon Parameters (electronic repulsion) :
-------------------------------------------------
F0ss = 16.677683435 a.u. = 453.823 eV = 3660328.4 cm**-1
F0dd = 0.806859685 a.u. = 21.956 eV = 177085.2 cm**-1
F2dd = 0.425916096 a.u. = 11.590 eV = 93477.8 cm**-1
F4dd = 0.277771367 a.u. = 7.559 eV = 60963.8 cm**-1
F0sd = 1.424742585 a.u. = 38.769 eV = 312694.9 cm**-1
G2sd = 0.025339297 a.u. = 0.690 eV = 5561.3 cm**-1
R2sddd = 0.003739506 a.u. = 0.102 eV = 820.7 cm**-1
-----------------------------------------
The ligand field one electron eigenfunctions:
-----------------------------------------
Orbital Energy (eV) Energy(cm-1) s dz2 dxz dyz dx2-y2 ␣
˓→ dxz
1 0.000 0.0 1.000000 0.000000 -0.000000 -0.000000 -0.000000 -0.
˓→000000
As discussed above saturation of the excitation space is a requirement also in the case of 2-shell AILFT. It is usually
enough to specify a large number of roots for two multiplicites (e.g. 100 singlets and triplets in the above example)
The exact number of roots will be automatically detected.
Multiplicity ... 3
#(Configurations) ... 15
#(CSFs) ... 15
#(Roots) ... 100
WARNING (ORCA_CASSCF): NRoots > NCSFs. Adjusting to maximum number of roots. Please check the␣
˓→output carefully!
#(Roots) ... 15
(continues on next page)
#(Roots) ... 21
ROOT=0 WEIGHT= 0.023810
ROOT=1 WEIGHT= 0.023810
ROOT=2 WEIGHT= 0.023810
ROOT=3 WEIGHT= 0.023810
ROOT=4 WEIGHT= 0.023810
ROOT=5 WEIGHT= 0.023810
ROOT=6 WEIGHT= 0.023810
ROOT=7 WEIGHT= 0.023810
ROOT=8 WEIGHT= 0.023810
ROOT=9 WEIGHT= 0.023810
ROOT=10 WEIGHT= 0.023810
ROOT=11 WEIGHT= 0.023810
ROOT=12 WEIGHT= 0.023810
ROOT=13 WEIGHT= 0.023810
ROOT=14 WEIGHT= 0.023810
ROOT=15 WEIGHT= 0.023810
ROOT=16 WEIGHT= 0.023810
ROOT=17 WEIGHT= 0.023810
ROOT=18 WEIGHT= 0.023810
ROOT=19 WEIGHT= 0.023810
ROOT=20 WEIGHT= 0.023810
However very often the required number of states to be computed in the framework of NEVPT2 type of calculations
are quite large. In these cases a Hamiltonian reduction process on the basis of the Restrictive Active Space (RAS)
is required. In fact all LFT parameters can be determined by considering up to double excitations from the donor-
shell.
Let us consider the 2p3d case of the Fe2+ 𝑑6 ion. Saturation of the active space requires to consider 70 triplet and
378 singlet states. Restriction of the active space to only up to double excitations from the 2p-shell results in 65
quintet and 330 triplet states. The Hamiltonian reduction can be requested in the ailft block:
ailft
AILFT_Dimension 2 # Up to double excitations from the donor shell
Other options:
1 Up to single excitations from the donor shell
0 No excitations from the donor shell
end
7.15. The Complete Active Space Self-Consistent Field (CASSCF) Module 603
ORCA Manual, Release 6.0
%moinp "fe.3d.gbw"
%pal
nprocs 16
end
%method
frozencore fc_none
end
%scf
rotate
{2,6,90}
{3,7,90}
{4,8,90}
end
end
%casscf
nel 12
norb 8
mult 5,3
nroots 65,330
LFTCase 2p3d
ailft
AILFT_Dimension 2
end
rel
dosoc true
GTensor false
DoDTensor false
end
end
*xyz 2 5
Fe 0.0000000000 0.0000000000 0.0000000000
*
As a result the CASSCF and NEVPT2 LFT parameters will be determined in the requested reduced basis
------------------------------
AILFT MATRIX ELEMENTS (CASSCF)
--------------------------------
-------------------------------------------------
Slater-Condon Parameters (electronic repulsion) :
-------------------------------------------------
F0pp = 3.889665545 a.u. = 105.843 eV = 853682.9 cm**-1
F2pp = 1.832901835 a.u. = 49.876 eV = 402275.5 cm**-1
F0dd = 0.767706319 a.u. = 20.890 eV = 168492.1 cm**-1
F2dd = 0.405248254 a.u. = 11.027 eV = 88941.7 cm**-1
F4dd = 0.264292339 a.u. = 7.192 eV = 58005.5 cm**-1
F0pd = 1.174187892 a.u. = 31.951 eV = 257704.5 cm**-1
F2pd = 0.220959621 a.u. = 6.013 eV = 48495.0 cm**-1
G1pd = 0.157243007 a.u. = 4.279 eV = 34510.9 cm**-1
G3pd = 0.089473762 a.u. = 2.435 eV = 19637.2 cm**-1
...
------------------------------
AILFT MATRIX ELEMENTS (NEVPT2)
--------------------------------
-------------------------------------------------
Slater-Condon Parameters (electronic repulsion) :
-------------------------------------------------
F0pp = 3.527444471 a.u. = 95.987 eV = 774184.6 cm**-1
F2pp = 1.906123325 a.u. = 51.868 eV = 418345.7 cm**-1
F0dd = 0.808248242 a.u. = 21.994 eV = 177390.0 cm**-1
F2dd = 0.426649072 a.u. = 11.610 eV = 93638.6 cm**-1
F4dd = 0.278249395 a.u. = 7.572 eV = 61068.7 cm**-1
F0pd = 1.657417509 a.u. = 45.101 eV = 363761.1 cm**-1
F2pd = 0.198646995 a.u. = 5.405 eV = 43598.0 cm**-1
G1pd = 0.206111579 a.u. = 5.609 eV = 45236.3 cm**-1
G3pd = 0.128174221 a.u. = 3.488 eV = 28131.0 cm**-1
...
In the above example inclusion of SOC will result in the computation of the effective SOC 𝜁 constants of both p
and d shells:
-----SOC-CONSTANTS-----
---All Values in cm-1---
ZETA_P = 65018.19
ZETA_D = 453.53
------------------------
One important feature of 1- and in particular of the 2-shell AILFT is that it is connected to the standalone orca_lft
multiplet program. Hence every succesfull AILFT calculation will automatically construct relevant inputs for the
orca_lft.
For example in the avove 2p3d case of the Fe2+ 𝑑6 ion the following inputs will be constructed
fe.2p3d.casscf.lft.inp
fe.2p3d.nevpt2.lft.inp
7.15. The Complete Active Space Self-Consistent Field (CASSCF) Module 605
ORCA Manual, Release 6.0
#-----Parameters------
NEl= 12
Shell_PQN= 0, 2, 3, 0
Mult= 5, 3
NRoots= 65, 330
#--------------------
#---Slater-Condon Parameters---
#---All Values in eV---
PARAMETERS
F0pp = 95.9866
F2pp = 51.8683
F0dd = 21.9936
F2dd = 11.6097
F4dd = 7.5716
F0pd = 45.1006
F2pd = 5.4055
G1pd = 5.6086
G3pd = 3.4878
end
#--------------------
#---LFT-Matrix Elelemnts---
#---All Values in eV---
FUNCTIONS
0 0 " 0.0000"
1 0 " -0.0146"
1 1 " 0.0947"
2 0 " 0.0210"
2 1 " 0.0061"
2 2 " 0.1155"
3 0 " 0.0000"
3 1 " -0.0000"
3 2 " -0.0000"
3 3 "1086.2398"
4 0 " 0.0000"
4 1 " -0.0000"
4 2 " -0.0000"
4 3 " 0.0323"
4 4 "1086.2181"
5 0 " -0.0000"
5 1 " 0.0000"
5 2 " 0.0000"
5 3 " -0.0356"
5 4 " -0.0154"
5 5 "1086.1183"
6 0 " 0.0000"
6 1 " -0.0000"
6 2 " -0.0000"
6 3 " -0.0767"
6 4 " -0.0080"
6 5 " 0.0341"
6 6 "1086.1219"
7 0 " -0.0000"
7 1 " 0.0000"
7 2 " 0.0000"
7 3 " 0.0050"
(continues on next page)
#---SOC-CONSTANTS---
#---All Values in eV---
PARAMETERS
ZETA_P = 8.06
ZETA_D = 0.06
end
#--------------------
#---SPECTRA/PROPERTIES---
DoABS true
#------------------------
end
Further details regardin orca_lft can be found in the orca_lft section (orca_lft) and the orca_lft tutorial.
%moinp "Fe_acac3_casscf.gbw"
%scf
rotate
{4,89,90,0,0}
{3,88,90,0,0}
{2,87,90,0,0}
end
end
%rel
picturechange true
FiniteNuc true
(continues on next page)
7.15. The Complete Active Space Self-Consistent Field (CASSCF) Module 607
ORCA Manual, Release 6.0
* xyz 0 6
...
*
For RASCI/NEVPT2 calculations the valence d AS is set to RAS2. The RAS3 space is usually set empty. The
RAS1 space contains the previously rotated core orbitals. To generate a single core hole, the number of maximum
holes in the RAS1 space must be set to 1. Accordingly, the maximum number of particles in the RAS3 space must
be 0. The RASCI input should thus look the following
%casscf
nel 11
norb 8
...
refs
ras(11:3 1/5/0 0) # (Nel: NRAS1 MaxHoles / NRAS2 / NRAS3 MaxParticles)
end
...
end
As it is explicitly described in the respective ROCIS section RIXS spectra can be requested by the following key-
words:
Please consult section Resonant Inelastic Scattering Spectroscopy for processing and analyzing the generated spec-
tra.
7.15.6 CASCI-XES
Starting from ORCA 5.0 likewise to RASCI-XES (see section X-ray Spectroscopy) orca features a CASCI-XES
protocol.
Likewise to the RASCI-XES the CASCI-XES calculations requires two steps:
• In a first step one needs to optimize the valence active space orbitals in the framework of SA-CASSCF
calculations, e.g. including valence excited states in the range between 6 to 15 eV.
• In a second step the relevant core orbitals e.g metal 1s and 3p are rotated into the active space and the
CASCI problem is solved for the ionized system by saturating the excitation space with singly core-excited
electronic configurations using the previously optimized sets of orbitals. In CASCI-XES this can be acheived
by defining reference configurations. or via the RAS functionality.
The XESSOC calculation is called by speciyfing the following keywords in the rel block:
rel
XESSOC true
XASMOs Number of the rotated 1s MO
end
%casscf
nel 5
norb 5
nroots 1, 24
mult 6, 4
#rel
#dosoc true
#end
end
* xyz -3 6
Fe 0 0 0
Cl 2.40 0 0
Cl -2.40 0 0
Cl 0 2.40 0
Cl 0 -2.40 0
Cl 0 0 2.40
Cl 0 0 -2.40
*
A relevant input for Fe XES calculation of a Fe(III) complex like FeCl6 is given below:
! def2-SVP def2-SVP/C ZORA CPCM PAL8
! NormalPrint
! MOREAD
! NoLoewdin NoMulliken
%moinp "FeCl6_casscf.gbw"
%scf
#Rotate the 1s and 3p orbitals below the SOMOs by using the rotate option
rotate {0,59,90} {36,60,90} {37,61,90} {38,62,90} end
end
%casscf
nel 12
norb 9
nroots 1000, 1000
mult 7, 5
maxiter 1
refs
1 2 2 2 0 0 1 2 2
1 2 2 2 0 0 2 1 2
1 2 2 2 0 0 2 2 1
1 2 2 2 0 1 0 2 2
(continues on next page)
7.15. The Complete Active Space Self-Consistent Field (CASSCF) Module 609
ORCA Manual, Release 6.0
%method
SpecialGridAtoms 26 #Increase the radial integration accuracy on Fe
SpecialGridIntAcc 7 #Requested radial integration accuracy values
end
* xyz -2 5
Fe 0 0 0
Cl 2.40 0 0
Cl -2.40 0 0
Cl 0 2.40 0
Cl 0 -2.40 0
Cl 0 0 2.40
Cl 0 0 -2.40
*
In ORCA 6 all these inputs between like MRCI, CASSCF and LFT have been unified so like in X-ray Spectroscopy
one can also specify the respective RAS excitation space as following:
%casscf
nel 12
norb 9
nroots 1000, 1000
mult 7, 5
maxiter 1
refs ras(12:4 1/5/ 0 0) end
DoDipoleVelocity true
DoHigherMoments true
rel
dosoc true
XESSOC true
XASMOs 59
DoDTensor false
DoVelocity true
end
end
In the above inputs one notes that the exact knowledge of the states to saturate the excitations space is not required.
One only need to specify a large number (e.g. 1000) and the program will automatically detect the required 19
septet and 270 quintet states:
BLOCK 1 WEIGHT= 0.5000
Multiplicity ... 7
#(Configurations) ... 4
#(CSFs) ... 4
#(Roots) ... 1000
WARNING (ORCA_CASSCF): NRoots > NCSFs. Adjusting to maximum number of roots. Please check the␣
˓→output carefully!
#(Roots) ... 4
...
By now running the above input for the 4 septet and the 81 quintet states the following output is generated
------------------------------
------------------------------
-------------------------------------------------------------------------------------
SPIN-ORBIT X-RAY EMISSION SPECTRUM VIA TRANSITION ELECTRIC DIPOLE MOMENTS
-------------------------------------------------------------------------------------
Transition Energy INT TX TY TZ
1 421 -> 5 7231.106 0.000000000000 0.00000 0.00000 0.00000
2 422 -> 5 7231.106 0.000000000000 0.00000 0.00000 0.00000
3 423 -> 5 7231.106 0.000000000000 0.00000 0.00000 0.00000
4 424 -> 5 7231.106 0.000000000000 0.00000 0.00000 0.00000
5 425 -> 5 7231.106 0.000000000000 0.00000 0.00000 0.00000
6 426 -> 5 7231.106 0.000000000000 0.00000 0.00000 0.00000
7 427 -> 5 7231.106 0.000000000000 0.00000 0.00000 0.00000
...
7.15. The Complete Active Space Self-Consistent Field (CASSCF) Module 611
ORCA Manual, Release 6.0
All Done
-------------------------------------------------------------------------------------
and by plotting the resulted XES spectrum one will get the respective RASCI-XES spectrum presented in Fig. 7.42
Since Orca 6.0 the computed transition moments in the presence of SOC can be taken beyond the dipole approxi-
mation by using the OPS tool, check section (One Photon Spectroscopy) for details.
All the possible approximations can be requested with the following commands:
#Non-Relativistic/Relativistic treatment
%casscf
DoDipoleLength true
DoDipoleVelocity true
DoHigherMoments true
DecomposeFoscLength true
DecomposeFoscVelocity true
DoFullSemiclassical true
end
This wil generate a list of tables which for the case of XESSOC will look like the following:
----------------------------------------------------------------------------------------------
SOC COMBINED ELECTRIC DIPOLE + MAGNETIC DIPOLE + ELECTRIC QUADRUPOLE X-RAY EMISSION SPECTRUM
----------------------------------------------------------------------------------------------
INT (fosc)
---------------------------------------------------------
Transition Energy D2 m2 Q2 D2+m2+Q2 D2/TOT m2/TOT Q2/TOT
(eV) (*1e6) (*1e6)
----------------------------------------------------------------------------------------------
...
----------------------------------------------------------------------------------------------
SOC COMBINED ELECTRIC DIPOLE + MAGNETIC DIPOLE + ELECTRIC QUADRUPOLE X-RAY EMISSION SPECTRUM
(Origin Adjusted)
----------------------------------------------------------------------------------------------
INT (fosc)
---------------------------------------------------------
Transition Energy D2 m2 Q2 D2+m2+Q2 D2/TOT m2/TOT Q2/TOT
(eV) (*1e6) (*1e6)
-----------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------
SOC COMBINED ELECTRIC DIPOLE + MAGNETIC DIPOLE + ELECTRIC QUADRUPOLE X-RAY EMISSION SPECTRUM
(Origin Independent, Velocity)
-----------------------------------------------------------------------------------------------
INT (fosc)
--------------------------------------------------------
Transition Energy D2 m2 Q2 D2+m2+Q2+DM+DO D2/TOT m2/TOT Q2/TOT
(eV) (*1e6) (*1e6)
-----------------------------------------------------------------------------------------------
...
-----------------------------------------------------------------------------------------------
SOC COMBINED ELECTRIC DIPOLE + MAGNETIC DIPOLE + ELECTRIC QUADRUPOLE X-RAY EMISSION SPECTRUM
(Exact Formulation, Velocity)
-----------------------------------------------------------------------------------------------
˓→-
INT (fosc)
---------------------------------------------------------------------------
Transition Energy D2 m2 Q2 Exact Osc. Str. D2/TOT m2/TOT Q2/TOT
(eV) (*1e6) (*1e6)
-----------------------------------------------------------------------------------------------
˓→-
Orca_mapspc can process all these files. The list of the relevant keywords is:
ABSQ #This will process non relativistic Origin Adjusted Absortion like spectra
ABSOI #This will process the non relativistic Exact, Velocity Absortion like spectra
SOCABSQ #This will process the SOC corrected Origin Adjusted Absortion like spectra
SOCABSOI #This will process the SOC corrected Exact Velocity Absortion like spectra
XESSOCQ #This will process the SOC corrected Origin Adjusted X-ray Emission spectra
XESSOCOI #This will process the SOC corrected Exact Velocity X-ray Emission spectra
𝜕 2 𝐸 𝜕𝜆 𝜕2𝐸
2 𝜕R = − 𝜕𝜆𝜕R
𝜕𝜆
where 𝜆 are the CASSCF wavefunction parameters and R are the perturbations for which the response equations
are being solved [378, 861]. The property gradient on the right-hand side (RHS) is a known perturbation-dependent
quantity, but the left-hand side (LHS) depends on the solution of the response of the wavefunction parameters to
R. Therefore, the response to the perturbation must be solved for iteratively, which is done using the trial vectors
X. This leads to the LHS being computed as a sigma-vector, which is reassembled at every iteration. The linear
response equation for perturbation 𝑅𝑖 can then be written as
𝜎 = HX(𝑅𝑖 ) = G(𝑅𝑖 )
where H is the perturbation-independent Hessian matrix and G is the perturbation-specific RHS matrix. Once the
linear equation converges, the solution vector of the response parameters can then be contracted with the electron-
]︀(R)
and spin-density matrices to yield the AO response density matrices, P𝛼±𝛽 . The response densities can
[︀
then be contracted with appropriate AO 1-electron property integrals to compute the second-order contributions to
second-derivative properties.
In ORCA these equations are solved by the orca_casscfresp program and the underlying solver is BHP22, a
Davidson-type linear equation solver. The RHS is built from the property integrals calculated in the orca_propint
program. After the solution converges and the response densities are made and stored, the orca_prop program is
called, wherein the appropriate densities and response densities are contracted with the necessary property integrals
(also from orca_propint). This use of densities keeps the response property calculations in orca_prop generally
applicable to all methods as the densities house the method-specific information.
%casresp
TolR 1.e-5 # Convergence tolerance for the residual norm
# Note: TolR not affected by global keywords (TightSCF, etc.)
MaxIter 64 # Maximum number of iterations
MaxRed 24 # Maximum size of the reduced space per RHS
Note that the solver-related options in the %elprop and %eprnmr blocks do not affect the solution of the CP-
CASSCF equations.
– EPR g-Tensor
– NMR Chemical Shieldings
• Velocity (v)
– Velocity Polarizability
The magnetic properties are currently implemented without gauge-including atomic orbitals (GIAOs). Thus, an
appropriate gauge-origin must be provided in the %eprnmr block! For the EPR g-tensor, using a large basis set with
a chemically relevant gauge origin is recommended. However, one should in general be wary of NMR chemical
shieldings without GIAOs. GIAOs for CASSCF linear response are coming soon to ORCA!
--------------------------------------------------------------------------------------------
Before going on to the necessary property modules, the significant contributions to the RHS and/or response vectors
will be outputted if they were requested (via PrintRHSVec and PrintRspVec). Here, outputs such as the following
can be seen.
---------------------------------
CASSCF Response Vector Analysis
---------------------------------
square of coefficients of particle-hole and CAS-CI excitations are printed if larger than␣
˓→1.0e-02
IPERT: 0
The majority of the output has been removed for the sake of simplicity. Here, the significant contributions to
the response vector are printed if the square of the vector element is larger than 1.0e-02 (the default value for
TolPrintVec). Each line begins with either a (+) or (-), which denote the Hermiticity of the excitation operator.
With static CASSCF linear response, (+) always denotes an imaginary perturbation and (-) a real perturbation.
For the first vector (i.e. IPERT: 0), four contributions have been listed here.
The first three are from particle-hole excitations going from the left size of the arrow to the right. On each side of
the arrow has three things: a letter designating if it is an inactive (I), active (A), or virtual (V) orbital; a number
designating the index within that orbital subblock, and a number in parentheses designating the overall orbital
number. Further to the right, the coefficient (i.e. the vector element) is given in parentheses and the square of that
value is given to the left of it. This is how the relative contributions of each excitation can be analyzed.
The final contribution shown is from a CI excitation. Its weight is listed, followed by the index in brackets and the
corresponding configuration of the active electrons among the active orbitals.
7.16.4 Troubleshooting
If the %casresp block is specified and the calculation does not run through the CASSCF Response section, then
the properties requested are not second-derivatives and therefore do not require linear response equations to be
solved. If, however, the job aborts, watch for these possibilities:
• At least one of the second-derivative properties requested is not available at the CASSCF level (see list above
of those currently implemented)
• MaxIter may need to be increased or TolR decreased
• A magnetic property is requested without setting the gauge-origin in the %eprnmr block
• An appropriate auxiliary basis (or the !AutoAux keyword) may be required, especially for:
– The diagonal preconditioner (which is on by default)
– TrafoStep RI in the %casscf block
– RIJCOSX, RIJONX
• RIJK was specified (this is NOT supported)
%casscf
...
end
* xyzfile ...
bash:$
bash:$ $ORCA/x86_64/otool_single_aniso < single_aniso.input > single_aniso.output
bash:$
However, this usage may not be so convenient, as the file single_aniso.input must include the true name of
the datafile. For the user’s convenience, a deeper integration between SINGLE_ANISO and CASSCF program in
ORCA was implemented, as described below.
As a prerequisite for using the SINGLE_ANISO module to calculate the magnetic properties of the investigated
compound, spin-orbit coupling and other relativistic effects are already taken fully into account at the stage
of quantum chemistry calculation of the investigated compound. The necessary information of the ab initio
calculation is provided in a form of a “datafile”: energy spectra, angular momentum integrals, etc. The interface
with ORCA generates the required datafile automatically. The following naming conventions were adopted for
the datafile in function of the employed computational method:
• CASSCF+SOC+SINGLE_ANISO => "$orca_input_name.CASSCF.anisofile"
• CASSCF+QD-NEVPT2+SOC+SINGLE_ANISO => "$orca_input_name.NEVPT2.anisofile"
Note that if the CASSCF+QD-NEVPT2+SOC+SINGLE_ANISO calculation is requested, then the SINGLE_ANISO will
be executed twice, and the above two datafiles will be generated. The interface will generate the SINGLE_ANISO in-
put file with the keywords information provided in the CASSCF/aniso subblock. These filename of the datafile
is included automatically in the input file for the SINGLE_ANISO utility (keyword DATA), also generated auto-
matically by the interface. The naming convention for the generated input files for the SINGLE_ANISO utility is
“$orca_input_name.anisofile”.
All keywords of the SINGLE_ANISO program are possible to be specified within the CASSCF/ANISO subblock.
They are referenced in Section Reference list of CASSCF/ANISO keywords. Optionally, a working SINGLE_ANISO
input file can be passed directly to the CASSCF module setting the filename with keyword InputNameOnDisk in
the ANISO subblock.
An example of the full ORCA input for performing magnetic properties calculations within the CASSCF/SOC/
SINGLE_ANISO methodology for a hypothetical Co(II) compound is provided below:
%maxcore 2000
%casscf nel 7
norb 5 # 7 electrons in 5 orbitals (3d shell)
mult 4, 2
nroots 10, 40 # 10 quartet and 40 doublet states
rel
dosoc true # include spin-orbit coupling
end
ANISO
doaniso true # generate datafile/input and call
# the SINGLE_ANISO module
MLTP 2,2,2,2 # group of spin-orbit states for which the pseudospin
# Hamiltonian is computed: 4 low-lying spin-orbit doublet states.
The input above utilises the following keywords: MLTP keyword requires the computation of the 𝑔 tensor for 4
groups of spin-orbit states, the dimensionality of each group being 2 (Kramers or Ising doublets). TINT requires
computation of the magnetic susceptibility in the temperature interval 0 K - 300 K distributed equally in 300 tem-
perature intervals. TMAG requires computation of powder molar magnetisation at 6 temperature points, in Kelvin
(K): 1.0 K, 1.2 K, 1.8 K, 2.5 K, 2.9 K and 3.6 K. HINT defines the range for the magnetic field strength, in Tesla.
PLOT keyword invokes the plotting function of the module. CRYS_element + CRYS_charge request for the com-
putation of the crystal field parameters for the ground term of the Co2+ ion. For more information about the
keywords in SINGLE_ANISO module, you can refer to section Reference list of CASSCF/ANISO keywords.
Please always check the obtained orbitals after CASSCF calculation. In this particular case, the active orbitals
(45-49) are localised on the Co site and display dominant 3𝑑 character.
45 46 47 48 49
-0.37264 -0.36672 -0.36520 -0.36153 -0.35018
1.40513 1.40270 1.39998 1.39823 1.39395
-------- -------- -------- -------- --------
0 Co s 0.0 0.0 0.0 0.0 0.2
0 Co pz 0.1 0.1 0.1 0.0 0.0
0 Co px 0.0 0.2 0.0 0.0 0.1
0 Co py 0.1 0.1 0.0 0.0 0.1
0 Co dz2 23.6 39.5 10.0 2.0 23.5
0 Co dxz 12.8 30.8 48.6 4.4 2.2
0 Co dyz 46.5 10.4 19.3 20.8 2.4
0 Co dx2y2 6.9 0.3 21.2 69.2 1.6
0 Co dxy 9.5 17.6 0.2 2.8 68.0
We see that in the above output section, the five active orbitals have dominant contribution from the Co-3𝑑 basis
functions. This is OK and is expected for common transition metal compounds. For lanthanide compounds, the
seven active orbitals should have dominant contribution from the 4𝑓 shell. Larger active spaces must be carefully
inspected and analysed. We refer here to the respective section of this manual describing the CASSCF method and
how to achieve convergence The Complete Active Space Self-Consistent Field (CASSCF) Module.
The results calculated by using SINGLE_ANISO module are placed after the SOC section in ORCA output. Here is
the explanation for these results.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
CALCULATION OF PSEUDOSPIN HAMILTONIAN TENSORS FOR THE MULTIPLET 1 ( effective S = 1/2)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
The pseudospin is defined in the basis of the following spin-orbit states:
spin-orbit state 1. energy(1) = 0.000 cm-1.
(continues on next page)
g TENSOR:
|--------------------------------------------------------|
| MAIN VALUES | MAIN MAGNETIC AXES | x , y , z -- initial Cartesian␣
˓→axes
The section above shows the 𝑔 tensor for the ground Kramers doublet. Since the 𝑔𝑋 and 𝑔𝑌 are much smaller
than the 𝑔𝑍 component, the 𝑍𝑚 axis is denoted as the 𝑚𝑎𝑖𝑛𝑚𝑎𝑔𝑛𝑒𝑡𝑖𝑐𝑎𝑥𝑖𝑠 of the computed molecule. The “Zm
| -0.614361 0.788985 0.007914 |” denotes the Cartesian components of the 𝑍𝑚 vector.
In the case the computation of the parameters of the crystal field is requested by CRYS_element and CRYS_charge,
the following section will be found in the output:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
CALCULATION OF CRYSTAL-FIELD PARAMETERS OF THE GROUND ATOMIC TERM, L = 3.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
The parameters of the Crystal Field matrix are written in the coordinate system:
(Xm, Ym, Zm) -- the main magnetic axes of the ground pseudo-L = | 3> orbital multiplet.
Rotation matrix from the initial coordinate system to the employed coordinate system is:
-------------------------------------------------------------------|
x , y , z -- initial Cartesian axes |
Xm, Ym, Zm -- main magnetic axes |
x y z |
| Xm | -0.61155332461133 -0.79120321735748 0.00000000001900 |
R = | Ym | 0.79120321735748 -0.61155332461133 -0.00000000000264 |
| Zm | 0.00000000001371 0.00000000001342 1.00000000000000 |
-------------------------------------------------------------------|
Quantization axis is Zm.
----------------------------------------------------------------------------------------------|
Ab Initio Crystal-Field Splitting Matrix written in the basis of Pseudo-L Eigenfunctions |
----------------------------------------------------------------------------------------------|
| | -3 > | | -2 > |
----------|---------- REAL ----------- IMAGINARY ---|---------- REAL ----------- IMAGINARY ---|
< -3 | | -777.2218617165776 0.0000000000000 | -0.0000000454613 0.0000000351393 |
< -2 | | -0.0000000454613 -0.0000000351393 | 285.4563720817839 0.0000000000000 |
< -1 | | 0.0285952366255 -0.0055088548681 | 0.0000000002580 -0.0000000024089 |
< 0 | | -0.0000000160911 0.0000000604843 | 0.0001933353720 -0.0013498718536 |
< 1 | | 0.0116130821579 -0.0096419531309 | -0.0000000005651 -0.0000000026613 |
< 2 | | 0.0000000070279 -0.0000000332291 | 0.0141002831881 -0.0117070160056 |
< 3 | | -0.0000002782243 0.0000001745761 | -0.0000000070278 0.0000000332291 |
----------------------------------------------------------------------------------------------|
----------------------------------------------------------------------------------------------|
| | -1 > | | 0 > |
----------|---------- REAL ----------- IMAGINARY ---|---------- REAL ----------- IMAGINARY ---|
< -3 | | 0.0285952366255 0.0055088548681 | -0.0000000160911 -0.0000000604843 |
< -2 | | 0.0000000002580 0.0000000024089 | 0.0001933353720 0.0013498718536 |
< -1 | | 347.8121781289439 -0.0000000000000 | 0.0000000069613 -0.0000000861891 |
< 0 | | 0.0000000069613 0.0000000861891 | 287.9066230116981 0.0000000000000 |
< 1 | | -0.0106576508828 0.0003303251251 | -0.0000000069613 -0.0000000861891 |
< 2 | | 0.0000000005651 0.0000000026613 | 0.0001933353720 -0.0013498718536 |
< 3 | | 0.0116130821579 -0.0096419531309 | 0.0000000160911 -0.0000000604843 |
(continues on next page)
In the above section, the low-lying CASSCF states of the Co2+ site originating from the free ion 4 F term are
transformed towards the eigenstates of the (𝐿 ˜ = 3), and the low-lying CASSCF diagonal 7 × 7 energy matrix
is re-written in this basis. The non-diagonal “Ab Initio Crystal-Field Splitting Matrix” is printed in the above
section. In the subsequent output sections, the obtained crystal field matrix is decomposed in a linear combination
of Irreducible Tensorial Operators (ITOs) and the obtained expansion coefficients are listed in the output.
2𝐿 −𝑘,+𝑘
∑︁ ∑︁
ˆ 𝐶𝐹 =
𝐻 𝐵𝑘𝑞 𝑂
ˆ 𝑞 (𝐿)
𝑘
˜
𝑘 𝑞
In the sections below, the weight of various expansion terms on the total energy splitting of the corresponding term
or multiplet is analysed.
WEIGHT OF INDIVIDUAL CRYSTAL FIELD PARAMETERS ON THE CRYSTAL FIELD SPLITTING: (in descending␣
˓→order):
CFP are given in ITO used in J. Chem. Phys. 137, 064112 (2012).
-------------------------------------------------------|
k | q | B(k,q) | Weight (in %) |
----|-----|-----------------------|--------------------|
2 | 0 | -0.43693326103120E+02 | 70.08577012260780 |
4 | 0 | -0.67496280141952E+00 | 29.31873954450217 |
6 | 0 | -0.18259217459128E-02 | 0.58283348856981 |
4 | 2 | 0.10541073637635E-03 | 0.00457878555457 |
4 | 4 | 0.58115623682363E-04 | 0.00252440109385 |
4 | -4 | 0.48251497695683E-04 | 0.00209592749496 |
2 | 2 | 0.10346808494753E-02 | 0.00165966774870 |
4 | -2 | 0.16964581649793E-04 | 0.00073690009261 |
2 | -2 | 0.35949541472835E-03 | 0.00057664442705 |
6 | 2 | 0.94299583491020E-06 | 0.00030100389209 |
6 | 4 | 0.24084325388052E-06 | 0.00007687706999 |
6 | -4 | 0.19995783180553E-06 | 0.00006382645967 |
6 | -2 | 0.13377255211448E-06 | 0.00004270014495 |
6 | 6 | -0.10169893585902E-09 | 0.00000003246226 |
6 | -6 | -0.63812572794630E-10 | 0.00000002036895 |
6 | -1 | -0.37137214734348E-10 | 0.00000001185418 |
4 | -1 | 0.22192552033089E-09 | 0.00000000963990 |
4 | -3 | -0.20351589971646E-09 | 0.00000000884023 |
2 | 1 | -0.34359122410183E-08 | 0.00000000551133 |
6 | -5 | 0.17177307577593E-10 | 0.00000000548299 |
4 | 1 | -0.12009613533364E-09 | 0.00000000521668 |
6 | -3 | -0.14576461261073E-10 | 0.00000000465280 |
4 | 3 | -0.56204942711777E-10 | 0.00000000244141 |
2 | -1 | 0.10021582557877E-08 | 0.00000000160750 |
6 | 5 | 0.36329494838219E-11 | 0.00000000115964 |
6 | 3 | -0.32825983078827E-11 | 0.00000000104780 |
6 | 1 | 0.17582625268298E-12 | 0.00000000005612 |
----|-----|-----------------------|--------------------|
In the case of lanthanide compounds, the same keywords (CRYS_element and CRYS_charge) trigger the energy
decomposition of the lowest energy matrix corresponding to the ground 𝐽− multiplet of the respective lanthanide
ion.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
CALCULATION OF THE MAGNETIC SUSCEPTIBILITY
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|----------------------------------------------------------------------------------------|
| | T | STATISTICAL | X*T | X*T | X | 1/X |
| | | SUM (Z) | (zJ=0) | | | |
|-----|----------------------------------------------------------------------------------|
|Units| Kelvin | --- | cm3*K/mol | cm3*K/mol | cm3/mol | mol/cm3 |
|-----|----------------------------------------------------------------------------------|
| | 0.000100 | 0.20000E+01 | 3.93592010 | 3.93592010 | 0.39359E+05 | 0.25407E-04 |
| | 1.000000 | 0.20000E+01 | 3.94046247 | 3.94046247 | 0.39405E+01 | 0.25378E+00 |
| | 2.000000 | 0.20000E+01 | 3.94500530 | 3.94500530 | 0.19725E+01 | 0.50697E+00 |
| | 3.000000 | 0.20000E+01 | 3.94954814 | 3.94954814 | 0.13165E+01 | 0.75958E+00 |
| | 4.000000 | 0.20000E+01 | 3.95409097 | 3.95409097 | 0.98852E+00 | 0.10116E+01 |
| | 5.000000 | 0.20000E+01 | 3.95863380 | 3.95863380 | 0.79173E+00 | 0.12631E+01 |
| | 6.000000 | 0.20000E+01 | 3.96317663 | 3.96317663 | 0.66053E+00 | 0.15139E+01 |
(continues on next page)
This section shows the computed magnetic susceptibility. The formula used for this calculation assumes the zero-
field limit, 𝑖.𝑒.𝐻 = 0.0 Tesla. A picture called “XT_no_field.png” using the above data will be created in the
working directory whenever the PLOT keyword is included in the SINGLE_ANISO input. The picture shows the
temperature dependence of the magnetic susceptibility.
|----------------------------------------------------------------------------------------------
˓→--------|
...
The section above shows how the main axes of the susceptibility tensor evolves with temperature.
HIGH-FIELD POWDER MAGNETIZATION
(Units: Bohr magneton)
|-----------|---------------|---------------|---------------|---------------|---------------|
| H(T) |STATISTICAL SUM| 1.000 K. | 1.200 K. | 1.800 K. | 2.500 K. |
|-----------|---------------|---------------|---------------|---------------|---------------|
| 0.000100 | 1.9995371 | 0.0007055560 | 0.0005880989 | 0.0003923371 | 0.0002827105 |
| 0.100000 | 1.6293687 | 0.6863212310 | 0.5768343572 | 0.3889480349 | 0.2814379254 |
| 0.200000 | 1.3961049 | 1.2730827904 | 1.0928431358 | 0.7585259147 | 0.5554332924 |
| 0.300000 | 1.2492960 | 1.7176941099 | 1.5137449727 | 1.0936561795 | 0.8154486026 |
| 0.400000 | 1.1568991 | 2.0312460704 | 1.8358752195 | 1.3858429640 | 1.0565149122 |
| 0.500000 | 1.0987474 | 2.2456644189 | 2.0736324473 | 1.6329635867 | 1.2755212118 |
| 0.600000 | 1.0621485 | 2.3917509695 | 2.2464760254 | 1.8374994655 | 1.4711430994 |
| 0.700000 | 1.0391143 | 2.4924803644 | 2.3720174309 | 2.0044495622 | 1.6435265950 |
(continues on next page)
This section shows the field dependence of the powder molar magnetisation. A picture named “MH.png” can be
created by using the PLOT keyword in the SINGLE_ANISO input file.
Running CASSCF calculations on lanthanides compounds in ORCA might be a bit more cumbersome compared to
transition metal compounds, due to the convergence of this method. However, following the instructions in the The
Complete Active Space Self-Consistent Field (CASSCF) Module section and the related tips in this manual and on
the Forum, the calculations could be performed. From our experience, the main reason for the poor convergence of
CASSCF calculation originates from the wrong orbitals occupying the active space. This issue can be overcame by
performing a proper rotation of the molecular orbitals such that the seven orbitals with dominant 4𝑓 contribution
are placed in the active space. As soon as the active orbitals acquire the dominant 4𝑓 weight, the convergence is
quite straightforward.
Below we describe the calculation on a lanthanide fragment [Ce(COT) 2 ]− (COT=(C8 H8 ) 2− ) as an example:
%basis
newgto Ce "SARC2-DKH-QZVP" end
end
%scf
MaxIter 500
end
*xyz -1 2
Ce 5.97600100 5.09133100 13.17268800
C 5.47882500 2.98632700 11.42941100
C 4.38424700 3.88677900 11.27367600
H 4.21867900 4.06431900 10.35453600
C 3.47138800 4.59373300 12.09958800
H 2.87027600 5.12178400 11.58692300
C 3.21937800 4.72005000 13.49499100
C 3.84198900 4.08874200 14.61728000
H 3.46926600 4.38472800 15.43857500
C 4.86395700 3.14327700 14.81900800
H 4.97094200 2.92197400 15.73690500
C 5.77247800 2.44085400 13.98883400
H 6.34594800 1.86846400 14.48498500
C 6.03182900 2.38537000 12.60408600
H 6.75450600 1.80396200 12.40022700
C 6.40698800 7.65195200 12.14877700
C 6.11546300 7.83965300 13.53689900
H 5.47247100 8.52635500 13.66635300
C 6.52698400 7.27593700 14.77461400
H 6.07344100 7.67704500 15.50605500
C 7.44425200 6.26569500 15.21837900
C 8.37896000 5.47470700 14.49350900
H 8.88315100 4.90771300 15.06566300
C 8.74883600 5.31701900 13.13468700
H 9.45277500 4.68873000 13.02529900
C 8.32602800 5.86701900 11.90372100
H 8.81295200 5.51473700 11.16784000
(continues on next page)
This is the first step of the calculation. For heavier elements like lanthanides, we must consider relativistic effect by
using DKH keyword. We explicitly use KDIIS in the calculation to smoothen out convergence. The orbital file called
“CeCOT2_1.gbw” will be generated after this step. We further use this gbw file to do the CASSCF calculation.
!DKH DKH-DEF2-SVP TightSCF conv Moread
%moinp "CeCOT2_1.gbw"
%basis
newgto Ce "SARC2-DKH-QZVP" end
end
%casscf nel 1
norb 7 # 1 electrons in 7 f orbitals
mult 2
nroots 7 # 7 doublet states
rel
dosoc true # include spin-orbit coupling
end
end
*xyz -1 2
......
*
We need to check the orbitals after the CASSCF step with the orbital file named “CeCOT2_2.gbw” obtained.
85 86 87 88 89 90 91
0.45543 0.45310 0.27655 0.45085 0.45251 0.45760 0.45713
0.14286 0.14286 0.14286 0.14286 0.14286 0.14286 0.14286
-------- -------- -------- -------- -------- -------- --------
0 Ce f0 26.2 0.9 0.0 1.3 3.3 0.5 6.6
0 Ce f+1 5.4 20.2 0.0 24.0 3.4 5.6 39.1
0 Ce f-1 0.4 30.4 0.0 52.8 10.7 0.6 3.9
0 Ce f+2 3.8 0.2 0.7 1.4 4.7 76.7 10.7
0 Ce f-2 50.7 0.7 0.0 2.1 4.2 4.0 1.3
0 Ce f+3 8.2 22.0 0.0 1.2 55.8 0.0 11.6
0 Ce f-3 4.7 25.3 0.0 16.5 17.1 10.1 25.2
Orbitals 85, 86, 88-91 and 130 are occupied and strongly metal based 4𝑓 -orbitals. For comparison, the converged
CASSCF orbitals are pure 4𝑓 -orbitals (99% metal-based). The orbitals need to be rotated in order to fit the active
space (85-91). Then we can use the results of CASSCF/SOC calculation to call for the SINGLE_ANISO program.
!DKH DKH-DEF2-SVP TightSCF conv Moread
%moinp "CeCOT2_2.gbw"
%basis
newgto Ce "SARC2-DKH-QZVP" end
end
%casscf nel 1
norb 7
mult 2
nroots 7
rel
dosoc true
end
ANISO
doaniso true
MLTP 2,2,2 # 3 Kramers doublets, J=5/2
MAVE 1, 12 # nsym=1, Lebedev grid number 12
XFIE 0.1 # the applied magnetic field is 0.1 T
CRYS_element "Ce"
CRYS_charge 3
NCUT 14
ABCC_abc 11.0735, 12.6738, 22.4854, 84.436, 86.690, 83.969
ABCC_center 0.82682, 0.31234, 0.78619
ZJPR -0.120
HEXP_temp 2.0, 3.0
HEXP_H 0.0, 1.0, 2.0, 3.0, 4.0
HEXP_M[0]= 0.0, 2.46, 2.86, 2.95, 2.98
HEXP_M[1]= 0.0, 2.04, 2.68, 2.87, 2.94
TEXP_temp 0.0, 10.0, 20.0, 30.0, 40.0, 50.0
TEXP_chiT 4.5, 4.5, 4.58, 4.62, 4.66, 4.70
UBAR true
PLOT true
ZEEM[0]=1.0, 0.0, 0.0
ZEEM[1]=0.0, 0.0, 1.0
ZEEM[2]=0.0, 1.0, 0.0
ZEEM[3]=0.75, 0.0, 0.25
end
end
*xyz -1 2
......
*
The order of the keywords listed in the CASSCF/ANISO subblock does not matter.
SINGLE_ANISO input, where some of the keywords are grouped together. We aimed at keeping the control key-
words as close as possible.
Optional general keywords to control the input within the ORCA interface (CASSCF/ANISO subblock):
InputNameOnDisk
This keyword reads the name of the input file for SINGLE_ANISO, a string given between quotations. Exam-
ple:
InputNameOnDisk "my_input_for_aniso.inp"
The interface with ORCA will add the DATA keyword with specific name of the datafile for the performed
calculation. All the other keywords provided inside this file must follow their original names, as in MOLCAS.
MLTP
The number of molecular multiplets (𝑖.𝑒. groups of spin-orbital eigenstates) for which 𝑔, 𝐷 and higher mag-
netic tensors will be calculated (default MLTP=1). With MLTP an comma separated list of numbers specifying
the dimension of each multiplet is passed. The default is to select one multiplet which has the dimension
equal to the multiplicity of the ground term. In cases of strong spin-orbit coupling the usage of this keyword
is mandatory. Example:
MLTP 4, 4, 2, 2
SINGLE_ANISO will compute the 𝑔 tensor for 4 groups of states: 2 groups having the effective spin 𝑆 =
|3/2 >, and other 2 groups of states being Kramers doublets.
TINT
Specifies the temperature points for the evaluation of the magnetic susceptibility. The program will read
three numbers: 𝑇𝑚𝑖𝑛 , 𝑇𝑚𝑎𝑥 , and 𝑛𝑇 .
• 𝑇𝑚𝑖𝑛 - the minimal temperature (Default 0.0K)
• 𝑇𝑚𝑎𝑥 - the maximal temperature (Default 300.0K)
• 𝑛𝑇 - number of temperature points (Default 101)
Example:
SINGLE_ANISO will compute temperature dependence of the magnetic susceptibility in 331 points evenly
distributed in temperature interval: 0.0K - 330.0K.
HINT
Specifies the field points for the evaluation of the magnetisation in a certain direction. The program will read
three numbers: 𝐻𝑚𝑖𝑛 , 𝐻𝑚𝑎𝑥 and 𝑛𝐻.
• 𝐻𝑚𝑖𝑛 - the minimal field (Default 0.0T)
• 𝐻𝑚𝑎𝑥 - the maximal filed (Default 10.0T)
• 𝑛𝐻 - number of field points (Default 101)
Example:
SINGLE_ANISO will compute the molar magnetisation in 201 points evenly distributed in field interval: 0.0T
- 20.0T.
TMAG
Specifies the temperature(s) at which the field-dependent magnetisation is calculated. The program will read
the temperatures (in Kelvin) at which magnetisation is to be computed. Default is to compute magnetisation
at one temperature point (2.0 K). Example:
SINGLE_ANISO will compute the molar magnetisation at 5 temperature points (1.8 K, 2.0 K, 3.4 K, 4.0 K,
and 5.0 K).
ENCU
The keyword expects to read two integer numbers. The two parameters (NK and MG) are used to define the cut-
off energy for the lowest states for which Zeeman interaction is taken into account exactly. The contribution
to the magnetisation coming from states that are higher in energy than 𝐸 (see below) is done by second
order perturbation theory. The program will read two integer numbers: 𝑁 𝐾 and 𝑀 𝐺. Default values are:
𝑁 𝐾 = 100, 𝑀 𝐺 = 100.
The field-dependent magnetisation is calculated at the maximal temperature value given by TMAG keyword.
Example:
If 𝐻𝑚𝑎𝑥 = 10 T and TMAG = 1.8 K, then the cut-off energy is: $𝐸 = 250 · 𝑘𝐵𝑜𝑙𝑡𝑧 · 1.8 + 150 · 𝜇𝐵𝑜ℎ𝑟 · 10 =
1013.06258(𝑐𝑚−1 )$
This means that the magnetisation arising from all spin-orbit states with energy lower than 𝐸 =
1013.06258(𝑐𝑚−1 ) will be computed exactly (i.e. are included in the exact Zeeman diagonalisation) The
keywords NCUT, ERAT and ENCU have similar purpose. If two of them are used at the same time, the following
priority is defined: NCUT > ENCU > ERAT.
NCUT
This flag is used to define the cut-off energy for the low-lying spin-orbit states for which Zeeman interaction is
taken into account exactly. The contribution to the magnetisation arising from states that are higher in energy
than lowest 𝑁𝐶𝑈 𝑇 states, is done by second-order perturbation theory. The program will read one integer
number. In case the number is larger than the total number of spin-orbit states(𝑁𝑆𝑆 , then the 𝑁𝐶𝑈 𝑇 is set to
𝑁𝑆𝑆 (which means that the molar magnetisation will be computed exactly, using full Zeeman diagonalisation
for all field points). The field-dependent magnetisation is calculated at the temperature value(s) defined by
TMAG. Example:
NCUT 32
The keywords NCUT, ERAT and ENCU have similar purpose. If two of them are used at the same time, the
following priority is defined: NCUT > ENCU > ERAT.
ERAT
This flag is used to define the cut-off energy for the low-lying spin-orbit states for which Zeeman interaction
is taken into account exactly. The program will read one single real number specifying the ratio of the energy
states which are included in the exact Zeeman Hamiltonian. As example, a value of 0.5 means that the lowest
half of the energy states included in the spin-orbit calculation are used for exact Zeeman diagonalisation.
Example:
ERAT 0.333
The keywords NCUT, ERAT and ENCU have similar purpose. If two of them are used at the same time, the
following priority is defined: NCUT > ENCU > ERAT.
MVEC_x MVEC_y MVEC_z
MVEC_x, MVEC_y and MVEC_z define a number of directions for which the magnetisation vector will be
computed. The directions are given as unitary vectors specifying the direction i of the applied magnetic
field).
Example:
ZEEM
This keyword allows to compute Zeeman splitting spectra along certain directions of applied field. Directions
of applied field are given as three real number for each direction, specifying the projections along each
direction: Example:
The above input will request computation of the Zeeman spectra along six directions: Cartesian axes X,
Y, Z (directions 1,2 and 3), and between any two Cartesian axes: YZ, XZ and XY, respectively. The pro-
gram will re-normalise the input vectors according to unity length. In combination with PLOT keyword, the
corresponding zeeman_energy_xxx.png images will be produced.
MAVE
The keyword requires two integer numbers, denoted MAVE_nsym and MAVE_ngrid. The parameters
MAVE_nsym and MAVE_ngrid specify the grid density in the computation of powder molar magnetisation.
The program uses Lebedev-Laikov distribution of points on the unit sphere. The parameters are integer
numbers: 𝑛𝑠𝑦𝑚 and 𝑛𝑔𝑟𝑖𝑑 . The 𝑛𝑠𝑦𝑚 defines which part of the sphere is used for averaging. It takes one of
the three values: 1 (half-sphere), 2 (a quarter of a sphere) or 3 (an octant of the sphere). 𝑛𝑔𝑟𝑖𝑑 takes values
from 1 (the smallest grid) till 32 (the largest grid, i.e. the densest). The default is to consider integration
over a half-sphere (since 𝑀 (𝐻) = −𝑀 (−𝐻)): 𝑛𝑠𝑦𝑚 = 1 and 𝑛𝑠𝑦𝑚 = 15 (i.e 185 points distributed over
half-sphere). In case of symmetric compounds, powder magnetisation may be averaged over a smaller part
of the sphere, reducing thus the number of points for the integration. The user is responsible to choose the
appropriate integration scheme. Note that the program’s default is rather conservative.
Example:
MAVE 1, 8
TEXP_temp TEXP_chiT
The parameters TEXP_temp and TEXP_chiT allow the computation of the magnetic susceptibility 𝜒𝑇 (𝑇 ) at
experimental points. The experimental temperature (in 𝐾) and the experimental magnetic susceptibility (in
𝑐𝑚3 𝐾𝑚𝑜𝑙−1 ) are read as comma separated list. In the case both TEXP and TINT keywords are given, the
TEXP will be used while the TINT input will be ignored.
Example:
ZJPR
This keyword specifies the value (in 𝑐𝑚−1 ) of a phenomenological parameter of a mean molecular field
acting on the spin of the complex (the average intermolecular exchange constant). It is used in the calculation
of all magnetic properties (not for spin Hamiltonians) (Default is 0.0).
ZJPR -0.02
TORQ
This keyword specifies the number of angular points for the computation of the magnetisation torque func-
tion, ⃗𝜏𝛼 as function of the temperature, field strength and field orientation.
TORQ 55
The torque is computed at all temperature given by TMAG or HEXP_temp inputs. Three rotations around
Cartesian axes X, Y and Z are performed.
PrintLevel
This keyword controls the print level.
• 2 - normal. (Default)
• 3 or larger (debug)
CRYS_element CRYS_charge
The keywords CRYS_element and CRYS_charge request the computation of all 27 Crystal-Field parameters
acting on the ground atomic multiplet of a lanthanide. With CRYS_element the chemical symbol of the
lanthanide is set. Note that the element symbol must be enclosed in quotation marks. The charge is
defined with CRYS_charge. By default the program will not compute the parameters of the Crystal-Field.
Example:
QUAX
This keyword controls the quantisation axis for the computation of the Crystal-Field parameters acting on
the ground atomic multiplet of a lanthanide. On the next line, the program will read one of the three values:
1, 2 or 3.
• 1 - quantisation axis is the main magnetic axis 𝑍𝑚 of the ground pseudospin multiplet, whose size is
specified within the MLTP keyword. (Default)
• 2 - quantisation axis is the main magnetic axis 𝑍𝑚 of the entire atomic multiplet |𝐽, 𝑀𝐽 >.
• 3 - quantisation axis is the original Cartesian Z axis. Rotation matrix is unity.
Example:
QUAX 3
UBAR
With UBAR set to “true”, the blocking barrier of a single-molecule magnet is estimated. The default is not to
compute it. The method prints transition matrix elements of the magnetic moment according to the Figure
below:
In this figure, a qualitative performance picture of the investigated single-molecular magnet is estimated
by the strengths of the transition matrix elements of the magnetic moment connecting states with opposite
magnetisaskytions (𝑛+ → 𝑛−). The height of the barrier is qualitatively estimated by the energy at which
the matrix element (𝑛+ → 𝑛−) is large enough to induce significant tunnelling splitting at usual magnetic
fields (internal) present in the magnetic crystals (0.01-0.1 Tesla). For the above example, the blocking barrier
closes at the state (8+ → 8−).
All transition matrix elements of the magnetic moment are given as ((|𝜇𝑋 | + |𝜇𝑌 | + |𝜇𝑍 |)/3). The data is
given in Bohr magnetons (𝜇𝐵𝑜ℎ𝑟 ).
Example:
UBAR true
ABCC_abc ABCC_center
The keywords ABCC_abc and ABCC_center set the computation of magnetic and anisotropy axes in the
crystallographic 𝑎𝑏𝑐 system. With ABCC_abc, the program reads six real values, namely 𝑎, 𝑏, 𝑐, 𝛼, 𝛽, and 𝛾,
defining the crystal lattice. The values must be separated by a comma. With ABCC_center, the program
reads the fractional coordinates of the magnetic center (from the CIF file) - again separated by comma. It is
assumed that the XYZ coordinates used for the ab initio calculations did not rotate or translate the molecule
from its crystallographic position. This input will ensure that all tensors computed by SINGLE_ANISO are
given also in the 𝑎𝑏𝑐 system. The computed values in the output correspond to the crystallographic position
of three “dummy atoms” located on the corresponding anisotropy axes, at the distance of 1.0 𝐴 ˚ from the
metal site. Example:
XFIE
This keyword specifies the value (in T) of applied magnetic field for the computation of magnetic suscep-
tibility by 𝑑𝑀/𝑑𝐻 and 𝑀/𝐻 formulas. A comparison with the usual formula (in the limit of zero applied
field) is provided. (Default is 0.0). Example:
XFIE 0.35
This keyword together with the keyword PLOT will enable the generation of two additional plots:
XT_with_field_dM_over_dH.png and XT_with_field_M_over_H.png, one for each of the two above
formula used, alongside with respective gnuplot scripts and gnuplot datafiles.
PLOT
Set to “true”, the program generates a few plots (png or eps format) via an interface to the linux program
gnuplot. The interface generates a datafile, a gnuplot script and attempts execution of the script for gen-
eration of the image. The plots are generated only if the respective function is invoked. The magnetic
susceptibility, molar magnetisation and blocking barrier (UBAR) plots are generated. The files are named:
XT_no_field.dat, XT_no_field.plt, XT_no_field.png, MH.dat, MH.plt, MH.png, BARRIER_TME.
dat, BARRIER_ENE.dat, BARRIER.plt and BARRIER.png, zeeman_energy_xxx.png etc. All files pro-
duced by SINGLE_ANISO are referenced in the corresponding output section. Example:
PLOT true
The upper scheme shows a schematic overview of a tri-nuclear compound and the resulting three mononuclear
fragments obtained by diamagnetic atom substitution method. By this scheme, the neighbouring magnetic centers,
containing unpaired electrons are computationally replaced by their diamagnetic equivalents. As example, tran-
sition metal (TM) sites are best described by either a diamagnetic Zn(II) or Sc(III), in function of which one is
the closest (in terms of charge and atomic radius). For lanthanides (LN), the same principle is applicable, La(III),
Lu(III) or Y(III) are best suited to replace a given magnetic lanthanide. Individual mononuclear metal fragments
are then investigated by the common CASSCF+SOC/NEVPT2+ SOC/SINGLE_ANISO computational method. A sin-
gle datafile for each magnetic site, produced by the SINGLE_ANISO run, is needed by the POLY_ANISO code as
input.
Magnetic interaction between metal sites is very important for accurate description of low-lying states and their
properties. While the full exchange interaction is quite complex (e.g. requiring a multipolar description employing
a large set of parameters [413, 871]), in a simplified model it can be viewed as a sum of various interaction mech-
anisms: magnetic exchange, dipole-dipole interaction, antisymmetric exchange, etc. In the POLY_ANISO code we
have implemented several mechanisms, which can be invoked simultaneously for each interacting pair.
The description of the magnetic exchange interaction is done within the Lines model[527]. This model is exact in
three cases:
1. interaction between two isotropic spins (Heisenberg),
2. interaction between one Ising spin (only S𝑍 component) and one isotropic (i.e. usual) spin, and
3. interaction between two Ising spins.
In all other cases when magnetic sites have intermediate anisotropy (i.e. when the spin-orbit coupling and crystal
field effects are of comparable strengths), the Lines model represents an approximation. However, it was success-
fully applied for a wide variety of polynuclear compounds so far.
In addition to the magnetic exchange, magnetic dipole-dipole interaction can be accounted exactly, by using the ab
initio computed magnetic moment for each metal site (as available inside the datafile). In the case of strongly
anisotropic lanthanide compounds (like Ho3+ or Dy3+ ), the magnetic dipole-dipole interaction is usually the dom-
inant one. For example, a system containing two magnetic dipoles 𝜇 ⃗ 1 and 𝜇
⃗ 2 , separated by distance ⃗r have a total
energy:
𝜇2𝐵𝑜ℎ𝑟
𝐸𝑑𝑖𝑝 = 𝜇1 · 𝜇
[⃗ ⃗ 2 − 3(⃗
𝜇1⃗𝑛1,2 ) · (⃗
𝜇2⃗𝑛1,2 )],
𝑟3
where 𝜇⃗ 1,2 are the magnetic moments of sites 1 and 2, respectively; 𝑟 is the distance between the two magnetic
dipoles, ⃗𝑛1,2 is the directional vector connecting the two magnetic dipoles (of unit length). 𝜇2𝐵𝑜ℎ𝑟 is the square of
the Bohr magneton; with an approximate value of 0.43297 in 𝑐𝑚−1 /T. As inferred from the above Equation, the
dipolar magnetic interaction depends on the distance and on the angle between the magnetic moments on magnetic
centers. Therefore, the Cartesian coordinates of all non-equivalent magnetic centers must be provided in the input.
In brief, the POLY_ANISO is performing the following operations:
1. read the input and information from the datafiles
2. build the exchange coupled basis
3. compute the magnetic exchange, magnetic dipole-dipole, and other magnetic Hamiltonians using the ab
initio-computed spin and orbital momenta of individual magnetic sites and the input parameters
4. sum up all the magnetic interaction Hamiltonians and diagonalise the total interaction Hamiltonian
5. rewrite the spin and magnetic moment in the exchange-coupled eigenstates basis
6. use the obtained spin and magnetic momenta for the computation of the magnetic properties of entire poly-
nuclear compound
The actual values of the inter-site magnetic exchange could be derived from e.g. broken-symmetry DFT calcula-
tions. Alternatively, they could be regarded as fitting parameters, while their approximate values could be extracted
by minimising the standard deviation between measured and calculated magnetic data.
7.18.2 Files
POLY_ANISO is called independently of ORCA for now. In the future versions of ORCA we will aim for a deeper
integration, for a better experience.
bash:$
bash:$ $ORCA/x86_64/otool_poly_aniso < poly_aniso.input > poly_aniso.output
bash:$
The actual names of the poly_aniso.input and poly_aniso.output are not hard coded, and can take any
names. A bash script for a more convenient usage of POLY_ANISO can be provided upon request or made available
on the Forum.
Input files
The program POLY_ANISO needs the following files:
aniso_i.input
This is an ASCII text file generated by the CASSCF/SOC/ SINGLE_ANISO run. It should be provided for
POLY_ANISO as aniso_i.input (i=1,2,3, etc.): one file for each magnetic center. In cases when the entire
polynuclear cluster or molecule has exact point group symmetry, only aniso_i.input files for crystallo-
graphically non-equivalent centers should be given. This saves computational time since equivalent metal
sites do not need to be computed ab initio.
poly_aniso.input
The standard input file defining the computed system and various input parameters. This file can take any
name.
Output files
NNEQ
2 T
1 2
2 2
There are two kinds of magnetic centers in the cluster; both have been computed ab initio; the cluster consists of
3 magnetic centers: one center of the first kind and two centers of the second kind. From each center we take
into the exchange coupling only the ground doublet. As a result, the 𝑁𝑒𝑥𝑐ℎ = 21 × 22 = 8, and the two datafiles
aniso_1.input (for-type 1) and aniso_2.input (for-type 2) files must be present.
NNEQ
3 T
(continues on next page)
There are three kinds of magnetic centers in the cluster; all three have been computed ab initio; the cluster consists
of four magnetic centers: two centers of the first kind, one center of the second kind and one center of the third
kind. From each of the centers of the first kind we take into exchange coupling four spin-orbit states, two states
from the second kind and three states from the third center. As a result the 𝑁𝑒𝑥𝑐ℎ = 42 × 21 × 31 = 96. Three
files aniso_i.input for each center (𝑖 = 1, 2, 3) must be present.
NNEQ
6 T
1 1 1 1 1 1
2 4 3 5 2 2
There are six kinds of magnetic centers in the cluster; all six have been computed ab initio; the cluster consists of
6 magnetic centers: one center of each kind. From the center of the first kind we take into exchange coupling two
spin-orbit states, four states from the second center, three states from the third center, five states from the fourth
center and two states from the fifth and sixth centers. As a result the 𝑁𝑒𝑥𝑐ℎ = 21 × 41 × 31 × 51 × 21 × 21 = 480.
Six files aniso_i.input for each center (𝑖 = 1, 2, ..., 6) must be present.
Only in cases when some centers have NOT been computed ab initio (i.e. for which no aniso_i.input file exists),
the program will read an additional line consisting of NON-EQ letters (𝐴 or 𝐵) specifying the type of each of the
NON-EQ centers: 𝐴 - the center is computed ab initio and 𝐵 - the center is considered isotropic. On the following
number-of-B-centers line(s) the isotropic 𝑔 factors of the center(s) defined as 𝐵 are read. The spin of the B center(s)
is defined: 𝑆 = (𝑁 − 1)/2, where 𝑁 is the corresponding number of states to be taken into the exchange coupling
for this particular center. Some examples valid for mixed situations: the system consists of centers computed ab
initio and isotropic centers (case 𝐹 , False):
NNEQ
2 F
1 2
2 2
A B
2.3 2.3 2.3
There are two kinds of magnetic centers in the cluster; the center of the first type has been computed ab initio,
while the centers of the second type are considered isotropic with 𝑔𝑋 = 𝑔𝑌 = 𝑔𝑍 =2.3; the cluster consists of
three magnetic centers: one center of the first kind and two centers of the second kind. Only the ground doublet
state from each center is considered for the exchange coupling. As a result the 𝑁𝑒𝑥𝑐ℎ = 21 × 22 = 8. File
aniso_i.input (for-type 1) must be present.
NNEQ
3 F
2 1 1
4 2 3
A B B
2.3 2.3 2.0
2.0 2.0 2.5
There are three kinds of magnetic centers in the cluster; the first center type has been computed ab initio, while the
centers of the second and third types are considered empirically with 𝑔𝑋 = 𝑔𝑌 =2.3; 𝑔𝑍 =2.0 (second type) and
𝑔𝑋 = 𝑔𝑌 =2.0; 𝑔𝑍 =2.5 (third type); the cluster consists of four magnetic centers: two centers of the first kind, one
center of the second kind and one center of the third kind. From each of the centers of the first kind, four spin-orbit
states are considered for the exchange coupling, two states from the second kind and three states from the center
of the third kind. As a result the 𝑁𝑒𝑥𝑐ℎ = 42 × 21 × 31 = 96. The file aniso_i.input must be present.
NNEQ
6 T
1 1 1 1 1 1
(continues on next page)
There are six kinds of magnetic centers in the cluster; only three centers have been computed ab initio, while the
other three centers are considered isotropic; the 𝑔 factors of the first center is 2.12 (S=1/2); of the second center
2.43 (S=3/2); of the fifth center 2.00 (S=1/2); the entire cluster consists of six magnetic centers: one center of each
kind. From the center of the first kind, two spin-orbit states are considered in the exchange coupling, four states
from the second center, three states from the third center, five states from the fourth center and two states from the
fifth and sixth centers. As a result the 𝑁𝑒𝑥𝑐ℎ = 21 × 41 × 31 × 51 × 21 × 21 = 480. Three files aniso_3.input
and aniso_4.input and aniso_6.input must be present.
There is no maximal value for NNEQ, although the calculation becomes quite heavy in case the number of exchange
functions is large.
SYMM Specifies rotation matrices to symmetry equivalent sites. This keyword is mandatory in the case more centers
of a given type are present in the calculation. This keyword is mandatory when the calculated polynuclear com-
pound has exact crystallographic point group symmetry. In other words, when the number of equivalent centers
of any kind 𝑖 is larger than 1, this keyword must be employed. Here the rotation matrices from the one center to
all the other of the same type are declared. On the following line the program will read the number 1 followed on
the next lines by as many 3 × 3 rotation matrices as the total number of equivalent centers of type 1. Then the
rotation matrices of centers of type√2, 3 and so on, follow in the same format. When the rotation matrices contain
irrational numbers (e.g. sin 𝜋6 = 23 ), then more digits than presented in the examples below are advised to be
√
given: 23 = 0.8660254. Examples:
NNEQ
2 F
1 2
2 2
A B
2.3 2.3 2.3
SYMM
1
1.0 0.0 0.0
0.0 1.0 0.0
0.0 0.0 1.0
2
1.0 0.0 0.0
0.0 1.0 0.0
0.0 0.0 1.0
-1.0 0.0 0.0
0.0 -1.0 0.0
0.0 0.0 -1.0
The cluster computed here is a tri-nuclear compound, with one center computed ab initio, while the other two
centers, related to each other by inversion, are considered isotropic with 𝑔𝑋 = 𝑔𝑌 = 𝑔𝑍 = 2.3. The rotation
matrix for the first center is 𝐼 (identity, unity) since the center is unique. For the centers of type 2, there are two
matrices 3 × 3 since we have two centers in the cluster. The rotation matrix of the first center of type 2 is Identity
while the rotation matrix for the equivalent center of type 2 is the inversion matrix.
NNEQ
3 F
2 1 1
4 2 3
A B B
2.1 2.1 2.1
2.0 2.0 2.0
SYMM
(continues on next page)
In this input a tetranuclear compound is defined, all centers are computed ab initio. There are two centers of
type “1”, related one to each other by 𝐶2 symmetry around the Cartesian Z axis. Therefore the SYMM keyword is
mandatory. There are two matrices for centers of type 1, and one matrix (identity) for the centers of type 2 and
type 3.
NNEQ
6 F
1 1 1 1 1 1
2 4 3 5 2 2
B B A A B A
2.12 2.12 2.12
2.43 2.43 2.43
2.00 2.00 2.00
In this case the computed system has no symmetry. Therefore, the SYMM keyword is not required. End of Input
Specifies the end of the input file. No keywords after this one will be processed.
where 𝑖 an 𝑗 are the indices of the metal sites of the interacting pair 𝑝; 𝐽𝑝 is the user-defined magnetic
exchange interaction between the corresponding metal sites; 𝑠ˆ𝑖 and 𝑠ˆ𝑗 are the ab initio spin operators for
the low-lying exchange eigenstates.
PAIR
3
1 2 -0.2
1 3 -0.2
2 3 0.4
The input above is applicable for a tri-nuclear molecule. Two interactions are antiferromagnetic while ferro-
magnetic interaction is given for the last interacting pair.
LIN3
This keyword defines a more involved exchange interaction, where the user is allowed to define 3 parameters
for each interacting pair. The interaction Hamiltonian is given by:
𝑁𝑝𝑎𝑖𝑟𝑠
∑︁ ∑︁
ˆ 𝐿𝑖𝑛𝑒𝑠 = −
𝐻 𝐽𝑝,𝛼 𝑠ˆ𝑖,𝛼 𝑠ˆ𝑗,𝛼 ,
𝑝=1 𝛼
LIN3
1
1 2 -0.2 -0.4 -0.6 # i, j, Jx, Jy, Jz
LIN9
1
1 2 -0.1 -0.2 -0.3 -0.4 -0.5 -0.6 -0.7 -0.8 -0.9
# i,j,Jxx,Jxy,Jxz,Jyx,Jyy,Jyz,Jzx,Jzy,Jzz
COOR
6.489149 3.745763 1.669546
5.372478 5.225861 0.505625
and is added to 𝐻
ˆ 𝑒𝑥𝑐ℎ computed using other models. The 𝐻
ˆ 𝑑𝑖𝑝 is added for all magnetic pairs.
magnetic tensors will be calculated (default MLTP=1). The program reads two lines: the first is the number
of multiplets (𝑁𝑀 𝑈 𝐿𝑇 ) and the second the array of 𝑁𝑀 𝑈 𝐿𝑇 numbers specifying the dimension (multiplicity)
of each multiplet. Example:
MLTP
10
2 4 4 2 2 2 2 2 2 2
POLY_ANISO will compute the EPR 𝑔 and 𝐷- tensors for 10 groups of states. The groups 1 and 4-10 are
doublets (𝑆˜ = |1/2⟩), while the groups 2 and 3 are quadruplets, having the effective spin 𝑆˜ = |3/2⟩. For the
latter cases, the ZFS (D-) tensors will be computed. We note here that large degeneracies are quite common
for exchange coupled systems, and the data for this keyword can only be rendered after the inspection of the
exchange spectra.
TINT
Specifies the temperature points for the evaluation of the magnetic susceptibility. The program will read
three numbers: 𝑇𝑚𝑖𝑛 , 𝑇𝑚𝑎𝑥 , and 𝑛𝑇 .
• 𝑇𝑚𝑖𝑛 - the minimal temperature (Default 0.0 K)
• 𝑇𝑚𝑎𝑥 - the maximal temperature (Default 300.0 K)
• 𝑛𝑇 - number of temperature points (Default 301)
Example:
TINT
0.0 300.0 331
POLY_ANISO will compute temperature dependence of the magnetic susceptibility in 331 points evenly dis-
tributed in temperature interval: 0.0 K - 330.0 K.
HINT
Specifies the field points for the evaluation of the molar magnetisation. The program will read three numbers:
𝐻𝑚𝑖𝑛 , 𝐻𝑚𝑎𝑥 , 𝑛𝐻.
• 𝐻𝑚𝑖𝑛 - the minimal field (Default 0.0 T)
• 𝐻𝑚𝑎𝑥 - the maximal filed (Default 10.0 T)
• 𝑛𝐻 - number of field points (Default 101)
Example:
HINT
0.0 20.0 201
POLY_ANISO will compute the molar magnetisation in 201 points evenly distributed in field interval: 0.0 T
- 20.0 T.
TMAG
Specifies the temperature(s) at which the field-dependent magnetisation is calculated. Default is one tem-
perature point, T = 2.0 K.
Example:
TMAG
6 1.8 2.0 2.4 2.8 3.2 4.5
ENCU
The keyword expects to read two integer numbers. The two parameters (NK and MG) are used to define the cut-
off energy for the lowest states for which Zeeman interaction is taken into account exactly. The contribution
to the magnetisation coming from states that are higher in energy than 𝐸 (see below) is done by second
order perturbation theory. The program will read two integer numbers: 𝑁 𝐾 and 𝑀 𝐺. Default values are:
𝑁 𝐾 = 100, 𝑀 𝐺 = 100.
The field-dependent magnetisation is calculated at the maximal temperature value given by TMAG keyword.
Example:
ENCU
250 150
This means that the magnetisation arising from all exchange states with energy lower than 𝐸 =
1013.06258(𝑐𝑚−1 ) will be computed exactly (i.e. are included in the exact Zeeman diagonalisation) The
keywords NCUT, ERAT and ENCU have similar purpose. If two of them are used at the same time, the following
priority is defined: NCUT > ENCU > ERAT.
UBAR
With UBAR set to “true”, the blocking barrier of a single-molecule magnet is estimated. The default is not to
compute it. The method prints transition matrix elements of the magnetic moment according to the Figure
below:
In this figure, a qualitative performance picture of the investigated single-molecular magnet is estimated
by the strengths of the transition matrix elements of the magnetic moment connecting states with opposite
magnetisations (𝑛+ → 𝑛−). The height of the barrier is qualitatively estimated by the energy at which
the matrix element (𝑛+ → 𝑛−) is large enough to induce significant tunnelling splitting at usual magnetic
fields (internal) present in the magnetic crystals (0.01-0.1 Tesla). For the above example, the blocking barrier
closes at the state (8+ → 8−). All transition matrix elements of the magnetic moment are given as ((|𝜇𝑋 | +
|𝜇𝑌 | + |𝜇𝑍 |)/3). The data is given in Bohr magnetons (𝜇𝐵𝑜ℎ𝑟 ). Example:
UBAR
ERAT
This flag is used to define the cut-off energy for the low-lying exchange-coupled states for which Zeeman
interaction is taken into account exactly. The program will read one single real number specifying the ratio
of the energy states which are included in the exact Zeeman Hamiltonian. As example, a value of 0.5 means
that the lowest half of the energy states included in the spin-orbit calculation are used for exact Zeeman
diagonalisation. Example:
ERAT
0.333
The keywords NCUT, ERAT and ENCU have similar purpose. If two of them are used at the same time, the
following priority is defined: NCUT > ENCU > ERAT.
NCUT
This flag is used to define the cut-off energy for the low-lying exchange states for which Zeeman interaction is
taken into account exactly. The contribution to the magnetisation arising from states that are higher in energy
than lowest 𝑁𝐶𝑈 𝑇 states, is done by second-order perturbation theory. The program will read one integer
number. In case the number is larger than the total number of exchange states(𝑁𝑒𝑥𝑐ℎ , then the 𝑁𝐶𝑈 𝑇 is set to
𝑁𝑆𝑆 (which means that the molar magnetisation will be computed exactly, using full Zeeman diagonalisation
for all field points). The field-dependent magnetisation is calculated at the temperature value(s) defined by
TMAG. Example:
NCUT
32
The keywords NCUT, ERAT and ENCU have similar purpose. If two of them are used at the same time, the
following priority is defined: NCUT > ENCU > ERAT.
MVEC
MVEC, define a number of directions for which the magnetisation vector will be computed. The directions
are given as vectors specifying the direction i of the applied magnetic field).
Example:
MVEC
4 # number of directions
1.0 0.0 0.0 # px, py, pz of each direction
0.0 1.0 0.0
0.0 0.0 1.0
1.0 1.0 1.0
ZEEM
This keyword allows to compute Zeeman splitting spectra along certain directions of applied field. Directions
of applied field are given as three real number for each direction, specifying the projections along each
direction: Example:
ZEEM
6
1.0 0.0 0.0
0.0 1.0 0.0
0.0 0.0 1.0
0.0 1.0 1.0
1.0 0.0 1.0
1.0 1.0 0.0
The above input will request computation of the Zeeman spectra along six directions: Cartesian axes X,
Y, Z (directions 1,2 and 3), and between any two Cartesian axes: YZ, XZ and XY, respectively. The pro-
gram will re-normalise the input vectors according to unity length. In combination with PLOT keyword, the
corresponding zeeman_energy_xxx.png images will be produced.
MAVE
The keyword requires two integer numbers, denoted MAVE_nsym and MAVE_ngrid. The parameters
MAVE_nsym and MAVE_ngrid specify the grid density in the computation of powder molar magnetisation.
The program uses Lebedev-Laikov distribution of points on the unit sphere. The parameters are integer
numbers: 𝑛𝑠𝑦𝑚 and 𝑛𝑔𝑟𝑖𝑑 . The 𝑛𝑠𝑦𝑚 defines which part of the sphere is used for averaging. It takes one of
the three values: 1 (half-sphere), 2 (a quarter of a sphere) or 3 (an octant of the sphere). 𝑛𝑔𝑟𝑖𝑑 takes values
from 1 (the smallest grid) till 32 (the largest grid, i.e. the densest). The default is to consider integration
over a half-sphere (since 𝑀 (𝐻) = −𝑀 (−𝐻)): 𝑛𝑠𝑦𝑚 = 1 and 𝑛𝑠𝑦𝑚 = 15 (i.e 185 points distributed over
half-sphere). In case of symmetric compounds, powder magnetisation may be averaged over a smaller part
of the sphere, reducing thus the number of points for the integration. The user is responsible to choose the
appropriate integration scheme. Note that the program’s default is rather conservative.
Example:
MAVE
1 8
TEXP
This keyword allows computation of the magnetic susceptibility 𝜒𝑇 (𝑇 ) at experimental points. On the line
below the keyword, the number of experimental points 𝑁𝑇 is defined, and on the next 𝑁𝑇 lines the program
reads the experimental temperature (in K) and the experimental magnetic susceptibility (in 𝑐𝑚3 𝐾𝑚𝑜𝑙−1 ).
The magnetic susceptibility routine will also print the standard deviation from the experiment.
TEXP
54
299.9901 55.27433
290.4001 55.45209
279.7746 55.43682
269.6922 55.41198
259.7195 55.39274
249.7031 55.34379
239.735 55.29292
229.7646 55.23266
219.7354 55.15352
209.7544 55.06556
...
HEXP
This keyword allows computation of the molar magnetisation 𝑀𝑚𝑜𝑙 (𝐻) at experimental points. On the
line below the keyword, the number of experimental points 𝑁𝐻 is defined, and on the next 𝑁𝐻 lines the
program reads the experimental field intensity (in Tesla) and the experimental magnetisation (in 𝜇𝐵𝑜ℎ𝑟 ).
The magnetisation routine will print the standard deviation from the experiment.
HEXP
3 1.0 5.3 2.4 # temperature values
10 # numer of field points
0.30 4.17 1.26 2.51 # H(T) and M for each temperature
1.00 5.47 3.57 4.82
1.88 5.79 4.54 5.30
2.67 5.92 4.96 5.54
3.46 5.97 5.20 5.70
4.24 6.00 5.36 5.81
5.03 6.01 5.48 5.88
5.82 6.02 5.57 5.93
6.61 6.02 5.65 5.97
7.40 6.03 5.72 5.99
ZJPR
This keyword specifies the value (in 𝑐𝑚−1 ) of a phenomenological parameter of a mean molecular field
acting on the spin of the complex (the average intermolecular exchange constant). It is used in the calculation
of all magnetic properties (not for spin Hamiltonians) (Default is 0.0).
ZJPR
-0.02
XFIE
This keyword specifies the value (in T) of applied magnetic field for the computation of magnetic suscep-
tibility by 𝑑𝑀/𝑑𝐻 and 𝑀/𝐻 formulas. A comparison with the usual formula (in the limit of zero applied
field) is provided. (Default is 0.0). Example:
XFIE
0.35
This keyword together with the keyword PLOT will enable the generation of two additional plots:
XT_with_field_dM_over_dH.png and XT_with_field_M_over_H.png, one for each of the two above
formula used, alongside with respective gnuplot scripts and gnuplot datafiles.
TORQ
This keyword specifies the number of angular points for the computation of the magnetisation torque func-
tion, ⃗𝜏𝛼 as function of the temperature, field strength and field orientation.
TORQ
55
The torque is computed at all temperature given by TMAG or HEXP_temp inputs. Three rotations around
Cartesian axes X, Y and Z are performed.
PRLV
This keyword controls the print level.
• 2 - normal. (Default)
• 3 or larger (debug)
PLOT
Set to “true”, the program generates a few plots (png or eps format) via an interface to the linux program
gnuplot. The interface generates a datafile, a gnuplot script and attempts execution of the script for gen-
eration of the image. The plots are generated only if the respective function is invoked. The magnetic
susceptibility, molar magnetisation and blocking barrier (UBAR) plots are generated. The files are named:
XT_no_field.dat, XT_no_field.plt, XT_no_field.png, MH.dat, MH.plt, MH.png, BARRIER_TME.
dat, BARRIER_ENE.dat, BARRIER.plt and BARRIER.png, zeeman_energy_xxx.png etc. All files pro-
duced by SINGLE_ANISO are referenced in the corresponding output section. Example:
PLOT
%casscf
...
MULT 1,3 # multiplicity block
NRoots 2,2 # number of roots for the MULT blocks
# option to skip the PT2 correction for a selected multiplicity block and root
# (same input structure as weights in %casscf)
selectedRoots[0]=0,1 # skip the first roots of MULT=1
selectedRoots[1]=0,0 # skip MULT=3 roots
end
end
NEVPT2 can also be set using the simple keywords on top of any valid CASSCF input.
The two computationally most demanding steps of the NEVPT2 calculation are the initial integral transformation
involving the two-external labels and the formation of the fourth order density matrix (D4). Efficient approxima-
tions to both issues are available in ORCA.
If not otherwise specified (keyword CIStep), CASSCF and consequently NEVPT2 use a conventional CSF based
solver for the CAS-CI problem. In principle, the NEVPT2 approach can be combined with approximate CI solution
such as the DMRG approach described in section Density Matrix Renormalization Group. Starting with ORCA
4.0 it is possible to run NEVPT2-DMRG calculations for the FIC and SC type ansatz using the methodology de-
veloped by the Chan group.[336] Aside from the usual DMRG input, the program requires an additional parameter
(nevpt2_MaxM) in the DMRG block. However, some of the features will be restricted to the default CIStep.
%casscf
cistep DMRGCI
%dmrg
...
nevpt2_MaxM 2000 # (see Note below)
end
PTMethod SC_NEVPT2 # or FIC_NEVPT2
end
Additional speedups can be obtained if the Fock operator formation is approximated using the !RIJCOSX or !RIJK
techniques. In case of RIJCOSX, an additional auxiliary basis must be provided for the AuxJ auxiliary basis slot.
For more information on the basis set slots see section Built-in Basis Sets.
#RIJCOSX one-liner
! def2-svp def2/J RIJCOSX def2-svp/C
Whereas the RIJK requires a single auxiliary basis set (AuxJK slot), that is large enough to fit integrals in the Fock-
matrix construction, orbital gradient/Hessian and the correlation part. In contrast to COSX, the calculation can
also be carried out in conv mode (storing the AO integrals on disk).
The described methodology allows the computation of systems with up to 2000 basis functions. Even larger
molecules are accessible in the framework of DLPNO-NEVPT2 described in the next subsection. Several ex-
amples can be found in the CASSCF tutorial.
PTMethod DLPNO_NEVPT2
# detailed settings (optional)
PTSettings
TCutPNO 1e-8 # most important parameter controlling the accuracy (default 1e-8)
MaxIter 20 # maximum for residual iterations
MaxDIIS 7 # DIIS dimension
end
end
*xyz 0 5 FeC72N2H100.xyz
Just like RI-NEVPT2, the calculations requires an auxiliary basis. The aux-basis should be of /C or /JK type (more
accurate). Aside from the paper of Guo et al,[344] a concise report of the accuracy can be found in the CASSCF
tutorial, where we compute exchange coupling parameters. Note that in the snippet above, we have repeated some
of the default setting in the NEVPT sub-block. This is not mandatory and should be avoided to keep the input as
simple as possible.
As mentioned earlier, the CASSCF step can be accelerated with the RIJK or RIJCOSX approximation. Both
options are equally valid for the DLPNO-NEVPT2. The RIJK variant typically produces more accurate results
than RIJCOSX. The input file is almost the same as before, except for the keyword line:
A linear scaling version of NEVPT2-F12, the DLPNO-NEVPT2-F12, allows to tackle systems with several thou-
sand of basis functions.[338] With the exception of the DLPNO_NEVPT2 keyword, the input structure is otherwise
identical to NEVPT2-F12 method.
Note that the DLPNO-NEVPT2-F12 algorithm is unitary invariant with respect to subspace rotation of inactive and
active orbitals. By tightening the DLPNO truncation thresholds, the canonical NEVPT2-F12 can be reproduced,
even with localized internal and active molecular orbitals.
In addition, a reformulation of the canonical NEVPT2 is available, that avoids the 4-RDM.[458] The basic idea
of the latter is similar to the recent development reported by Sokolov and coworkers.[162] In ORCA the reformu-
lated “efficient” implementation is combined with the PS approximation. Note that the reformulation is presently
restricted to the canonical NEVPT2 ansatz. An extension to the DLPNO variant will be available in the future.
The new code is called setting “D4Step efficient”. Irrespective of the formulation, ORCA by default truncates
the CASSCF wave function prior computation of the fourth order reduced density matrix using the PS approxima-
tion.[342, 343] Only configurations with a weight larger than a given parameter D4TPre are taken into account. The
same reduction is available for the third order density matrix using the keyword D3TPre. Both of the parameters
can be adjusted within the PTSettings sub-block of the CASSCF module.
%casscf
...
PTMethod FIC_NEVPT2 # or SC_NEVPT2
These approximations naturally affect the “configuration RI” as well. In this context, it should be noted that a
configuration corresponds to a set of configuration state functions (CSF) with identical orbital occupation. For
each state the dimension of the CI and and RI space is printed.
The default values usually produce errors of less than 1 mEh. However, the error introduced by the D4TPre is
system dependent and should be double checked. The exact NEVPT2 energy is recovered with the parameters
set to zero. The approximation is available for all variants of NEVPT2 (SC, FIC and DPLNO-FIC). For crude
cut-offs, the approximation may lead to so called false intruder states.[342, 343, 913] The behavior shows up as
unreasonably large correlation energy contributions of the 1h (V_i) or 1p (V_a) excitations class e.g. positive or
large correlation energies compared to the 2h-2p (V_ijab) excitation class. This is a system specific issue, which is
avoided with tighter thresholds (D4TPre=1e-14). The default settings is chosen conservative and rarely produces
artifacts. As last resort, an imaginary shift can be added to mitigate intruder states. Note that imaginary shifts
(default=0.0 )are restricted the canonical FIC-NEVPT2 - not DLPNO.
The PS approximation completely neglects CFGs with a small weight. This is contrasted by the EPS approximation,
where the small weights (up to thresh D4TQuad) are still accounted for (first order correction).[343]. The results
are more robust but also more expensive compared to the PS approximation.
PTSettings
D4Step D4PT # running the standard code withthe EPS approximation
D4TPre 1e-12 # default truncation 4-RDM
D4TQuad 1e-14 # selects CFGs for the first order correction.
end
Huge computational savings can be achieved with the cumulant expansion, which have been recently re-
evaluated.[343]. The results should be treated with care as false intruder states can emerge.[913] In these cases,
the imaginary level shift is the only mitigation tool. Note that the imaginary shift is implemented only for FIC-
NEVPT2.
PTSettings
D4Step Cu4 # 4-RDM approximated with cumulants
# "Cu34" to approximate 3-RDM and 4-RDM
(continues on next page)
!NEVPT2 ...
%casscf
...
MULT 1,3 # multiplicity block
NRoots 2,2 # number of roots for the MULT blocks
# option to skip the PT2 correction for a selected multiplicity block and root
# (same input structure as weights in %casscf)
selectedRoots[0]=0,1 # skip the first roots of MULT=1
selectedRoots[1]=0,0 # skip MULT=3 roots
end
end
where Ψ𝐼 refers to NEVPT2 wave function of the I’th state. The code is implemented using the ORCA AGE
tool-chains.[474] In its present form the code runs serial. Note that the density can be used to generate natural
orbitals.
%casscf
...
PTMethod FIC_NEVPT2
The density as well the natural orbitals are state-specific. Thus, ORCA repeats the population analysis for each
state. With the added keyword !KeepDens the NEVPT2 density is stored in the density container (.densities file
on disk). The latter can be used to create density plots interactively (see Section orca_plot). Natural orbitals are
stored in the gbw file-format as .nat file with a prefix corresponding to the jobname, multiplicity and root. The
density can be used to generate natural orbitals.
A typical output takes the following form:
...
Natural Orbital Occupation Numbers:
...
N[ 4] = 1.98812992
N[ 5] = 1.98308480
N[ 6] = 1.93858508
N[ 7] = 1.49303660
N[ 8] = 1.49303660
N[ 9] = 1.48519842
N[ 10] = 1.48519842
N[ 11] = 0.05922342
N[ 12] = 0.00921465
N[ 13] = 0.00921465
N[ 14] = 0.00794869
N[ 15] = 0.00620254
...
===============================================================
NEVPT2 Results
===============================================================
...
NEVPT2 natural orbital can be used to do natural orbital iterations (!MORead NoIter). They might also be a
useful tool to find suitable orbital to extend the active space.[443]
NEVPT2-SETTINGS:
Orbitals ... canonical for each state
%casscf
...
# detailed settings (optional)
PTSettings
canonstep 0 # state-averaged orbitals and specific orbital energies
1 # canonical for each state
2 # state-averaged orbitals and orbital energies
3 # 1-step orbital relaxation
# and canonical for each state (partially relaxed)
(continues on next page)
The final orbitals of the state-averaged CASSCF diagonalize the state-averaged Fock operator. Large computational
savings can be made if these orbitals are employed for all of the states. canonstep 0 chooses orbital energies as
diagonal elements of the state-specific Fock operators. In release version ORCA 3.0 and older, this has been
the default setting. These options work best if the averaged states are similar in nature. For SC-NEVPT2, we
have implemented two more canonsteps, which trade accuracy for speed and vice versa. canonstep 2 is more
approximate and employs orbital energies from the state-averaged calculation. Thus there is no contribution to
excitation energies from the perturber class 𝑉𝑖𝑗𝑎𝑏 at this level of approximation.
If the states under consideration are substantially different, these approximations will be of poor quality and should
be turned off. Better results can be achieved, if the state-averaged orbitals are partially relaxed for each state
before the actual SC-NEVPT2 calculation. [224] Often it is not possible to optimize the excited states separately.
Thus canonstep 3 will try a single steepest descent step for each state before running the actual SC-NEVPT2
calculation with canonicalized orbitals. Optionally, instead of a steepest descent using an approximate diagonal
Hessian, a single Newton-Raphson step can be made.
%casscf
...
PTMethod SC_NEVPT2
# detailed settings (optional)
PTSettings
gstep SOSCF true # steepest descent step
NR false # Newton-Raphson step
end
end
Despite a converged state-averaged calculation, the gradient for the individual states can be surprisingly large. As
a consequence, the orbital relaxation might fail as both methods might be outside their convergence radius. ORCA
will retry the relaxation with an increased damping. If the orbital update still fails, the program will stick with the
initial orbitals. Setting an overall damping manually, might help the relaxation procedure.
PTMethod SC_NEVPT2
PTSettings
gscaling 0.5 # damp gradient with a pre-factor
end
(2)
∑︁ ⟨𝐼 |𝐻| 𝑘⟩ ⟨𝑘 |𝐻| 𝐼⟩
𝐸𝐼 = (0)
𝑘 𝐸𝐼 − 𝐸𝑘
This is problematic, when the interaction/mixing of states are falsely described at the CASSCF level. A typical
example is the dissociation of lithium fluoride.
!def2-tzvp nevpt2 nofrozencore
%casscf
(continues on next page)
Here, the ground and first excited state of Σ+ should not cross. However, at the NEVPT2 level, an erratic double
crossing is observed instead.
Fig. 7.7: SC-NEVPT2 and QD-SC-NEVPT2 Li-F dissociation curves of the ground and first excited states for a
CAS(2,2) reference
A re-organizing of the reference states can be introduced in the framework of quasi-degenerate perturbation theory.
In practice, an effective Hamiltonian is constructed allowing “off-diagonal” corrections to the second order energy
(0)
∑︁ ⟨𝐼 |𝐻| 𝑘⟩ ⟨𝑘 |𝐻| 𝐽⟩
𝐻𝐼𝐽 = 𝛿𝐼𝐽 𝐸𝐼 + (0)
𝑘 𝐸𝐼 − 𝐸𝑘
Diagonalization of this eff. Hamiltonian yields improved energies and rotation matrix (right eigenvectors) that
introduces the desired re-mixing of the reference states. The quasi-degenerate extension to SC-NEVPT2 [43] can
be switched on with the keyword QDType.
%casscf
...
PTMethod SC_NEVPT2 # Must be SC_NEVPT2
PTSettings
QDType 0 # disabled (default)
QD_VanVleck # Hermitian eff. Hamiltonian (recommended)
QD_Bloch # non-Hermitian eff. Hamiltonian
QD_Cloiszeaux # Hermitian eff. Hamiltonian
end
end
ORCA will print the eff. Hamiltonian matrix and its eigenvectors at the end of the calculation.
===============================================================
QD-NEVPT2 Results
===============================================================
*********************
MULT 1,
*********************
Right Eigenvectors
0 1
0 -0.987232 0.170171
1 -0.159292 -0.985414
--------------------------
ROOT = 0
--------------------------
Total Energy Correction : dE = -0.25309172934720
Zero Order Energy : E0 = -106.82353108218946
Total Energy (E0+dE) : E = -107.07662281153667
--------------------------
ROOT = 1
--------------------------
Total Energy Correction : dE = -0.23103459727281
Zero Order Energy : E0 = -106.77074682157986
Total Energy (E0+dE) : E = -107.00178141885267
By construction the Hamiltonian is non-Hermitian (QDType QD_Bloch). Hence the computation of properties with
the revised wave function e.g. expectation values require left- and right eigenvectors. A single set of eigenvectors
(“right”) can be constructed using the Des Cloizeaux scheme (QDType QD_Cloiszeaux) leading to an Hermitian
effective Hamiltonian.[204] The transformation does not change the energies but affects the mixing of states. Note
that actual eff. Hamiltonian is printed with a PrintLevel larger 4 in the PTSettings subblock. The diagonalization
of the general matrices appearing in both formulations may occasionally lead to complex eigenpairs - an undesired
artifact. Although, the eigenvalues have typically only a small imaginary component, the results are not reliable
and ORCA prints a warning.
The QD_VanVleck option avoids the general eigenvalue decomposition. The equations are derived from second
order Van Vleck perturbation theory, which results in a Hermitian eff. Hamiltonian.[493] The methodology is
equivalent to the symmetrization of the Bloch Hamiltonian. The solution is always real and properties are easily
accessible. Thus, QD_VanVleck is the recommended approach in ORCA. For a more detailed comparison of
operator
′ ′ ′ ′ 𝜆
< Φ𝑝𝑞′ 𝑠𝑟′ |𝐹ˆ |Φ𝑝𝑟 𝑝𝑟 𝑝𝑟 𝑝 𝑞 𝑟 𝑠
𝑞𝑠 > + =< Φ𝑞 ′ 𝑠′ |Φ𝑞𝑠 > · · (4 + 𝛾𝑝 − 𝛾𝑞 + 𝛾𝑟 − 𝛾𝑠 ),
2
where 𝛾𝑞𝑝 =< Ψ0 |𝐸𝑞𝑝 |Ψ0 > is the expectation value of the spin-traced excitation operator.[441] The labels p,q,r,s
refer to general molecular orbitals (inactive, active and virtual). Irrespective of the ORCA implementation, the
validity of the IPEA shift in general remains questionable and is thus by default disabled.[922] ORCA features
an alternative formulation, named CASPT2-K, that revises the zeroth order Hamiltonian itself.[460] Here, two
additional Fock matrices are introduced for excitation classes that add or remove electrons from the active space.
The new Fock matrices are derived from the generalized Koopmans’ matrices corresponding to electron ionization
and attachment processes. The resulting method is less prone to intruder states and the same time more accurate
compared to the canonical CASPT2 approach. For more a detailed discussion, we refer to the paper by Kollmar et
al.[460]
The CASPT2 and CASPT2-K approaches are called in complete analogy to the FIC-NEVPT2 approach. Note that
the methodology can be combined with the RI approximation. A detailed example with comments on the output is
given in Section Complete Active Space Perturbation Theory: CASPT2 and CASPT2-K. Below is concise list with
the accessible options.
%casscf
...
# general settings
(continues on next page)
# Option to skip the PT2 correction for a selected multiplicity blocks and roots
# (same input structure as weights in %casscf)
selectedRoots[0]=0,1 # skip the first roots of MULT=1
selectedRoots[1]=0,0 # skip MULT=3 roots
end
CASPT2 can also be set using the simple keywords on top of any valid CASSCF input.
!CASPT2 # FIC-CASPT2
!CASPT2K # FIC-CASPT2-K
!RI-CASPT2 # FIC-CASPT2 with RI approximation
!RI-CASPT2-K # FIC-CASPT2-K with RI approximation
%casscf ...
DCD,𝑆
∑︁ ⟨Φ𝑆𝑆 |𝐻|Φ̃𝑆𝑆 ⟩⟨Φ̃𝑆𝑆 |𝐻|Φ𝑆𝑆 ⟩
𝐻𝐼𝐽 = ⟨Φ𝑆𝑆 𝑆𝑆
𝐼 |𝐻|Φ𝐽 ⟩ −
𝐼 𝐾
𝑆 − 𝐸𝑆
𝐾 𝐽
𝐾∈FOIS
𝐸 𝐾 0
Since in this version the 𝑖𝑗 → 𝑎𝑏 perturber class does not contribute at all to excitation energies (like it is assumed
in the difference-dedicated configuration interaction method), we call this the difference-dedicated DCD-CAS(2)
method. Since the 𝑖𝑗 → 𝑎𝑏 class contributes the largest part of the dynamic correlation energy, this also removes
the largest part of the ground state bias. This option is used as default in DCD-CAS(2) calculations. In order to
also remove the ground state bias from the other perturber classes, we furthermore apply a perturbative correction
to the final energies. At first order (which is chosen as default), it takes the form
∑︁ ⟨Ψ̃𝐼 |𝐻|Φ̃𝐾 ⟩⟨Φ̃𝐾 |𝐻|Ψ̃𝐼 ⟩
∆𝐸𝐼 = −∆𝐼
(𝐸𝐾 − 𝐸0 )2
𝐾∈FOIS
∆𝐼 = ⟨Ψ̃𝐼 |𝐻|Ψ̃𝐼 ⟩ − 𝐸0
for the correction ∆𝐸𝐼 to the total energy of the 𝐼th DCD-CAS(2) root |Ψ̃𝐼 ⟩.
⃗ ·𝑔·𝑆
𝐻Zeeman = 𝜇𝐵 𝐵 ⃗
∑︁
𝐻HFC = 𝐼⃗𝐴 · 𝐴𝐴 · 𝑆
⃗
𝐴
to the matrix representation of the many-electron Zeeman and HFC operators in the basis of the Kramers doublet.
This yields [491]
where 𝐵𝑘HFC (𝑅
⃗ 𝐴 ) is the 𝑘th component of the magnetic hyperfine field vector at the position of nucleus 𝐴 and 𝛾𝐴
is the gyromagnetic ratio.
%casscf
dcdcas true # Do a DCD-CAS(2) calculation
diffded true # Use difference-dedicated DCD-CAS(2) for the
# ij->ab class
corrorder 1 # Maximum order for the perturbative bias correction
# (lower orders come for free)
dcd_ritrafo false # Use RI approximation for electron repulsion integrals
Note that the calculation of SSC requires the definition of an auxiliary basis set, since it is only implemented
in conjunction with RI integrals. If dcd_magnetization is requested, the values for magnetic flux density
and temperature to be used can be specified via the keywords MAGTemperatureMIN, MAGTemperatureMAX,
MAGTemperatureNPoints, MAGFieldMIN, MAGFieldMAX, MAGNpoints of the rel subblock of the %casscf
block (see section Magnetization and Magnetic Susceptibility). If the keyword dcd_domagfield is set to a num-
ber different than 0, the magnetic fields can be entered as a matrix of xyz coordinates (in Gauss), e.g.
%casscf
dcdcas true
...
dcd_domagfield 2
dcd_magneticfields[0] = 10000, 0, 0
dcd_magneticfields[1] = 0, 10000, 0
end
Furthermore, there is the keyword DCD_EDIAG that when running the DCD-CAS(2) code in CASCI mode works
analogously to the keyword EDiag in the soc subblock of the %mrci block (see section Zero-Field Splitting). The
energies should be entered in atomic units, e.g.
%casscf
...
dcdcas true
dcd_cascimode true
dcd_soc true
DCD_EDIAG[0] -2220.920028
DCD_EDIAG[1] -2220.834377
DCD_EDIAG[2] -2220.835871
DCD_EDIAG[3] -2220.810290
DCD_EDIAG[4] -2220.812293
DCD_EDIAG[5] -2220.756732
end
• One-dimensional chain molecules, with “widths” of up to 6 orbitals, and about 100 total orbitals,
• Champion FCI benchmark solutions in small molecules, such as butadiene in a cc-pVDZ basis (22 electrons
in 82 orbitals),
• Accuracies in energy differences or total energies of about 1 kcal/mol.
If any these calculations interest you, then you might want to try a DMRG calculation with BLOCK!
For small molecule CASCI it may be possible to correlate all orbitals. In general, similar to a standard CASSCF
calculation, it is necessary to select a sensible active space to correlate. (See Section Orbital optimization on
CASSCF). This is the responsibility of the user.
* xyz 0 1
C 0 0 -0.621265
C 0 0 0.621265
*
Once you are familiar with the default mode, we recommend exploring the localization of orbitals. In general,
DMRG benefits from the use of localized orbitals, and these should be used unless the high-symmetry of the
molecule (e.g., D2ℎ symmetry) provides compensating computational benefits. We recommend using “split-
localized” orbitals, which correspond to localizing the occupied and virtual orbitals separately. An example of
a split-localized default DMRG calculation on the porphine molecule, correlating the full 𝜋-space (26 electrons in
24 orbitals), in a cc-pVDZ basis is given in Sec. Appendix: Porphine \pi-active space calculation.
For a given maxM, it can take a long time to tightly converge DMRG calculations (e.g. to the default 1e-9 tolerance).
To decrease computation time, you may wish to loosen the default tight sweep tolerance or control the maximum
number of sweep iterations with the commands sweeptol and maxIter.
Orbital optimization
Orbital optimization (mixing the external/internal space with the active space, not to be confused with orbital
rotation and ordering in the active space) in DMRG calculation can be performed by using the BLOCK program
as the “CIStep” within a CASSCF calculation, as described above. For the moment, spin-densities and related
properties are not available for this CIStep.
During the optimization iterations it is important that the active orbitals maintain their overlap and ordering with
previous iterations. This is done using actConstrains. This flag is set by default.
%casscf
ActConstrains 1 # maintain shape and ordering of active orbitals
...
end
In general, performing a DMRG calculation with orbital optimization is quite expensive. Therefore, it is often best
to carry out the orbital optimization using a small value of maxM (enabled by the default parameters maxM=25 and
the resulting sweep schedule), and to carry out a final single-point calculation using a larger value of maxM.
Advanced options
There may be times when one wants finer control of the DMRG calculation. All keywords are shown in the complete
set of BLOCK options Complete set of BLOCK options below. The startM command allows to change the starting
number of states in DMRG calculations. It is also possible to specify the entire sweep schedule manually. A sweep
schedule example follows:
%casscf
...
dmrg
MaxIter 14
switch_rst 1e-3
TwoDot_to_oneDot 12
NSchedule 3
(continues on next page)
end
end
%casscf
...
DMRG
auto_ordering GAOPT
end
end
Troubleshooting
The two most common problems with DMRG calculations are that (i) convergence with maxM is slower than desired,
or (ii) the DMRG sweeps get stuck in a local minimum. (i) is governed by the orbital ordering / choice of orbitals.
To improve convergence, turn on the genetic algorithm orbital ordering.
If you suspect (ii) is occurring, the simplest thing to do is to increase the starting number of states with the startM
(e.g. from 500 to 1000 states). Local minima can also sometimes be avoided by increasing the noise in the DMRG
schedule, e.g. by a factor of 10. To check that you are stuck in a local minimum, you can carry out a DMRG
extrapolation (see extended Manual in the BLOCK website).
Note that the present DMRG-SCF establishes the input order of active space orbitals according to their Hartree-Fock
occupancy, even if these orbitals are ultimately canonical or split-localized canonical in nature. This is specified by
hf_occ in which the Hartree-Fock occupancy is derived by default from the one-electron integrals. Other options
for obtaining the occupancy are available (see Complete set of BLOCK options).
Somet times the energy values produced from one SCF cycle to another may oscillate. Such a nonlinear numerical
behaviour may occur typically by the last few iterations, most likely caused by the loss of a certain distribution of
quantum numbers (eg, particle number, irrep symmetry and spin) in the blocking and decimation procedure due
to incomplete many-body basis. On the other hand, the loss of quantum numbers is the main source of energy
discontinuities on potential energy curves calculated by DMRG-SCF using a small number of renormalized states.
In the current release of DMRG-SCF implementation, the number of quantum states is locked to avoid these prob-
lems. The locking mechanism is turned on when the orbital gradient falls below a certain threshold defined by the
keyword switch_rst (default: 0.001). The DMRG calculation then starts from previous operators and wavefunc-
tion in which a perturbative noise is not added. Locking quantum states and restaring DMRG wavefunction not
only ensures a smooth convergence towards the final energy but also minimizes the number of iterations. Note that
the locking procedure introduces an arbitrariness to the final energy, when a very small 𝑀 is used, since the final
digits of energy depend on where the locking begins. It is therefore not recommended to start locking too early in
iterations which could trap the orbital solution in a local mimimum. Finally the quality of resulting orbitals can
be checked by carrying out a DMRG calculation with sufficient renormalized states. Using the default value of
switch_rst DMRG-SCF usually results in the orbitals that are good enough to reproduce the CASSCF energy.
%casscf
...
dmrg
end
end
2. We then swap orbitals with 𝜋-character so they are adjacent to each other in the active space. (𝜋 orbitals are
identified by looking at the MO coefficients). When they are adjacent in the active space, they can be easily
localized in the next step.
#To rotate the orbitals (so that we can localize them in the next step)
!cc-pvdz moread noiter
%moinp "porphine.gbw"
%scf
rotate
# Swap orbitals
{70, 72}
{65, 71}
{61, 70}
{59, 69}
{56, 68}
{88, 84}
{92, 85}
{93, 86}
{96, 87}
{99, 88}
{102, 89}
{103, 90}
{104, 91}
end
end
* xyz 0 1
[...]
*
3. After rotating the orbitals, we localize the 13 occupied 𝜋-orbitals. This is performed using the orca_loc
code. The input file follows.
porphine_rot.gbw
porphine_loc.gbw
0
68
80
120
1e-3
0.9
0.9
(continues on next page)
4. After localizing the occuppied orbitals, we localize the 11 virtual 𝜋-orbitals using the orca_loc code once
again. The input file follows.
porphine_loc.gbw
porphine_loc2.gbw
0
81
91
120
1e-3
0.9
0.9
1
5. After these steps are complete, we run a CASSCF-DMRG calculation. The standard input file is shown
below
%casscf nel 26
norb 24
nroots 1
CIStep DMRGCI
end
* xyz 0 1
[...]
*
%rel
#----------------------------------------------------
# Basic scalar relativistic method
#----------------------------------------------------
method DKH # Douglas-Kroll-Hess
ZORA # ZORA (numerical integration)
IORA # IORA (numerical integration)
IORAmm # IORA with van Wuellens
# modified metric
X2C # Exact two-component
# ---------------------------------------------------
# Choice of the model potential for ALL methods
# ---------------------------------------------------
ModelPot VeN, VC, VXa, VLDA, VPC
# Flags for terms in the model potential
# =0 not included =1 included
# WARNING: default is currently 1,1,1,1 for ZORA and IORA and
# VeN = nuclear attraction term
# VC = model Coulomb potential (ZORA/IORA only)
# VXa = model Xalpha potential (ZORA/IORA only)
# VLDA= VWN-5 local correlation model pot. (ZORA/IORA only)
# VPC = external point charges (X2C only)
(continues on next page)
ò Note
It is important to recognize that in the one-center approximation (OneCenter true) ALL methods can be
used for geometry optimization. Several papers in the literature show that this approximation is fairly accurate
for the calculation of structural parameters and vibrational frequencies. Since this approximation is associated
with negligible computational effort relative to the nonrelativistic calculation it is a recommended procedure.
ℎ𝐷 Ψ = (𝛽 − 1) 𝑐2 + 𝑐𝛼 · 𝑝 + 𝑉 Ψ = 𝐸Ψ. (7.162)
(︀ )︀
The spinor Ψ can be decomposed in its so-called large and small components
(︂ )︂
Ψ𝐿
Ψ= (7.163)
Ψ𝑆
These are obviously coupled through the Dirac equation. More precisely, upon solving for Ψ𝑆 , the following
relation is obtained:
(︂ )︂−1
1 𝐸−𝑉
Ψ𝑆 = 1+ 𝜎 · 𝑝Ψ𝐿 = 𝑅Ψ𝐿 (7.164)
2𝑐 2𝑐2
The (electronic) large component thus has to satisfy the following relation
The approximate relativistic schemes implemented in ORCA use different methods to substitute the exact relation
(7.166) with approximate ones.
Two approximation schemes are available in ORCA: the regular approximation and the Douglas-Kroll-Hess (DKH)
approach.
1 −𝑅+
(︂ )︂
𝑈ZORA = (7.168)
𝑅 1
and
(︂ )︂
1
ℎ̃IORA
++ = Ω+ 𝑉 + 𝑐𝜎 · 𝑝 2 𝑐𝜎 · 𝑝 Ω+ (7.171)
2𝑐 − 𝑉
is the corresponding Hamiltonian. Note that despite the name – infinite-order regular approximation – this is still
not exact.
In ORCA, the spin-free (scalar-relativistic) variant of ZORA and IORA are implemented. These are obtained from
those above through the replacement
1 1
𝜎·𝑝 𝜎·𝑝→𝑝 2 𝑝. (7.172)
2𝑐2 −𝑉 2𝑐 − 𝑉
The regular Hamiltonians contain only part of the Darwin term and no mass-velocity term. A problem with re-
lations (7.171) and (7.169) is that due to the non-linear dependence of the resulting regular Hamiltonians on 𝑉 ,
a constant change of 𝑉 , which in the Dirac and Schrödinger equations will result in a corresponding change of
energy
𝐸 → 𝐸 + const
does not so in the regular approximation. Several attempts have been made to circumvent this problem. The scaled
ZORA variant is one such procedure. Another one is given through the introduction of model potentials replacing
𝑉 . Both approaches are available in ORCA.
produces constant energy-shifts 𝐸 → 𝐸 + const when the potential 𝑉 is changed by a constant – for hydrogenic
ions. For many-electron systems, the scaled-ZORA Hamiltonian still does not yield simple, constant energy shift
for 𝑉 → 𝑉 + const. But it produces the exact Dirac energy for hydrogen-like atoms and performs better than the
first-order regular approximation for atomic ionization energies.
(𝑍𝐴 is the charge of nucleus 𝐴 and 𝑅𝐴 is its position; 𝜌(𝑟) is the total electron density and 𝑉𝑥𝑐 [𝜌] the exchange-
correlation potential – the functional derivative of the exchange-correlation energy with respect to the density).
The kinetic energy operator 𝑇 = − 12 ∇2 of the nonrelativistic treatment is simply replaced by the ZORA kinetic
energy operator:
𝑐2
𝑇 ZORA = p p (7.176)
2𝑐2 − 𝑉
Clearly, in the regions where the potential 𝑉 is small compared to 𝑐2 , this operator reduces to the nonrelativistic
kinetic energy. 𝑉 could be the actual KS potential. However, this would require to solve the ZORA equations
in a special way which demands recalculation of the kinetic energy in every SCF cycle. This becomes expensive
and is also undesirable since the ZORA method is not gauge invariant and one obtains fairly large errors from
such a procedure unless special precaution is taken. Van Wüllen [867] has therefore argued that it is a reasonable
approximation to replace the potential 𝑉 with a model potential 𝑉˜model which is constructed as follows:
𝜌model (r′ ) ′
∫︁
𝑍𝐴
𝑑r + 𝑉xcLDA 𝜌model (r)
∑︁
𝑉˜model = −
[︀ ]︀
+ ′ (7.177)
|r − R𝐴 | |r − r |
𝐴
The model density is constructed as a sum over spherically symmetric (neutral) atomic densities:
∑︁
𝜌model (r) = 𝜌𝐴 (r) (7.178)
𝐴
Thus, this density neither has the correct number of electrons (for charged species) nor any spin polarization. Yet,
in the regions close to the nucleus, where the relativistic effects matter, it is a reasonable approximation. The
atomic density is expanded in a sum of s-type Gaussian functions like:
∑︁ (︁ )︁
2
𝜌𝐴 (r) = 𝑑𝑖 exp −𝛼𝑖 |r − R𝐴 | (7.179)
𝑖
The fit coefficients were determined in three different ways by near basis set limit scalar relativistic atomic HF
calculations and are stored as a library in the program. The fitting densities are available for elements up to Rn,
as well as the actinoids. Through the variable ModelDens (vide supra) the user can choose between these fits
and study the dependence of the results in this choice (it should be fairly small except, perhaps, with the heavier
elements and the HF densities which are not recommended). The individual components of the model potential
(eq. (7.177)) can be turned on or off through the use of the variable ModelPot (vide supra).
Van Wüllen has also shown that the calculation of analytical gradients with this approximation becomes close to
trivial and therefore scalar relativistic all electron geometry optimizations become easily feasible within the ZORA
approach. However, since 𝑇 ZORA is constructed by numerical integration it is very important that the user takes
appropriate precaution in the use of a suitable integration grid and also the use of appropriate basis sets! In the
case of OneCenter true the numerical integration is done accurately along the radial coordinate and analytically
along the angular variables such that too large grids are not necessary unless your basis set is highly decontracted
and contains very steep functions.
with
√︃
𝐸𝑝 + 𝑐2 𝑐
(7.181)
√︀
𝐸𝑃 = 𝑐4 + 𝑐2 𝑝2 , 𝐴𝑝 = , 𝐵𝑝 = √︀
2𝐸𝑝 2𝐸𝑝 (𝐸𝑝 + 𝑐2 )
(2)
define the second-order contribution. In ORCA, the spin-free part of ℎ̃++ is implemented.
The occurrence of the relativistic kinetic energy, 𝐸𝑃 , which is not well-defined in position space, makes a trans-
formation to the 𝑝2 -eigenspace necessary. Thus any DKH calculation will start with a decontraction of the basis
set, to ensure a good resolution of the identity. Then the non-relativistic kinetic energy is diagonalized and the
𝐸𝑃 -dependent operators calculated in that space. The potential 𝑉 and 𝑉 (𝑝) are transformed to 𝑝2 -eigenspace.
After all contributions are multiplied to yield the (first- or second-order) Hamiltonian, the transformation back to
AO space is carried out and the basis is recontracted.
The (spin-free) DKH-Hamiltonians contain all spin-free, relativistic correction terms, e.g. the mass-velocity and
Darwin terms. As the potential enters linearly, no scaling or model potential is necessary to introduce the correct
behaviour of the energy under a change
𝑉 → 𝑉 + const.
In all these respects the DKH Hamiltonians are much cleaner than the regular Hamiltonians.
in the %rel block. It may be that the (quasi) relativistic and non-relativistic property operator do produce similar
results. In this case, a calculation with picture-change turned off (PictureChange=0) may be a good approxi-
mation. This is, however, not the rule and cannot be predicted before carrying out the calculation. It is therefore
highly recommended to turn on picture-change in all (quasi) relativistic property calculations!
For DKH2, the fully consistent picture-change effects are obtained using the same transformation order for the
property operator as for the one-electron Hamiltonian, i.e. setting
while with PictureChange=1 only first-order changes on the property operators are taken into account, which
reduces the computational cost. However, since this is in no way a significant reduction, this choice is not recom-
mended. A similar argument applies to X2C (see X2C derivatives and properties).
For magnetic properties, the DKH transformation and consequently the DKH Hamiltonian and the correspond-
ing property operators are not unique. Depending on whether the magnetic field is included in the free-particle
Foldy–Wouthuysen (fpFW) transformation carried out in the first step of the DKH protocol or not, two different
Hamiltonians result. If the magnetic field is included in the fpFW transformation, the resulting Hamiltonian is a
function of the gauge invariant momentum
𝜋 = p + A.
It is therefore gauge invariant under gauge transformations of the magnetic vector potential A and thus are the
property operators derived from it. This is referred to as f𝜋FW DKH Hamiltonian. If the magnetic field is not
included in the FW transformation, the resulting Hamiltonian is a function of the kinetic momentum p only and
thus is not gauge invariant. The latter Hamiltonian is referred to as fpFW DKH Hamiltonian. A comparison of
both Hamiltonians is given in Table Table 7.20.
Table 7.20: Comparison of the properties of the fpFW and fπFW DKH Hamiltonians. For details see Ref. [746].
Criterion fpFW Hamiltonian fπFW Hamiltonian
Convergence of Eigenvalues to Dirac Eigenvalues ? yes
1st order is bounded no yes
Reproduces Pauli Hamiltonian no yes
Gauge invariance no yes
Lorentz invariance no no
From this Table, it becomes clear that the f𝜋FW DKH Hamiltonian is clearly preferred over the fpFW Hamiltonian.
To obtain the property operators, it is however necessary to take the derivatives of these Hamiltonians. It turns out
that in the case of the hyperfine-coupling tensor, the necessary derivatives produce divergent property operators in
the case of the f𝜋FW DKH Hamiltonian. This may be due to the unphysical assumption of a point-dipole as a source
of the magnetic field of the nucleus. As a physical description of the magnetization distribution of the nucleus is not
available due to a lack of experimental data, the magnetization distribution is assumed to be the same as the charge
distribution of the nucleus, see Section Finite Nucleus Model. This is unphysical as the magnetization is caused by
the one unpaired nucleon in the nucleus whereas the charge distribution is generated by the protons in the nucleus.
So, physically, the magnetization should occupy a larger volume in space than the charge. This might also be the
reason why the resulting finite-nucleus model is insufficient to remedy the divergences in the f𝜋FW hyperfine-
coupling tensor. Consequently, the hyperfine-coupling tensor is only implemented in the version resulting from
the fpFW DKH Hamiltonian. In the case of the g-tensor both versions are implemented and accessible via the
keyword
By default, this keyword is set to true. A detailed form of the property operators used for the g-tensor and
hyperfine-tensors can be found in Ref. [746].
By default, this keyword is set to false. If the keyword is set to true, finite-nucleus effects are considered in the
following integrals:
• nucleus potential V
• DKH-integral 𝑉 (𝑝)
• one-electron spin-orbit integrals SOC (also in one-electron part of SOMF)
• electric-field gradient EFG (and thus, as a consequence in the Fermi-contact and spin-dipole terms of the
HFC tensor)
• nucleus-orbit integral NUC
• angular-momentum integral l
The finite-nucleus model implemented in ORCA is the Gaussian nucleus model of Ref. [872].
1 −X†
(︂ )︂ (︂ )︂ (︂ )︂
U++ U+− R 0
U= =
U−+ U−− X 1 0 R′
−1
X = CS+ CL+
(︀ )︀
1
(︁ 1 1
)︁− 12 1
R = S− 2 S− 2 S̃S− 2 S2
1 †
S̃ = S + X TX
2𝑐2
which exactly block-diagonalizes the Hamiltonian:
(︂ + )︂
h 0
U† DU = (7.185)
0 h−
h+ = R† LR (7.186)
(︂ )︂
1
†
L = V + TX + X T + X †
W−T X (7.187)
4𝑐2
where V, T, S, and W are the potential, kinetic, overlap, and relativistic potential (ˆ
𝑝 𝑉ˆ 𝑝ˆ) integral matrices. h+ is
thus the matrix form of the relativistically-corrected one-electron Hamiltonian used for the rest of the calculation.
Note that the potential operator 𝑉ˆ used in the above equations only includes the electron–nuclear Coulomb in-
teraction. External point charges may optionally be included via %rel ModelPot[4]=1 (default 0). This option
affects energy and NMR shielding calculations but it is presently not available for gradients or Hessians.
DLU approximation
The diagonal local approximation to the unitary transformation matrix (DLU), as introduced by Peng and Rei-
her,[660] reduces the computational cost of the X2C transformation by approximating U (i.e., R and X) as an
atomic-block-diagonal matrix.
⨁︁ ⨁︁
R≈ R𝐴 X ≈ X𝐴
𝐴 𝐴
where 𝐴 denotes a direct sum of atomic diagonal blocks. Eqs (7.184)–(7.187) can then be solved independently
⨁︀
for diagonal atomic blocks h+
𝐴𝐴 . Off-diagonal blocks h𝐴𝐵 are obtained as:
+
†
h+
𝐴𝐵 = R𝐴 L𝐴𝐵 R𝐵
(︂ )︂
1
L𝐴𝐵 = V𝐴𝐵 + T𝐴𝐵 X𝐵 + X†𝐴 T𝐴𝐵 + X†𝐴 W𝐴𝐵 − T𝐴𝐵 X𝐵
4𝑐2
It is also possible to approximate light atoms 𝑎, 𝑏 (below a certain atomic number) as non-relativistic:
X 𝑎 = R𝑎 = I
W𝑎𝑏 = W𝑎𝐵 = 0
h+
𝑎𝑏 = V𝑎𝑏 + T𝑎𝑏
h+
𝑎𝐵 = (V𝑎𝐵 + T𝑎𝐵 X𝐵 ) R𝐵
Unlike the one center approximation (which is also available for X2C), all nuclei are included in the potential
operator 𝑉ˆ . Use of the DLU approximation is controlled via:
%rel
DLU false # default - not used
true # turn DLU on
LightAtomThresh 0 # (default) highest atomic number treated as non-relativistic
end
%rel
PictureChange 2 # compute the full relativistic Hamiltonian derivative
1 # neglect derivatives of R and X
0 # (default) use the non-relativistic operator
end
The same setting is applied to all properties for which the X2C correction is implemented. Currently, these are:
geometric gradients, electric dipoles, quadrupoles, and polarizabilities, electric field gradients, EPR hyperfine cou-
plings, and NMR shieldings and spin–spin couplings. For the Hessian, the X2C correction is implemented in a
semi-numeric fashion. The DLU approximation is applied throughout, if requested, and reduces the computa-
tional effort dramatically. Note that for magnetic properties, the restricted magnetic balance (RMB) for the small
component basis functions is used whenever GIAOs are requested (e.g. NMR shielding), while the restricted ki-
netic balance (RKB) is used otherwise (e.g. NMR coupling). The spin–orbit coupling integrals used for various
properties only include a relativistic correction to the one-electron term, as is the case for DKH.
For second derivative properties whose number is proportional to the number of atoms, e.g. the DSO term of NMR
couplings, first derivatives of various intermediate quantities required for the full X2C second derivative are stored
on disk. The storage requirements can be reduced via the StorageLevel keyword and the missing intermediates
will be recomputed on-the-fly, which of course increases the computation time.
%rel
StorageLevel 0 # do not store anything - not always available
1 # store integral derivatives
2 # 1 + derivatives of R and X (default, minimum for DLU)
3 # 2 + derivatives of L
4 # 3 + derivatives of S-tilde
5 # 4 + derivatives of D and M
end
The described procedure is very similar to Malrieu’s three level CIPSI procedure. One major technical difference,
is that ICE is centered around configurations and configuration state functions rather than determinants. A config-
uration is a set of occupation numbers 0, 1 or 2 that describes how the electrons are distributed among the available
spatial orbitals. A configuration state function (CSF) is created by coupling the unpaired spins in a given config-
uration to a given total spin 𝑆. In general there are several, if not many ways to construct a linearly independent
set of CSFs. CSFs on the other hand can be expanded in terms of Slater determinants, but there are more Slater
determinants to a given configuration than CSFs. For example for a CAS(14,18) calculation one has about 109
determinants, but only about 3x108 CSFs and 3x107 configurations. In the configuration based ICE (CFG-ICE)
all logic happens at the level of configurations. That is, it is the relationship between two configurations that deter-
mines whether and if yes, by which integrals the CSFs or determinants of two given configurations interact. Since
the configuration space is so much more compact than the determinant space substantial computational benefit can
be realized by organizing the calculation around the concept of a configuration. In general, in CFG-ICE all CSFs
that belong to a given configuration are included and all selection quantities are summed over all CSFs of a given
configuration before it is decided whether this CSFs is included or not. In the configuration state functions based
ICE (CSF-ICE) the logic of generation and selection occurs at the level of individual CSFs and therefore we get
rid of the requirement to carry around all the CSFs for a given configuration. This provides substantial gains in
the case of molecules containing a large number of transition metal atoms, where each atom contains a high-spin
center. In such cases only a few CSFs of a the dominant CFG play a dominant role and other show negligible
contribution to the wavefunction. Finally, in some cases the original determinant based CIPSI procedure could be
preferred. Such cases can be handled by the determinant based ICE termed DET-ICE. The three variants of ICE
therefore cover all the possible types of multi-reference systems that one encounters in quantum chemistry.
It should be noted that although the procedure contains a perturbative element, the final energy is strongly dom-
inated by the variational energy and hence, for all intents and purposes, the ICE-CI procedure is variational (but
not rigorously size consistent – size consistency errors are on the same order of magnitude as the error in absolute
energy).
! SV
* int 0 1
O 0 0 0 0.0 0.000 0.000
H 1 0 0 1.0 0.000 0.000
H 1 2 0 1.0 104.060 0.000
*
******************************
* ICECI MACROITERATION 1 *
******************************
CI SOLUTION :
STATE 0 MULT= 1: E= -76.0539542296 Eh W= 1.0000 DE= 0.000 eV 0.0 cm**-1
0.95097 : 2222200000000
(...)
********************************************
** ICECI Problem solved in 2.6 sec **
********************************************
From the output the individual steps in the calculation are readily appreciated. The program keeps cycling between
variational solution of the CI problem, generation of new configurations and perturbative selection until conver-
gence of the energy is achieved. Normally, this occurs rapidly and rarely requires more than five iterations. The
result will be close to the Full CI result.
Let us look at a H2 O/cc-pVDZ calculation in a bit more detail (See Fig. 7.9). The calculation starts out with a
single Hartree-Fock configuration. The first iteration of ICE-CI creates the singles and doubles and altogether 544
configurations are selected. These singles and doubles bring in about half of the correlation energy. Already the
second iteration, which leads to 73000 selected CSFs provides a result close to the full CI. At this point up to
quadruple excitations from the Hartree-Fock reference have been included. It is well known that such quadruple
excitations are important for the correct behavior of the CI procedure (near size consistency will come from the
part of the quadruple excitations that are products of doubles). However, only a very small fraction of quadruples
will be necessary for achieving the desired accuracy. In the first iteration the procedure is already converged and
provides 99.8% of the correlation energy, using 0.5% of the CSFs in the full CI space and at less than 0.2% the
calculation time required for solving the full CI problem. Hence, it is clear that near exact results can be obtained
while realizing spectacular savings.
Fig. 7.9: An ICE-CI calculation on the water molecule in the cc-pVDZ basis (1s frozen)
7.24.4 Accuracy
The accuracy of the procedure is controlled by two parameters Tgen and Tvar Since we have found that Tvar =
10−7 Tgen always provides converged results, this choice is the default. However, Tvar can be set manually. It can
be reduced considerably in order to speed up the calculations at the expense of some accuracy. Our default values
are Tgen = 10−4 and Tvar = 10−11 . This provides results within about 1 mEh of the full CI results (roughly
speaking, a bit better than CCSDT for genuine closed-shell systems).
During the development of ICE-CI systematic test calculations have been performed using a reference set of 21
full CI energies on small molecules. The convergence pattern of the mean absolute error is shown in Fig. 7.10.
It is evident from the figure that the convergence of ICE-CI towards the FCI result is very smooth and that high
accuracy can be obtained. In fact, the default settings lead to an accuracy of <1 mEh deviation to the full-CI result.
𝜇Eh accuracy can be achieved by further tightening. The achieved accuracy relative to accurate coupled-cluster
results shows that the accuracy of even CCSDTQ can be surpassed by ICE-CI. The achievable accuracy is only
limited by the value of Tgen and much less so by the value of Tvar . Hence, it is advisable to use a value for Tvar
that is essentially converged and control the accuracy of the procedure by Tgen .
Fig. 7.10: Convergence of the ICE-CI procedure towards the full CI results for a test set of 21 full CI energy. Shown
is the RMS error relative to the Full CI results. The corresponding errors for various coupled-cluster variants is
shown by broken horizontal lines.
The results are displayed in the Fig. 7.12. It is evident from Fig. 7.12 that ICE-CI breaks the factorial scaling of the
full CI problem. In fact, for a thresholds of Tgen =10−4 , 10−3 and 10−2 the observed scalings are approximately
𝑂(N8 ), 𝑂(N7 ) and 𝑂(N6 ) respectively. These numbers will obviously be very system dependent but should serve
as a rough guide. The calculations become quickly much more expensive if Tgen is tightened. A rule of thumb
is that each order of magnitude tightening of Tgen increases the computation time by a factor of 10. The above
calculations have been performed on a simple desktop computer and it was already possible to solve a CAS(30,30)
problem in less than one day of elapsed time using the default thresholds. Large active spaces will require either
loosening of the tresholds or large, more powerful machines.
Fig. 7.12: Scaling behavior of ICE-CI for linear polyene chains (Full 𝜋-electron active space) as a functions of
system size for different generator thresholds.
where 𝑜ˆ(x𝑖 ) is an arbitrary one-particle operator, 𝐷𝑝𝑞 is the density matrix of the ICE-CI wavefunction, 𝜓˜𝑝 are
the natural orbitals of the ICE-CI wavefunction and 𝑛𝑝 are their occupations numbers. It is reasonable to take the
deviation of the natural orbital occupation numbers as a measure for wavefunction convergence.
For example, we treat the H2 O/cc-pVDZ problem again. From the results in Fig. 7.13 it becomes evident that
the ICE-CI wavefunction is fairly accurate. At the default threshold the occupation numbers agree to within 10−3
with the full CI reference numbers, which means that expectation values will be of similar accuracy. Interestingly,
the largest errors occur in the region of the HOMO-LUMO gap, where apparently all approximate wavefunction
approaches tend to depopulate the high lying orbitals too much and put too much electron density in the low lying
empty orbitals. From comparison, it is seen, that the CCSD natural occupation numbers for this problem are
significantly less accurate. Hence, this is evidence that the ICE-CI wavefunction is properly converging to the right
result.
Fig. 7.13: Convergence of the ICE-CI natural orbital occupation numbers. The upper panel is showing the Full CI
occupation numbers, the lower panel the deviation of the ICE-CI values from these exact values. For comparison,
the CCSD natural orbital occupation numbers are also provided.
Fig. 7.14: Potential energy surface of the N2 molecule in the SV basis. For comparison higher level coupled-cluster
results are also shown.
It is interesting to observe the variations of the ICE-CI wavefunction along the dissociation potential energy surface.
As an example, we look at the dissociation curve of H2 O where both O-H bonds are simultaneously stretched (Fig.
7.15). It is seen that the ICE-CI method is extremely parallel to the full CI curve at all distances. Hence, the
description of the bond remains consistent, even when Hartree-Fock becomes a bad approximation. The agreement
is particularly good if MP2 natural orbitals are used in the ICE-CI procedure. With the default value of Tgen =
10−4 and MP2 natural orbitals the error is consistently below 0.2 mEh. For tighter thresholds, the error is below
0.05 mEh. By contrast, the CCSD(T) method shows relatively large deviations from the full CI results and also
behaves very non-parallel as a function of O-H distance.
Fig. 7.15: Non-parallelity error of ICE-CI for the H2 O molecule in the SV basis. Shown is the deviation from the
full CI value as a function of O-H distance (both bonds stretched). For comparison, the CCSD(T) curve is also
shown
It is instructive to analyze the ICE-CI wavefunction along the dissociation pathway (Fig. 7.16). It becomes apparent
that the wavefunctions stays compact along the entire surface, even in the dissociation limit, where the weight of
the Hartree-Fock wavefunction drops to less than 25%. Even in this drastic limit, the ICE-CI wavefunction consists
of only about 60000 CSFs, which is very similar to the size of the wavefunction at equilibrium geometry. As the
wavefunction becomes more multiconfigurational, the number of generator configurations goes slightly up from
the equilibrium value of 77 to a maximum of 118 and finally 112 at dissociation. It is also interesting to note that
along the entire dissociation pathway no configuration with more than 8 open shells is generated, which means that
no more than quadruple excitations are contained in the ICE-CI wavefucntion. The number of iterations required in
the ICE-CI procedure also stays constant along the surface at 4 iterations, which impressively shows that a dominant
configuration is not necessary for a successful ICE-CI calculation.
Fig. 7.16: Analysis of the ICE-CI wavefunction along the O-H dissociation pathway.
%maxcore 4096
%casscf nel 7
norb 4
nroots 4
mult 2
end
%ice nel 9
norb 26
nroots 4
cimode 3
tvar 1e-11
tgen 1e-4
refs { 2 2 2 2 1 }
(continues on next page)
* xyz 0 2
C 0 0 0
N 0 0 1.07
*
The result is shown below. The excitation energies are reasonable but not highly accurate due to the limitations of
the basis set (experimentally the doublet Π state is at 1.32 eV and the doublet Σ state at 3.22 eV). There is a very
slight symmetry breaking In the doublet Π state that arises from the selection procedure. It should be noted that
the state averaged CASSCF excitation energies are 0.25 eV and 3.18 eV.
Below, it is described how to do ICE-CI calculations on excited states if the dominant configurations are not known.
Fig. 7.17: Comparison of MP2 natural orbitals and improved virtual orbitals for the ICE-CI procedure (H2O
molecule, cc-pVDZ basis, equilibrium geometry)
If ICE-CI is used in conjunction with MP2 natural orbitals, there also is the possibility of letting the program
automatically choose the active space (this is called auto-ICE). The general idea is simple – we base the active
space on the MP2 natural orbitals and their occupation numbers. All orbitals between occupation number say 1.98
down to 0.02 will be included in the active space. A relevant input is shown below.
* int 0 1
O 0 0 0 0 0 0
H 1 0 0 { R} 0 0
H 1 2 0 { R} 104 0
*
If we scan along the H2 O dissociation surface one can see that despite changing active spaces, the dissociation
curves are smooth and remain fairly parallel to the full CI dissociation curve. Depending on the tightness of the
thresholds the active space may change from a small 6 electrons in 5 orbitals to a larger 8 electrons in 7 or 8 orbitals
upon dissociation. This is the expected behavior as the 𝜎-antibonding orbital becomes more stable along the bond
stretching coordinate. Hence, these results are encouraging in as far as in many situations the program will be able
to select a sensible active space without extended input from the user.
Fig. 7.18: Automatic active space selection along the H2 O dissociation surface. The reference curve (blue triangles)
is the ICE-CI method for the full orbital space with the default parameters.
Another place, where automatic selection comes in conveniently is in the calculation of excited states. If there are
no user supplied configurations, what happens is that the program will first choose an Aufbau “reference” configu-
ration and then perform all single excitations relative to this configuration. The program will then diagonalize the
Hamiltonian over the this set of configurations to create 0th order approximations for the chosen number of roots
of interest and then initiate the ICE-CI procedure starting from the leading configurations of these states. Here is
an example for the benzene molecule:
* int 0 1
C 0 0 0 0.000000 0.000 0.000
C 1 0 0 1.389437 0.000 0.000
C 2 1 0 1.389437 120.000 0.000
C 3 2 1 1.389437 120.000 0.000
C 4 3 2 1.389437 120.000 0.000
C 5 4 3 1.389437 120.000 0.000
H 1 2 3 1.082921 120.000 180.000
H 2 1 3 1.082921 120.000 180.000
H 3 2 1 1.082921 120.000 180.000
H 4 3 2 1.082921 120.000 180.000
H 5 4 3 1.082921 120.000 180.000
(continues on next page)
(The %cclib statement is explained below and is not mandatory here). The Auto-ICE procedure comes up with
as many as 24 electrons in 19 orbitals, which already is a fairly heavy calculation. The procedure converges in
five iterations and provides indeed the correct states: the gorund state, the 1 B2u state at 6.4 eV, the 1 B1u state at
8.9 eV and a degenerate 1 E1u state at 10.0 eV. These excitation energies are still in error by about 2 eV relative to
experiment, which is mainly due to missing dynamic correlation. However, the correct states and their sequence
has been found.
The ICE-CI can be used to find the ground state if the actual ground state is not known. To this end, one simply
has to turn off the selection steps. This makes the calculations more expensive, but they will converge to the lowest
state. In the example below (again, the H2 O molecule) we start from a random quintuply excited configuration –
the ICE-CI still finds the ground state after four iterations:
%ice
nel 8
norb 23
nroots 1
tvar 1e-11
tgen 1e-04
etol 1e-06
# selection
SelStart false
SelIter false
# algorithm details
useivos false
integrals exact
cimaxdim 5 #Davidson expansion space = MaxDim * NRoots
cimode 3
However, if one wants to converge to an excited state, one should turn on the selection. In the example below (once
more the water molecule) one can converge to the second excitated singlet state by judicious choice of the start
configuration:
%ice
nel 8
norb 23
nroots 1
tvar 1e-11
tgen 1e-04
etol 1e-06
# selection
SelStart true
SelIter true
# algorithm details
useivos false
integrals exact
cimaxdim 5
cimode 3
# spatial sym (buggy)
irrep 0
{ #} startup (optional)
(continues on next page)
%casscf
...
cistep ice
# optional input with refined settings
ci
tgen 1e-4 # controls accuracy (default = 1e-4)
tvar 1e-11 # default = 1e-7 * TGen
maxiter 100 # number of allowed cycles (default = 64)
end
end
The entire remaining input is the one for standard CASSCF calculations. In this way one can do CASSCF calcu-
lations with very large active space in reasonable turnaround times. We have not observed convergence problems
that are worse than in the standard CASSCF procedure. The results in Fig. 7.19 show that the deviations from reg-
ular CASSCF energies are very small. The largest deviation observed for C2 H4 is on the order of 0.2 mEh, which
appears acceptable. Note that the CASSCF tutorial also covers larger examples and excitations energies computed
with the ICE-CI as CI solver. As mentioned in the CASSCF section The Complete Active Space Self-Consistent
Field (CASSCF) Module, some feature are not supported for ICE-CI e.g. magnetic properties as well NEVPT2
corrections are not yet available.
Fig. 7.19: Deviations of ICE-SCF from CASSCF energies for a selection of molecules (standard truncation param-
eters 𝑇gen = 10−4 and 𝑇var = 10−11 )
Since CASSCF is fully variational, it is possible to optimize geometries with that procedure. It is our experience so
far, that the ICE-SCF geometries are virtually indistinguishable from CASSCF geometries (an example is shown
in Fig. 7.20).
Fig. 7.20: CASSCF and ICE-SCF optimized geometries for methylene and ozone (cc-pVDZ basis set, default
parameters).
%ice
nel 8 # number of active electrons
norb 23 # number of active orbitals
nroots 1 # number of roots
mult 1 # requested multiplicity
irrep 0 # requested irrep (buggy :-()
tgen 1e-04 # generator threshold
tvar -1e-7 # negative -> 1e-7*tgen
etol 1e-06 # convergence tolerance
# algorithm details
useMP2nat false # use MP2 natural orbitals
useIVOs false # use improved virtual orbitals
useQROs false # For UHF: use quasi-restricted MOs?
integrals exact # exact or ri transformation
CIMaxIter 64 # max. number of CI iterations in the Davidson procedure
CINGuessMat 512 # size of the CI guess matrix in the Davidson procedure
CIMaxDim 10 # max. size of expansion space in the Davidson procedure
CIMode 3 # default=accelerated CI, other settings not recommended
CSFCIwithRI 1 # 1=with RI, 0=without RI, use withour RI when norb >> nel (e.g. (30e,
˓→ 120o))
CIBufferLength 10240 # Size (in elements) of the buffer list. Should be increased␣
˓→according to
# startup configurations(optional)
refs { 2 2 2 2 0 }
{ 2 2 2 0 2 }
end
end
𝐴𝐼𝐽 𝑞
⟨︀ ⟩︀
𝑝𝑞 = 𝐼|𝐸𝑝 |𝐽
where 𝐴𝐼𝐽 𝑝𝑞 is a coupling coefficient, 𝐼 and 𝐽 are configuration state functions (CSFs) and 𝐸𝑝 is the spin-free
𝑞
excitation operator that promotes an electron from orbital 𝑝 to orbital 𝑞. The values of these coupling coefficients
only depend on the logical relationship between the CSFs 𝐼 and 𝐽 but not on the absolute values of 𝐼, 𝐽, 𝑝, 𝑞. In
fact, they only depend on the number of unpaired electrons in 𝐼 and the total spin 𝑆 that both CSFs refer to. Hence,
prototype coefficients can be pre-tabulated. This is normally done in a CI run at the beginning of the run. However,
in ICE-CI it may have to be repeated several dozen times and for large numbers of open shells (say 14), the process
is time and memory consuming.
In order to ease the computational burden, we have provided a small utility program that tabulates the coupling
coefficients for a given total spin 𝑆 (rather the multiplicity 𝑀 = 2𝑆 + 1) and maximum number of open shells.
This program is called orcacclib. It is called like:
It will produce a series of files orcacc.el.mult.nopen (electron density coupling coefficients) and or-
cacc.sp.mult.nopen (spin-density coupling coefficients) in the current directory. These files are binary files. They
can be copied to an arbitrary directory. You instruct the program to read these coefficients (rather than to recalculate
them all the time) by setting the path to this directory:
# My Job
! def2-SVP Auto-ICE
%cclib "/user/me/orca/cclib/orcacc"
The remaining part of the filename will be automatically added by the program. This option can save humongous
amounts of time. The coupling coefficient library needs to be made for the desired multiplicities only once. The
practical limit will be 14-16 open shells. If you are running the calculation on a cluster using some submit script,
you have to ensure that the provided cclib path is accessible from the compute node.
7.25.1 Introduction
All the theories are obtained by the means of automated programming within the ORCA-AGE (Automated Genera-
tor Environment for ORCA).[474, 500] The CI module reads in the SCF wavefunction and optimizes the coefficient
of the CI expansion. Conceptually, the module is similar to orca_mdci, therefore the input and output do have a
lot in common.
7.25.2 Input
All parameters applicable to the AUTOCI module are shown below.
%autoci
# Algorithm selection
citype # Type of the CI expansion to be applied (one of following)
CID # Configuration Interaction with double substitutions
CISD # Configuration Interaction with singles and doubles
CISDT # Configuration Interaction with singles, doubles and triples
CCD # Coupled Cluster with double substitutions
CCSD # Coupled Cluster with single and double substitutions
CCSDT # Coupled Cluster with single, double and triple substitutions
CEPA(0) # Linearized CCSD
QCISD # Quadratic CISD
CC2 # Approximate CCSD
CC3 # Approximate CCSDT
CCSD[T] # CCSD with perturbative [T] correction
CCSD(T) # CCSD with perturbative (T) correction
CCSDT-1 # Approximate CCSDT, CCSDT-1
CCSDT-2 # Approximate CCSDT, CCSDT-2
CCSDT-3 # Approximate CCSDT, CCSDT-3
CCSDT-4 # Approximate CCSDT, CCSDT-4
FIC-MRCI # Fully internally contracted MRCI
FIC-MRCEPA(0) # Fully internally contracted CEPA(0)
(continues on next page)
# converger details
stol 1e-06 # residue convergence tolerance
maxiter 50 # maximum number of iterations
maxdiis 5 # depth of the DIIS memory
diisstartiter 2 # Apply DIIS starting at iteration 1
ExcludeHigherExcDIIS false # exclude triples and higher excitations from DIIS procedure
# Algorithm details
printlevel 3 # Amount of printing
trafotype 0 # Type of integral transformation
0 # Full canonical
1 # Full using RI (RI basis needed)
# Property calculations
density # type of density requested
none # No density calculation
linearized # Linear part of the density
unrelaxed # Unrelaxed 1-body density matrix
relaxed # Relaxed 1-body density matrix
end
N.B. For a ROHF reference, only CISD calculations can be performed in the current version. However, it is possible
to run UHF calculations with an ROHF reference by setting the RunROHFasUHF flag to true. Note that this only
makes sense when the reference is indeed ROHF, e.g. (calculating the isotropic part of the HFC at CCSD level,
running AutoCI UHF CCSD module, with orbitals obtained from the ROHF SCF calculation):
%autoci
RunROHFasUHF true
end
* xyz 0 2
Cu 0.0 0.0 0.0
*
If one wishes to experiment with the module itself and the reference wavefunction stays constant, it is possible to
store the transformed MO integrals on disk (keepints) and reuse them (useoldints). The program checks only
whether the dimension of the integrals on disk match the problem actually solved, i.e. the user is responsible for
valid data.
Any AUTOCI method can be called from the simple keyword by prepending AUTOCI- to the correlation method,
for instance
! AUTOCI-CCSD
%maxcore 10000
*xyz 0 1
...
*
The analytic gradients can even be used to perform semi-numerical frequency calculations
! AUTOCI-CCSD NumFreq
Besides nuclear gradients, all other first-order properties available in ORCA are available for the respective meth-
ods, such as dipole/quadrupole moments, hyperfine couplings or quadrupole splittings. As discussed above,
(un)relaxed densities can be requested via
%autoci
density relaxed
end
For geometry optimisations, both the unrelaxed and relaxed densities are computed automatically and do not need
to be requested explicitly.
%autoci
citype # only CCSD and MP2 available
CCSD
MP2
STol 1e-06 # residue convergence tolerance
MaxIter 50 # maximum number of iterations
MaxDIIS 5 # depth of the DIIS memory
density # need at least unrelaxed density (see details below)
unrelaxed
relaxed
end
%elprop
polar true # polarizability via analytic derivative
end
%eprnmr
NMRShielding 2 # NMR shielding for all nuclei, equivalent to the 'NMR' simple input
end
N.B. For the response property calculations, the electron density and electron response density needs to be calcu-
lated. Currently for the analytic polarizability at CCSD level, only the unrelaxed density version is implemented:
%elprop
polar true
end
* xyz 0 1
O 0.0000000000 0.0000000000 -0.1190150726
H 0.7685504811 0.0000000000 0.4760602904
H -0.7685504811 0.0000000000 0.4760602904
*
For MP2, both the polarizability and NMR shielding needs the relaxed densities:
%elprop
polar true
end
%autoci
density relaxed
end
* xyz 0 1
O 0.0000000000 0.0000000000 -0.1190150726
H 0.7685504811 0.0000000000 0.4760602904
H -0.7685504811 0.0000000000 0.4760602904
*
%autoci
density relaxed
end
* xyz 0 1
O 0.0000000000 0.0000000000 -0.1190150726
H 0.7685504811 0.0000000000 0.4760602904
H -0.7685504811 0.0000000000 0.4760602904
*
Please also note that for AUTOCI NMR calculations, the GIAOs (gauge-including atomic orbitals) are necessary
(turned on by default). Also, there is no fronzen core options implemented yet (NoFrozenCore keyword is needed).
reported in our article [806]. The CEPA0, ACPF and AQCC variants are straight forward adoptions [742]. The
residue of the FIC-MRCI ansatz
CAS
𝑅𝐾 = ⟨Φ𝑝𝑟 ˆ
𝑞𝑠 |𝐻 − 𝐸 − 𝜆𝐸𝑐 |ΨFIC ⟩ , (7.188)
1 MRCI
⎧
⎪
0 CEPA0
⎪
⎨
𝜆= 2
ACPF
⎪ 𝑁𝑒
1−(𝑁𝑒 −3)(𝑁𝑒 −2)
AQCC
⎪
⎩
𝑁𝑒 ·(𝑁𝑒 −1)
In case of ACPF and AQCC the 𝜆 factor explicitly depends on the number of correlated electrons, 𝑁𝑒 .
The general input structure is like that of the CASSCF module, e.g., the following example input reads an arbitrary
set of orbitals and starts the FIC-MRCI calculation. The internal contracted formalism requires CAS-CI reduced
densities up to fourth order, which can be expensive to construct. By default, the density construction is speed up
using the prescreening (PS) approximation reported in Section N-Electron Valence State Pertubation Theory.
%autoci
citype FIC-MRCI # Fully internally contracted MRCI (singles, doubles)
FIC-MRCEPA(0) # CEPA0 version of FIC-MRCI
FIC-MRACPF # ACPF version of FIC-MRCI
FIC-MRAQCC # AQCC version of FIC-MRCI
FIC-DDCI3 # FIC-MRCI without the IJAB excitation
Currently, the program is capable of computing total energies and vertical excitation energies. More features will
be available with future releases.
improved version of the ORCA-AGE code generator.[500] To begin with, the ansatz for the wave function is
^
|Ψ⟩ = e𝑇 |0⟩ , (7.189)
where |0⟩ denotes a zeroth order CASSCF reference wave function and the cluster operator can be written as
(Einstein’s summation convention implied)
1 1 𝑡𝑢 ˆ 𝑎 ˆ 𝑏
𝑇ˆ = 𝑡𝑖𝑗 ˆ𝑎 ˆ𝑏 𝑖𝑡 ˆ 𝑎 ˆ 𝑏 𝑖𝑗 ˆ 𝑎 ˆ 𝑡
𝑎𝑏 𝐸𝑖 𝐸𝑗 + 𝑡𝑎𝑏 𝐸𝑖 𝐸𝑡 + 𝑡𝑎𝑏 𝐸𝑡 𝐸𝑢 + 𝑡𝑎𝑡 𝐸𝑖 𝐸𝑗 + 𝑡𝑎𝑢 𝐸𝑖 𝐸𝑡
𝑖𝑡 ˆ 𝑎 ˆ 𝑢
2 2
ˆ𝑢 ˆ𝑎 𝑡𝑢 ˆ 𝑎 ˆ 𝑣 1 𝑖𝑗 ˆ 𝑡 ˆ 𝑢 𝑖𝑡 ˆ 𝑢 ˆ 𝑣
+𝑡𝑖𝑡
𝑢𝑎 𝐸𝑖 𝐸𝑡 + 𝑡𝑎𝑣 𝐸𝑡 𝐸𝑢 + 𝑡𝑡𝑢 𝐸𝑖 𝐸𝑗 + 𝑡𝑢𝑣 𝐸𝑖 𝐸𝑡 .
2
Note that we do not use normal order in the cluster operator.
Inserting the ansatz from Eq. (7.189) into the Schrödinger equation and pre-multiplying with the inverse exponen-
tial, we obtain the similarity transformed Hamiltonian and the energy expression,
^ ˆ 𝑇^
¯
𝐻|0⟩ = e−𝑇 𝐻e |0⟩ = 𝐸|0⟩ .
In our code, the similarity-transformed Hamiltonian is truncated after the quadratic terms since that approximation
has been found to only have minor impact on the accuracy of the method [249],
¯ ≈𝐻
𝐻 ˆ 𝑇ˆ] + 1 [[𝐻,
ˆ + [𝐻, ˆ 𝑇ˆ], 𝑇ˆ] .
2
The residual conditions are subsequently obtained by projecting with contravariant excited functions ⟨Φ̃𝑃 | onto the
Schrödinger equation,
¯
𝑟𝑃 = ⟨Φ̃𝑃 |𝐻|0⟩ .
For a definition of the contravariant projection functions, we refer to Ref. [806] since this fic-MRCC implementation
uses the same contravariant functions as the published fic-MRCI implementation. Despite using contravariant
projection functions, this is not sufficient to remove all linear dependencies from the set of projection functions
{Φ̃𝑃 }, i.e. the metric matrix
𝑆𝑃 𝑄 = ⟨Φ̃𝑃 |Φ̃𝑄 ⟩ =
̸ 𝛿𝑃 𝑄
has off-diagonal elements within excitation classes and between classes with the same number of inactive and
virtual indices (ITAU and ITUA). Hence, the set of projection functions needs to be orthonormalized, which is
achieved with Löwdin’s canonic orthogonalization in the AUTOCI module.1
Input Example
The fic-MRCC module can be started by specifying the CIType keyword in the %autoci block or by adding
fic-MRCC to the simple input line of an ORCA input file. The following example computes the singlet ground
state energy of four hydrogen atoms arranged as a square with a side length of 2𝑎0 , which is commonly known as
the H4 model [418].
! cc-pVTZ Bohrs # it is possible to add the `fic-MRCC' keyword here
# and omit the %autoci block below
%maxcore 10000
%casscf
nel 2
norb 2
mult 1
nroots 1
end
%autoci # CAS settings are automatically copied from the CASSCF block!
(continues on next page)
1 This is similar to scheme A from Ref. [357].
* int 0 1
H 0 0 0 0.0 0.0 0.0
H 1 0 0 2.0 0.0 0.0
H 2 1 0 2.0 90.0 0.0
H 1 2 3 2.0 90.0 0.0
*
In this example, ORCA will first run a state-specific CASSCF calculation, and then immediately continue with the
fic-MRCC calculation on top of the CASSCF solution from the first step. It is, however, not required to always run a
CASSCF calculation before the autoci module. Any ORCA gbw/mp2nat/... file is accepted through %moinp,
although that route requires the user to specify the active space in the autoci block. autoci will then compute a
CASCI solution with the provided input orbitals and use that information to drive the correlated calculations.
Please be aware that fic-MRCC is a very extensive theory, which leads to long run times. The computational
effort depends mainly on the number of orbitals, the number of total electrons and the size of the active space.
On modestly modern hardware, calculations of ∼ 300 orbitals with a CAS(2,2) should be readily achievable. For
larger active spaces, such as a CAS(6,6), calculations with a total of ∼ 200 orbitals will also complete within a day.
Keywords for the control of the Hessian (especially important for the TS optimization):
As for parameter scan runs ORCA has some special options that may help to speed up the optimization:
This matrix is rectangular. In order to compute the internal gradient one needs to compute the “generalized inverse”
of B. However, since the set of primitive internals is redundant the matrix is rank-deficient and one has to be careful.
G = BB𝑇 (7.191)
The generalized inverse of G is denoted G− and is defined in terms of the eigenvalues and eigenvectors of G:
(︂ )︂𝑇 (︂ −1 )︂ (︂ )︂
− U Λ 0 U (7.192)
G =
R 0 0 R
Here U are the eigenvectors belonging to the nonzero eigenvalues Λ which span the nonredundant space and R
are the eigenvectors of the redundant subspace of the primitive internal space. If the set of primitive internals is
carefully chosen, then there are exactly 3𝑁atoms − 6(5) nonzero eigenvalues of G. Using this matrix, the gradient
in internal coordinates can be readily computed from the (known) Cartesian gradient:
g𝑞 = G− Bg𝑥 (7.193)
The initial Hessian is formed directly in the redundant internal space and then itself or its inverse is updated during
the geometry optimization.
Before generating the Newton step we have to ensure that the displacements take place only in the nonredundant
part of the internal coordinate space. For this purpose a projector 𝑃 ′ :
P′ = GG− = G− G (7.194)
g̃q = P′ gq (7.195)
H̃q = P′ Hq P′ + 𝛼 (1 − P′ ) (7.196)
The second term for 𝐻
˜ sets the matrix elements of the redundant part of the internal coordinate space to very large
values (𝛼 = 1000).
Coordinate steps
A Quasi-Newton (QN) step is the simplest choice to update the coordinates and is given by:
Δq = −H̃−1
q g̃q (7.197)
A more sophisticated step is the rational function optimization step which proceeds by diagonalizing the augmented
Hessian:
(︂ )︂ (︂ )︂ (︂ )︂
H𝑞 g𝑞 ∆q ∆q
=𝑣 (7.198)
g𝑞 0 1 1
The lowest eigenvalue 𝜈0 approaches zero as the equilibrium geometry is approached and the nice side effect of
the optimization is a step size control. Towards convergence, the RFO step is approaching the quasi-Newton step
and before it leads to a damped step is taken. In any case, each individual element of ∆q is restricted to magnitude
MaxStep and the total length of the step is restricted to Trust. In the RFO case, this is achieved by minimizing
the predicted energy on the hypersphere of radius Trust which also modifies the direction of the step while in the
quasi-Newton step, the step vector is simply scaled down.
Thus, the new geometry is given by:
However, which Cartesian coordinates belong to the new redundant internal set? This is a somewhat complicated
problem since the relation between internals and Cartesians is very nonlinear and the step in internal coordinates
is not infinitesimal. Thus, an iterative procedure is taken to update the Cartesian coordinates. First of all consider
the first (linear) step:
∆x = A∆q (7.200)
with A = B𝑇 G− . With the new Cartesian coordinates x𝑘+1 = x𝑘 + ∆x a trial set of internals q𝑘+1 can be
computed. This new set should ideally coincide with qnew but in fact it usually will not. Thus, one can refine the
Cartesian step by forming
which should approach zero. This leads to a new set of Cartesians ∆x′ = A∆∆q which in turn leads to a new
set of internals and the procedure is iterated until the Cartesians do not change and the output internals equal q𝑛𝑒𝑤
within a given tolerance (10−7 RMS deviation in both quantities is imposed in ORCA).
Constrained Optimization
Constraints on the redundant internal coordinates can be imposed by modifying the above projector 𝑃 ′ with a
projector for the constraints 𝐶:
−1
P = P′ − P′ C (CPC) CP′ (7.202)
𝐶 is a diagonal matrix with 1’s for the constraints and 0’s elsewhere. The gradient and the Hessian are projected
with the modified projector:
𝑔˜𝑞 = 𝑃 𝑔𝑞 (7.203)
˜ 𝑞 = 𝑃 𝐻𝑞 𝑃 + 𝛼 (1 − 𝑃 )
𝐻 (7.204)
The Newton-Raphson step to get from the actual point to a stationary point is:
𝑉𝑖+ 𝑔𝑞 𝑉𝑖
(7.206)
∑︁
∆𝑞 = −H−1
𝑞 𝑔𝑞 = −
𝑏𝑖
with 𝑉𝑖 and 𝑏𝑖 as eigenvectors and eigenvalues of the Hessian H𝑞 . This step leads to the nearest stationary point
on the PES. This stationary point can be a minimum or a saddle point, according to the curvature of the PES at the
actual point.
With a simple shift of the Hessian eigenvalues 𝑏𝑖 in this equation one can guide the step to a stationary point with
the required characteristics (Hessian with exactly one negative eigenvalue). The transition state search is separated
into two different optimization problems. The energy is maximized along one Hessian eigenmode and minimized
along the remaining 3𝑁 − 7(6) eigenmodes. We introduce two different shift parameters 𝜆𝑝 and 𝜆𝑛 , where 𝜆𝑝
is the shift parameter for the eigenmode being maximized and 𝜆𝑛 shifts the Hessian eigenvalues of the modes
being minimized. This method allows us to maximize along any mode, not only the one with smallest eigenvalue.
Starting from two different RFO-matrices for the different optimization problems (see description above) we get
for 𝜆𝑝 and 𝜆𝑛 :
1 1 𝐹𝑖2
√︁ ∑︁
𝜆𝑝 = 𝑏𝑘 + 𝑏2𝑘 + 4𝐹𝑘2 and = 𝜆𝑛 (7.207)
2 2 𝜆 𝑛 − 𝑏𝑖
𝑖̸=𝑘
whereas 𝐹𝑖 = 𝑉𝑖+ 𝑔 is the component of 𝑔 along the Hessian eigenmode 𝑉𝑖 and 𝜆𝑛 has to get solved iteratively. The
solution for 𝜆𝑛 has to be negative and lower than 𝑏2 (or lower than 𝑏1 , if not the lowest mode is being followed). If
the Hessian has more than one negative eigenvalue, these properties might not be fulfilled, and the Hessian would
have to be modified. In our implementation the Hessian diagonal elements are either shifted or reversed in such a
case.
Once the shift parameters are known the P-RFO step ℎ is calculated as follows:
𝐹¯𝑘 𝑉𝑘 𝐹¯𝑖 𝑉𝑖
∆𝑞𝑘 = − and ∆𝑞𝑖 = − with 𝑖 = 1 . . . 𝑛, 𝑖 ̸= 𝑘 (7.208)
𝑏𝑘 − 𝜆𝑝 𝑏𝑖 − 𝜆 𝑛
𝑛
∑︁
∆𝑞 = ∆𝑞𝑗 (7.209)
𝑗=1
ScanTS option
For TS modes of rather local nature (involving only one bond or an angle; no concerted movements over multiple
atoms) we implemented the ScanTS feature. Here the user can carry out a relaxed surface scan and a TS opti-
mization in one calculation. After the relaxed surface scan the algorithm chooses the optimized structure of the
scan with highest energy as initial guess structure and the two neighbouring structures for the calculation of the
second derivative of the scanned coordinate (e.g., if scan step number 4 gives the structure with highest energy,
then structure basename.004.xyz is the initial guess for the TS optimization; the structures basename.003.xyz
and basename.005.xyz are used for the calculation of the second derivative). Before the first step of the sub-
sequent TS optimization the energies and gradients for all three structures are calculated. The gradients are then
transformed to internal coordinates. The diagonal Hessian value of the scanned coordinate is then calculated via
finite difference of the internal gradients of the two given structures (003 and 005 in our example).
For the construction of the initial Hessian a model force field Hessian is built up (this Hessian has got only diagonal
entries and zeros as off-diagonal elements). The exactly calculated diagonal Hessian value replaces the model force
field Hessian entry for the respective internal coordinate.
If the user already performed a regular relaxed surface scan without the subsequent TS optimization, then he can
nevertheless use these structures for the same procedure. A relaxed surface scan always gives you the xyz-files and
gbw-files of the optimized structures of each scan step. A separate TS optimization can be carried out where the
structure with highest energy is the starting structure. Additionally the two files with the two adjacent structures
(as explained above) have to be provided (via the Hess_Internal keyword, see below). Furthermore, the internal
coordinate, for which the diagonal Hessian value has to be calculated, has to be given (the previously scanned
coordinate). This exact Hessian calculation is only possible for one internal coordinate:
%geom
Hess_Internal
{B 1 0 C} # previously scanned coordinate
XYZ1 "scanName.003.xyz" # the xyz-files of the structures
XYZ2 "ScanName.005.xyz" # next to the highest energy point
GBW1 "ScanName.003.gbw" # the gbw-files of the structures
GBW2 "ScanName.005.xyz" # next to the highest energy
# the gbw-files are optional
end
end
Additionally the manipulation of the diagonal Hessian values of the internal Hessian is possible for further internal
coordinates, but without an extra calculation. Here the user can just define a value (in Eh/Bohr2 ).
Hess_Internal
{A 3 2 1 D 2.0} # define a diagonal Hessian value of
# 2 Eh/Bohr2 for the angle between
# atoms 3 2 1
{B 1 0 D -0.5} # define a diagonal Hessian value of
# -0.5 Eh/Bohr2 for the bond between
# atoms 1 and 0
end
The definition of such Hessian (diagonal) elements is possible for multiple internal coordinates. These just replace
the values of the force field model Hessian.
Hybrid Hessian
We implemented the calculation of a “Hybrid Hessian” as an alternative to the full Hessian calculation for TS
optimization. Here only those parts of the Hessian, that are important for the TS optimization, are calculated
exactly. For this calculation we define two kinds of atoms: atoms whose couplings with the other atoms are treated
exactly (E) and atoms whose couplings are treated approximately (A).
In a first step an Almloef model Hessian is built up in redundant internal coordinates and transformed to Cartesian
coordinates. This Hessian gives the second derivative elements for atom pairs A/A. In a second step the second
derivative elements between pairs E/E and E/A are calculated numerically as in a numerical frequency calculation:
𝑖,𝐵 𝑒𝑞.
ΔE ΔE 𝑔𝑗,𝐶 − 𝑔𝑗,𝐶
= = (7.210)
∆𝑖𝐵 ∆𝑗𝐶 ∆𝑗𝐶 ∆𝑖𝐵 𝑑𝑖𝑠𝑝𝑙.
with:
𝑖, 𝑗 x-, y- or z-direction
𝐵, 𝐶 pairs of E/E, E/A, A/E
𝑑𝑖𝑠𝑝𝑙. magnitude of displacement
𝑒𝑞.
𝑔𝑗,𝐶 force on atom 𝐶 in direction 𝑗 in current geometry
𝑖,𝐵
𝑔𝑗,𝐶 force on atom 𝐶 in direction 𝑗 after displacement of atom 𝐵 in direction 𝑖
NOTE
• This procedure should be used for QM/MM optimized structures only to verify the nature of the stationary
point and have an estimate of the ZPE.
Here we shortly describe the procedure: In PHVA we divide the system into two parts 𝐵 (of size 𝑛 atoms) and 𝐶
(size 𝑁 − 𝑛). Let the atom set 𝐵 belong to the region where the chemical change is localized. The Partial Hessian
matrix is built up as follows:
(︂ )︂
𝐾𝐵𝐵 0
𝜀 (7.211)
0 𝐾𝐶𝐶
With:
𝐾𝐵𝐵 : 𝑥, 𝑦, 𝑧 direction
⎛ ⎞
𝜀 0 0
𝜀
𝐾𝐶𝐶 = ⎝0 . . . 0⎠ , 𝜀 = 10−8 au, (7.212)
⎜ ⎟
0 0 𝜀
this corresponds to using near-infinite masses for the atoms in 𝐶.
With this procedure we get the following eigenvalue structure:
• Six zero eigenvalues with modes corresponding to translational and rotational motion of the entire molecule.
• 3(𝑁 − 𝑛) − 6 small (less than 1 cm−1 ) eigenvalues with modes corresponding mainly to internal motion
within region 𝐶.
• Three eigenvalues (typically less than 10 cm−1 ) with modes corresponding mainly to motion of region 𝐶
relative to region 𝐵.
• (3𝑛 − 3) eigenvalues with modes corresponding mainly to relative motion of 𝐵 and 𝐶 as well as internal
motion within region 𝐵.
is orthogonal to 𝑥1 .
Both gradients are combined to yield the effective surface crossing gradient
gSC = g + f (7.216)
The crossing hyperline is defined as the 3𝑁 − 7 dimensional subspace of PES1, which is orthogonal to 𝑥1 . In the
MECP optimization we want to find the point of lowest energy within this subspace.
Our calculation of normal modes and force constants for movements along the crossing hyperline differ from the
one proposed by Harvey et al. A standard frequency analysis can not be performed, but a similar procedure is
applied:
Let us regard the second-order Taylor expansion for the energy of both surfaces near the MECP for a displacement
along the crossing hyperline (orthogonal to 𝑥1 ):
1
E𝐴 = 𝐸MECP + ∆𝑞 𝑇 𝐻eff,𝐴 ∆𝑞 (7.217)
2
with:
Diagonalization of this effective Hessian gives us the normal modes of the crossing hyperline and thus allows us
to decide whether the MECP optimization converged to a minimum in the 3𝑁 − 7 dimensional subspace of the
crossing hyperline.
The procedure for the calculation of the effective Hessian is now as follows: For each of both surfaces the second
derivative matrix is calculated. Then the 6 rotations and translations and additionally the direction of the gradient
difference vector 𝑥1 (this ensures that movement orthogonal to the crossing hyperline, for which we do NOT satisfy
the conditions of a stationary point, is excluded) are projected out from the Hessian matrix.
For MECP optimizations the following options exist:
%mecp
SurfCrossOpt true # switches on the MECP optimization
# alternatively use: ! SurfCrossOpt
SurfCrossNumFreq true # switches on the MECP effective Hessian
# calculation
# alternatively use: ! SurfCrossNumFreq
# separate MO input for the second spin state (PES2)
moinp "Myfile.gbw"# MO input for PES2
# information on the electronic structure of PES 2
Mult 3 # multiplicity of PES2
brokenSym 1,1 # broken symmetry for PES2
# CASSCF options for PES2 (also see the CASSCF chapter)
casscf_nel 6 # number of active space electrons
casscf_norb 6 # number of active orbitals
casscf_mult 1,3 # multiplicities singlet and triplet
casscf_nroots 4,2 # four singlets, two triplets
casscf_bweight 2,1 # singlets and triplets weighted 2:1
(continues on next page)
g = g′ 𝑑𝑖𝑓 𝑓 + Pg𝑚𝑒𝑎𝑛
where g′ 𝑑𝑖𝑓 𝑓 = 2(𝐸𝐼 − 𝐸𝐽 )(𝜕𝐸𝐼 /𝜕𝑞 − 𝜕𝐸𝐽 /𝜕𝑞) is parallel to the gradient difference vector; g𝑚𝑒𝑎𝑛 is the
gradient mean and P is a projection matrix that projects out the gradient difference (x) and non-adiabatic coupling
(y) direction components:
P = 1 − xxT − yyT
Now we have three approaches to solve this problem in ORCA, that will be explained next.
Gradient Projection: This is exactly what has been described above, and will be chosen as default whenever
NACMEs between I and J are available. It is in principle the faster and most accurate method. It can be invoked
by setting:
%CONICAL
METHOD GRADIENT_PROJECTION #or simply GP
END
OBS.: Turning on the ETF (see Sec. NACMEs with built-in electron-translation factor) can improve the optimiza-
tion when using the full Gradient Projection method.
Gradient Projection (without NACME) : It is an approximation to the method above, that one gets by completely
neglecting the NACMEs. It is essentially equivalent to finding a surface crossing point, and will not necessarily
find minima inside the CI seam-space, although the final ∆𝐸𝐼𝐽 should be zero.
%CONICAL
METHOD GP_NONACME
END
Updated Branching Plane: Here the idea is to start from a guess NACME, which is any unit vector perpendicular
to x, and do an progressive update on it, similar to the BFGS update on the Hessian [545]. The “Branching Plane”
defined by x and y gets then iteratively more accurate until covergence is achieved. It has been shown to be quite
accurate and is the default whenever NACMEs are not available. Can be used with:
%CONICAL
METHOD UBP
END
Finally, the ∆𝐸𝐼𝐽 energy threshold for the optimization can be altered with:
%CONICAL
ETOL 1e-4 #default
END
! NumGrad
in your input file. Additionally the settings for the numerical differentiation can be changed:
%numgrad
CentralDiff true # You should use two-sided numerical differentiation, but it
# is possible to switch to one-sided numerical differentiation.
DX 0.005 # Increment in Bohr for the differentiation.
TransInvar true # Take advantage of translation invariance
end
in your input file. All information that you give on the electronic structure is discarded. In each optimiza-
tion/NEB/IRC step ORCA writes an input file called basename_EXT.extinp.tmp with the following info:
basename_EXT.xyz # xyz filename: string, ending in '.xyz'
0 # charge: integer
1 # multiplicity: positive integer
1 # NCores: positive integer
0 # do gradient: 0 or 1
pointcharges.pc # point charge filename: string (optional)
Comments from # until the end of the line should be ignored. The file basename_EXT.xyz will also be present in
the working directory. ORCA always requests the energy, but a gradient only if needed for the chosen calculation
type.
ORCA then calls:
scriptname basename_EXT.extinp.tmp [args]
where args are optional command line arguments, which can be provided in the ORCA input file (see below) and
are directly passed to the command line for the external program.
scriptname is the name of the external program or wrapper script, which is not distributed with the ORCA binaries
and must be supplied by the user in one of the following ways:
1. as a file or link named otool_external in the same directory as the ORCA executables;
2. by assigning the EXTOPTEXE environment variable to the full path to the external program;
3. via the ORCA input:
%method
ProgExt "/full/path/to/script"
Ext_Params "optional command line arguments"
end
Regardless of which option is used, the keyword Ext_Params can be used to specify the additional command line
arguments as a single string.
The external script starts the energy (and gradient) calculation and finally provides the results in a file called
basename_EXT.engrad using the same basename as the XYZ file. This file must have the following format:
#
# Number of atoms: must match the XYZ
#
3
#
# The current total energy in Eh
#
-5.504066223730
(continues on next page)
Comments from # until the end of the line are ignored, as are any comment-only lines.
The script may also print relevant output to STDOUT and/or STDERR. STDOUT will either be printed in the ORCA
standard output, or redirected to a temporary file and removed afterwards, depending on the type of job (e.g., for
NumFreq the output for the displaced geometries is always redirected) and ORCA output settings:
%output
Print[P_EXT_OUT] 1 # (default) print the external program output
Print[P_EXT_GRAD] 1 # (default) print the gradient from the ext. program
end
Since the ORCA team got banned by Gaussian in January 2007 we can no longer support these option flags. They
have not been removed from the code and may or may not work. If there is trouble with it we can – unfortunately
– not offer any help since we do not have access to the Gaussian code any longer.
end
At present, analytical Hessians can be calculated for SCF only. However, there are some additional restrictions.
Analytical Hessians cannot be performed for
- Double-Hybrid functionals
- RI-JK approximation
Here is what you would do, if you ran a frequency calculation and have a .hess file on disk and want to try different
scaling factors for the frequencies
$frequency_scale_factor
0.90 <<<---- you change this to whatever you want
orca_vib myjob_scaled_freq.hess
The program will then read the Hessian, diagonalize it and apply your scaling factor. Whatever scaling factor was
used in the actual input that generated the Hessian is irrelevant since the Hessian is re-diagonalized. To avoid
confusion, we recommend that if the goal is to play with the scaling factor, then to leave the scaling factor in the
input at 1.0. Nothing bad happens if you don’t though.
%FREQ
restart true
END
and ORCA will look for basename.res.{} files in the same folder where the calculation is being run, check for what
already has been done and restart where it is needed.
! IRC
%irc
MaxIter 20
PrintLevel 1
Direction both # both - default
# forward
# backward
# down
# Initial displacement
InitHess read # by default ORCA uses the Hessian from AnFreq or NumFreq, or
# computes a new one
# read - reads the Hessian that is defined via Hess_Filename
# calc_anfreq - computes the analytic Hessian
# calc_numfreq - computes the numeric Hessian
Hess_Filename "h2o.hess" # input Hessian for initial displacement, must be used
# together with InitHess = read
hessMode 0 # Hessian mode that is used for the initial displacement. Default 0
Init_Displ DE # DE (default) - energy difference
# length - step size
Scale_Init_Displ 0.1 # step size for initial displacement from TS. Default 0.1 a.u.
DE_Init_Displ 2.0 # energy difference that is expected for initial displacement
# based on provided Hessian (Default: 2 mEh)
# Steps
Follow_CoordType cartesian # default and only option
Scale_Displ_SD 0.15 # Scaling factor for scaling the 1st SD step
Adapt_Scale_Displ true # modify Scale_Displ_SD when the step size becomes
# smaller or larger
SD_ParabolicFit true # Do a parabolic fit for finding an optimal SD step
# length
Interpolate_only true # Only allow interpolation for parabolic fit, not
# extrapolation
Do_SD_Corr true # Apply a correction to the 1st SD step
Scale_Displ_SD_Corr 0.333 # Scaling factor for scaling the correction step to
# the SD step. It is multiplied by the length of the
# final 1st SD step
(continues on next page)
NOTE
• For direction=down (downhill) no initial displacement is necessary, and thus no Hessian is needed.
where 𝜏 + = 𝑟𝑖+1 − 𝑟𝑖 and 𝜏 − = 𝑟𝑖 − 𝑟𝑖−1 . With the exception of image 𝑖 being at an energy extremum along the
path, then an energy-weighted average of the two line segments to adjacent images is used,
{︃
𝜏 + ∆𝑉𝑖max + 𝜏 − ∆𝑉𝑖min if E𝑖+1 > E𝑖−1
𝜏𝑖 =
𝜏 + ∆𝑉𝑖min + 𝜏 − ∆𝑉𝑖max if E𝑖+1 < E𝑖−1
where
∆𝑉𝑖max = max(|𝐸𝑖+1 − 𝐸𝑖 |, |𝐸𝑖−1 − 𝐸𝑖 |)
∆𝑉𝑖max = min(|𝐸𝑖+1 − 𝐸𝑖 |, |𝐸𝑖−1 − 𝐸𝑖 |)
Then the tangent is normalized, 𝜏ˆ𝑖 = 𝜏𝑖 /|𝜏𝑖 |. With an accurate estimate of the tangent, the perpendicular component
of the atom force is computed by,
In the free-end NEB method, the endpoint images are optimized simultaneously along with the intermediate im-
ages, i.e. 𝑀 movable images are used. Three different variants of the free-end NEB method (keywords:free_end,
free_end_type) are included in ORCA: where (i) the endpoints are restrained to move along the same (or sepa-
rate) energy isocontour[5, 921], (ii) according to the atomic force acting perpendicular to the path and (iii) the full
atomic force. For the first variant, the ‘reactant’ and ‘product’ endpont images, can be restrained to move along
two different energy contours, 𝐸0 (given by keyword:free_end_ec) and 𝐸1 (given by keyword: free_end_ec_end),
to keep the path bounded. Then, if the images drift away from the isocontour because of curvature of the energy
surface, an harmonic restraint term is used to pull the image back to the contour.[5] The stiffness of the harmonic
restraint is given by a user-supplied parameter (keyword:free_end_kappa). It is important to carefully select the
energy values and the strength of the harmonic restraint, otherwise the path may become kinked. For the second
variant, the endpoint images are unbounded but displaced directly towards the MEP. This is typically acceptable if
the endpoint images are already in vicinity to the MEP and is less prone to kinks developing along the path. For
the third variant, the endpoint images become optimized to the reactant and product energy minimum.
The magnitude of the spring forces (i.e. stiffness) is controlled by spring constants, 𝑘 sp . The typical values of the
spring constant (keyword: springconst) can be taken to be within the range of 0.01 Eh/Bohr2 to 1.0 Eh/Bohr2 .
If the spring constants are choosen to be the same for all pairs of adjacent images, the images will be equally
distributed along the path. However, it is also possible to choose energy-weighted spring constants (keyword:
energy_weighted) so as to increase the density of images in the higher energy regions[4, 385]. In an energy-
weighted NEB calculation the spring constants are scaled according to the relative energy of the images, from a
lower-bound value (keyword:springconst) to an upper-bound value (keyword:springconst2), by
on a linear interpolation of the current location of the images and the individual images interact with the ideal
locations via spring forces. The ideal springs are currently not implemented to work with energy weighted spring
constants.
While only the component of the spring force parallel to the path is included in an NEB calculation (by default) the
user can choose to include a fraction of the spring force acting perpendicular to the path to stabilize calculations
(keyword: perpspring. Since, the perpendicular component of the spring force can serve to straighten out the path
and is useful for complex pathways with multiple energy extrema and low resolution of the path. The inclusion
of the perpendicular component of the spring force is always accompanied by a switching function that is used to
scale it according to (i) convergence to the MEP (the ‘tan’ function)[792] (ii) the angle between adjacent images
(the ‘cos’ function)[416] or a combination of both. The inclusion of the perpendicular spring force can help to
reduce the number of iterations and eliminate kinks on the path. However, it is important to stress that by inclusion
of the perpendicular spring forces, the images may not converge on the MEP. Alternatively, the user can choose to
use the modified DNEB method[792, 854].
The path can be brought to the MEP by moving according to the effective force, as is shown in Fig. 7.21.
sp,‖
Fig. 7.21: Visualization of the effective force, 𝐹 NEB and its two components: 𝐹𝑖⊥ and 𝐹𝑖 for three images along
an intermediate path in a NEB optimization. The figure is taken from Ref. [3]
This can be achieved by using any of the three optimization methods implemented (keyword:opt_method): velocity
projection optimization (VPO)[416], fast inertial relxation engine (FIRE)[108] and L-BFGS[636]. VPO and FIRE
are more robust for regions that are far from the MEP, while L-BFGS converges faster when the images are close
to the MEP. FIRE and VPO both have a local and global implementation (keyword:local). In the local variant,
all of the images are treated individually when taking an optimization step, while in the latter the whole band is
treated as a single point. A constant ‘trust-radius’ is used for all optimization methods, where if the magnitude of
the maximum Cartesian component of an optimization step exceeds a user-supplied threshold (keyword:maxmove),
the whole displacement is scaled down accordingly. The number of steps stored in the L-BFGS optimization for
the construction of the approximate Hessian matrix can be adjusted by the user (keyword:lbfgs_memory). For a
more conservative optimization with L-BFGS, the memory can also be erased if a large step is attempted (key-
word:lbfgs_restart_on_maxmove).
The convergence of the intermediate images is gauged from the maximum Cartesian component of the perpen-
dicular atom force as well as the root-mean-square, i.e. max(|F⊥ |), RMS(F⊥ ). The atomic force on the images
perpendicular to the path vanishes as the images are located on the MEP. A typical value of the tolerance for the
maximum component of the atomic force perpendicular to the path is 1 · 10−3 Eh/Bohr. Typically the tolerance
for the root-mean-square value is chosen to be smaller by a factor of 1/2 or 1/3. Sometimes a tighter tolerance for
the maximum component of the force is needed, for example 5 · 10−4 Eh/Bohr or even 2 · 10−4 Eh/Bohr. The
maximum number of optimization steps allowed is set by the keyword ‘maxiter’.
The configuration of each image after each iteration is written to a ‘_trj.xyz’ file (see file:
basename_MEP_ALL_trj.xyz). This file is useful for troubleshooting non-convergent calculations.
where the climbing image is pushed up-hill along the path and relaxed down-hill perpendicular to the path. That is,
the energy is maximized with respect to one degree of freedom corresponding to the direction of the tangent while
the energy is minimized with respect to all other degrees of freedom. The effective force on the climbing image
does not include any spring force and the density of images then becomes different on either side of the climbing
image. As long as the tangent estimate is accurate enough the climbing image will converge rigorously to the point
of highest energy along the path. An illustration of how the climbing image NEB method works is shown in Fig.
7.22 for a simple two-dimensional energy function.
Fig. 7.22: Illustration of how the CI-NEB method works on a two-dimensional Müller-Brown energy surface,
𝐸(𝑥, 𝑦).[539] The calculation is started from a linear interpolation between the reactant (R) and product (P) energy
minima, using 𝑀 = 10. The images are displaced in the orthogonal direction to the path (red curves), until they
converge to the minimum energy path (white dashed curve). The climbing image accurately locates the higher
energy first order saddle point along the path (denoted by SP). The optimization profile is shown as an inset. In
such a plot the interpolated energy along the path is plotted as a function of displacement, for each (or selected)
optimization step. The figure is taken from Ref. [3]
It can be useful to start the climbing image after the magnitude of the atomic forces perpendicular to the path
drops below a given user supplied threshold (keyword: tol_turn_on_ci). Then, the highest energy image along
the current path is converted to a climbing image. It is usually most efficient to initiate the climbing image early
on or even from the start of the NEB calculation. This applies when using the VPO optimization method. For L-
BFGS it is recommended to start CI-NEB when the path has partially converged to the MEP, e.g., around 0.01-0.02
Eh/Bohr. If there are two or more maxima in the energy along the MEP it is possible that the image near the highest
maximum is not chosen as the climbing image at an early stage of the NEB calculation. Then, later on the choice
of the climbing image can be switched automatically. Also, for barrierless reactions, the climbing image is not
turned on. The atom coordinates of the climbing image (in a CI-NEB calculation) or the highest energy image (in
an NEB calculation) are written to files ‘_NEB-CI_converged.xyz’ and ‘_NEB-HEI_converged.xyz’, respectively,
when a calculation has successfully completed.
The convergence of a CI-NEB calculation can either be gauged by monitoring the forces on all images or only on
the climbing image, (keyword: convtype). The latter option may be used when the objective of the calculation
is to locate the highest energy saddle point connecting the reactant and product states and can save significant
computational effort. To gauge for convergence on the climbing image, both the root-mean-square and magnitude
of the maximum (Cartesian) component of the atom force are monitored, i.e. max(|Fci |), RMS(Fci ). When gauging
the convergence of all images in a CI-NEB calculation it is typically acceptable to converge the regular images more
loosely than the climbing image. By default, the tolerance for the regular images is a factor of 10 larger than that of
the climbing image. This scaling of the tolerances is a parameter that can be set by the user (keyword: tol_scale).
Typically for an acceptable convergence to the saddle point, the tolerance threshold for the maximum magnitude
of an atomic force component of the climbing image can be set to 5 · 10−4 Eh/Bohr.
where 𝑑𝐴𝐵 is the pairwise distance between atoms 𝐴 and 𝐵 for intermediate image 𝑖. 𝑑𝜅𝐴𝐵 is the ideal interpolated
distance between atoms 𝐴 and 𝐵 of the same image. 𝑤 is a weight-function to give shorter bond distances more
weight and make unnecessary bond-breaking unfavorable. The weight function is given as 𝑤 = (𝑑AB )−4 . The IDPP
path avoids the overlap of atoms and can also generate a path that is closer to the MEP than the linear interpolation
in Cartesian coordinates[808]. The IDPP path is obtained from an NEB calculation using the IDPP objective
function starting from a linear interpolation of the Cartesian coordinates between the endpoint structures, but this
calculation requires little computational effort since it does not require any electronic structure computations. Note
that it is possible that the initial path breaks covalent bonds and that it can be far from the optimal MEP, so the user
should always inspect the initial path before starting an NEB calculation. The user can adjust the settings of the
IDPP calculations using the ‘idpp’ related keywords, but the default values should suffice for most applications.
Note that the units of the IDPP are in Ångströms instead of atomic units. The matrix of ideal interpolated distance
between the atoms 𝐴 and 𝐵 at image 𝑖, 𝑑𝜅𝐴𝐵, 𝑖 , is most simply obtained by linear interpolation as
(︁ )︁
𝑑𝜅𝐴𝐵, 𝑖 = 𝑑𝑖𝑛𝑖𝑡𝑖𝑎𝑙
𝐴𝐵 + 𝑃𝑖 * 𝑑𝑓𝐴𝐵
𝑖𝑛𝑎𝑙
− 𝑑𝑖𝑛𝑖𝑡𝑖𝑎𝑙
𝐴𝐵 ,
where 𝑃𝑖 = 𝑛𝑖𝑚𝑖 −1 is the position of image 𝑖 on the path between 0, corresponding to the initial image, and 1,
corresponding to the final image, and 𝑛𝑖𝑚 is the total number of images.
As this linear distance interpolation may not be ideal, one can alternatively choose a bilinear distance interpolation
scheme that takes atomic bonds into account. Bonds between the atoms 𝐴 and 𝐵 in the initial and final images
are identified if their distance 𝑑𝐴𝐵 < 𝑡𝑏𝑜𝑛𝑑 = 𝑡𝑐 (𝑅𝐴 𝑐𝑜𝑣
+ 𝑅𝐵 𝑐𝑜𝑣
) , where 𝑡𝑐 is an input factor impacting at what
distances a bond is detected by default taken to be 1.2, and 𝑅𝑋 𝑐𝑜𝑣
is the covalent radius of atom 𝑋. If a bond is
detected in one of the endpoint structures but not the other, two linear distance interpolations are performed to
obtain 𝑑𝜅𝐴𝐵,𝑖 . The first interpolates the distance between the endpoint structure in which the atoms are bonded and
𝑡𝑏𝑜𝑛𝑑 , the second interpolates the distance between 𝑡𝑏𝑜𝑛𝑑 and the endpoint structure in which the bond is broken.
The two linear distance interpolations are joined at the path position 𝑃𝑗𝑜𝑖𝑛 defaulted to 0.5, corresponding to the
midpoint on the path between the endpoint images. If the atoms are bonded in the initial structure but not in the
final structure, the interpolation is
⎧ 𝑖𝑛𝑖𝑡𝑖𝑎𝑙
⎨𝑑𝑖𝑛𝑖𝑡𝑖𝑎𝑙 + 𝑃𝑖 (𝑡𝑏𝑜𝑛𝑑 −𝑑𝐴𝐵 ) , if 𝑃𝑖 < 𝑃𝑗𝑜𝑖𝑛
𝜅 𝐴𝐵 𝑃𝑗𝑜𝑖𝑛
𝑑𝐴𝐵, 𝑖 = 𝑓 𝑖𝑛𝑎𝑙
𝑓 𝑖𝑛𝑎𝑙 (1−𝑃 )(𝑑 −𝑡 )
, if 𝑃 ≥ 𝑃
𝑖 𝑏𝑜𝑛𝑑
⎩𝑑
𝐴𝐵 − 𝐴𝐵
(1.0−𝑃𝑗𝑜𝑖𝑛 ) 𝑖 𝑗𝑜𝑖𝑛 .
If the atoms are bonded in the final structure but not in the initial structure, the interpolation is
⎧ 𝑖𝑛𝑖𝑡𝑖𝑎𝑙
⎨𝑑𝑖𝑛𝑖𝑡𝑖𝑎𝑙 − 𝑃𝑖 (𝑑𝐴𝐵 −𝑡𝑏𝑜𝑛𝑑 ) , if 𝑃𝑖 < 1 − 𝑃𝑗𝑜𝑖𝑛
𝜅 𝐴𝐵 1−𝑃𝑗𝑜𝑖𝑛
𝑑𝐴𝐵, 𝑖 = 𝑓 𝑖𝑛𝑎𝑙
⎩𝑑𝑓 𝑖𝑛𝑎𝑙 + (1−𝑃 )(𝑡 −𝑑 )
, if 𝑃 ≥ 1 − 𝑃
𝑖 𝑏𝑜𝑛𝑑 𝐴𝐵
𝐴𝐵 𝑃𝑗𝑜𝑖𝑛 𝑖 𝑗𝑜𝑖𝑛.
This bilinear interpolation leads to a slower increase of the atom distance in the bonded region compared to the
non-bonded region in most cases, emphesizing the bond breaking process and thus the region where the energy is
changed most by a change in the bond distance. If the change in the bond distance in the non-bonded region is slower
than the change in the bonded region, the implementation falls back to the regular linear distance interpolation.
In challenging cases, even the IDPP NEB calculation starting from a linear interpolation of the Cartesian coordi-
nates between the endpoint structures may not provide a reasonable initial path. This may happen when the linear
interpolation path has atoms come very close to each other in intermediate images, which leads to bond breaking
even after NEB optimization using the IDPP objective function. In such cases, a reasonable initial path can of-
ten be obtained by avoiding the linear interpolation by sequentially adding images to the path starting from both
endpoint structures instead. This method is referred to as sequential IDPP (S-IDPP).[766] The two sets of images
close to each endpoint structure are separated by a larger distance than the images in each set by choosing a smaller
spring constant than between the images in each set where equal spring constants are used. The images closest to
the center are converged in an NEB calculation and an image added at an appropriate distance from the converged
image between the two images closest to the center. This process is repeated until the requested amount of images
has been added. The tangent of the images closest to the center follows the improved tangent definition and always
treats them as extrema on the path, i.e. an average of the normalized distance vectors to the adjacent images is
used. The number of images used to form the S-IDPP initial path can be different from the number of images used
in the subsequent NEB calculation involving electronic structure calculations. It can be benficial to use an even
number of images in the S-IDPP computation since no image is placed at the center of the initial path then and
moving to the requested odd number of images in an additional IDPP NEB calculation afterwards. This option is
used by default, but can be deactivated. For systems involving very heavy rotations of large groups, the method
becomes more robust when twice the amount of images is used in the S-IDPP calculation. Half the images are then
removed automatically for the subsequent NEB calculation involving electronic structure calculations. This option
is available, but not used by default.
The user may have a preconceived notion of the saddle point configuration or have an estimate of the path from
a calculation carried out at a lower level of theory. The initial path can be generated in such a way as to include
an intermediate configuration as one of the images using the ‘NEB_TS_XYZFile’ keyword. Since this image will
be optimized along with the other intermediate images during the NEB calculation the guess does not have to be
accurate.
If inspection of the initial path reveals problems, e.g., unnecessary bond breaking, it is often a good idea to insert
a reasonable configuration into the initial interpolation to avoid such problems. Moreover, if an NEB calculation
is unable to converge to the MEP (or saddle point) with the given maximum number of iterations, the user can
restart the calculation from the ‘allxyz’ file (see file: basename_MEP.allxyz) which is written to the disk after each
iteration during the optimization. Note, when starting an NEB calculation from an output from a previous CI-NEB
calculation and vice-versa the band may require a few iterations to adjust the distribution of images to achieve the
desired distribution, depending on the selected spring type and the choice of NEB method.
If the system can be modeled reasonably well using the GFN-xTB method, another possible choice is the generation
of an initial path on XTB level (keywords ‘XTB0’, ‘XTB1’ or ‘XTB2’ for GFN0-xTB[699] GFN-xTB[332] or
GFN2-xTB[70]). In this case the initial path on IDPP level is refined using an NEB calculation on the chosen XTB
level. If this NEB run is successful, the entire MEP on XTB level is used as the initial path. If the NEB run on
XTB level is not successful, the initial path on IDPP level is used instead.
Another keyword that makes use of the XTB method is the ‘XTBTS’ keyword (‘XTB0TS’, ‘XTB1TS’ or
‘XTB2TS’). In this case the initial path on IDPP level is refined using an NEB-CI calculation on XTB level.
If the NEB-CI run is successful, the resulting CI structure is chosen as TS guess structure, and the final initial path
is generated using an IDPP path from reactant to TS guess and from TS guess to product. If the NEB-CI run on
XTB level is not successful, the initial path on IDPP level is used instead.
their original position. This procedure is repeated for any pair of adjacent images in each step of the optimization.
Also, the net effective NEB force is set to zero (keyword: remove_extern_force).[434]
it to either ‘rsh’ or ‘ssh’). However, this may not work with all queueing systems.
If the energy and force calculations are fast (e.g. with semiempirical methods), there is no gain in using multiple
processes per image. Starting up and finalizing MPI may consume more time than the gain from parallel processing.
7.29.10 zoomNEB
A preliminary version of the Zoom-NEB (Z-NEB) method has been included this implementation, where the ob-
jective of the method is to locate a saddle point more accurately with a better resolution compared to CI-NEB
calculations. The Z-NEB method is an automatic two step procedure, where in the first step a CI-NEB calculation
is carried out to obtain a rough convergence towards the MEP. Then, the region surrounding the highest energy
maximum along the path is identified and a new set of images distributed along this region. In the second step, a
free-end CI-NEB calculation is started from this new path. In this calculation, the endpoints are optimized accord-
ing to the atom force acting perpendicular to the path. This will ensure that the endpoints of the second CI-NEB
calculation will converge to the MEP, as well. Furthermore, to maintain the parallelization of the CI-NEB method,
same number of movable images are used in the first and second CI-NEB calculations.
7.29.11 NEB-TS
Probably the most efficient saddle point search methods are obtained when double ended methods (e.g. NEB)
are combined with single ended methods (e.g., eigenvector-following). In the current implementation, a combina-
tion of EW-CI-NEB and EF P-RFO (eigenvector-following partitioned rational function optimization) methods is
presented and referred to as the NEB-TS method [4].
In NEB-TS, the EW-CI-NEB method is used to partially converge to the MEP and hence saddle point, i.e., the
optimization of the images along the MEP is halted once the climbing image is converged to a prescribed tolerance.
Then, the climbing image is used to provide a subsequent eigenvector-following calculation with an accurate initial
guess configuration, as is shown in Fig. 7.23 and the tangent at the CI is used to select the eigenvector to be followed.
The tangent estimate should already provide an accurate approximation to the unstable mode at the saddle point.
The initial Hessian matrix needed for the eigenvector-following calculation can either be computed analytically
(if available) or taken as the Almlöf empirical Hessian matrix [264]. If the Almlöf Hessian matrix is used, the
curvature at the CI is estimated by using a finite difference approximation (i.e. using the atom force acting on the
neighboring images to CI) and used to scale the corresponding eigenvalue of the selected eigenvector, allowing the
eigenvector-following calculation to be started from a Hessian matrix of correct form. The typical ‘%geom’ block
can be used to modify the settings of the eigenvector-following calculation.
Fig. 7.23: Illustration of how the NEB-TS method works on a two-dimensional Müller-Brown energy surface,
𝐸(𝑥, 𝑦) [539]. The calculation is started from a linear interpolation between the reactant and product energy
minima, using 𝑀 = 10. The images are displaced in the orthogonal direction to the path (red curves) using the
CI-NEB algorithm, until a rough convergence to the minimum energy path (white dashed curve) is obtained. The
climbing image then provides an approximate saddle point configuration that can be used to start eigenvector-
following partitioned rational function optimization to accurately (and swiftly) identify the (higher energy) first
order saddle point. The figure is taken from Ref. [4]
! NEB-TS
%neb
product "product.xyz"
end
%tddft
NRoots 1
IRoot 1
end
not only computes the MEP and TS of the first excited state, but it also prints out (after NEB convergence) the
excited state as well as ground state energies over the MEP:
-----------------------------------------
Image E0 Root 1
-----------------------------------------
(continues on next page)
You can even request an NEB-TS calculation on the ground state PES, and at the same time gain information on
the excited PES via the input:
! NEB-TS
%neb
product "product.xyz"
end
%tddft
NRoots 1
IRoot 0
end
During this NEB calculation, only ground state energies and gradients are computed. Only after NEB convergence,
the additional excited state energies are computed on each image, in order to yield the ordering of the states on the
MEP:
-----------------------------------------
Image E0 Root 1
-----------------------------------------
0 0.000 121.545
1 6.281 128.198
2 21.434 143.835
3 35.437 151.581
4 43.223 155.579
5 43.235 155.501
6 35.472 151.495
7 21.498 143.715
8 6.395 128.060
9 0.166 121.425
# Restart option: After each iteration the NEB method stores all image
# structures in an .allxyz file. In case of an abort this file can be used
# for a restart. File should contain the structures for all images.
Restart_ALLXYZFile "NEB1.allxyz"# use the trajectory from file if filename is
# provided
# Alternatively NEB can be started on user prepared wavefunctions for each image.
# The names of of these wavefunction files should consist of a user-chosen basename
# and the extension '_imN.gbw', where N is the image number.
# The basename should be provided in the input, ORCA will add extension '_imN.gbw'
Restart_GBW_BaseName "NEB2" # use the wavefunctions from file NEB2_imN.gbw
# The type of the spring interaction parallel to the path. Original springs apply
# spring interaction between each degree of freedom of adjacent images, while
# 'image' springs apply a spring interaction between the images
# Spring type
SpringType image # image / distance (default)
# dof / original
# ideal
SpringConst 0.01 # The spring constant used to scale the spring
# forces parallel to the path. If energy-weighted
# springs are used. This parameter gives the
# lower bound value of the spring constant
SpringConst2 0.1 # If energy-weighted spring forces are used.
# This parameters give the value for the upper
# bound value of the spring constant.
Energy_Weighted true # Employ energy-weighted springs. When
# energy-weighted springs are used, the
# images tend to accumlate in higher energy
# regions of the path.
# The type of the spring interaction perpendicular to the path. The perpendicular
# spring is introduced via a scaling function: cos, tan, costan, which all use
# the spring component perpendicular to the path.
# DNEB is the doubly nudged elastic band method.
PerpSpring no # no (default)
# cos
# tan
# cosTan
# DNEB
# Options LBFGS
LBFGS_Mem 20 # the number of previous steps to be kept in memory and used
# to construct the approximate Hessian matrix.
LBFGS_DR 1.e-3 # Size of the finite difference step taken at the
# initialization of L-BFGS
LBFGS_Restart_On_Maxmove true # Re-initialize L-BFGS for the next step when
# the 'max-move' limit is reached.
LBFGS_Reparam_On_Restart false # Re-parametrize when L-BFGS is re-initialized
LBFGS_Precondition true # If true, then after initialization, the curvature
# along direction of the force is estimated and
# used to determine the first step
# FIRE parameters
FIRE_INITIAL_DAMP 0.1 # Initial value for the damping factor
FIRE_DAMP_DECR" 0.99 # Decrease of the damping factor
FIRE_STEP_INCR" 1.1 # Factor to increase the stepsize
FIRE_STEP_DECR" 0.5 # Factor to decrease the stepsize
FIRE_MAX_STEP" 5.0 # Default is 10 x Stepsize
FIRE_RETENTION" 5 # Retention before starting acceleration
# Options Zoom
Tol_Turn_On_Zoom 0.1 # use ZOOM-NEB(-CI/TS)
Zoom_Offset 1 # if manual selection is chosen, how many
# images away from CI should be chosen
Zoom_Auto true # automatically select zoom region
Zoom_Alpha 0.5 # determines how much of the barrier
# zoom-auto should select
Zoom_Interpolation # linear (default)
# cubic
Zoom_PrintFullTrj # print full trajectory including fixed region during Zoom
# Set of parameters to adjust the IDPP pre-optimization when generating the initial
# path.
# Options IDPP
IDPP_NMax 7000 # maximum number of cycles allowed in IDPP
IDPP_Tol_MaxF 0.01 # tolerance on the maximum component of the
# atomic force perpendicular to the path.
# For S-IDPP, this setting is used in the
# final IDPP optimization after all images
# have been added to the path
IDPP_ksp 1.0 # spring constant used to scale the spring
# force parallel to the path.
IDPP_Alpha 0.01 # multiplicative factor to scale the size
# of the step in each opt. cycle
IDPP_MaxMove 0.05 # maximum component allowed per step
IDPP_Debug false # will print out the convergence of IDPP
# and also the optimization trajectory and
# the log file for the IDPP run.
IDPP_Quatern true # Whether quaternions should be used in the
(continues on next page)
Output files:
• Configuration and trajectory files:
– basename_initial_path_trj.xyz: The initial path generated at the start of the NEB run and after mini-
%cis end
# or equivalently
%tddft end
There are a variety of options. The most important one is the number of excited states that you want to have
calculated:
%cis
...
ETol 1e-6
RTol 1e-6
end
The variable ETol gives the required convergence of the energies of the excited states (in Eh) and RTol is the
required convergence on the norm of the residual vectors. Under normal ciorcumstances the calculations need
about 5-10 iterations to converge to the default convergence tolerances.
Once converged, the program prints the wave function composition. To keep the printing concise, coefficients
smaller than 0.01 are omitted. The threshold can be adjusted with the keyword TPrint.
%cis
...
TPrint 0.0001 # cut-off for the wave function printing, default= 0.01
end
If closed-shell references are used the program can calculate the singlet and spin-adapted triplet excited states at
the same time by using:
%cis
...
triplets true
end
This is available for all combinations of methods, including analytic gradients, and for double-hybrids.
In order to control the orbitals that should be taken into account in the calculation two mechanisms are available.
The first mechanism is the default mechanism and consists of specifying and orbital energy window within which
all single excitations will be considered:
%cis
...
EWin -3,3 # (orbital energy window in Eh)
end
Thus, the default is to keep core orbitals frozen and to neglect very high lying virtual orbitals which is a sensible
approximation. However, you may want to consider to include all virtual orbitals by choosing for example EWin
-3,10000. The second mechanism is to explicitly give an orbital energy window for each operator, i.e.
%cis
...
OrbWin[0] = 2,-1,-1,14 # orbital window for spin-up MOs
OrbWin[1] = 2,-1,-1,16 # orbital window for spin-down MOs
end
The “-1“‘s in the above example mean that the HOMO and LUMO for the spin-.up and spin-down orbitals will be
automatically determined by the program. In other words, in the above example, only the following excitations are
included in the TDDFT calculation:
• Excitations from any occupied alpha orbital whose index is between 2 (inclusive) and that of the alpha
HOMO (inclusive), to any virtual alpha orbital whose index is between that of alpha LUMO (inclusive) and
14 (inclusive)
• Excitations from any occupied beta orbital whose index is between 2 (inclusive) and that of the beta HOMO
(inclusive), to any virtual beta orbital whose index is between that of beta LUMO (inclusive) and 16 (inclu-
sive)
For calculations based on a restricted reference, OrbWin[1] will be ignored.
In using the CIS/TD-DFT module five different types of calculations should be distinguished:
• Semiempirical methods
7.30. Excited States via RPA, CIS, TD-DFT and SF-TDA 735
ORCA Manual, Release 6.0
• Hartree-Fock calculations
• DFT calculations without HF exchange (non-hybrid functionals)
• DFT calculations with HF exchange (hybrid functionals)
• DFT calculations with HF exchange and MP2 correlation (double-hybrid functionals)
7.30. Excited States via RPA, CIS, TD-DFT and SF-TDA 737
ORCA Manual, Release 6.0
Fig. 7.24: Structure of the iron-porphyrin used for the prediction of its absorption spectrum (the structure was
obtained from a molecular mechanics calculation and the iron-imidazole bondlength was set to 2.0 Å).
Fig. 7.25: The ZINDO/S predicted absorption spectrum of the model iron porphyrin shown above. The spectrum
has been plotted using the orca_mapspc tool.
Note that ORCA slightly departs from standard ZINDO/S in using dipole integrals in the intensity calculations that
include all one- and two-center terms which are calculated via a STO-3G expansion of the Slater basis orbitals.
The calculated intensities are not highly accurate anyways. In the present case they are overestimated by a factor
of ≈ 2.
The TDA is the same approximation that leads from RPA to CIS (i.e. neglect of the so-called “B” matrix, see eq.
(7.220)). The results for vertical excitation energies are usually very similar between the two approaches.
7.30. Excited States via RPA, CIS, TD-DFT and SF-TDA 739
ORCA Manual, Release 6.0
In general, the elements of matrix “A” and “B” for singlet-singlet excitations in the spin-restricted case are given
by eqs. (7.221) and (7.222).
and
Here, 𝑖, 𝑗 denote occupied and 𝑎, 𝑏 virtual orbitals. 𝑎X is the amount of non-local Fock exchange in the density
functional. If 𝑎X is equal to one, eqs. (7.219) and (7.220) correspond to the RPA and CIS case, based on a Hartree-
Fock ground state determinant.
The TDA is actually the default method for TD-DFT, and can be turned off by:
%tddft
TDA false
end
There are situations where hybrid functionals give significantly better results than pure functionals since they suffer
less from the self-interaction error. In those cases, the RIJCOSX procedure[624] [415][383] leads to very large
speedups in such calculations at virtually no loss in accuracy[676], and is turned on by default whenever the SCF
uses that too.
𝐴𝑆𝐹 𝑏 = 𝛿𝑖𝑗 𝛿𝑎
𝑎,𝑗¯
𝑖¯ 𝑏 (𝜖𝑎
¯¯ 𝑎¯𝑏)
¯ − 𝜖𝑖 ) − 𝑎X (𝑖𝑗|¯ (7.223)
where the overbar represent beta orbitals, and no-overbars alpha orbitals.
OBS.: Please note that for pure DFT (with 𝑎𝑋 = 0, and no HF contribution), the A matrix is based simply in the
orbital energies, and thus it is always good to have a good amount of HF on the functional!
In order to facilitate the discussion on the results one gets from the SF-TDA, let’s take a closer look at the picture
representing some possible excitations:
Fig. 7.26: Effect of the spin-flip operator on a UHF (𝑀 𝑆 = 3) wavefunction. The “spin-complete” states are
eigenvectors of the 𝑆 2 operator, while the “spin-incomplete” are not. Alpha and beta orbitals here are represented
with the same energy, just to simplify the image. Adapted from the previously mentioned review.
It is important to note that no all SF-excitations lead to determinants that are eigenvalues of the 𝑆 2 operator. That
means, depending on how much of these “spin incomplete” excitations are present in the final SF-state, the spin-
contamination could be high, and in this case, states with ⟨𝑆 2 ⟩ ≃ 1 would be predicted. These are undefined states
within the SF theory and should be treated carefully.
OBS.: Any SF method can only be used starting from a UHF wavefunction, with a multiplicity of at least 3!
The geometry was taken from a high-level CCSD(T)/cc-pVQZ (𝑋 3 𝐵1 ) optimized geometry, and after the regular
UHF SCF, the SF-CIS result is:
---------------------
SF-CIS EXCITED STATES
---------------------
the weight of the individual excitations are printed if larger than 1.0e-02
Now, it is very important to consider that the SF ground state is not the UHF ground state anymore, the
“new” ground state within the SF scheme is actually STATE 1. You can think of the UHF as being only an initial
model, on the basis of which the SF states are built. The final energy of the new ground state is actually the SCF
energy + energy of the STATE 1 (which is the one given as the FINAL SINGLE POINT ENERGY is no IROOT
is given). This last contribution can be either positive or negative, depending on the case.
Anyway, the ground state is predicted to be a triplet state (here with 𝑀𝑆 = 0), as expected for this carbene, and the
S-T spiting energy is 1.774 − 0.135 eV = 1.639 eV. The full CI results for that is 1.50 eV, so it is already almost
there! Of course, in this case computing the RHF singlet - UHF triplet makes no sense, since the RHF singlet
would not have the necessary open-shell singlet character.
7.30. Excited States via RPA, CIS, TD-DFT and SF-TDA 741
ORCA Manual, Release 6.0
Fig. 7.27: Lewis representation of the benzene and benzyne molecules, indicating the diradical character of the
later.
First, we optimize the open-shell singlet by using SF, and the input that follows. Here we use now DFT, in particular
the BHANDHLYP functional, which uses 50% of HF correlation, and is recommended for this kind of application.
By default, the IROOT to be optimized is 1, which in this case corresponds to the SF ground state.
!BHANDHLYP DEF2-TZVPD OPT
%TDDFT
SF TRUE
NROOTS 3
END
* xyz 0 3
C -1.39113 0.00000 0.00000
C 0.69557 1.20476 0.00000
C -0.69557 1.20476 0.00000
C -0.69557 -1.20476 0.00000
C 0.69557 -1.20476 0.00000
C 1.39113 0.00000 0.00000
H -1.24291 2.15278 0.00000
H -1.24291 -2.15278 0.00000
H 1.24291 -2.15278 0.00000
H 1.24291 2.15278 0.00000
*
And after the optimization of IROOT 1, the final SF-TDA result is:
---------------------
SF-TDA EXCITED STATES
---------------------
the weight of the individual excitations are printed if larger than 1.0e-02
confirming the singlet ground state, with an upper triplet excited state.
Now to optimize the triplet state using SF-TDA, one has to use a similar input, except that now IROOT 2 has to be
chosen as the one to be optimized:
!BHANDHLYP DEF2-TZVPD OPT
%TDDFT SF TRUE
NROOTS 3
IROOT 2
END
* xyz 0 3
C -1.39113 0.00000 0.00000
C 0.69557 1.20476 0.00000
C -0.69557 1.20476 0.00000
C -0.69557 -1.20476 0.00000
C 0.69557 -1.20476 0.00000
C 1.39113 0.00000 0.00000
H -1.24291 2.15278 0.00000
H -1.24291 -2.15278 0.00000
H 1.24291 -2.15278 0.00000
H 1.24291 2.15278 0.00000
*
After the optimization, the final predicted adiabatic singlet-triplet gap is 0.163 eV, very close to the experimental
value of 0.165 eV [178], and even better than what the Broken-Symmetry (BS) result would be (0.074 eV).
method ∆𝑎𝑑
𝑆𝑇 (𝑒𝑉 )
7.30. Excited States via RPA, CIS, TD-DFT and SF-TDA 743
ORCA Manual, Release 6.0
• Equilibrium: If the excited state is assumed to be completely solvated, then the true dielectric constant 𝜀 of
the solvent should be used. That is the case for geometry optimizations, frequencies or inside ORCA_ESD.
This is turned on by default whenever analytic gradients are requested.
In any case, these conditions can be controlled by the flag CPCMEQ, that can be set to TRUE or FALSE by the
user, and will then override the defaults.
These are available to all CIS/TD-DFT options: singlets, spin-adapted triplets, UHF and spin-flip variants. It works
inclusive for double-hybrids and whenever SOC is requested.
and the atomic changes and bond orders will be printed for the chosen IROOT (default 1):
------------------------------------------------------------------------------
UNRELAXED CIS/TDA DENSITY POPULATION ANALYSIS
IROOT 1
------------------------------------------------------------------------------
------------------------------------------------------------------------------
ORCA POPULATION ANALYSIS
------------------------------------------------------------------------------
Input electron density ... form.cisp
BaseName (.gbw .S,...) ... form
********************************
* MULLIKEN POPULATION ANALYSIS *
********************************
-----------------------
MULLIKEN ATOMIC CHARGES
-----------------------
0 O : 0.166776
1 C : -0.402481
2 H : 0.117828
3 H : 0.117876
(...)
*****************************
* MAYER POPULATION ANALYSIS *
*****************************
To get the analysis from the relaxed density, simply use !ENGRAD to a run a gradient calculation:
------------------------------------------------------------------------------
RELAXED CIS/TDA DENSITY POPULATION ANALYSIS
IROOT 1
------------------------------------------------------------------------------
------------------------------------------------------------------------------
ORCA POPULATION ANALYSIS
------------------------------------------------------------------------------
Input electron density ... form.cisp
BaseName (.gbw .S,...) ... form
********************************
* MULLIKEN POPULATION ANALYSIS *
********************************
-----------------------
MULLIKEN ATOMIC CHARGES
-----------------------
0 O : -0.094934
1 C : -0.074730
2 H : 0.084824
3 H : 0.084840
Sum of atomic charges: 0.0000000
(...)
In order to print the analysis for multiple states, simply use IROOTLIST and TROOTLIST:
!B3LYP DEF2-SVP
%TDDFT NROOTS 5
IROOTLIST 1,2,3
TROOTLIST 1,2,3
UPOP TRUE
END
* XYZ 0 1
O -1.88199 1.42016 -0.00000
C -1.80947 0.20286 0.00000
H -2.50488 -0.38174 -0.59212
H -1.04956 -0.29504 0.59212
(continues on next page)
7.30. Excited States via RPA, CIS, TD-DFT and SF-TDA 745
ORCA Manual, Release 6.0
Theoretical Background
A brief outline of the theory will be given in the following. For more details, please refer to the original papers[69,
323]. In the sTDA, the TDA eigenvalue problem from eq. (7.220) is solved using a truncated and semi-empirically
simplified 𝐴′ matrix. The trunctation negelects all excitations that are beyond the energy range of interest, except
a few strongly coupled ones. The matrix elements from eq. (7.221) are simplified by neglecting the response of
the density functional and by approximating the remaining two-electron integrals as damped Coulomb interactions
between transition/charge density monopoles. In the following, the indices 𝑖, 𝑗 denote occupied, 𝑎, 𝑏 virtual and
𝑝, 𝑞 either kind of orbitals.
𝑁atoms
∑︁
𝐴′𝑖𝑎,𝑗𝑏 = 𝛿𝑖𝑗 𝛿𝑎𝑏 (𝜖𝑎 − 𝜖𝑖 ) + 𝐴 𝐾 𝐵
(2𝑞𝑖𝑎 𝐴 𝐽
𝛾𝐴𝐵 𝑞𝑗𝑏 − 𝑞𝑖𝑗 𝐵
𝛾𝐴𝐵 𝑞𝑎𝑏 ) (7.226)
𝐴,𝐵
𝐴
𝑞𝑝𝑞 and 𝑞𝑝𝑞
𝐵
are the transition/charge density monopoles located on atom 𝐴 and 𝐵, respectively. These are obtained
from Löwdin population analysis (see Sec. Löwdin Population Analysis). 𝜖𝑝 is the Kohn-Sham orbital energy of
orbital 𝑝. 𝛾𝐴𝐵
𝐾
and 𝛾𝐴𝐵𝐽
are the Mataga-Nishimoto-Ohno-Klopman damped Coulomb operators for exchange-type
(𝐾) and Coulomb-type (𝐽) integrals, respectively.
(︂ )︂ 𝛽1
1
𝐽
𝛾𝐴𝐵 = (7.227)
(𝑅𝐴𝐵 )𝛽 + (𝑎X 𝜂)−𝛽
(︂ )︂ 𝛼1
1
𝐾
𝛾𝐴𝐵 = (7.228)
(𝑅𝐴𝐵 )𝛼 + 𝜂 −𝛼
Here, 𝜂 is the arithmetic mean of the chemical hardness of atom 𝐴 and 𝐵. 𝛼 and 𝛽 are the parameters of the method
and are given by:
𝛼 = 𝛼1 + 𝑎𝑥 𝛼2 (7.229)
𝛽 = 𝛽1 + 𝑎𝑥 𝛽2 (7.230)
For any global hybrid functional, 𝛼1 , 𝛼2 , 𝛽1 and 𝛽2 are identical. 𝛼 and 𝛽 then depend on the amount of Fock
exchange (𝑎X ) only. This is different for range-separated hybrid functionals where 𝛼2 and 𝛽2 are set to zero.
𝛼1 and 𝛽1 along with a value 𝑎𝑥 for the sTDA treatment are individually fitted for each range-separated hybrid
functional.[725] It can bee seen from eq. (7.226) that the method is asymptotically correct which is crucial for
excitations of charge transfer type.
In sTD-DFT, eq. (7.219) is solved using the simplified matrices 𝐴′ (see above) and 𝐵 ′ .
𝑁atoms
∑︁
′
𝐵𝑖𝑎,𝑗𝑏 = 𝐴 𝐾 𝐵
(2𝑞𝑖𝑎 𝐴 𝐾 𝐵
𝛾𝐴𝐵 𝑞𝑏𝑗 − 𝑎X 𝑞𝑖𝑏 𝛾𝐴𝐵 𝑞𝑎𝑗 ) (7.231)
𝐴,𝐵
This approach yields better transition dipole moments and therefore spectra but the method is more costly than
sTDA (a factor of 2–5 for typical systems). The parameters used in sTDA and sTD-DFT are identical. There are
no additional parameters fitted for this method.
Calculation Set-up
sTDA and sTD-DFT can be combined with any (restricted or unrestricted) hybrid DFT singlepoint calculation.
Gradients and frequencies are not implemented! The methods can be invoked via the %tddft block. Table Keyword
list for sTDA and sTD-DFT. gives a list of the possible keywords.
The following example shows how to run such a sTDA calculation using the BHLYP functional if one is interested
in all excitations up to 10 eV.
! bhlyp def2-SV(P) nososcf tightscf
! smallprint printgap nopop
%maxcore 5000
%tddft
Mode sTDA
Ethresh 10.0
maxcore 5000
end
* xyzfile 0 1 coord.xyz
Replacing Mode sTDA by Mode sTDDFT will invoke a sTD-DFT calculation instead. This is shown in the next
example in combination with the 𝜔B97X functional and user specified parameters:
! wb97x def2-SV(P) nososcf tightscf
! smallprint printgap nopop
%maxcore 5000
%tddft
Mode sTDDFT
Ethresh 10.0
axstda 0.56
beta1 8.00
beta2 0.00
alpha1 4.58
alpha2 0.00
maxcore 5000
end
* xyzfile 0 1 coord.xyz
For the range-separated hybrid functionals LC-BLYP, CAM-B3LYP, 𝜔B97, 𝜔B97X, 𝜔B97X-D3 and 𝜔B97X-
D3BJ, parameters are available and will be used by default if one of these functionals is used. The way of specifying
parameters as shown above is useful if there is a range-separated hybrid functional that has not been parametrized
for sTDA yet. For very large systems (e.g. > 500 atoms), it may be useful to define an upper boundary PTLimit for
the selection of configurations that are beyond EThresh (otherwise the whole configuration space will be scanned).
This can be done as shown below:
7.30. Excited States via RPA, CIS, TD-DFT and SF-TDA 747
ORCA Manual, Release 6.0
In this case, all excitations up to 7 eV are considered from the very beginning. Configurations between 7 and 14
eV are included if their coupling to the configurations below 7 eV is strong enough (in total larger than PThresh).
All configurations beyond 14 eV are neglected. Since the sTDA/sTD-DFT calculations run in serial mode, it is
recommended to reset the maxcore within the %tddft block (as done in the above examples). In the latter sample
input, the ground state procedure runs in parallel mode on 4 cores with a maxcore of 5000 MB set for each node.
The subsequent sTD-DFT calculation then runs on a single core, but in order to use all the available memory, the
maxcore is reset to a larger value (i.e., 20000 MB). If the maxcore statement within the %tddft block was missing,
only 5000 MB of memory would be available in the sTD-DFT calculation. Note furthermore that for very large
systems, using a functional with the correct asymptotic behaviour is very important (due to the fixed amount of
GGA exchange, CAM-B3LYP does not provide this property).
The ORCA output will summarize the important properties of your calculation which allows you to check your
input:
---------------------------------------------------------------------------------
4.009 4.182 4.182 4.318 4.318 0.867 0.867 0.876 0.876 0.876
0.876 0.876 0.876
ax(DF) : 0.3800
s_k : 2.0000
beta (J): 1.8600
alpha (K): 0.9000
The spectroscopic data is also printed out after the calculation has finished:
sTD-DFT done
fL, fV, RL and RV are the length and velocity expressions of the oscillator and rotatory strengths, respectively. They
may be convoluted by a spectrum processing program to yield the UV/Vis absorption and ECD spectra.
7.30. Excited States via RPA, CIS, TD-DFT and SF-TDA 749
ORCA Manual, Release 6.0
approximation systems with more than 1000 basis functions are readily within the reach of the implementation.
Since one always has a triad of computational steps: MP2-CIS solution-(D) correction, we have implemented
several algorithms that may each become the method of choice under certain circumstances. The choice depends
on the size of the system, the number of roots, the available main memory and the available disk space together
with the I/O rate of the system. The formal cost of the (D) correction is 𝑂(𝑁 5 ) and its prefactor is higher than that
of RI-MP2. In the best case scenario, the rate limiting step would be the calculation of the pair-contribution in the
“U-term” which requires (for a closed-shell system) twice the effort of a RI-MP2 calculation per state.
The use of the (D)-correction is simple. Simply write:
Table 7.23: Integral handling in various implementations of the (D) correction (i,j=occupied MOs, a,b=virtual
MOs, Q=aux function; NumInt=numerical integration).
DCORR = 1 2 3 4
(ia|jb) integrals Stored Stored Not stored Not stored
(ij|ab) integrals Stored Not made Not made Not made
(ab|Q) integrals Stored Not made Not made Stored
(ij|Q) integrals Stored Stored Stored Stored
(ia|Q) integrals Stored Stored Stored Stored
Coulomb CIS From (ia|jb) From (ia|jb) From (ia|Q) From (ia|Q)
Exchange CIS From (ij|ab) RI-AO-direct RI-AO-direct From (ab|Q)
XC-CIS Num. Int. Num. Int. Num. Int. Num. Int.
V-term in (D) From (ia|jb) From (ia|jb) From (ia|Q) From (ia|Q)
U-term in (D) From (ab|Q) RI-AO-direct RI-AO-direct From (ab|Q)
NOTE:
• In all three involved code sections (MP2, CIS, (D)) the storage format FLOAT is respected. It cuts down
use of disk and main memory by a factor of two compared the default double precision version. The loss of
accuracy should be negligible; however it is – as always in science – better to double check.
• The (ab|Q) list of integrals may be the largest for many systems and easily occupies several GB of disk
space (hence algorithms 2 and 3). However, that disk-space is often well invested unless you run into I/O
bottlenecks.
• The (ia|jb) and (ij|ab) lists of integrals is also quite large but is relatively efficiently handled. Nevertheless,
I/O may be a problem.
• Making the exchange contribution to the CIS residual vector in an RI-AO direct fashion becomes quite
expensive for a larger number of states. It may be a good choice if only one or two excited states are to be
calculated for a larger system.
• Calculations are possible with the full TD-DFT and the TDA-DFT versions.
• Usage of time-dependent double-hybrids should be cited as follows: For TD or TDA with any double
hybrid,[328] TD-B2GPLYP,[310] TDA-PBE0-DH or TDA-PBE0-2,[579] TD-PBE0-DH, TD-PBE0-2, or
TDA-B2GP-PLYP [772], TD-𝜔B2PLYP or TD-𝜔B2GPPLYP [146], TDA-𝜔B2PLYP or TDA-𝜔B2GPPLYP
%tddft nroots 5
DoNTO true # flag to turn on generation of natural transition orbitals
NTOStates 1,2,3 # States to consider for NTO analysis;
#if empty all will be done
NTOThresh 1e-4 # threshold for printing occupation numbers
end
* xyz 0 1
N 0.000000 0.000000 1.401146
C 0.000000 1.146916 0.702130
C 0.000000 -1.146916 0.702130
C -0.000000 1.205574 -0.702848
C -0.000000 -1.205574 -0.702848
C 0.000000 -0.000000 -1.421344
H -0.000000 2.079900 1.297897
H -0.000000 -2.079900 1.297897
H -0.000000 2.179600 -1.219940
H -0.000000 -2.179600 -1.219940
H 0.000000 0.000000 -2.525017
*
7.30. Excited States via RPA, CIS, TD-DFT and SF-TDA 751
ORCA Manual, Release 6.0
------------------------------------------
NATURAL TRANSITION ORBITALS FOR STATE 2
------------------------------------------
------------------------------------------
NATURAL TRANSITION ORBITALS FOR STATE 3
------------------------------------------
-----------------------------
TD-DFT/TDA-EXCITATION SPECTRA
-----------------------------
-----------------------------------------------------------------------------------------------
˓→-----
-----------------------------------------------------------------------------------------------
(continues on next page)
0-1A -> 2-1A 4.352995 35109.3 284.8 0.000000000 0.00000 0.00000 -0.00000 -0.
˓→00000
0-1A -> 3-1A 5.367066 43288.3 231.0 0.024724713 0.18803 0.00000 -0.43363 0.
˓→00000
0-1A -> 4-1A 6.156133 49652.6 201.4 0.000029118 0.00019 -0.00000 -0.00000 -0.
˓→01389
0-1A -> 5-1A 6.746055 54410.6 183.8 0.027331420 0.16537 -0.00000 -0.40666 0.
˓→00001
We see that there is a weakly allowed transition (S1) that is essentially totally composed of a single NTO pair
(20a→21a : n= 0.99825296), while the third excited state (S3) is strongly allowed and requires two NTO pairs for
its description (20a→21a : n= 0.64493520 and 19a→22a : n= 0.34962356).
These orbitals are shown below. It is evident that the S1 state donor orbital (NTO20) is a nitrogen lone pair and
the acceptor orbital is a 𝜋* orbital of the ring. For the S3 state the two NTO donor orbitals are comprised of a
nearly degenerate set of 𝜋 orbitals (they would be degenerate in the parent benzene) and the acceptor orbitals are
a pair of nearly degenerate 𝜋* orbitals. It is evident from this example that by looking at the NTOs one can obtain
a nicely pictorial view of the transition process, even if many orbital pairs contribute to a given excited state in the
canonical basis.
Fig. 7.28: Natural transition orbitals for the pyridine molecule in the S1 and S3 states.
Similar analysis can be performed in the case of ROCIS and DFT/ROCIS calculations as it will be described in
section Natural Transition Orbitals/ Natural Difference Orbitals.
7.30. Excited States via RPA, CIS, TD-DFT and SF-TDA 753
ORCA Manual, Release 6.0
RI Approximation (MO-Basis)
As an alternative to the direct AO-basis computation ORCA allows to use RI-integrals transformed to the MO basis
to generate the CI matrix. This algorithm is more disk-intensive. However, for medium sized molecules we have
observed speedups on the order of 15 or more with this method. It is particularly benefitial together with hybrid
functionals.
In order to use this method you have to specify mode riints in the %tddft block and you also have to assign
an auxiliary basis set (for example def2-TZVP/C). There is a second algorithm of this kind that is labelled mode
riints_disk
Note that the auxiliary basis set has to be valid for correlation treatments in case that you have a hybrid functional.
Thus the basis sets developed for RI-MP2 are suitable (def2-SVP/C, def2-TZVP/C and def2-TZVPP/C). If you
have a non-hybrid functional the normal RI-J auxiliary basis sets are fine.
An example that uses the B3LYP functional is given below:
%tddft
mode riints # or riints_disk (often faster but requires more disk space)
nroots 8
end
* int 0 1
C 0 0 0 0.00 0.0 0.0
O 1 0 0 1.20 0.0 0.0
H 1 2 0 1.08 120.0 0.0
H 1 2 3 1.08 120.0 180.0
*
ò Note
• Do not forget to assign a suitable auxiliary basis set! If Hartree-Fock exchange is present (HF or hybrid-
DFT) these are the auxiliary bases optimized for correlation while for non-hybrid functionals the standard
RI-J bases are suitable.
• The standard auxiliary basis sets may not be suitable if you have diffuse functions present and want to
study Rydberg states. You have to augment the axuliary basis with diffuse functions yourself in this case.
• Be prepared that the transformed integrals take up significant amounts of disk space.
Integral Handling
If the SCF calculation is carried out in an integral direct fashion this will also be done in the CIS/TD-DFT calcula-
tion. Thus, no bottlenecks arising from large integral transformations or large disk space requirement arise in the
calculations. An exception is the MO based RI approximations described in the previous section.
Tip
If you want to augment a given basis set it is sensible to run a preliminary SCF calculation and use %output
print[p_basis] 2 end. This will provide you with a detailed listing of basis functions and their exponents.
You can then add additional s, p and perhaps d-functions with the AddGTO command as in the example above. It
is sensible to decrease the exponent of the diffuse functions by roughly a factor of 3 from the smallest exponent
in the original basis.
The output file from this job contains the total energies (i.e. the ground state energy plus the excitation energy) for
each excited state as a function of C-O bondlength as shown below. Howerver, the assignment of the individual
7.30. Excited States via RPA, CIS, TD-DFT and SF-TDA 755
ORCA Manual, Release 6.0
states will change with geometry due to curve crossings. Thus, the state-to-state correlation must be worked out
“by hand”. These calculations are nevertheless very helpful in obtaining at least a rough idea about excited state
energy surfaces.
Fig. 7.29: Result of a potential energy surface scan for the excited states of the CO molecule using the orca_cis
module.
#
! BP86 def2-SV(P) def2/J TightSCF AnFreq
* xyz 0 1
C 0.000001 -0.000000 -0.671602
C 0.000000 0.000000 0.671602
H -0.000000 -0.940772 -1.252732
H -0.000000 -0.940772 1.252732
H -0.000000 0.940772 -1.252732
H -0.000000 0.940772 1.252732
*
and then:
%tddft
NRoots 3
triplets false
end
%mtr
HessName "ethene.hess"
modetype normal
MList 9,13
RSteps 4,5
LSteps 4,5
ddnc 1.0, 0.5
end
* xyz 0 1
C 0.000001 -0.000000 -0.671602
C 0.000000 0.000000 0.671602
H -0.000000 -0.940772 -1.252732
H -0.000000 -0.940772 1.252732
H -0.000000 0.940772 -1.252732
H -0.000000 0.940772 1.252732
*
The HessName parameter specifies the name of the file which contains nuclear Hessian matrix calculated in the
frequency run. The Hessian matrix is used to construct normal mode trajectories. The keyword MList provides
the list of the normal modes to be scanned. The parameters RSteps and LSteps specify the number of steps in
positive and negative direction along each mode in the list. In general, for a given set of parameters
mlist m1,m2,...mn
rsteps rm1,rm2,...rmn
lsteps lm1,lm2,...lmn
the
∏︀ total number of the displaced geometries for which single point calculations will be performed is equal to
(𝑟𝑚𝑖 + 𝑙𝑚𝑖 + 1). Thus, in the present case this number is equal to (4 + 4 + 1) (5 + 5 + 1) = 99.
𝑚𝑖
The ddnc parameter specifies increments 𝛿𝑞𝛼 for respective normal modes in the list in terms of dimensionless
normal coordinates (DNC’s). The trajectories are constructed so that corresponding normal coordinates are varied
in the range from −𝑙𝛼 𝛿𝑞𝛼 to 𝑟𝛼 𝛿𝑞𝛼 . The measure of normal mode displacements in terms DNC’s is appropriate
choice since in spectroscopical applications the potential energy function 𝑈 is usually expressed in terms of the
7.30. Excited States via RPA, CIS, TD-DFT and SF-TDA 757
ORCA Manual, Release 6.0
DNC’s. In particular, in the harmonic approximation 𝑈 (𝑞𝛼 ) has a very simple form around equilibrium geometry:
3𝑁 −6
∑︁ ℏ𝜔𝛼 2
𝑈 = 𝑈0 + 𝑞 (7.232)
𝛼
2 𝛼
where {𝐿𝑘𝛼 } is the orthogonal matrix obtained upon numerical diagonalization of the mass-weighted Hessian
matrix, and M is the vector of atomic masses. Accordingly, the atomic Cartesian displacements corresponding to
a given dimensionless normal coordinate 𝑞𝛼 are given by:
(︂ )︂ 12
ℏ
𝛿𝑋𝑘 = 𝐿𝑘𝛼 𝑞𝛼 (𝑀𝑘 )
− 12 (7.234)
𝜔𝛼
Alternatively, it is possible to specify in the input the Cartesian increment for each normal mode. In such a case,
instead of the ddnc parameter one should use the dxyz keyword followed by the values of Cartesian displacements,
for example:
%mtr
HessName "ethene.hess"
modetype normal
MList 9,13
RSteps 4,5
LSteps 4,5
dxyz 0.01, 0.02 # increments in the Cartesian basis
# are given in angstrom units
end
For a given Cartesian increment 𝑑𝑋,𝛼 along the 𝛼–th normal mode the atomic displacements are calculated as
follows:
𝑑𝑋,𝛼 −1
𝛿𝑋𝑘 = 𝐿𝑘𝛼 (𝑀𝑘 ) 2 (7.235)
‖T𝛼 ‖
− 21
The vector T𝛼 in the Cartesian basis has components 𝑇𝑖𝛼 = 𝐿𝑘𝛼 (𝑀𝑘 ) and length (norm) ‖T𝑘 ‖.
The increment length can also be selected on the basis of an estimate for the expected change in the total energy
∆𝐸 due to the displacement according to eq.(7.118). The value of ∆𝐸 can be specified via the EnStep parameter:
%mtr
HessName "ethene.hess"
modetype normal
MList 9,13
RSteps 4,5
LSteps 4,5
EnStep 0.001, 0.001 # the values are given in Eh
end
All quantum chemical methods have to tolerate a certain amount of numerical noise that results from finite con-
vergence tolerances or other cutoffs that are introduced into the theoretical procedures. Hence, it is reasonable to
choose ∆𝐸 such that it is above the characteristic numerical noise level for the given method of calculation.
At the beginning of the program run the following trajectory files which can be visualized in gOpenMol will be
created:
• BaseName.m9.xyz and BaseName.m13.xyz contain trajectories along normal modes 9 and 13, respec-
tively.
7.30. Excited States via RPA, CIS, TD-DFT and SF-TDA 759
ORCA Manual, Release 6.0
Fig. 7.30: Result of a potential energy surface scan along C-C stretching normal coordinate (mode 13 in the present
example) for the excited states of the ethene molecule using the orca_cis module.
The second parameter ddnc in the command line invokes the calculation of geometry difference in terms of the
DNC’s. Both structures are specified in the file geom.xyz which has a strict format:
2 3
0
0.000000 0.000000 0.000000
0.000000 0.607566 0.770693
0.000000 0.607566 -0.770693
1
0.000000 0.000000 0.000000
0.000000 -0.607566 0.770693
0.000000 -0.607566 -0.770693
The first line of the input specifies the number of the structures and total number of atoms (2 and 3, respectively).
Specification of each structure in sequence starts with a new line containing the number of the structure. The
number 0 in the second line is used to denote the reference structure. Note that atomic coordinates should be given
in units of Å and in the same order as in the ORCA input for the frequency run from which the file water.hess
was calculated.
At the end of the orca_vib run the file geom.ddnc is generated. It contains the geometry difference in terms
of the dimensionless normal coordinates between the structures with nonzero numbers and the reference one in
geom.xyz :
1
1 9
0 0.000000
1 0.000000
2 0.000000
3 0.000000
4 0.000000
5 0.000000
6 9.091932
7 -9.723073
8 0.000000
The output file indicates that the structural difference occurs along 2 normal coordinates: 6 (bending mode) and 7
(totally symmetric O—H stretching mode). On the basis of the calculated displacement pattern the following input
for the normal mode trajectory run between two structures can be designed:
%mtr
HessName "water.hess"
modetype normal
mlist 6,7
rsteps 10,0
lsteps 0, 10
ddnc 0.9091932, 0.9723073
end
* xyz 0 1
O 0.000000 0.000000 0.000000
(continues on next page)
7.30. Excited States via RPA, CIS, TD-DFT and SF-TDA 761
ORCA Manual, Release 6.0
Here the parameters RSteps, LSteps and ddnc are chosen in such a way that in the scan along modes 6 and
7 the corresponding dimensionless normal coordinates will be varied in the range 0 − 9.091932 and -9.723073
− 0, respectively, in accordance with the projection pattern indicated in the file geom.ddnc. Note that normal
modes are only defined up to an arbitrary choice of sign. Consequently, the absolute sign of the dimensionless
displacements is ambiguous and in principle can vary in different orca_vib runs. It is important that the normal
mode scan between different structures exemplified above is performed using the same sign of normal modes as
in the calculation of normal mode displacements. This condition is fulfilled if the same normal modes are used in
orca_vib run and trajectory calculation. Thus, since in orca_vib calculation normal modes are stored in .hess
file it is necessary to use the same Hessian file in the trajectory calculation.
%scf
HFTyp ROHF # Flag for ROHF
ROHF_Case HighSpin # selects the high-spin case
ROHF_NEl[1] = 4 # the number of unpaired electrons
end
In our experience ROHF calculations suffer a lot from convergence problems. UHF calculations generally exhibit
better convergence properties. In most cases the quasi-restricted orbitals (qro’s) of a UHF calculation resemble the
ROHF orbitals. Thus the program features the ability to start a ROCIS calculation on top of a UHF calculation. It
will automatically create the qro’s and build the reference determinant with them. If one wants to avoid the (small)
errors that are introduced by this procedure, one may take the qro’s of a UHF calculation as starting orbitals for
a subsequent ROHF calculation. Furthermore it is possible to invoke the orca_rocis module for closed-shell
molecules. The program will then perform a CI calculation with the provided RHF reference function. In this case
it will yield the same result as the orca_cis program.
A number of basic variables in the %rocis block control the settings of the Davidson procedure that is used to
solve the CI problem:
%rocis
NRoots 6 # number of desired roots
MaxDim 5 # Davidson expansion space = MaxDim * NRoots
ETol 1e-6 # energy convergence tolerance
RTol 1e-6 # residual vector convergence tolerance
MaxIter 35 # maxmimum number of iterations
NGuessMat 512 # dimension of the guess matrix: 512x512
end
The dimension of the iterative subspace is given by MaxDim · NRoots. The lowest possible choice for MaxDim is
a value of 2. In general, by choosing MaxDim ≈ 5-10 times NRoots you will achieve a more favorable convergence
by the cost of an increased disk space requirement. Increasing the NGuessMat variable will improve the conver-
gence of the iterative CI procedure. The amount of output produced during the calculation is controlled via the
PrintLevel variable
%rocis NRoots 3
PrintLevel 3
end
Note, that this does not influence which spectra are calculated or printed. The absorption spectrum calculated on
the basis of the pure dipole approximation for your calculation is always printed. In addition, it is possible to allow
for electric quadrupole and magnetic dipole contributions to the absorption spectrum as well as to calculate the
CD spectrum check section (One Photon Spectroscopy) for details. By defining in the %rocis block:
%rocis
NRoots 6
DoDipoleLength true
(continues on next page)
-----------------------------------------------------------------------------
ABSORPTION SPECTRUM VIA TRANSITION ELECTRIC DIPOLE MOMENTS
-----------------------------------------------------------------------------
State Energy Wavelength fosc T2 TX TY TZ
(cm-1) (nm) (au**2) (au) (au) (au)
-----------------------------------------------------------------------------
1 2635.0 3795.1 0.000000001 0.00000 0.00001 -0.00001 0.00029
2 4365.5 2290.7 0.000011416 0.00086 0.01200 -0.00864 0.02534
3 4368.2 2289.3 0.000011174 0.00084 -0.02006 0.01442 0.01523
4 5977.9 1672.8 0.000093897 0.00517 -0.04164 -0.05863 0.00000
5 65245.3 153.3 0.027669631 0.13961 -0.20555 -0.31203 -0.00023
-----------------------------------------------------------------------------
ABSORPTION SPECTRUM VIA TRANSITION VELOCITY DIPOLE MOMENTS
-----------------------------------------------------------------------------
State Energy Wavelength fosc P2 PX PY PZ
(cm-1) (nm) (au**2) (au) (au) (au)
-----------------------------------------------------------------------------
1 2635.0 3795.1 0.000000085 0.00000 -0.00000 0.00000 -0.00004
2 4365.5 2290.7 0.001777771 0.00005 -0.00315 0.00223 -0.00618
3 4368.2 2289.3 0.001850956 0.00006 0.00526 -0.00372 -0.00371
4 5977.9 1672.8 0.003237195 0.00013 0.00667 0.00937 0.00000
5 65245.3 153.3 0.057301314 0.02555 0.08779 0.13358 0.00010
-------------------------------------------------------------------
CD SPECTRUM
-------------------------------------------------------------------
State Energy Wavelength R MX MY MZ
(cm-1) (nm) (1e40*sgs) (au) (au) (au)
-------------------------------------------------------------------
1 2635.0 3795.1 0.00007 -0.00511 -0.01539 0.00021
2 4365.5 2290.7 10.02484 0.57434 -0.40490 0.42899
3 4368.2 2289.3 -10.03730 0.34432 -0.24269 -0.71470
4 5977.9 1672.8 0.01537 -0.00033 -0.00032 -0.00286
5 65245.3 153.3 -0.00865 0.00004 0.00003 -0.00005
-----------------------------------------------------------------------------------------------
˓→------
-----------------------------------------------------------------------------------------------
˓→------
-----------------------------------------------------------------------------------------------
˓→------
Furthermore like in TD-DFT (section Use of TD-DFT for the Calculation of X-ray Absorption Spectra) or CASSCF
one may obtain intensities by evaluating the 2nd order oscillation strengths, or the full semi-classical oscillation
strengths.
• The exact oscillation strengths behave like the multipole expansion in the velocity representation.
• They are by definition origin independent they do not suffer from artificial negative values like the multipole
moments beyond 1st order.
• They are used with the multipole moments up to 2nd order to regenerate the electric dipole, electric
quadrupole and magnetic dipole contributions in either length or the velocity representation.
For the Fe K-edge XAS spectrum of [FeCl4 ]2− . This will result in addition to the following tables for the velocity
representation:
----------------------------------------------------------------------------------------
˓→---------------------
COMBINED ELECTRIC DIPOLE + MAGNETIC DIPOLE + ELECTRIC QUADRUPOLE SPECTRUM (Origin␣
˓→Independent, Velocity)
----------------------------------------------------------------------------------------
˓→---------------------
----------------------------------------------------------------------------------------
˓→---------------------
COMBINED ELECTRIC DIPOLE + MAGNETIC DIPOLE + ELECTRIC QUADRUPOLE SPECTRUM (Exact␣
˓→Formulation, Velocity)
----------------------------------------------------------------------------------------
˓→---------------------
In particular ABSOI and ABSVOI will plot the exact transition moments spectra at the Length and Velocity rep-
resentations (For the multiple expansion contributions).
If calculations on large molecules are conducted, the integral transformation will be the most time-consuming
part. Therefore it is strongly recommended to use the resolution of the identity (RI) approximation in those cases.
It effectively reduces the computational costs of the transformation step by only introducing minor errors to the
calculation. It has to be kept in mind that in order to keep the introduced errors small, one has to provide a
reasonable auxiliary basis sets along with your normal basis set input.
Starting from ORCA 4.0 the basis set definition on ORCA has changed. This also affects the definition of the
auxiliary basis set when the DoRI keyword is set. ROCIS will then only allow in the mainline /C auxiliary basis
sets to be set (i.e. def2-TZVP/C). As these basis are usually optimised on the presence of effective core potentials
(ECPs) they are generally not recommended for core-electron calculations. The /J auxiliary basis set need to be
used and they are specified in the following way.
%basis
AuxC "def2/J"
end
%ROCIS NROOTS 5
DoRI true # invokes the RI approximation
DoHigherMoments true
end
* xyz 0 2
N 0 0 0
O 0 0 1.15
*
The orca_rocis module provides two ways of choosing the orbital excitation space: by orbital energy or orbital
number. In the former case an energy window has to be specified and the program will then take all orbitals, whose
orbital energies lie within this window, into account. Note, that one actually has to define two orbital windows:
One for the donor and the second for the acceptor orbital. The input of the windows is done as an array: The first
two numbers define the donor space while the last two numbers define the acceptor space.
%rocis
NRoots 3
EWin = -5,5,-5,5
end
The default is to keep core orbitals and very high lying virtual orbitals out of their respective orbital excitation
spaces. Since these orbitals span a space that is usually not reachable with regular UV/Vis spectroscopy, this is a
reasonable approximation. One has to keep in mind that an orbital energy window makes only sense if the orbitals
used in the calculation have a well-defined orbital energy. As a consequence one cannot use an orbital energy
window for a calculation with localized orbitals. The second way to specify the excitation space is by orbital
numbering.
%rocis
NRoots 3
OrbWin = 1,13,9,22
end
In restricted calculations only one set of spatial orbitals is created. Hence it is not necessary to provide orbital
windows for 𝛼 and 𝛽 electrons separately. Of course, only doubly or singly occupied orbitals can act as donor
orbitals and only singly and nonoccupied orbitals can act as acceptor orbitals. The program recognises nonoccupied
orbitals in the donor space and doubly occupied orbitals in the acceptor space and removes both.
The many-electron expansion space of a ROCIS calculation in ORCA is divided into five classes. Using second
quantised replacement operators 𝐸𝑝𝑞 = 𝑎
ˆ↑𝑞𝛼 𝑎 ˆ↑𝑞𝛽 𝑎
ˆ𝑝𝛼 + 𝑎 ˆ𝑝𝛽 they take the form[727].
The orbital label 𝑖 denotes a doubly occupied orbital, 𝑠 and 𝑡 refer to singly occupied orbitals and orbital label 𝑎
corresponds to a virtual orbital. The form of the excitation classes ensures that all excited states are eigenfunctions
of the 𝑆ˆ2 -operator and have the same total spin 𝑆 as the electronic ground state. Each of the five excitation classes
can be switched on or off manually.
%rocis
NRoots 3
Do_is true # Include DOMO->SOMO excitations
Do_sa true # Include SOMO->Virtual excitations
Do_ia true # Include DOMO->Virtual excitations
Do_ista true # Include DOMO->SOMO coupled to
# SOMO->Virtual excitations with s not equal t
Do_isa true # Include DOMO->SOMO coupled to
# SOMO->Virtual excitations with s = t
# ---------------------------------
# by default all switches for the
# excitation classes are set to
# ``true''
# ---------------------------------
end
Formally, the |Φ𝑎𝑠𝑡𝑖 ⟩ and |Φ𝑡𝑖 ⟩ excitation classes can be regarded as double excitations. When the program finishes
𝑎𝑡
the ROCIS calculation it gives the excitation energy together with the composition for each root. According to the
number of labels of the respective functions |Φ⟩, contributions from excited configuration state functions belonging
to the different excitation classes are given by two, three or four numbers.
Furthermore the orca_rocis module is able to calculate the effect of spin-orbit coupling (SOC) on the calculated
ground and excited states. It introduces SOC in the framework of quasi-degenerate⃒ perturbation theory (QDPT).
The SOC Hamiltonian is diagonalized in the basis of the calculated ROCIS states ⃒Ψ𝑆𝑀 , where is the root label
⟩︀
𝐼 𝐼
and 𝑆 and 𝑀 are the spin and magnetic spin quantum numbers, respectively[622], [727].
%rocis
NRoots 3
OrbWin = 1, 3 ,9 ,22
SOC true # invokes the calculation of SOC effects
TEMPERATURE 10 # temperature for SOC corrected spectra in Kelvin
end
After the SOC calculation the program will produce additional spectra for the SOC corrected results. The spectra
contain transitions from the 2𝑆 + 1 lowest lying states into all excited states, where S is the spin quantum number
of the electronic ground state. These 2𝑆 + 1 lowest states may be split up in the order of 1-100 cm−1 . Due to the
small magnitude of the splitting, all of the 2𝑆 + 1 states can be significantly populated even at low temperatures.
Experimentally, the intensity of a given transition is dependent on the population of the corresponding initial state.
With the TEMPERATURE keyword the population of the theoretically calculated states can be manipulated by the
varying the fictive temperature of the system. It has to be mentioned that the electric quadrupole transitions between
spin-orbit coupled states are not well defined and are likely to give unreasonable results. Hence it is recommended
to use the DoHigherMoments keyword only for calculations that do not include SOC.
-------------------------------------------------------------------------------
SPIN ORBIT CORRECTED ABSORPTION SPECTRUM VIA TRANSITION ELECTRIC DIPOLE MOMENTS
-------------------------------------------------------------------------------
States Energy Wavelength fosc T2 TX TY TZ
(cm-1) (nm) (au**2) (au) (au) (au)
-------------------------------------------------------------------------------
0 1 5.6 0.0 0.000000000 0.00000 0.00003 0.00002 0.00000
0 2 6.2 0.0 0.000000000 0.00000 0.00000 0.00000 0.00005
0 3 23.7 422287.3 0.000000000 0.00000 0.00000 0.00000 0.00000
0 4 23.7 421562.8 0.000000000 0.00000 0.00018 0.00025 0.00000
0 5 2621.7 3814.3 0.000000000 0.00000 0.00000 0.00001 0.00005
0 6 2622.0 3813.9 0.000000000 0.00000 0.00003 0.00012 0.00000
0 7 2634.7 3795.5 0.000000095 0.00002 0.00388 0.00273 0.00049
0 8 2634.9 3795.2 0.000000103 0.00002 0.00039 0.00027 0.00495
0 9 2639.5 3788.6 0.000000001 0.00000 0.00001 0.00001 0.00036
0 10 4223.6 2367.6 0.000000103 0.00002 0.00043 0.00029 0.00390
0 11 4223.9 2367.5 0.000000120 0.00002 0.00348 0.00236 0.00046
0 12 4296.3 2327.6 0.000000696 0.00010 0.00562 0.00842 0.00000
0 13 4357.6 2294.8 0.000000002 0.00000 0.00001 0.00001 0.00049
0 14 4418.1 2263.4 0.000005778 0.00083 0.00653 0.00468 0.02762
0 15 4422.1 2261.4 0.000005517 0.00079 0.02184 0.01559 0.00832
0 16 4488.2 2228.0 0.000000001 0.00000 0.00004 0.00006 0.00038
0 17 4524.2 2210.3 0.000000001 0.00000 0.00030 0.00018 0.00000
0 18 4597.2 2175.2 0.000000027 0.00000 0.00023 0.00016 0.00191
0 19 4597.4 2175.2 0.000000051 0.00001 0.00213 0.00153 0.00023
0 20 6043.6 1654.6 0.000047989 0.00502 0.04104 0.05779 0.00000
0 21 6049.5 1653.0 0.000000014 0.00000 0.00109 0.00057 0.00001
0 22 6051.3 1652.5 0.000000021 0.00000 0.00001 0.00004 0.00150
0 23 6069.7 1647.5 0.000000000 0.00000 0.00005 0.00007 0.00000
0 24 6069.9 1647.5 0.000000028 0.00000 0.00098 0.00138 0.00000
0 25 65281.7 153.2 0.014223474 0.13787 0.20423 0.31010 0.00023
0 26 65281.7 153.2 0.000000035 0.00000 0.00032 0.00048 0.00011
0 27 65281.7 153.2 0.000009000 0.00009 0.00522 0.00774 0.00001
0 28 65281.7 153.2 0.000007207 0.00007 0.00460 0.00698 0.00000
0 29 65281.7 153.2 0.000047448 0.00046 0.01179 0.01791 0.00001
1 2 0.6 0.0 0.000000000 0.00000 0.00001 0.00001 0.00000
1 3 18.1 553477.5 0.000000000 0.00000 0.00000 0.00000 0.00009
1 4 18.1 552233.6 0.000000000 0.00000 0.00006 0.00004 0.00000
1 5 2616.1 3822.5 0.000000063 0.00001 0.00006 0.00003 0.00261
1 6 2616.4 3822.1 0.000000060 0.00001 0.00211 0.00144 0.00006
1 7 2629.1 3803.6 0.000000143 0.00002 0.00225 0.00321 0.00003
1 8 2629.3 3803.3 0.000000002 0.00000 0.00015 0.00025 0.00040
1 9 2633.9 3796.7 0.000000271 0.00003 0.00011 0.00008 0.00538
1 10 4218.0 2370.8 0.000000005 0.00000 0.00031 0.00046 0.00019
...
If the PrintLevel value is⃒ set to⟩︀ 3 or higher, the program will print out the composition of the SOC corrected
states in the basis of states ⃒Ψ𝑆𝑀
𝐼 .
Eigenvectors of SOC calculation:
the threshold for printing is: 0.010000
weight : Root Spin Ms
State 0: 0.00 cm**-1 0.00000 eV
0.378045 : 0 2 2
0.235825 : 0 2 0
0.378045 : 0 2 -2
Further details of the SOC calculation such as the procedure of SOC integral calculation can be controlled via the
%rel block (section Relativistic Options.
SOMO
⃒ ⟩ √︁ ⎫
⃒ (𝑡−) 2𝑆 ′ +1 −
∑︀ 1 1 − 𝑡
⃒Φ𝑖 = 2𝑆 ′ +2 𝑆𝑡𝑖 |0⟩ − √ √ 𝑆 𝐸 |0⟩
2𝑆 ′ +1 2𝑆 ′ +2 𝑢𝑢 𝑖
⎪
⎪
⎪
⎪
𝑢̸=𝑡 ⎪
⎪
SOMO
⃒ ⟩ √︁ ⎪
⎪
⃒ (𝑡−) ′
2𝑆 +1 − ∑︀ 1 1 − 𝑡
⎪
⃒Φ𝑖 = 𝑆
2𝑆 ′ +2 𝑡𝑖 |0⟩ − √
′
√
2𝑆 +1 2𝑆 +2 ′ 𝑆𝑢𝑢 𝐸 𝑖 |0⟩ ⎪
⎪
⎬
𝑢̸=𝑡
SOMO
𝑆′ = 𝑆 − 1
(7.237)
⃒ ⟩ √︁ √︁
⃒ (𝑎−) ′ +1 − (𝑆 ′ +1)2 −𝑆 ′2 − 𝑎
= 2𝑆 √ 1 ′ 𝑆𝑡𝑡
∑︀ ⎪
⃒Φ𝑖 2𝑆 ′ +3 𝑆𝑎𝑖 |0⟩ − (𝑆 ′ +1)(2𝑆 ′ +3) 𝐸𝑖 |0⟩ ⎪
⎪
2(2𝑆 +2)
⎪
𝑡
⎪
⎪
SOMO
⎪
⎪
∑︀ √︁ 2
√︁
1 − − +
⎪
+ (2𝑆 ′ +2)(2𝑆 ′ +3) 𝑆 𝑆 𝑆
(2𝑆 ′ +2)2(2𝑆 ′ +1) 𝑡𝑡 𝑢𝑢 𝑎𝑖 |0⟩ ⎪
⎪
⎭
𝑡,𝑢̸=𝑡 ⃒ +⟩ }︁
+
𝑆′ = 𝑆 + 1
⃒ 𝑎
⃒Φ𝑖 = 𝑆𝑎𝑖 |0⟩
Inclusion of configuration state functions with higher or lower multiplicity is invoked with the keywords
DoLowerMult and DoHigherMult, respectively.
%rocis
NRoots 20
SOC true
DoRI true
PrintLevel 3
DoLowerMult true #Invokes a CI calculation #with S'=S-1
DoHigherMult true #Invokes a CI calculation #with S'=S+1
OrbWin = 6,8,0,2000
end
The program will conduct a separate Davidson procedure for each multiplicity. Subsequently it gives the excitation
energies and compositions of the calculated excited states for all included multiplicities. After all CI calculations
are finished, the program gives a list of all calculated roots with their excitation energies and their multiplicities.
⃒ It ⟩︀is
this number that will be referred to as label 𝐼 in the decomposition of spin-orbit coupled states in the basis ⃒Ψ𝑆𝑀 𝐼 .
It is very important to note, that when states with different multiplicities are calculated this number might deviate
from the number that appears in the respective CI part of the output. If one gets confused about the numbering of
the states, the state energies might act as a guideline through the output of the program.
Without SOC the spin exclusion rule applies which means that only excited states with a total spin equal to the
ground state spin (𝑆 ′ = 𝑆) give rise to non-vanishing intensities. Hence, only these transitions are listed in the
spectra before SOC.
--------------------------------------------------------------------------------
ROOT Mult Excitation energy[Eh] [cm-1] [eV]
--------------------------------------------------------------------------------
0 5 0.00000000 0.00 0.000
1 5 26.24822856 5760820.28 714.251
2 5 26.24833619 5760843.90 714.254
3 5 26.27159871 5765949.43 714.887
4 5 26.27982129 5767754.08 715.110
5 5 26.30321870 5772889.22 715.747
6 5 26.30458669 5773189.46 715.784
7 5 26.33143414 5779081.79 716.515
8 5 26.33600432 5780084.83 716.639
9 5 26.33865219 5780665.97 716.711
10 5 26.34522494 5782108.52 716.890
11 5 26.34577552 5782229.36 716.905
12 5 26.35183534 5783559.34 717.070
13 3 26.42121780 5798787.03 718.958
14 3 26.42122881 5798789.45 718.958
...
------------------------
ROCIS-EXCITATION SPECTRA
------------------------
-----------------------------------------------------------------------------
ABSORPTION SPECTRUM VIA TRANSITION ELECTRIC DIPOLE MOMENTS
(continues on next page)
After calculation of SOC in the basis of all calculated ROCIS roots, the program prints out the composition of the
spin-orbit coupled states (if PrintLevel >2) and the corresponding absorption spectrum.
-------------------------------------------------------------------------------
SPIN ORBIT CORRECTED ABSORPTION SPECTRUM VIA TRANSITION ELECTRIC DIPOLE MOMENTS
-------------------------------------------------------------------------------
States Energy Wavelength fosc T2 TX TY TZ
(cm-1) (nm) (au**2) (au) (au) (au)
-------------------------------------------------------------------------------
0 1 0.0 0.0 0.000000000 0.00000 0.00000 0.00000 0.00000
0 2 0.8 0.0 0.000000000 0.00000 0.00000 0.00000 0.00000
0 3 0.8 0.0 0.000000000 0.00000 0.00000 0.00000 0.00000
0 4 1.0 0.0 0.000000000 0.00000 0.00000 0.00000 0.00000
0 5 5729330.4 1.7 0.000080556 0.00002 0.00013 0.00009 0.00464
0 6 5729330.4 1.7 0.000096984 0.00003 0.00415 0.00295 0.00013
0 7 5731365.3 1.7 0.000000001 0.00000 0.00001 0.00000 0.00000
0 8 5731365.4 1.7 0.000000000 0.00000 0.00000 0.00000 0.00001
0 9 5733452.5 1.7 0.000058329 0.00002 0.00323 0.00227 0.00004
0 10 5733477.2 1.7 0.000066389 0.00002 0.00003 0.00002 0.00421
0 11 5734964.4 1.7 0.000000034 0.00000 0.00005 0.00007 0.00004
0 12 5737151.2 1.7 0.000047769 0.00001 0.00208 0.00291 0.00000
With the aid of the orca_mapspc program it is possible to extract a .plt file from the printed spectra, which
then can be used to generate a plot of the intensity vs the excitation energy. The orca_mapspc program applies
Gaussian type lineshape functions to the calculated transitions with a user-defined FWHM. One has to provide
some information for the program such as the name of the output file, the type of spectrum you wish to plot, the
energy range and the like. It is invoked in the command line and the parameters are given as arguments:
The first argument has to be the output file of your calculation followed by the type of spectrum that should be
plotted. In the case of transition metal L-edges it is an absorption spectrum after the SOC correction. The arguments
“-eV” (use electron Volt as energy unit), “-w1” (FWHM = 1eV), “-n3000” (use 3000 grid points), “-x0710” and
“-x1740” (energy range: 710 to 740 eV) have to be adapted to the specific calculation. As a result, one obtains a
.plt and a .stk file. The .plt file contains five columns. In the first column one finds the energy and in the
second the total intensity. Columns three to five contain the x-,y- and z-components of the transition moment.
Note, that the distribution of the transition moment among its spatial components depends on the orientation of
your molecular axis system. The .stk file contains a list of all transitions with their respective transition energy
and intensity. A more detailed description of the orca_mapspc program and its usage can be found in chapter
orca_mapspc.
Fig. 7.31: Comparison of the experimentally observed (black) and calculated ROCIS (red) Fe L-edge of [FeCl4 ]2− .
The red bars highlight the contribution of individual states to the total spectrum. The calculation was performed
using the TZVP basis set.
For many transition metal compounds the description of the electronic ground and excited states by Hartree-Fock
theory and CIS is of rather poor quality. Especially covalency and relative spin state energetics are not reproduced
correctly. This in turn might lead to wrong intensity distributions in the calculated L-edge spectra. In the majority
of these cases the quality of the description and hence the predicted L-edge spectra can be significantly improved
with the DFT/ROCIS method[727]. It features the usage of a restricted open-shell Kohn-Sham matrix as reference
and also uses the DFT orbitals for setting up the excited configuration state functions in the CI expansion. The
two electron integrals that include the DFT orbitals are scaled according to their nature and their position in the CI
matrix by the parameters 𝑐1 , 𝑐2 and 𝑐3 . They all lie in the interval [0;1]. Parameters 𝑐1 and 𝑐2 scale coulomb- and
exchange- like terms in the diagonal part of the CI matrix, whereas 𝑐3 reduces the size of all off-diagonal elements
of the CI matrix. For example:
DFT/ROCIS 𝐶(KS) 𝐶(KS)
𝐻𝑖𝑎,𝑖𝑎 = 𝐹𝑎𝑎{︁ − 𝐹𝑖𝑖 − 𝑐1 (𝑖𝑖|𝑎𝑎) + 2𝑐2 (𝑖𝑎|𝑖𝑎)
DFT/ROCIS 𝐶(KS) 𝐶(KS)
}︁ (7.238)
𝐻𝑖𝑎,𝑗𝑏 = 𝑐3 𝛿𝑖𝑗 𝐹𝑎𝑏 − 𝛿𝑎𝑏 𝐹𝑗𝑖 − (𝑖𝑗|𝑎𝑏) + 2 (𝑖𝑎|𝑗𝑏)
The three default parameters 𝑐1 = 0.18, 𝑐2 = 0.20 and 𝑐3 = 0.40 have been optimized for a test set of molecules
and their excited states on a B3LYP/def2-TZVP(-f) level of theory but can be freely chosen[727]. It is most likely
that for a different combination of test molecules, functional and basis set, a different set of parameters gives better
results. Since the parameters are chosen with regard of a good “balance” between orbital energies, Coulomb and
exchange integrals, a new set of parameters should at least crudely resemble their relative proportions.
%Basis
AuxC "def2/J"
end
%ROCIS
NRoots 20
DoRI true
SOC true
DoHigherMult true
PrintLevel 3
OrbWin = 5,7,50,60
DoDFTCIS true #switches on the DFT/ROCIS method
DFTCIS_c = 0.18, 0.20, 0.40 #Array input of the three parameters
end
Fig. 7.32: Comparison of the experimentally observed (black) and calculated (red) Ti L-edge of [Cp2 TiCl2 ]. The
red bars highlight the contribution of the individual states to the total spectrum. The pure ROCIS method (left)
predicts a wrong L3 -L2 intensity ratio and strongly overestimates the splitting of the satellite features to the main
bands. Better results are obtained with the DFT/ROCIS method (right).
%Basis
AuxC "def2/J"
end
%ROCIS
NRoots 40
PrintLevel 3
MaxCore 4000
MaxDim 360
SOC true
DoRI true
DoNTO true
DoNDO true
NDOThresh/NTOThresh 1e-4
NDOStates/NTOStates= 1,2,3,4,5,6,7,8,9,10,13,14,15
DoLowerMult true
DoHigherMult true
DoDFTCIS true
DFTCIS_c = 0.18, 0.20, 0.40
OrbWin = 6,8,0,2000
end
* xyz -2 5
Fe -17.84299991694815 -0.53096694321123 6.09104775508499
Cl -19.84288422845700 0.31089495619796 7.04101319789001
Cl -17.84298666758073 0.11868125024595 3.81067954087770
Cl -17.84301352218429 -2.87052442818457 6.45826391412877
Cl -15.84311566482982 0.31091516495189 7.04099559201853
*
Then the respective NTO and NDO analysis for state 15 is given below:
------------------------------------------
NATURAL TRANSITION ORBITALS FOR STATE 14
------------------------------------------
done
Solving eigenvalue problem for the Occupied space ... done
Solving eigenvalue problem for the Acceptor space ... done
Natural Transition Orbitals were saved in nto.14.nto
Threshold for printing occupation numbers 1.0e-04
-------------------------------------------------
NATURAL DIFFERENCE ORBITALS FOR STATE 14
-----------------------------------------------
done
Solving eigenvalue problem for the Occupied space ... done
Solving eigenvalue problem for the Acceptor space ... done
Natural Difference Orbitals were saved in ndo.14.ndo
Threshold for printing occupation numbers 1.0e-04
For closed shell cases the orbitals are save in similar way to TDDFT and CIS (section Natural Transition Orbitals).
In the case of open shell cases for convenience donor orbitals are saved with orbital operator 0 while acceptor
orbitals with orbital operator 1. This needs to be specified in the orca_plot program and should not be confused
with the spin-up and spin-down orbitals in the UHF and UKS cases.
In practice one can use this machinery to analyze for example the relativistically corrected states located at 705.5
eV (when shifted with respect to experiment). It can be seen that these states contain for example significant
contributions from state 14. NTO or NDO analysis then shows that this state is dominated by the spin conserving
DOMO-SOMO 2𝑝𝑧 − 3𝑑𝑦𝑧 single electron excitation.
Fig. 7.33: DFT/ROCIS calculated L3 XAS spectrum of [Fe(Cl) 4 ]2− together with NDO analysis for state 14.
Constant broadening 0.5 eV and isovalue for the orbital plots 0.03 a.u. is used throughout
2
∑︁ 2 2
|𝛼𝜌𝜆 (𝐸𝑒𝑥 , 𝐸𝑠𝑐 , 𝑉 )|𝑟𝑒𝑠𝑜𝑛𝑎𝑛𝑡 = |⟨𝐹 | 𝑚𝜌 |𝑉 ⟩| |⟨𝑉 | 𝑚𝜆 |𝐼⟩| 𝑓 (𝐸𝑉 𝐼 , 𝐸𝐹 𝑉 , 𝐸𝑒𝑥 , 𝐸𝑠𝑐 , Γ𝑉 , Γ𝐹 )
𝐹
2
∑︁ 2
|𝛼𝜌𝜆 (𝐸𝑉 𝐼 , 𝐸𝑠𝑐 )|𝐷𝑖𝑟𝑒𝑐𝑡 = |𝛼𝜌𝜆 (𝐸𝑉 𝐼 , 𝐸𝑠𝑐 , 𝑉 )|𝑟𝑒𝑠𝑜𝑛𝑎𝑛𝑡
𝑉
The resonance scattering cross section for total and direct cases, averaged over all orientations of the molecule and
integrated over all directions and polarizations of scattered radiation is given in equations:
3
𝑇 𝑜𝑡𝑎𝑙 8𝜋𝐸𝑠𝑐 𝐸𝑒𝑥 ∑︁ 2
𝜎𝑅𝑋𝐸𝑆 (𝐸𝑒𝑥 , 𝐸𝑠𝑐 ) = |𝛼𝜌𝜆 (𝐸𝑒𝑥 , 𝐸𝑠𝑐 )|𝑇 𝑜𝑡𝑎𝑙
9𝑐4
𝜌,𝜆=𝑥,𝑦,𝑧
3
𝐷𝑖𝑟𝑒𝑐𝑡 8𝜋𝐸𝑠𝑐 𝐸𝑒𝑥 ∑︁ 2
𝜎𝑅𝑋𝐸𝑆 (𝐸𝑒𝑥 , 𝐸𝑠𝑐 ) = |𝛼𝜌𝜆 (𝐸𝑒𝑥 , 𝐸𝑠𝑐 )|𝐷𝑖𝑟𝑒𝑐𝑡
9𝑐4
𝜌,𝜆=𝑥,𝑦,𝑧
In order to access RIXS spectroscopy in the ROCIS module one needs in addition to specify a 2nd donor space.
This is specified by defining an OrbWin array with 6 elements: The first four elements define the ranges of the two
donor spaces while the last two elements the respective acceptor space range.
OrbWin = 0,0,2,4,45,60
An important difference with respect to the conventional ROCIS or DFT/ROCIS calculations is the fact that two
donor spaces of very different energy ranges are involved (e.g. K-edge, L-edge) which requires to restrict somewhat
the acceptor space and saturate it with as many states as possible.
The main calling commands in order to perform a RIXS calculation within both ROCIS and CASSCF blocks are
the following:
• RIXS true. Similar to absorption spectroscopy, this requests the RIXS calculation to be performed based on
the calculated non-relativistic ground state multiplicity States
• RIXSSOC true. By turning-on this flag the RIXS is calculated by taking in account the relativistically
corrected Ms States.
• Elastic true. This flag indicates whether the resonant condition in which the initial and Final states coincide
should be taken into account. Note that the intensity of this spectral feature might be overestimated as
presently the non resonant terms are not treated
The respective ROCIS input reads then as follows:
!B3LYP def2-TZVP SlowConv
%Basis
AuxC "def2/J"
end
%ROCIS
NRoots 200
PrintLevel 3
MaxCore 4000
DoRI true
DoHigherMult true
SOC true
RIXS true # Request RIXS calculation (NoSOC)
RIXSSOC true # Request RIXS calculation (with SOC)
Elastic true # Request RIXS calculation (Elastic)
DoDFTCIS true
DFTCIS_c =0.18,0.20,0.40
OrbWin = 2,4,25,33,0,100
end
* xyzfile 2 2 test.xyz
When running the calculation one can monitor if the requested NRoots were sufficient enough to select the states
dominated by both the donor orbital spaces
--------------------------------------------------------------------------------
ROOT Mult Excitation energy[Eh] [cm-1] [eV]
--------------------------------------------------------------------------------
0 2 0.00000000 0.00 0.000
1 2 0.06611737 14511.08 1.799
2 2 0.07728471 16962.03 2.103
3 2 0.07732428 16970.72 2.104
...
84 2 33.75471831 7408304.35 918.513
85 2 33.77073325 7411819.22 918.948
86 2 33.77076955 7411827.19 918.949
87 4 34.06882971 7477243.83 927.060
88 2 34.07021441 7477547.74 927.098
...
If that is not the case the respective RIXS calculations will not be performed and a Warning Message will be
generated:
Making the RIXS files ...
WARNING!: Flag for RIXS property calculation was identified but
there is zero number of Intermediate and/or Final states:
No Cross-Section properties will be evaluated ...Skipping this part
TIP: Increase the number of NRoots and/or decrease or increase
the acceptor orbital space
...Done
A successful run on the other hand will generate the following messages for RIXS and RIXSSOC calculations.
----------------------------------------------------------------------------------
ROCIS RIXS SPECTRUM
----------------------------------------------------------------------------------
Making the RIXS data files for Inelastic and Elastic Scattering
Ground State: 1
Intermediate States: 21
Final States: 59
The RIXS cross section will be generated from:
60 Ground-Final State Pairs and 21 Intermediate States/Pair
Calculating Intensities...
10% done
20% done
30% done
40% done
50% done
60% done
70% done
80% done
90% done
100% done
Storing the files...All Done
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
ROCIS RIXSSOC SPECTRUM
----------------------------------------------------------------------------------
Making the RIXS-SOC data files for Inelastic and Elastic Scattering
Ms States: 2
Intermediate States: 78
(continues on next page)
Calculating Intensities...
10% done
20% done
30% done
40% done
50% done
60% done
70% done
80% done
90% done
100% done
In both cases the number of involved Initial, Final and Intermediate states is specified explicitly.
For example in the case of RIXSSOC 2 Ms Ground states, 78 Intermediate states and 214 Final states are involved.
Then the RIXS cross section for elastic and inelastic scattering will be generated by 432 (2*(2+214)) Ground-Final
State-Pairs and 78 Intermediate States per Ground-Final state pair.
The program will process the test.el_inel.rocis.rixssoc file with the following parameters:
Energy range along x : 871-876 eV
Energy range along y: -1-34 eV
-l indicates Lorentzian broadening
Width along x (gamma): 0.4 eV
Width along y (gamma): 0.4 eV
Points along x: 125
Points along y:125
Shift to be applied along Incident energy/Emission axis: 20 eV
The y axis will be Energy Transfer axis. If -eaxis2 is the y axis will be then Emission Energy axis
All this information is printed during the data processing:
Mode is RIXS
Using Lorentzian shape
Cannot read the paras.inp file ...
taking the line width parameter from the command line
Cannot read the udex.inp file ...
taking the excitation energy ranges from the command line
Cannot read the udem.inp file ...
taking the emission energy ranges from the command line
Cannot read the gfsp.inp file ...
No Ground-Final State Pairs will be evaluated
---------------------------------------------------------------------------------
(continues on next page)
Making checks...Done
Proccessing data...
10% done
20% done
...
100% done
RIXS-plotting done
Incident Energy range: 845.800 ... 869.249
Emission/Energy-transfer range: 0.000 ... 4.853
All Done
---------------------------------------------------------------------------------
Successful run will generate the following files: The RIXS planes of the Total, Direct and Interference RIXS
intensity as indicated in the above equations:
test.el_inel.rocis.rixssoc.total_rixs.dat
test.el_inel.rocis.rixssoc.direct_rixs.dat
test.el_inel.rocis.rixssoc.interference_rixs.dat
In addition one obtains the integrated spectra at constant Incident energies (CIE):
test.el_inel.rocis.rixssoc.dw.dat
test.el_inel.rocis.rixssoc.wex.dat
Fig. 7.34: DFT/ROCIS calculated RIXS planes for [𝐶𝑢(𝑁 𝐻3 )4 ]2− . Left: Total RIXS Intensity, Middle: Direct
RIXS intensity and Right: Interference RIXS intensity. Lorentzian lineshape broadening with constant widths
along Incident and Energy Transfer axis (0.5 and 0.2 eV respectively) were used throughout.
Generating Cuts
Cuts along x and y axis can be generated with two ways:
1) At first, this action can be performed by adding the following keywords: uex and udw accounting for generating
cuts at constant Incident Energies (CIE) and at constant Emission (CEE)/or at constant Energy Transfer (CET)
respectively, together with the desired number of cuts.
2) Alternatively, the energies of the desired cuts can be specified as lists in the files udex.inp (user defined excita-
tions) udem.inp (user defined emissions)
For example if in udex.inp one specifies:
872.5
874.2
and for the cuts along Energy Transfer axis one just specify -udw3
orca_mapspc test.el_inel.rocis.rixssoc RIXS -x0871 -x1876 -x2-1 -x34 -w0.4 -g0.4
-l -n125 -m125 -dx20 -eaxis1 -udw3
The files *_rxes_fs.dat are RXES spectra containing all individual contributions from all Final states together
with the Direct, the Total and the Interference contributions at the given constant Incident Energy.
Similarly, the *_rxes_vs.dat are RXES spectra containing individual contributions of the Intermediate states,
together with the Direct the Total and the Interference contributions at the given constant Incident Energy
Likewise, the respective *_xas_fs.dat and *_xas_vs.dat are XAS type spectra with individual contributions
at a given constant Emission or Energy transfer Energy
These files are Energy vs Intensity files and read like:
1) for *fs.dat
X S- 1( 0- 0) S- 2( 0- 1) DIRECT TOT INTERFERENCE
2) for *vs.dat
X S- 1( 45) S- 2( 47) DIRECT TOT INTERFERENCE
In the first case S -1(0-0) represents the individual contribution of a given Ground-Final state pair. The numbering
follows the numbering of the output file e.g.:
Eigenvalues: cm-1 eV Boltzmann populations at T = 300.000 K
0: 0.0000 0.0000 3.44e-01
1: 8.3818 0.0010 3.31e-01
In this case S -1 represents the intensity contribution of the first Intermediate state.
Starting from ORCA 4.2 in every RIXS requested calculation the Off resonant XES spectrum is automatically
generated in every RIXS requested calculation.
----------------------------------------------------------------------------------
ROCIS RIXS SPECTRUM
----------------------------------------------------------------------------------
Making the RIXS data files for Inelastic and Elastic Scattering
Ground State: 1
Intermediate States: 28
Final States: 588
The RIXS cross section will be generated from:
589 Ground-Final State Pairs and 28 Intermediate States/Pair
(continues on next page)
Calculating Intensities...
10% done
20% done
30% done
40% done
50% done
60% done
70% done
80% done
90% done
100% done
Hence also the myfile-rixs.out file can also be processed with the orca_mapspc to generate the respective XES
spectra:
...
DoPNO true #Flag to call the PNO truncation
TCutPNO 1e-11#Threshold to cutout the PNO populations
XASElems 0 #Number of the involved element to the calculated core XAS calculation
OrbWin = 0,0,0,2000
...
As has been shown in reference[546] a universal TCutPNO 1e-11 threshhold can be defined for all edges provided
that the PNOs are constructed by taking into account all the availiable core orbitals in the systems. For example in
the case of a 1st row transition metal this will be the 9 1s, 2s, 2p, 3s and 3p MOs. These orbitals will be identified
automatically by the program provided that the element or the elements for which the XAS calculation will be
performed are specified within the XASElems keyword. In the following example these correspond to Core MOs
36-44. Note that the CoreMOs list should not be confused with the OrbWin which is used to specify the excitation
space that will be actually used in the actual calculation.
===============================================
Core PNO/ROCIS truncation
================================================
------------------------------------------------
Calculating Integrals...
------------------------------------------------
...
------------------------------------------------
Calculating Guess Amplitudes and Densities...
------------------------------------------------
----------------------------------------------------------------
The densities will be generated from the Detected Core MOs:
----------------------------------------------------------------
Alternativelly one can also use the CoreMOs keyword to individual select the respective CoreMOs
...
DoPNO true #Flag to call the PNO truncation
TCutPNO 1e-11#Threshold to cutout the PNO populations
CoreMOs 0,1,6,7,8,29,30,31,32 #The core MOs for the selected element
#to perform the XAS calculation
OrbWin = 0,0,0,2000
...
A complete list of CoreMOs of the different atoms can be found in reference[546] The program will then proceed
and generate the Core PNOs and use the TCutPNO threshold to reduce the Virtual MO space. In the following
example only virtual orbitals are selected out of the total 1445 virtual MOs
TCutPNO: 1.000e-11
Virtual orbitals before selection: 368 ... 1812 (1445 MO's)
Virtual orbitals after selection: 368 ... 447 ( 80 MO's)
PNO transformation completed in: 177.09 sec
From this point and on the programm will proceed the usual way. This will result in extraordinary computation
speeding ups without loss in accuracy.
...
DoHeff true # Requests calculation of G-tenosrs and ZFS
# in the effective Hamiltonian framework
DoEPR true # Requests calculation of G-tenosrs, ZFS and HFCs
# in the Sum over states (SOS) framework
AtensorNuc 0 # Nuclei to account for the HFCs calculation
NAtensors 1 # How many Nuclei are included in the HFCs calculation
ATensor 0 # Nucleus to calculate HFCs and EFGs
NDoubGtensor 1 # Kramers doublets to account for the g tensor calculations
...
This will enter the calculation in the ROCIS Spin Hamiltonian section
--------------------------------------------------------
ROCIS SPIN HAMILTONIAN PROPERTIES
--------------------------------------------------------
#-----------------------------------------------------------
# FLAGS FOR EXCITATION SPACES
#-----------------------------------------------------------
Do_is true # Include DOMO->SOMO excitations
Do_sa true # Include SOMO->Virtual excitation
Do_ia true # Include DOMO->Virtual excitations
Do_ista true # Include DOMO->SOMO excitations
# coupled to SOMO->Virtual
# excitations with s not equal t
Do_isa true # Include DOMO->SOMO excitations
# coupled to SOMO->Virtual
# excitations with s = t
DoLowerMult false # Switch for excitation with S’=S-1
Do_LM_is true # Include DOMO->SOMO excitations
(continues on next page)
#-----------------------------------------------------------
OUTPUT KEYWORDS
#-----------------------------------------------------------
PrintLevel 3 # Controls the amount of output
# produced during the calculation
RIXS false # Perform a RIXS calculation
RIXSSOC false # Perform a RIXS calculation on the basis
# of relativistically corrected states
Elastic false # Include the elastic line in the generation
# of the RIXS or RIXSSOC spectra
PlotDiffDens = 1,2 # Array input for plotting
# difference densities of CI roots
# 1 and 2 to the ground state.
PlotSOCDiffDens=1,2 # Array input for plotting
# difference densities of SOC
# states 1 and 2 to the ground state
DoNTO false # Request Natural Transition Orbital Analysis
DoNDO false # Request Natural Difference Orbital Analysis
# (if true it switches off the NTO analysis)
ˆ − 𝑖 𝜕 − 𝑄 |0̃⟩ = 0
(︁ )︁
𝐻
𝜕𝑡
with the TD quasi energy
ˆ − 𝑖 𝜕 |0̃⟩.
(︁ )︁
𝑄(𝑡) = ⟨0̃| 𝐻
𝜕𝑡
The Hamiltonian 𝐻 ˆ 0 + 𝑉ˆ 𝑡 consists of the unperturbed time-independent Hamiltonian 𝐻
ˆ =𝐻 ˆ 0 and a TD pertur-
bation
∑︁ ∑︁
𝑉ˆ 𝑡 = 𝑒−𝑖 𝜔𝑘 𝑡 ˆ
𝜀𝑥 (𝜔𝑘 ) 𝑋
𝑘 𝑥
which is described as a sum of periodic perturbations, i.e. a Fourier series. TD molecular properties are obtained
by applying the TD variational principal
𝛿{𝑄(𝑡)}𝑇 = 0
while {𝑄(𝑡)}𝑇 is expanded by the perturbation strengths 𝜀𝑋 at vanishing frequencies 𝜔𝑘 = 0. Applying the TD
variational principle for the second-order quasi energy leads to
E(2) 𝜆 = S(2) 𝜆 𝜔,
of second-derivative matrices E(2) and S(2) . The eigenvalues 𝜔 correspond to the electronic excitation energies.
The second-derivative matrices E(2) and S(2) have a paired structure as both kind of operators that express orbital
excitation and de-excitations are involved:
[︂(︂ )︂ (︂ )︂]︂ (︂ )︂ (︂ )︂
A B Σ Δ X 0
− 𝜔 * * =
B* A* −Δ −Σ Y* 0
The eigenvalue equations above are valid for all variational wave functions methods, e.g. DFT, HF, CASSCF etc.
The only difference is the operator manifold and the unperturbed Hamiltonian 𝐻 ˆ 0 that is used. For the CASSCF
linear response and eigen value equations, the super matrices A, B, Σ, and Δ have the following structure:
(︃ )︃ (︃ )︃
ˆ 0 , 𝑞 † ]] |0⟩ ⟨0| [[𝑞𝑖 , 𝐻
⟨0| [𝑞𝑖 , [𝐻 ˆ 0 ], 𝑅† ] |0⟩ ⟨0| [𝑞𝑖 , 𝑞𝑗† ] |0⟩ ⟨0| [𝑞𝑖 , 𝑅𝑗† ] |0⟩
𝑗 𝑗
A= ˆ 0 , 𝑞 † ]] |0⟩ ⟨0| [𝑅𝑖 , [𝐻
ˆ 0 , 𝑅† ]] |0⟩ Σ=
⟨0| [𝑅𝑖 , [𝐻 𝑗 𝑗 ⟨0| [𝑅𝑖 , 𝑞𝑗† ] |0⟩ ⟨0| [𝑅𝑖 , 𝑅𝑗† ] |0⟩
ˆ 0 , 𝑞𝑗 ]] |0⟩ ˆ 0 ], 𝑅𝑗 ] |0⟩
(︂ )︂ (︂ )︂
⟨0| [𝑞𝑖 , [𝐻 ⟨0| [[𝑞𝑖 , 𝐻 ⟨0| [𝑞𝑖 , 𝑞𝑗 ] |0⟩ ⟨0| [𝑞𝑖 , 𝑅𝑗 ] |0⟩
B= ˆ 0 , 𝑞𝑗 ]] |0⟩ ˆ 0 , 𝑅𝑗 ]] |0⟩ Δ=
⟨0| [𝑅𝑖 , [𝐻 ⟨0| [𝑅𝑖 , [𝐻 ⟨0| [𝑅𝑖 , 𝑞𝑗 ] |0⟩ ⟨0| [𝑅𝑖 , 𝑅𝑗 ] |0⟩
The TD CASSCF wave function is expressed in terms of orbital excitation 𝑞𝑖† and de-excitation operators 𝑞𝑖 ,
that account for relaxation of orbitals and CI coefficients when perturbed by an electromagnetic field, respectively.
The eigenvalue (and response) equations are solved iteratively by a customized version of the Davidson algorithm
that simultaneously determines the N lowest lying roots. The most time-consuming step is the transformation
of the trial vectors that contain an orbital and CI coefficient part with the electronic Hessian matrix E(2) . The
working equations are very similar to those of the CASSCF electronic gradient that is computed when minimizing
the CASSCF ground state energy.
As a show case example the UV/Vis spectrum of a Nickel dimethylglyoximato complex (Ni(dmg) 2 ) was simulated
with both SA-CASSCF and MC-RPA. A CAS (12/9) with the 3d electrons on Ni and 4 𝜋 orbitals and electrons
from the ligands was selected; the def2-SVP basis set was used. For SA-CASSCF we have averaged over 21 states
while for MC-RPA the 20 lowest roots were determined. Though both UV/Vis spectra have two intense peaks,
their excitation energies and oscillator strengths differ quite substantially. This can be attributed to the lack of
state-specific orbital relaxation that is only available in MC-RPA. In subsection Natural Transition Orbitals the
most important natural transition orbitals[380, 562] and active natural orbitals of MC-RPA and SA-CASSCF are
shown, respectively.
%pal
nprocs = 20
end
%casscf
nel 6
norb 6
mult 1
nroots 1
(continues on next page)
%mcrpa
nroots 1
TolR 1e-4
MaxRed 80
end
*xyz 0 1
H 0.000000 2.484212 0.000000
H 0.000000 -2.484212 0.000000
H 2.151390 1.242106 0.000000
H -2.151390 -1.242106 0.000000
H -2.151390 1.242106 0.000000
H 2.151390 -1.242106 0.000000
C 0.000000 1.396792 0.000000
C 0.000000 -1.396792 0.000000
C 1.209657 0.698396 0.000000
C -1.209657 -0.698396 0.000000
C -1.209657 0.698396 0.000000
C 1.209657 -0.698396 0.000000
*
Though we have reached convergence for a CASSCF ground state energy calculation, the MC-RPA calculation
however detects an instability
WARNING
1 null space vectors in reduced space Hessians!
This indicates an instability in your reference wave function!
----------------------------
LOEWDIN REDUCED ACTIVE MOs
----------------------------
18 19 20 21 22 23
-0.62274 -0.32864 -0.32863 0.15983 0.16011 0.77971
1.99910 1.93810 1.93808 0.06203 0.06195 0.00075
-------- -------- -------- -------- -------- --------
2 H s 11.6 0.0 0.0 0.0 0.0 12.8
3 H s 11.6 0.0 0.0 0.0 0.0 12.8
4 H s 11.6 0.0 0.0 0.0 0.0 12.8
5 H s 11.6 0.0 0.0 0.0 0.0 12.8
6 C pz 0.0 0.0 32.2 0.0 30.9 0.0
7 C pz 0.0 0.0 32.2 0.0 30.9 0.0
8 C pz 0.0 24.1 8.0 23.2 7.7 0.0
8 C px 6.7 0.0 0.0 0.0 0.0 3.0
9 C pz 0.0 24.1 8.0 23.2 7.7 0.0
9 C px 6.7 0.0 0.0 0.0 0.0 3.0
10 C pz 0.0 24.1 8.0 23.2 7.7 0.0
(continues on next page)
In this particular example, MOs 18 and 23 are not part of the 𝜋 system and have to be rotated with orbitals 16 and
31, respectively. After rotating all 𝜋 orbitals into the active space, the CASSCF converges to a lower energy.
--------------
CASSCF RESULTS
--------------
The electronic CASSCF Hessian is now positive definite and the lowest MC-RPA excitation energy becomes
The compute NTOS only the following flag in the input has to switched ON:
%mcrpa
nroots 20
DoNTO true
NTOThresh 5e-5
end
This will compute all NTOs with a singular value larger then the NTOThresh threshold for ALL roots.
------------------------------------------
NATURAL TRANSITION ORBITALS FOR STATE 12
------------------------------------------
77 -> 69 : n= 0.16680786
76 -> 70 : n= 0.06575768
75 -> 71 : n= 0.02841330
74 -> 72 : n= 0.01485889
73 -> 73 : n= 0.01138840
72 -> 74 : n= 0.01099324
71 -> 75 : n= 0.00899487
70 -> 76 : n= 0.00764206
69 -> 77 : n= 0.00546103
68 -> 78 : n= 0.00517046
67 -> 79 : n= 0.00511544
66 -> 80 : n= 0.00485839
65 -> 81 : n= 0.00405297
64 -> 82 : n= 0.00379270
63 -> 83 : n= 0.00325052
62 -> 84 : n= 0.00315477
61 -> 85 : n= 0.00297172
60 -> 86 : n= 0.00291081
59 -> 87 : n= 0.00268810
58 -> 88 : n= 0.00243609
57 -> 89 : n= 0.00240536
56 -> 90 : n= 0.00238574
55 -> 91 : n= 0.00183946
54 -> 92 : n= 0.00181492
53 -> 93 : n= 0.00165943
52 -> 94 : n= 0.00154428
51 -> 95 : n= 0.00146299
50 -> 96 : n= 0.00137434
49 -> 97 : n= 0.00136656
48 -> 98 : n= 0.00128274
47 -> 99 : n= 0.00121332
46 -> 100 : n= 0.00117752
45 -> 101 : n= 0.00107962
44 -> 102 : n= 0.00105733
43 -> 103 : n= 0.00104762
For the above example, the most important (controlled by NTOThresh) donating and accepting NTOs of state 13
are written to the gbw-type files
ni-dmg-2-svp-cas-12-9-mcrpa.s12.nto-donor
ni-dmg-2-svp-cas-12-9-mcrpa.s12.nto-acceptor
and can be plotted with the orca_plot program (see Sec. orca_plot)
orca_plot ni-dmg-2-svp-cas-12-9-mcrpa.s12.nto-donor -i
Please be aware of the different indices for states in the in and output!
To compute less or more NTOs the threshold NTOThresh can be adapted accordingly.
Let us come back to the UV/Vis spectra of Ni(dmg)2 . For the two most intense peaks the natural orbitals and NTOs
of MC-RPA and SA-CASSCF, respectively, are shown in Fig. 7.37. While the most intense peak in each spectrum
(b and A) correspond to the same 𝜋 → 𝜋 * excitation, transition a and B are complete different, i.e. 𝑑 → 𝜋 * and
𝜋 → 𝜋* .
MaxRed 200 # maximum size of reduces space for ALL VECTORS IN TOTAL
MaxIter 100 # maximum number of (Davidson) iterations
ℛ|Ψ𝐶𝐶 ⟩,
i.e. via the action of a linear excitation operator ℛ on the coupled-cluster ground state wave function Ψ𝐶𝐶 . Here,
ℛ is a particle conserving operator, in the case of the excitation energy problem. However, this is not true for the
ionization or electron attachment problems, where ℛ is a net annihilation or net creation operator, respectively.
The ground state coupled-cluster T-amplitudes are obtained from a CCSD calculation, and our task is to obtain ℛ.
Note that since the CC Hamiltonian is nonsymmetric, a left hand solution (ℒ) would also be needed to evaluate
properties. For the calculation of excitation, ionization or electron attachment energies, however, it is enough to
obtain the right hand solutions (ℛ). In principle, this is done by building the Hamiltonian and diagonalizing it in
order to obtain energy expectation values.
In practice, the size of the CCSD Hamiltonian matrix is prohibitively large and thus, various methods have been
devised to obtain its lowest few eigenvalues and eigenstates. One of the most popular of these approaches is the
Davidson method, which can be summarized as follows:
• Construct an initial guess of orthogonal trial vectors, 𝐶.
• Evaluate the sigma vectors 𝜎 = 𝐻𝐶.
%mdci
#EOM parameters - defaults displayed
DoEOM false # whether to perform EOM
UseEOMOptS true # use optimized sigma routines for singles
UseEOMOptD true # use optimized sigma routines for doubles
NDav 20 # maximum size of reduced space (i.e. 20*NRoots)
CCSD2 false # Use the lower scaling CCSD(2) approximation
CheckEachRoot true # check convergence for each root separately
RootHoming true # apply root homing
DoLanczos false # use the Lanczos procedure rather than Davidson
UseCISUpdate true # use diagonal CIS for updating
NInits 0 # number of roots in the initial guess, if 0, use preset value
DRESS3ES true # construct the external dressing to singles
# or calculate on the fly
DRESS3ED false # construct the external dressing to doubles
#or calculate on the fly
DOCOSXEOM false # use COSX approximation for external exchange term in EOM
DOAOX3E false # use COSX approximation for 4 external terms contribution
# to 3 external intermediate
DoRootwise false # solves for each root separately,
# more stable for large number of roots
DoTDM false # option for calculation of default transition moment
Doleft false # calculation of exact left vector
NRootsPerBatch 1 # no of roots calculated together
FOLLOWCIS false # follows the initial singles guess
DoCore true # initiates ionization or excitation from core orbital
CoreHole 0 # core orbital from which ionization or excitation is needed
CVSEP false # separates core orbital from valence,
DTol 1e-5 # default for EOM residual threshold
#keywords which affect EOM parameters, but do not belong to the routine itself
NRoots 9 # number of roots
OTol 1e-14 # orthogonalization threshold
KCOpt KC_MO # method for external exchange formation
KC_AOX # when asked for exact TDM calculation
KC_AOBLAS # most efficient
PrintLevel 3 # the amount of information to be printed
MaxCore 500 # total amount of memory
end
In the case of the UHF EOM-CCSD implementation, the parameters that influence a given calculation are provided
below.
%mdci
#UHF EOM parameters - defaults displayed
DoEOM false # whether to perform EOM
DoAlpha false # removal/attachment of an alpha electron (IP/EA calculations)
DoBeta false # removal/attachment of a beta electron (IP/EA calculations)
NDav 20 # maximum size of reduced space (i.e. 20*NRoots)
UseQROs false
CheckEachRoot true # check convergence for each root separately
RootHoming true # apply root homing
DoLanczos false # use the Lanczos procedure rather than Davidson
DoOlsen false # use the Olsen procedure rather than Davidson
UseCISUpdate true # use diagonal CIS for updating
NInits 0 # number of roots in the initial guess, if 0, use preset value
DOCOSXEOM false # use COSX approximation for external exchange term in EOM
DOAOX3E false # use COSX approximation for 4 external terms contribution
# to 3 external intermediate
DoRootwise false # solves for each root separately,
# more stable for large number of roots
NRootsPerBatch 1 # no of roots calculated together
FOLLOWCIS true # follows the initial singles guess
DTol 1e-5 # default for EOM residual threshold
#keywords which affect EOM parameters, but do not belong to the routine itself
NRoots 9 # number of roots
OTol 1e-14 # orthogonalization threshold
KCOpt KC_AOX # AO exchange for the four external contributions
# (the only option available at present)
PrintLevel 3 # the amount of information to be printed
MaxCore 500 # total amount of memory
end
--------------------------------
AUTOMATIC CHOICE OF INCORE LEVEL
--------------------------------
Half of the memory specified with the keyword MaxCore is distributed among the five candidates. In the above
case, everything fits in memory. Note that these are only the largest contributors to memory consumption, and
there should ideally be a safety margin when allocating memory.
In order to estimate the amount of necessary memory, it should be kept in mind that, in the closed shell case, the
memory requirements of the residual and Ritz vectors are proportional to 𝑁𝑅 𝑁𝑃 𝑁𝑉2 , the three external integrals
to 𝑁𝑅 𝑁𝑂 𝑁𝑉3 and the sigma and trial vectors to 𝑁𝐷 𝑁𝑅 𝑁𝑃 𝑁𝑉2 , where 𝑁𝑂 and 𝑁𝑉 are the number of occupied
and virtual orbitals, 𝑁𝑃 = 𝑁𝑂 (𝑁2𝑂 +1) is the number of occupied pairs, 𝑁𝑅 is the number of roots, and 𝑁𝐷 is
the maximum size of the reduced space. The keyword NRoots sets 𝑁𝑅 , while NDav determines 𝑁𝐷 . Luckily, the
contributions that, in our experience, are the most important to keep in memory, are also the ones that require the
smallest amount of it. It is advisable to use KCOpt AOBLAS, as it has the lowest memory requirements.
Note that in the UHF EE-EOM-CCSD implementation, the memory requirements of the residual and Ritz vectors
are proportional to 𝑁𝑅 (𝑁𝑃𝛼 𝑁𝑉2𝛼 +𝑁𝑃𝛽 𝑁𝑉2𝛽 +𝑁𝑂𝛼 𝑁𝑂𝛽 𝑁𝑉𝛼 𝑁𝑉𝛽 ), the three external integrals to 𝑁𝑅 (𝑁𝑂𝛼 𝑁𝑉2𝛼 +
𝑁𝑂𝛽 𝑁𝑉2𝛽 + 𝑁𝑂𝛼 𝑁𝑉𝛼 𝑁𝑉2𝛽 + 𝑁𝑂𝛽 𝑁𝑉𝛽 𝑁𝑉2𝛼 ) and the sigma and trial vectors memory requirements are proportional
to 𝑁𝐷 𝑁𝑅 (𝑁𝑃𝛼 𝑁𝑉2𝛼 + 𝑁𝑃𝛽 𝑁𝑉2𝛽 + 𝑁𝑂𝛼 𝑁𝑂𝛽 𝑁𝑉𝛼 𝑁𝑉𝛽 ), where 𝑁𝑂𝛼 , 𝑁𝑂𝛽 , 𝑁𝑉𝛼 and 𝑁𝑉𝛽 are respectively, the
𝑁𝑂𝛼 (𝑁𝑂𝛼 −1)
number of occupied alpha, occupied beta, virtual alpha and virtual beta orbitals and 𝑁𝑃𝛼 = 2 and
𝑁𝑂𝛽 (𝑁𝑂𝛽 −1)
𝑁𝑃𝛽 = 2 are the number of alpha and beta occupied pairs, respectively.
is needed for the trial and sigma vectors, as seen above. Since the choice of this parameter influences convergence
properties, it will be discussed further in Convergence, Restart, Preconditioning and Subspace Expansion.
𝑅𝑖𝑎
𝑇𝑖𝑎 =
𝐷𝑖𝑎 + ℰ𝑅
for singles, and
𝑅𝑖𝑎
𝑇𝑖𝑗𝑎𝑏 =
𝐷𝑖𝑗𝑎𝑏 + ℰ𝑅
for doubles. Here, 𝐷𝑖𝑎 and 𝐷𝑖𝑗𝑎𝑏 are related to, and possibly approximations of, the respective diagonal Hamil-
tonian elements. The simplest approximation is just to construct these from diagonal Fock matrix elements (i.e.
orbital energies) as 𝐷𝑖𝑎 = 𝜀𝑎 − 𝜀𝑖 and 𝐷𝑖𝑗𝑎𝑏 = 𝜀𝑎 + 𝜀𝑏 − 𝜀𝑖 − 𝜀𝑗 . A slightly better preconditioning can be obtained
as follows. For singles, take the exact CIS diagonal elements, 𝐷𝑖𝑎 = 𝜀𝑎 − 𝜀𝑖 + 𝑔 𝑖𝑖𝑎𝑎 , where the last term is the
respective antisymmetrized integral; and construct the doubles as 𝐷𝑖𝑗𝑎𝑏 = 𝐷𝑖𝑎 + 𝐷𝑗𝑏 . This is the default, and can
be changed back to the simple Fock matrix guess by setting UseCISUpdate to false.
Following the preconditioning step, the resulting vectors are orthogonalized to the previous set of trial vectors,
and orthonormalized among themselves. Since, the trial vectors do not change once they are generated (unless a
restart occurs), only the new elements of the overlap matrix need to be generated for the orthonormalization. The
numerical threshold for the inversion (and other division steps) is controlled by the parameter OTol. Finally, the
amount of printed information can be controlled via the PrintLevel keyword. If not given or equal to 2, only basic
iteration information will be printed. If set to 3, detailed iteration information will be printed (recommended if
timing results for individual steps are required), while 4 or higher triggers additional (and very verbose) information
from other subroutines as well.
The default solver is a multi-root Davidson procedure. The single-root solver can be initiated by setting
DoRootwise and FollowCIS to true. The latter is more stable when a large number of roots are requested.
𝜌𝐺𝑟→𝐸𝑥
𝑝𝑞 = ⟨𝜑0 |(1 + Λ)[𝑒−𝑇 {𝑝+ 𝑞 − }𝑒𝑇 , 𝑅]|𝜑0 ⟩
𝜌𝐸𝑥→𝐺𝑟
𝑝𝑞 = ⟨𝜑0 |𝐿𝑒−𝑇 {𝑝+ 𝑞 − }𝑒𝑇 |𝜑0 ⟩
In the above equation, Λ corresponds to the ground state left vector, which needs to solved once and 𝐿 is the left
vector , which needs to be solved separately for each root. Once the right and left vectors have been obtained, the
left and right transition densities are constructed and the oscillator strength is calculated using following formula
2
𝑓= 𝜀|𝜇𝑝𝑞 𝜌𝐸𝑥→𝐺𝑟
𝑝𝑞 ||𝜇𝑝𝑞 𝜌𝐺𝑟→𝐸𝑥
𝑝𝑞 |
3
The oscillator strength, calculated by default, employs a linear approximation for Λ. The 𝐿 vectors are, on the other
hand, calculated as a general inverse of the corresponding 𝑅 vectors. This approximation requires no additional
effort over the energy calculation and gives similar accuracy as that of the exact oscillator strength calculation,
which is at least twice the cost of the energy calculation. Exact EOM-CC transition moments can, however, be
calculated by setting DoLeft and DoTDM to true. Please note that transition moments have not yet been implemented
for the UHF EOM-CCSD approach.
• Convergence thresholds of DTol 1e-5 (Davidson convergence) and STol 1e-7 (ground state CCSD con-
vergence ) generally yield sufficiently converged energies, and are suitable for most purposes.
• The normal Davidson solver generally leads to the lowest energy solutions. This procedure can also yield
roots dominated by double excitations (the so-called satellite states) for the IP and EA variants of EOM-CC,
when one asks for a large number of roots. If one interested in the low lying Koopman’s type of IP and EA
states, they can be obtained by setting FollowCIS to true. This will follow the initial guess provided by the
Fock operators.
¯ˆ 𝑆^ }
ˆ = {𝑒𝑆^ }−1 𝐻{𝑒
𝐺
𝑆ˆ = 𝑆ˆ𝐼𝑃 + 𝑆ˆ𝐸𝐴 ,
𝑆ˆ𝐼𝑃 = 𝑆𝑖𝑚′ 𝐸ˆ 𝑚′ + 1 𝑆 𝑚𝑏 𝐸ˆ 𝑚𝑏 ,
𝑖
2 𝑖𝑗 𝑖𝑗
′
𝑆ˆ𝐸𝐴 = 𝑆𝑒𝑎 𝐸 ˆ𝑒𝑎′ + 1 𝑆𝑒𝑗
𝑎𝑏 ˆ 𝑎𝑏
𝐸𝑒𝑗 .
2
In the above equations, 𝑚 and 𝑒 denote active indices of the hole and particle type respectively, while a prime
denotes a restriction to orbitals that are not active. The amplitudes of the operator 𝑆ˆ are defined in such a way that
matrix elements of the transformed Hamiltonian, in second quantized notation, become equal to zero.
′
𝑔𝑖𝑚′ = 𝑔𝑖𝑗
𝑚𝑏
= 𝑔𝑒𝑎 = 𝑔𝑒𝑗
𝑎𝑏
=0
In addition, the zeros which pre-existed in 𝐻, ¯ after solving the CCSD equations, remain preserved. The above
equations are linear in 𝑆ˆ and are equivalent to the Fock space multireference coupled cluster equations for the one
valence problem. However, to ensure numerical stability, the equations are re-casted as matrix diagonalization
problem and solved as IP-EOM-CCSD and EA-EOM-CCSD problems. The 𝑆ˆ𝐼𝑃 and 𝑆ˆ𝐸𝐴 are then extracted from
the converged previous calculations, respectively, by invoking intermediate normalization on the suitably chosen
eigenvectors corresponding to active holes and active particles. The total process can be described as following
• Solution of the ground state coupled cluster equations
ˆ¯ = 𝑒−𝑇^ 𝐻𝑒
• Construct the first similarity transformed Hamiltonian as 𝐻 ˆ 𝑇^
The advantage of the above method is that, instead of one iterative O(𝑁 6 ) scaling diagonalization step, it requires
two iterative O(𝑁 5 ) scaling steps, one non-iterative O(𝑁 5 ) scaling step and one iterative O(𝑁 4 ) scaling matrix
diagonalization step. The presence of so-called ‘implicit triples excitation’ term ensures the charge transfer sep-
arability of the excited states, which is absent in EOM-CCSD. In addition, since the final diagonalization step
is performed in a CIS space, the spin adaption is trivial and excited states of triplet multiplicity can be obtained
without going through the complications of a spin orbital based implementation.
The STEOMCC approach has also recently been extended for applications to open-shell systems within the UHF
formalism [403]. In this case, the expressions for the operators 𝑆ˆ𝐼𝑃 and 𝑆ˆ𝐸𝐴 take the form,
1 ∑︁ 𝑎𝑏 {︀ † ˆ† ˆ}︀ ∑︁
¯𝑏 ˆ† ˆ† ˆ
𝑆ˆ𝐼𝑃 = 𝑠¯𝑎𝑖𝑒 ¯ 𝑏 𝑒ˆ¯𝑖
{︀ }︀
𝑠𝑖𝑒 𝑎ˆ 𝑏 𝑒ˆ 𝑖 + 𝑎
2 ¯
𝑖,𝑒,𝑎,𝑏 𝑖,𝑒,¯
𝑎,𝑏
1 ∑︁ 𝑎¯¯𝑏 {︀ † ˆ¯† ˆ¯}︀
ˆ† ˆ¯𝑏† 𝑒ˆ¯ˆ𝑖 ,
∑︁ ¯{︀
𝑠𝑎𝑖¯𝑒𝑏 𝑎
}︀
+ 𝑠¯𝑖¯𝑒 𝑎ˆ¯ 𝑏 𝑒ˆ¯ 𝑖 +
2¯ ¯ ¯
𝑖,¯
𝑒,¯
𝑎,𝑏 𝑖,¯
𝑒,𝑎,𝑏
1 ∑︁ 𝑎𝑚 {︀ † † ˆ ˆ}︀
ˆ † ˆ𝑗 ˆ¯𝑖
∑︁
¯𝑚 ˆ†
𝑠¯𝑎𝑖𝑗
{︀ }︀
𝑆̂︀− = 𝑠𝑖𝑗 𝑎
ˆ 𝑚
ˆ 𝑗𝑖 + 𝑎¯ 𝑚
2 𝑖,𝑗,𝑎,𝑚 ¯ 𝑖,𝑗,¯
𝑎,𝑚
1 ∑︁ 𝑎¯𝑚 {︀ † † ˆ ˆ}︀ ∑︁ {︀ † † ˆ }︀
+ 𝑠¯𝑖¯𝑗¯ 𝑎 ˆ¯ ¯𝑗 ¯𝑖 +
ˆ¯ 𝑚 𝑠𝑎𝑖¯𝑗𝑚
¯ ˆ¯ ¯𝑗 ˆ𝑖 .
ˆ 𝑚
𝑎
2 ¯¯ ¯
𝑖,𝑗,¯
𝑎,𝑚
¯ 𝑖,𝑗,𝑎,𝑚
¯
where we use overbars to distinguish the 𝛽 orbitals from the 𝛼 orbitals. The amplitudes 𝑠𝑎𝑏 𝑖𝑒{︀, 𝑠¯𝑖𝑒 are determined
{︀ 𝑎
¯𝑏
}︀
¯¯𝑏 𝑎¯
by solving the UHF EA-EOM-CCSD equations for the attachment of an 𝛼 electron, while the 𝑠¯𝑖¯𝑒 , 𝑠𝑖¯𝑒 amplitudes
𝑎 𝑏
}︀
are extracted
{︀ from a𝑎¯𝑚UHF EA-EOM-CCSD
{︀ 𝑎¯¯𝑏 𝑎𝑚 calculation for the attachment of a 𝛽 electron. Similarly, the sets of
amplitudes 𝑠𝑎𝑚 𝑖𝑗 , 𝑠¯𝑖𝑗 } and 𝑠¯𝑖¯ are determined by solving the decoupled UHF IP-EOM-CCSD problems
¯
}︀
𝑗
, 𝑠 ¯
𝑖𝑗
for the ionization of an 𝛼 electron and the ionization of a 𝛽 electron, respectively. Hence, an UHF STEOMCC
calculation involves two separate IP calculations (O(𝑁 5 ) scaling) and two separate EA calculations (O(𝑁 5 ) scaling
steps).
All the speed up options, including CCSD(2) (only available in RHF implementation) and COSX, which are avail-
able for EOM-CCSD are also available for STEOMCC. The most important steps in a STEOMCC calculation are
the IP-EOM and EA-EOM calculations. These steps are performed using the EOM-CCSD module and the relevant
keywords are the same as that described in Excited States via EOM-CCSD. The keywords which are exclusive to
the RHF STEOM module are:
%mdci
#RHF STEOM parameters - defaults displayed
DoCISNat true # automatic selection of active space
NActIP 3 # number of states defined as active in the IP calculation
NActEA 2 # number of states defined as active in the EA calculation
DoTriplet false # target state of triplet multiplicity
DoDbFilter true # filters out states with doubles excitation character
DoNewActSch true # new active space selection scheme for STEOM-CCSD
DoSOLV # perturbative correction for solvation effects (experimental)
#Default values for automatic active space selection scheme
OThresh 0.001 # Cut off occupation of CIS natural orbitals in IP calculation
VThresh 0.001 # Cut off occupation of CIS natural orbitals in EA calculation
IPSThrs 80 # The percentage singles threshold for the IP calculation
EASThrs 80 # The percentage singles threshold for the EA calculation
end
------------------------------------------
STATE AVERAGED NATURAL ORBITALS FOR ACTIVE SPACE SELECTION
------------------------------------------
Solving eigenvalue problem for the occupied space ... Occupied block occupation :
0 0.000478
1 0.002266
2 0.169928
3 0.171663
4 0.310125
5 0.345541
Orbital taken as active for IP roots:
0 0.345541
1 0.310125
2 0.171663
3 0.169928
done
Solving eigenvalue problem for the virtual space ... Virtual block occupation :
6 0.640886
7 0.332262
8 0.017272
9 0.005326
10 0.001752
11 0.000667
12 0.000574
13 0.000540
14 0.000160
15 0.000150
16 0.000139
17 0.000086
18 0.000082
19 0.000037
20 0.000023
(continues on next page)
%mdci
nroots 10
tddftguess true
end
%tddft
nroots 10
end
*xyz 0 1
Any DFT functional can be used but we recommend one with a decent amount of HF exchange. On top of this, the
keyword TDDFTGuess has to be set to true in mdci block and the tddft has to be added together with the NRoots
keyword. In both input blocks (%mdci and %tddft) the same number of roots has to be given. Starting from ORCA
6, using TD-DFT guess with an UHF reference is also possible.
within the UHF formalism. The roots which have %𝑎𝑐𝑡𝑖𝑣𝑒𝑐ℎ𝑎𝑟𝑎𝑐𝑡𝑒𝑟 higher than 98.0 are considered to be con-
verged with respect to the active space.
------------------
STEOM-CCSD RESULTS
------------------
Warning:: the state may have not converged with respect to active space
-------------------- Handle with Care --------------------
If the %𝑎𝑐𝑡𝑖𝑣𝑒𝑐ℎ𝑎𝑟𝑎𝑐𝑡𝑒𝑟 for any calculated state is less than 98, that state may have not converged with respect
to active space and the excitation energy for that particular state is less reliable. The user should request a larger
number of roots under those conditions.
EOM-CCSD RESULTS
----------------
Warning: high double excitation character, excluding from the STEOM transformation
Final no active EA roots: 4
Note that the use of CIS natural transition orbitals can lead to convergence issues for the IP and EA states which
are dominated by double excitation character. This can be remedied by setting DoDbFilter to true.
7.34.7 Properties
The dipolar and transition moments (as well as the oscillator strength) can be computed within the STEOM module
using different kinds of approximations. Please cite our paper on these corrected STEOM transition densities [297]!
Starting from ORCA 5, new defaults (DoSimpleDens false) are used that are much better than the previous CIS-
like approximation, and the full option is of CC3-like quality.
%mdci
DosimpleDens false # Default, using the STEOM-CCSD density + some doubles effect.
AddL2term true
end
By default, the STEOM-CCSD densities with AddL2term true should be used for all calculation as discussed in
ref. [297].
%mdci
Nroots 5
DoSolv true
end
where the braces indicate normal ordering of the cluster operators and 𝑆˜(𝑝,ℎ) is defined as
𝑝 ∑︁
∑︁ ℎ
𝑆˜(𝑝,ℎ) = 𝑆˜(𝑘,𝑙)
𝑘=0 𝑙=0
The cluster operator 𝑆˜(𝑘,𝑙) is capable of destroying exactly k active particles and l active holes, in addition to
creation of holes and particles. The 𝑆˜(𝑝,ℎ) subsumes all lower sector Fock space 𝑆˜(𝑘,𝑙) operators. The 𝑆˜(0,0) is
equivalent to standard single-reference coupled cluster 𝑇ˆ operator. The EH for (p,h) valence system can be defined
as
However, Ω−1 may not be well defined in all the cases. Therefore, the above definition for the EH is seldom used.
Instead, the Block-Lindgren approach is generally used for solving the equations, which is defined by
[︁ ]︁
(𝑝,ℎ) ˆ ˆ 𝑒𝑓 𝑓 𝑃 (𝑝,ℎ) = 0
𝑃𝑀 𝐻Ω − Ω𝐻 𝑀
Fig. 7.38: Division of the configuration space into model and outer space in effective Hamiltonian (EH) theory and
into model, intermediate, and outer space in intermediate Hamiltonian (IH) theory. 𝑃 and 𝑄 denote the respective
projection operators.
When the model space is not energetically well separated from the outer space, this method faces convergence prob-
lems. This is commonly termed as the intruder state problem. In the intermediate Hamiltonian (IH) formulation,
configuration space is divided into three subspaces, namely, the main(M), the intermediate(I), and the outer(O)
space (see Fig. 7.38) with projection operators 𝑃𝑀 , 𝑃𝐼 and 𝑄𝑂 , respectively. The intermediate space acts as a
buffer between the model and the outer space. When diagonalization the IH, a subset of the eigenvalues corre-
spond to the main space obtained through EH theory. The IH is for the singly excited state sector (1,1) is defined
as
(1,1) (1,1) ¯ (1,1) + 𝑃 (1,1) 𝐻𝑌
¯ (1,1) 𝑃 (1,1)
𝐻𝐼 = 𝑃𝑂 𝐻𝑃 𝑂 𝑂 𝑀
where
{︁ }︁
(1,1) (0,1) (1,0) (0,1) (1,0) (1,0) (0,1) (1,0) (0,1) (1,1)
𝑌 (1,1) = 𝑄𝑂 𝑆2 + 𝑆2 + 𝑆2 𝑆1 + 𝑆2 𝑆1 + 𝑆2 𝑆2 𝑃𝑀
The 𝑆 (1,0) and 𝑆 (0,1) are extracted from converged EOMIP-CCSD and EOMEA-CCSD calculations, respectively,
by invoking intermediate normalization on the suitably chosen eigenvectors corresponding to active holes and
active particles. The total procedure can be described as following
• solve the ground state coupled cluster equations
ˆ
¯ = 𝑒−𝑇^ 𝐻𝑒
• construct 𝐻 ˆ 𝑇^
7.35.2 Properties
The transition properties can be calculated using a simple CIS-like formulation, employing the converged IH-
FSMR-CC eigenvectors. The transition moments are computed by default in an IH-FSMR-CCSD calculation.
Thee perturbative correction only changes the transition energies and neither the wave function nor the transition
moment.
𝑑𝑖𝑗
𝜇
˜𝑎
𝑖𝑗
˜𝑖𝑗 𝑇𝑎
˜ ˜𝑏
𝑑˜𝑖𝑗
𝑏
⇒ 𝐿𝑖𝑗
𝜇˜
𝑖𝑗 𝑖𝑗
𝜇 𝑇𝜇
˜𝜈˜ 𝐿𝜈
𝑖𝑗 𝑖𝑗 𝑖𝑗 𝑖𝑗
˜𝜈 ⇒ 𝐶𝑎𝜇 𝑇𝜇𝜈 𝐶𝜈𝑏 ⇒ 𝑇𝑎𝑏 ,
𝑖𝑗 𝑖𝑗 𝑖𝑗 𝜇
˜
%mdci
#bt-PNO-EOM and STEOM parameters - defaults displayed
DoEOMMP2 true # MP2 correction for missing pairs
DoRECAN true # recanonicalization of the occupied
# orbitals before the excited state calculation
#(only relevant for the RHF implementation)
end
----------------------
COUPLED CLUSTER ENERGY
----------------------
In the bt-PNO-EOM-CCSD scheme, the CI-like excited state treatment of the reference state is defined by back-
transformed DLPNO amplitudes (or MP2 amplitudes for the weak pairs). The energy corresponding to this set of
amplitude is printed at the beginning of the EOM calculations.
done ( 0.4)
Therefore, to calculate the total energy of an excited (ionized or electron attached) state, one needs to add the
excitation energy to the reference state energy in bt-PNO-EOM-CCSD.
%mdci
NRoots 6
DoRootWise true
OThresh 0.005
VThresh 0.005
TCutPNOSingles 1e-11
NDAV 400
DoStoreSTEOM true
DoSimpleDens false
AddL2Term True
DTol 1e-5
end
* xyz 0 1
C 0.016227 -0.000000 0.000000
O 1.236847 0.000000 -0.000000
H -0.576537 0.951580 -0.000000
H -0.576537 -0.951580 -0.000000
*
7.38.1 Core-ionization
One can obtain core-ionized states if one calculates a large no of roots. The ORCA implementation of IP-EOM-
CCSD, however, allows one to directly target the ionization from the core-orbitals. A typical IP-EOM-CCSD input
file for the acetic acid will look like
!IP-EOM-CCSD ExtremeSCF cc-pvtz
!NoFrozencore
%maxcore 5000
%mdci
nroots 4 #no of roots
CVSORB 0,3 #orbital considered for core-valence separation
FollowCIS true # Follow the initial guess orbital
CVSEP true # Core valence separation
DoCVS true # Core valence separation (currently both the option needs to be true)
DoCore true # Directly target the core
corehole 0 # The state from which it will count the roots
printlevel 3 # the printing options
maxiter 500 # no of iteration, generally requires larger no of roots
end
*xyz 0 1
C -6.7624010562 0.1328615492 0.0389382700
C -5.3564667033 0.2819965475 -0.5188248498
H -6.9983743824 1.0019615710 0.6510029634
H -7.4924880320 0.0542210905 -0.7741766747
H -6.8380664832 -0.7720291637 0.6519904379
O -4.9303467983 -0.7518088469 -1.3223158759
H -5.6257914271 -1.4265892921 -1.4015111180
O -4.6208051175 1.2132365445 -0.3081931529
*
The option ‘DoCore true’ starts the counting of the roots from ‘corehole’ upwards. The default is ‘DoCore false’
and it counts the root from the HOMO downwards. The ‘corehole 0’ starts the counting from the first occupied
orbital which is the oxygen K-edge in this case. One can directly target the carbon K-edge in this case by putting
‘corehole 2’.
%mdci
nroots 2 #no of roots
CVSORB 2,3 #orbital considered for core-valence separation
FollowCIS true # Follow the initial guess orbital
CVSEP true # Core valence separation
DoCVS true # Core valence separation (currently both the option needs to be true)
DoCore true # Directly target the core
corehole 2 # The state from which it will count the roots
printlevel 3 # the printing options
maxiter 500 # no of iteration, generally requires larger no of roots
end
*xyz 0 1
C -6.7624010562 0.1328615492 0.0389382700
C -5.3564667033 0.2819965475 -0.5188248498
H -6.9983743824 1.0019615710 0.6510029634
H -7.4924880320 0.0542210905 -0.7741766747
H -6.8380664832 -0.7720291637 0.6519904379
O -4.9303467983 -0.7518088469 -1.3223158759
H -5.6257914271 -1.4265892921 -1.4015111180
O -4.6208051175 1.2132365445 -0.3081931529
*
----------------------
EOM-CCSD RESULTS (RHS)
----------------------
Now, the core-ionized states remains embedded in the high density of doubly ionized valence states that form the
continuum. This leads to severe convergence problems. One easy way to overcome this is to use the core-valence
separation approximation which is turned on by the two keywords ‘CVSEP true’ and ‘DoCVS true’. The orbitals
from which the contributions are not neglected for the core-valence separation are set by ‘CVSORB initial,final’.
It is generally a good idea to include all the core orbitals corresponding to a particular element if one is interested
in the ionization from any of the core orbitals for the particular element. In the second example both the carbon
core-orbitals are included in the ‘CVSORB 2,3’. A ‘bt-PNO-IP-EOM-CCSD’ input file for the same example will
look like
%mdci
nroots 4
CVSORB 0,3
FollowCIS true
CVSEP true
DoCVS true
DoCore true
DoRECAN true # recanonilize the occupied space before the EOM step
corehole 0
printlevel 3
maxiter 500
end
*xyz 0 1
C -6.7624010562 0.1328615492 0.0389382700
C -5.3564667033 0.2819965475 -0.5188248498
H -6.9983743824 1.0019615710 0.6510029634
H -7.4924880320 0.0542210905 -0.7741766747
H -6.8380664832 -0.7720291637 0.6519904379
O -4.9303467983 -0.7518088469 -1.3223158759
H -5.6257914271 -1.4265892921 -1.4015111180
O -4.6208051175 1.2132365445 -0.3081931529
*
The results are in excellent agreement with the canonical one. A DLPNO variant for the same example will look
like
!IP-EOM-DLPNO-CCSD ExtremeSCF cc-pvtz cc-pvtz/c autoaux def2/J TightPNO pal16
!NoFrozencore
%maxcore 5000
%mdci
nroots 4
CVSORB 0,3
FollowCIS true
CVSEP true
(continues on next page)
*xyz 0 1
C -6.7624010562 0.1328615492 0.0389382700
C -5.3564667033 0.2819965475 -0.5188248498
H -6.9983743824 1.0019615710 0.6510029634
H -7.4924880320 0.0542210905 -0.7741766747
H -6.8380664832 -0.7720291637 0.6519904379
O -4.9303467983 -0.7518088469 -1.3223158759
H -5.6257914271 -1.4265892921 -1.4015111180
O -4.6208051175 1.2132365445 -0.3081931529
*
Although the error in the absolute IP values are as large as 1 eV, the so-called ‘chemical shift’ i.e. the difference
between the IP value of two different atoms of the same elements are reasonably correct.
7.38.2 Core-Excitation
The STEOM-CCSD approach provides an efficient and accurate way to do the K-edge core-excitation spectroscopy.
A typical input file for the STEOM-CCSD will look like
!STEOM-CCSD ExtremeSCF aug-cc-pCVQZ Bohrs NoFrozencore
%mdci
nroots 10
CVSORB 6,6 # should always be HOMO
FollowCIS true
CVSEP true
DoCVS true
DoCore true
(continues on next page)
*xyz 0 1
O 0 0 0.913973
C 0 0 -1.218243
*
------------------
STEOM-CCSD RESULTS
------------------
Warning:: the state may have not converged with respect to active space
-------------------- Handle with Care --------------------
Warning:: the state may have not converged with respect to active space
-------------------- Handle with Care --------------------
Warning:: the state may have not converged with respect to active space
-------------------- Handle with Care --------------------
Warning:: the state may have not converged with respect to active space
-------------------- Handle with Care --------------------
Warning:: the state may have not converged with respect to active space
-------------------- Handle with Care --------------------
Excitation from a particular core orbital can be considered currently. In the present case it is the 1S orbital of oxygen.
The required orbital can be specified using the keyword ‘corehole’. For the oxygen 1S it should be ‘corehole 0’.
The carbon 1S can be specified with ‘corehole 1’
%mdci
nroots 10
CVSORB 6,6 # should always be HOMO
FollowCIS true
CVSEP true
DoCVS true
DoCore true
DoSimpleDens False # use exact STEOM transition moment
corehole 1
maxiter 500
NDAV 80
printlevel 3
end
*xyz 0 1
O 0 0 0.913973
C 0 0 -1.218243
*
------------------
STEOM-CCSD RESULTS
------------------
Warning:: the state may have not converged with respect to active space
-------------------- Handle with Care --------------------
Warning:: the state may have not converged with respect to active space
-------------------- Handle with Care --------------------
Warning:: the state may have not converged with respect to active space
-------------------- Handle with Care --------------------
The core-valence separation should be used similar to that in the core-ionization. The only difference is that the
natural orbital based active space selection scheme in STEOM-CCSD always rotate the particular core orbital to
the HOMO. Therefore, CVSORB should always be HOMO in STEOM-CCSD irrespective of the core-hole. One
should use the exact STEOM-CCSD transition moment by using DoSimpleDens False. Fig. 7.40 presents the
STEOM-CCSD oxygen K-edge spectra in thymine.
Fig. 7.39: Comparison of theoretical and experimental X-ray absorption spectra of oxygen K-edge in thymine. The
simulated spectrum is shifted by -3.7 eV to align with the experimental spectrum.
One can interpret the results in terms of NTOs caculated from STEOM-CC eigen vectors
Fig. 7.40: Natural transition orbitals (ntos) for the oxygen K edge spectrum of thymine. All the core EE values
mentioned are in eV and provided in the format (EE,Oscillator Strength).
%mrci
(continues on next page)
# ---------------------------------
# Method selection
# ---------------------------------
CIType MRCI # Multireference CI (default)
MRDDCI1 # Difference dedicated CI 1-degree of freedom
MRDDCI2 # Difference dedicated CI 2-degrees of freedom
MRDDCI3 # Difference dedicated CI 3-degrees of freedom
MRACPF # Average coupled-pair functional
MRACPF2 # Modified version of ACPF
MRACPF2a # A slightly modified version of ACPF-2a
MRAQCC # Average quadratic coupled-cluster
MRCEPA_R # Multireference CEPA due to Ruttink
MRCEPA_0 # CEPA-0 approximation
SORCI # Spectroscopy oriented CI
SORCP # Spectroscopy oriented couplet pair approx.
MRMP2 # Multireference Moeller-Plesset at second order
MRMP3 # Multireference Moeller-Plesset at third order
MRMP4 # Multireference Moeller-Plesset at fourth order
# but keeping only singles and doubles relative to
# the reference configurations.
# ---------------------------------
# Selection thresholds
# ---------------------------------
Tsel 1e-6 # Selection threshold for inclusion in the CI based
# 2nd order MP perturbation theory <0|H|I>/DE(MP)
Tpre 1e-4 # Selection of configurations in the reference space
# after the initial diagonalization of the reference
# space only configurations with a weight large>Tpre
# to any root are included
(continues on next page)
# ---------------------------------
# Natural Orbital Iterations
# ---------------------------------
NatOrbIters 0 # default
# number of average natural orbital iterations
Tnat 1e-4
# cutoff of natural orbitals. NOs with an occupation number less
# then Tnat will not be included in the next iteration
# Also, orbitals with occupation number closer than Tnat to 2.0
# will be frozen in the next iteration
Tnat2 -1
# if chosen >0 then Tnat2 is the threshold for freezing the
# almost doubly occupied orbitals. Otherwise it is set equal
# to Tnat
# ----------------------------------
# Additional flags and algorithmic
# details
# ----------------------------------
PrintLevel 2 # default. Values between 1 and 4 are possible
DoDDCIMP2 false
# for DDCI calculations: if set to true the program computes
# a MP2 like correction for the effect of inactive double
# excitations which are not explicitly included in the CI. This
# is necessary if you compare molecules at different geometries
# or compute potential energy surfaces.
# ----------------------------------
# The SORCP model
# ----------------------------------
CIType_in # First step CIType
(continues on next page)
# ----------------------------------
# Multirerence perturbation theory
# ----------------------------------
MRPT_b 0.02 # Intruder state avoidance PT after Hirao (default 0.0)
# with this flag individual intruders are shifted away to
# to some extent from the reference space
MRPT_shift 0.3 # Level shift introduced by Roos which shifts the entire
# excited manifold away in order to avoid intruder states.
# A correction is applied afterwards but results do depend
# on this (arbitrary) value to some extent.
H0Opt projected # use an off-diagonal definition of H0
Diagonal # use a diagonal definition of H0 (much faster but maybe
# a little less reliable
Partitioning MP # Moeller plesset partitioning
EN # Epstein-Nesbet partitioning (not recommended)
Fopt Standard # Standard definition of MR Fock operators
G3 # uses Anderson's g3 correction also used in CASPT2
#---------------------------------------
# restrict reference configurations
#---------------------------------------
RejectInvalidRefs true # by default reference CSFs are restricted
# to target spin and spatial symmetry
# ======================================
# Definitions of blocks of the CI Matrix
# ======================================
NewBlock 2 * # generate a Block with doublet(=2) multiplicity
Nroots 1 # number of roots to be generated
Excitations cis # CI with single excitations
cid # CI with double excitations
cisd # CI with single and double excitations
ddci1 # DDCI list with one degree of freedom
ddci2 # DDCI list with two degrees of freedom
ddci3 # DDCI list with three degrees of freedom
Flags[_class_] 0 or 1
# Turn excitation classes on or off individually
# ``s'' stands for any SOMO, ``i'',``j'' for internal orbitals and
# ``a'',``b'' for external orbitals
# Singles _class_ = ss, sa, is, ia
# Doubles _class_ = ijss, ijsa, ijab,
# isss, issa, isab,
# ssss, sssa, ssab
# ``Flags'' takes priority over ``Excitations''. In fact ``Excitations''
# does nothing but to set ``Flags''. So, you can use ``Excitations''
# to provide initial values for ``Flags'' and then modify them
(continues on next page)
# ----------------------------------
# Density matrix generation flags
# First Key= State densities <I|D|I>
# =0: none
# =1: Ground state only (lowest root of all blocks; Electron only)
# =2: Ground state only (Electron and spin density)
# =3: Lowest root from each block (Electron density)
# =4: Lowest root from each block (Electron and spin density)
# =5: All states (Electron density)
# =6: All states (Electron and spin density)
# Second Key= Transition densities <I|D|J>
# needed for all transition intensities, g-tensor etc
# =0: none
# =1: from the ground state into all excited states (el)
# =2: from the ground state into all excited states (el+spin)
# =3: from all lowest states into all excited states (el)
# =4: from all lowest states into all excited states (el+spin)
# =5: all state pairs (el)
# =6: all state pairs (el+spin)
# Note that for perturbation theory the density is computed as
# an expectation value over the first (second) order wavefunction.
# which is renormalized for this purpose
# ----------------------------------
Densities 1,1
(continues on next page)
# ----------------------------------
# Complete printing of the wavefunction
# ----------------------------------
PrintWF 1 # CFG based printing (default)
det # Determinant based wavefunction printing
TPrintWF 3e-3 # Threshold for the printing of the CFGs/Dets
# ----------------------------------
# Algorithm for the solver
# ----------------------------------
Solver Diag # Davidson like solver
DIIS # DIIS like solver
# both solvers have their pros and cons. The DIIS may converge
# better or use less time since it only recomputes the vectors that
# have not yet converged; The DIIS may be less sensitive to root flipping
# effects but occasionally it converges poorly and states of the same
# symmetry are occasionally a little problematic
# For perturbation theory DIIS is always used.
# For both solvers
MaxIter 100 # the maximum number of iterations
Etol 1e-6 # convergence tolerance for energies in Eh
Rtol 1e-6 # convergence tolerance for residual
# ----------------------------------
# RI Approximation
# ----------------------------------
IntMode RITrafo #Use RI integrals
FullTrafo #No RI (default)
# ----------------------------------
# Integral storage, memory and files
# ----------------------------------
IntStorage FloatVals
DoubleVals (default)
# store integrals with float (4 byte) or double (8 byte)
# accuracy in main memory
FourIndexInts false (default)
True
# Store ALL four index integrals over Mos in main memory
# only possible for relatively small systems, perhaps up
# to 150-200 MOs included in the CI
MaxMemInt 256
# Maximum amount of core memory devoted to the storage of
# integrals. If NOT all three index integrals fit into main
# memory the program fails
(continues on next page)
# energies you can copy the following part into the %mrci soc block and modify it as needed ␣
˓→
# ␣
˓→
# NOTE: It is YOUR responsibility to make sure that the CAS-CI state that you may want to␣
˓→dress
# with these energies correlates properly with the energies printed here. The order of␣
˓→states
# or even the identity of states may change with and without inclusion of dynamic␣
˓→correlation.
# In the case that dynamic correlation strongly mixes, different CAS-CI states there may␣
˓→not
# ␣
˓→
Those transition energies can be substituted by a more accurate energies provided in the input file as follows:
%soc
dosoc true
dossc true
EDiag[ 0] -149.526236244 # root 0 of block 0
EDiag[ 1] -149.359818263 # root 1 of block 0
EDiag[ 2] -149.359818263 # root 2 of block 0
EDiag[ 3] -149.496737695 # root 0 of block 1
(continues on next page)
Accurate diagonal energies generally improve the accuracy of the SOC and SSC splittings.
! def2-tzvp keepfock
% scf
hftyp rohf
rohf_case sahf
rohf_numop 2
rohf_nel[1] 9
rohf_norb[1] 10
end
For the present Mn(II)Mn(III) dimer there are a total of 9 electrons distributed into 10 d-orbitals.
2. Next, the molecular orbitals are localized using one of the implemented localization schemes. Below is the
orca_loc input used in this case:
sahf.gbw
sahf.loc
0
200 # first of the 10 d-orbitals
209 # last of the 10 d-orbitals
128
0.000001
0.75
0.65
2
3. Following this, the localized orbitals are made locally canonical by block diagonalizing the Fock matrix using
the orca_blockf utility.
The first two numbers define the range of molecular orbitals localized on one center; the last two are for the second
center.
4. The recanonicalized orbitals stored in the sahf.loc file can be then used to calculate the SOC contribution to
the local ZFS of the Mn(III) center using the following MRCI input:
% mrci
(continues on next page)
5. The three second order ZFS components printed at the end of the calculation (Second order D-tensor:
component 0, etc.) are scaled using the S value for the complex, which in this case is 4.5 (9 electrons × 0.5).
In order to obtain the correct local value of the ZFS, the three matrices have to be rescaled using the S value for
Mn(III), which is to 2. Note that the three matrices have different scaling prefactors, and the dependence on S is
not the same:
1
D𝑆𝑂𝐶−(0) ∝ 𝑆2
1
D𝑆𝑂𝐶−(−1) ∝ 𝑆(2𝑆−1)
1
D𝑆𝑂𝐶−(+1) ∝ (𝑆+1)(2𝑆+1)
These equations can be used to calculate the required prefactors. For example in the case of the SOC-(0) the
prefactor is equal to:
𝑆𝑂𝐶−(0) 4.52 𝑆𝑂𝐶−(0) 𝑆𝑂𝐶−(0)
DMn(III) = 22 · Ddimer = 5.0625 · Ddimer
The final step is to scale the two remaining matrices using the appropriate prefactors, sum all three of them up,
diagonalize the resulting the matrix, and use its eigenvalues to calculate the D and E parameters. These represent
the local ZFS parameters of the Mn(III) center.
soc
DTensor true
IStates 3,4,5
end
*****************************************
EXCITED STATE ZERO-FIELD SPLITTING:
*****************************************
--------------------------------------------
Computing Excited State D Tensors of
Excited State Multiplet Consisting of States : 3 4 5
--------------------------------------------
0 4
1 5
2 0
3 1
4 0
5 2
--------------------------------------------
(continues on next page)
D = -2.668445 cm-1
E/D = 0.000103
...
--------------------------------------------------------
ZERO-FIELD SPLITTING
EFFECTIVE HAMILTONIAN SOC CONTRIBUTION
--------------------------------------------------------
D = -2.674495 cm-1
E/D = 0.009610
...
g-Tensor
The orca_mrci program contains an option to calculate g-tensors using MRCI wavefunctions. For a system with an
odd number of electrons, the doubly degenerate eigenvalues obtained from the QDPT procedure represent Kramers
pairs, which are used to build the matrix elements of the total spin operator and the total angular momentum operator
from the Zeeman Hamiltonian. Denoting Ψ as a solution and Ψ̄ as its Kramers partner and using matrix element
notations
𝐺 = 𝑔𝑔 𝑇 (7.242)
G is subjected further to diagonalization yielding positive eigenvalues, the square roots of which give the principal
values of g-matrix.
(7.243)
√︀ √︀ √︀
𝑔𝑥𝑥 = 𝐺𝑥𝑥 , 𝑔𝑦𝑦 = 𝐺𝑦𝑦 , 𝑔𝑧𝑧 = 𝐺𝑧𝑧
A typical mrci block of the input file for a g-tensor calculation should (e.g. for a S=3/2 problem) look as the
following:
%mrci ewin -4,1000
citype mrci
cimode direct2
intmode fulltrafo
solver diis
etol 1e-8
rtol 1e-8
tsel 1e-6
tpre 1e-5
soc
PrintLevel 2
GTensor true # make g-tensor calculations
NDoubGTensor 2 # number of Kramers doublets to account
# for every pair a separate
(continues on next page)
--------------
KRAMERS PAIR 1
--------------
-------------------
ELECTRONIC G-MATRIX
-------------------
g-matrix:
-0.002240 0.000754 -0.005551
0.000720 0.002100 0.000477
-0.198556 0.067498 -8.251703
g-factors:
0.002220 0.002222 8.254370 iso = 2.752937
g-shifts:
-2.000100 -2.000098 6.252051 iso = 0.750618
Eigenvectors:
0.057426 0.998060 0.024055
0.998327 -0.057244 -0.008177
0.006784 -0.024484 0.999677
Here for the 𝐿 and 𝑆 matrix elements indices 1 and 2 are assumed to denote Kramers partners, and three numbers
in the first row stand for 𝑥, 𝑦, 𝑧 contributions.
In addition the g-tensor is calculated within the Effective Hamiltonian formalism.
----------------------------------------------
ELECTRONIC G-MATRIX FROM EFFECTIVE HAMILTONIAN
----------------------------------------------
g-matrix:
1.978874 -0.000345 0.018908
-0.000345 1.977899 -0.006433
0.018879 -0.006418 2.763402
g-factors:
1.977789 1.978477 2.763909 iso = 2.240058
g-shifts:
-0.024530 -0.023843 0.761590 iso = 0.237739
(continues on next page)
Eigenvectors:
0.288884 0.957062 0.024060
0.957364 -0.288770 -0.008181
0.000882 -0.025397 0.999677
Finally and only within the MRCI module the g-tensor is evaluated by using the Sum Over States formalism[610]:
---------------------------------------------------------------------------
SUM OVER STATES CALCULATION OF THE SPIN HAMILTONIAN (for g and HFC tensors)
---------------------------------------------------------------------------
-------------------
ELECTRONIC G-MATRIX
-------------------
raw-matrix :
2.025533 -0.000738 0.021755
-0.000738 2.024537 -0.007389
(continues on next page)
g-factors:
2.024122 2.025363 2.929527 iso = 2.326338
g-shifts:
0.021803 0.023044 0.927208 iso = 0.324018
Eigenvectors:
0.533896 -0.845208 0.024064
0.845530 0.533866 -0.008182
-0.005932 0.024715 0.999677
-----------------------------
CONTRIBUTIONS TO THE G-MATRIX
-----------------------------
Term g1 g2 g3
--------------------------------------------------------------------
Relativistic mass correction: -0.0008220 -0.0008220 -0.0008220
Gauge correction : 0.0000000 0.0000000 0.0000000
g(OZ/SOC) : 0.0226250 0.0238662 0.9280297
Note that within the SOS formalism in addition to the second order (SOC) contributions the bilinear to the field
terms: Relativistic mass correction and diamagnetic spin-orbit term (Gauge) are evaluated. As can be seen these
corrections are rather negligible in comparison to the second order SOC contributions and most of the time can be
safely omitted. Moreover further insight is obtained by printing the individual contribution of each excited state
to the g-tensor. In the example above the first excited state contributes to the 𝑔𝑧 component while the next two to
both the 𝑔𝑥 and 𝑔𝑦 components, respectively.
So to summarize the g-tensor calculations in the framework of wavefunction based methods like MRCI and/or
CASSCF can be evaluated:
• via the QDPT approach within an individual Kramers doublet. This is valid analysis only for non-integer
spin cases. In particular for systems with well isolated Kramers doublets where the EPR spectrum originates
only from one Kramers doublet defined within the pseudo spin 1/2 formalism. This analysis has been proven
useful in determining the sign of the ZFS and the electronic structure of the system under investigation.[548]
• within the effective Hamiltonian approach. This is a valid analysis for all spin cases as it provides the principal
g-values of the system under investigation evaluated in the molecular axis frame. These g-values can be
directly compared with the experimentally determined ones.[421]
• within the sum over states formalism (SOS). As above this analysis is valid for all spin cases and is only
available via the MRCI module.
%mrci
citype mrci
newblock 3 *
excitations none
refs cas(2,7) end
end
soc
dosoc true
domagnetization true # Calculate magnetization (def: false)
dosusceptibility true # Calculate susceptiblity (def: false)
LebedevPrec 5 # Precision of the grid for different field
# directions (meaningful values range from 1
# (smallest) to 10 (largest))
nPointsFStep 5 # number of steps for numerical differentiation
# (def: 5, meaningful values are 3, 5 7 and 9)
MAGFieldStep 100.0 # Size of field step for numerical differentiation
# (def: 100 Gauss)
MAGTemperatureMIN 4.0 # minimum temperature (K) for magnetization
MAGTemperatureMAX 4.0 # maximum temperature (K) for magnetization
MAGTemperatureNPoints 1 # number of temperature points for magnetization
MAGFieldMIN 0.0 # minimum field (Gauss) for magnetization
MAGFieldMAX 70000.0 # maximum field (Gauss) for magnetization
MAGNpoints 15 # number of field points for magnetization
SUSTempMIN 1.0 # minimum temperature (K) for susceptibility
SUSTempMAX 300.0 # maximum temperature (K) for susceptibility
SUSNPoints 300 # number of temperature points for susceptibility
SUSStatFieldMIN 0.0 # minimum static field (Gauss) for susceptibility
SUSStatFieldMAX 0.0 # maximum static field (Gauss) for susceptibility
SUSStatFieldNPoints 1 # number of static fields for susceptibility
end
end
The same keywords apply for CASSCF calculations in rel block (instead of soc in MRCI). Although different
aspects of integration and grid precision can be modified through keywords, default values should provide an
accurate description of both properties. Calculated magnetization and susceptibility are printed in .sus and .mag
files, respectively and also in the output file.
-------------------------------------------------------------------------------
FIELD DEPENDENT MAGNETIZATION AND MEAN SUSCEPTIBILITY (chi=M/B)
-------------------------------------------------------------------------------
TEMPERATURE (K) M. FIELD (Gauss) MAGNETIZATION (B.M.) chi*T (cm3*K/mol)
-------------------------------------------------------------------------------
-----------------------------------------------------------
TEMPERATURE DEPENDENT MAGNETIC SUSCEPTIBILITY
-----------------------------------------------------------
STATIC FIELD TEMPERATURE chi*T (cm3*K/mol)
(Gauss) (K) M/B d2E/dB2
-----------------------------------------------------------
Note that the CASSCF module also supports the calculation of susceptibility tensors at non-zero user-defined
magnetic fields. This is not yet possible with the MRCI module.
∆𝜀 ∑︁ (︁
2 2
)︁
=𝛾 (𝑁𝑎 − 𝑁𝑗 ) |⟨Ψ𝑎 |𝑚LCP | Ψ𝑗 ⟩| − |⟨Ψ𝑎 |𝑚RCP | Ψ𝑗 ⟩| 𝑓 (𝐸) (7.244)
𝐸 𝑎,𝑗
Here 𝑎 and 𝑗 label members of the initial and state manifold probed in the experiments.
exp (−𝐸𝑎 /𝑘𝑇 )
𝑁𝑎 (𝐵, 𝑇 ) = ∑︀ (7.245)
exp (−𝐸𝑖 /𝑘𝑇 )
𝑖
denotes the Boltzmann population and if the 𝑎-th ground state sublevel at energy 𝐸𝑎 , 𝑓 (𝐸) stands for a line shape
function, and 𝛾 denotes a collection of constants. The electric dipole operators are given by:
where 𝑁 and 𝑖 denotes summations of nuclei (at positions 𝑅 ⃗ 𝑁 with charges 𝑍𝑁 ) and electrons (at positions ⃗𝑟𝑖 )
respectively. The calculated transition dipole moment are subjected to the space averaging over the Euler angles
which is performed by a simple summation over three angular grids.
(︂ )︂ ∫︁2𝜋 ∫︁2𝜋 ∫︁𝜋 (︂ )︂ ∑︁ (︂ ∆𝜀 )︂
∆𝜀 1 ∆𝜀
= sin 𝜃𝑑𝜃𝑑𝜑𝑑𝜓 ≈ sin 𝜃𝜏 (7.249)
𝐸 𝑒𝑣 8𝜋 2 𝐸 𝜇𝜂𝜏
𝐸 𝜇𝜂𝜏
𝜓=0 𝜑=0 𝜃=0
Finally, every transition is approximated by a Gaussian curve with a definite Gaussian shape width parameter.
Hence, the final calculated MCD spectrum arises from the superposition of these curves.
As an illustration, consider calculation of a classical example of MCD spectrum of [Fe(CN) 6 ]3− . The mrci block
of the input file is presented below.
%mrci ewin -4,10000
citype mrddci2
intmode ritrafo
Tsel 1e-6
Tpre 1e-5
etol 1e-8
rtol 1e-8
cimode direct2
maxmemint 300
solver diis
davidsonopt 0
nguessmat 150
MaxIter 50
LevelShift 0.5
PrintLevel 3
soc
printlevel 3
Domcd true # perform the MCD calculation
NInitStates 24 # number of SOC and SSC state to account
# Starts from the lowest state
NPointsTheta 10 # number of integration point for
NPointsPhi 10 # Euler angles
NPointsPsi 10 #
B 43500 # experimental magnetic field strength
# in Gauss
Temperature 299.0 # experimental temperature (in K)
end
newblock 2 *
nroots 12
excitations cisd
refs cas(23,12) end
end
end
The parameters B and Temperature can be assigned in pairs, i.e. B = 1000, 2000, 3000. . . , Temperature = 4,
10, 300. . . . The program calculates the MCD and absorption spectra for every pair. Now for every point of the
integration grid the program prints out the Euler angles, the orientation of the magnetic field in the coordinate
system of a molecule, and the energy levels.
In the next lines, ORCA calculates the strength of LCP and RCP transitions and prints the transition energies, the
difference between LCP and RCP transitions (denoted as C), and sum of LCP and RCP transitions (denoted as D),
and C by D ratio.
dE Na C D C/D
All C and D values are copied additionally into the text files input.1.mcd, input.2.mcd. . . , for every pair of Temper-
ature and B parameters. These files contain the energies and C and D values for every calculated transition. These
files are used by the program orca_mapspc to calculate the spectra lines. The orca_mapspc program generates
from the raw transitions data into spectra lines. The main parameters of the orca_mapspc program are described in
section 7.18.1. A typical usage of the orca_mapspc program for MCD spectra calculation for the current example
may look as the following:
Here the interval for the spectra generation is set from 20000 cm−1 to 50000 cm−1 , and the line shape parameter
is set to 2000 cm−1 .
Very often, it is desirable to assign different line width parameters to different peaks of the spectra to obtain a
better fitting to experiment. orca_mapspc can read the line shape parameters from a simple text file named as
input.1.mcd.inp. This file should contain the energy intervals (in cm−1 ) and the line shape parameters for this
energy interval in the form of:
This file should not be specified in the executing command; orca_mapspc checks for its presence automatically:
Finally, the orca_mapspc program generates the output text file input.1.mcd.dat which contains seven columns
of numbers: transition energies, intensities of MCD transitions (the MCD spectrum), intensities of absorption
transitions (the absorption spectrum), the ratio between the MCD and absorption intensities, and the last three
columns represent the “sticks” of the corresponding transitions.
Now the MCD and the absorption spectra can be plotted with a suitable graphical program, for instance with the
Origin program.
Fig. 7.41: Calculated MCD and absorption spectra of [Fe(CN) 6 ]3− (dash lines) compared to experimental spectra
(solid lines).
%mrci
soc
DoSOC true #
(continues on next page)
Then, the output contains three sets of data of splittings of the magnetic levels with the magnetic field applied
parallel to x, y, and z directions:
Here the number in a row represents the strength of the magnetic field (in Gauss), and the following pairs of numbers
denote the energy of the magnetic level (in cm−1 ) with its occupation number. This table can be readily plotted
with any suitable graphical program.
The “picturechange” key can be set to 0, 1, and 2 for no picture change, the first order, and the second order DKH
transformations of the SOC operator.
With “picturechange” set to 1 or 2 the DKH correction are applied in the first order to the Zeeman operator. This
correction has a visible effect on calculated g-tensors for molecules containing third-row and heavier atoms.
X-ray Spectroscopy
Likewise to the CASCI/NEVPT2 computational protocol presented in section Core excited states with
(C/R)ASCI/NEVPT2 starting from ORCA 4.2 the MRCI module can be used to compute core excited spectra,
namely X-ray absorption (XAS) and resonant inelastic scattering (RIXS) spectra.
As discussed in the case of CASCI/NEVPT2 protocol Core excited states with (C/R)ASCI/NEVPT2 a similar strat-
egy is followed to compute XAS/RIXS spectra within the MRCI module. In principle the XAS/RIXS spectra
calculations require two steps:
• In a first step one needs to optimize the valence active space orbitals in the framework of SA-CASSCF
calculations, e.g. including valence excited states in the range between 6 to 15 eV.
• In a second step the relevant core orbitals are rotated into the active space and the MRCI problem is solved
by saturating the excitation space with singly core-excited electronic configurations using the previously
optimized sets of orbitals.
• The core orbitals are also included in the XASMOs definition. The use of this keyword is two fold. At
first it effecteively reduces the number of the generated configuration state functions (CSFs) to those that
exclusively contain contributions from the defined core orbitals. In the case of RIXS also XES (see below)
the specified XASMOs are used to define intermediate or core ionized states.
A representative input for the case of Fe(Cl) 4 is provided bellow:
• In the first step one performs a SA-CASSCF calculation for the 5 and 15 quintet and triplet states (FeI-
ICl4.casscf.inp).
!CC-PWCVTZ-DK cc-pVTZ/C RIJCOSX SARC/J TightSCF DKH2
%rel
FiniteNuc true
end
%basis
newgto Cl "cc-pVTZ-DK" end
newauxgto Cl "cc-pVTZ/C" end
end
%casscf nel 6
norb 5
mult 5,3
nroots 5,15
switchstep nr
end
* xyz -2 5
Fe -17.84299991694815 -0.53096694321123 6.09104775508499
Cl -19.84288422845700 0.31089495619796 7.04101319789001
Cl -17.84298666758073 0.11868125024595 3.81067954087770
Cl -17.84301352218429 -2.87052442818457 6.45826391412877
Cl -15.84311566482982 0.31091516495189 7.04099559201853
*
• In a second step the core orbitals are rotated in the active space and the MRCI problem is solved by saturating
the excitation space with all the quintet and triplet states that involve single excitations from the core orbitals
(FeIICl4-mrci.inp)
!MORead CC-PWCVTZ-DK cc-pVTZ/C RIJCOSX SARC/J TightSCF DKH2
%moinp "FeIICl4-casscf.gbw"
%scf
rotate { 6,42,90} { 7,43,90} { 8,44,90} end
end
%basis
newgto Cl "cc-pVTZ-DK" end
newauxgto Cl "cc-pVTZ/C" end
end
%casscf
nel 12
norb 8
mult 5,3
nroots 34,195
maxiter 1
switchstep nr
end
%mrci
CIType MRCI
intmode fulltrafo
XASMOs 42, 43, 44
newblock 5 *
nroots 34
excitations cisd
refs CAS(12,8)
end
end
newblock 3 *
nroots 195
excitations cisd
refs CAS(12,8)
end
end
maxiter 100
soc
printlevel 3
dosoc true
end
end
* xyz -2 5
Fe -17.84299991694815 -0.53096694321123 6.09104775508499
Cl -19.84288422845700 0.31089495619796 7.04101319789001
Cl -17.84298666758073 0.11868125024595 3.81067954087770
Cl -17.84301352218429 -2.87052442818457 6.45826391412877
Cl -15.84311566482982 0.31091516495189 7.04099559201853
*
In a similar fashion Multireference Equation of Motopn Couple Cluster MR-EOM-CC (see next section) can also
be used to compute X-ray spectra. Further information can be found in reference[550]
As it is explicitly described in the respective ROCIS section RIXS spectra can be requested by the following key-
words:
Please consult section Resonant Inelastic Scattering Spectroscopy for processing and analyzing the generated spec-
tra
Likewise to TDDFT (Use of TD-DFT for the Calculation of X-ray Absorption Spectra) ROCIS (General Use) and
CASSCF (Core excited states with (C/R)ASCI/NEVPT2) the computed transition densities also in the presence of
SOC can be taken beyond the dipole approximation by using the OPS tool for details.
1. by performing a multiple expantion up to second order
2. by computing the exact transition moments
The whole set of spectroscopy tables can be requested with the following commands:
%mrci
DoDipoleLength true
DoDipoleVelocity true
DoHigherMoments true
DecomposeFoscLength true
DecomposeFoscVelocity true
DoFullSemiclassical true
end
More details can be found in TDDFT (Use of TD-DFT for the Calculation of X-ray Absorption Spectra) ROCIS
(General Use) and CASSCF (Core excited states with (C/R)ASCI/NEVPT2) sections.
Starting from ORCA 4.2 the previously reported RASCI-XES protocol reference[691], which can compute K𝛽
Mainline XES spectra, can be processed entirely within the ORCA modules. In ORCA 5.0 a similar protocol
(CASCI-XES) exist in the CASSCF module (Core excited states with (C/R)ASCI/NEVPT2)
• Like above or in the CASCI/NEVPT2 case in a first step one needs to optimize the valence active space
orbitals in the framework of SA-CASSCF calculations, e.g. including valence excited states in the range
between 6 to 15 eV for the N electron system.
• In a second step the metal 1s and 3p orbitals are rotated in the active space and the 1s MO is defined in the
XASMOs list
• Computes the XES spectrum in the RASCI framework for the N-1 electron system in the presence of SOC
if the XESSOC keyword for all the states that are dominated by 3p-1s electron decays.
A representative input sequence for the case of Fe(Cl) 6 is provided bellow:
As described in reference[691] at first for a CAS(5,5) the excitation space is saturated by the sextet as well as the
24 quartet and the 75 doublet states which are optimized in the SA-CASSCF fashion.
%cpcm
epsilon 80
refrac 1.33
surfacetype gepol_ses
end
%scf
MaxDisk 40000
end
%casscf
nel 5
(continues on next page)
*xyzfile -3 6
Fe 0.0000 0.0000 0.000000
Cl 2.478 0.0000 0.000
Cl -2.478 0.0000 0.000
Cl 0.000005 2.478 0.00000
Cl 0.000005 -2.478 -0.0000
Cl -0.000 -0.000 2.478
Cl 0.000 -0.0000 -2.478
*
In following the 1s and 3p Fe based MOs are rotated in the active space and the XES spectra are computed for the
[Fe(Cl) 6 ]+ system for the 4 septet and 81 quintet states.
%moinp "fecl6_casscf.gbw"
%cpcm
epsilon 80
refrac 1.33
surfacetype gepol_ses
end
%scf
MaxDisk 40000
end
%scf
rotate {0,59,90} {36, 60, 90} {37,61,90} {38,62,90} end
end
*xyzfile -2 7
(continues on next page)
As a result the X-ray emission spectrum is calculated and the intensities are computed on the basis of the transition
electric dipole moments
-------------------------------------------------------------------------------------
SPIN-ORBIT X-RAY EMISSION SPECTRUM VIA TRANSITION ELECTRIC DIPOLE MOMENTS
-------------------------------------------------------------------------------------
Transition Energy INT TX TY TZ
1 421 -> 5 7228.632 0.000000000000 0.00000 0.00000 0.00000
2 422 -> 5 7228.632 0.000000000000 0.00000 0.00000 0.00000
3 423 -> 5 7228.632 0.000000000000 0.00000 0.00000 0.00000
4 424 -> 5 7228.632 0.000000000000 0.00000 0.00000 0.00000
5 425 -> 5 7228.632 0.000000000000 0.00000 0.00000 0.00000
...
242 422 -> 25 7177.286 0.000917305388 0.00025 0.00171 0.00149
243 423 -> 25 7177.286 0.002043577370 0.00197 0.00211 0.00181
244 424 -> 25 7177.286 0.000789769987 0.00114 0.00133 0.00119
245 425 -> 25 7177.286 0.000026130790 0.00018 0.00034 0.00002
246 426 -> 25 7177.286 0.000035191741 0.00034 0.00028 0.00003
247 427 -> 25 7177.286 0.005143175830 0.00294 0.00345 0.00296
248 428 -> 25 7177.341 0.000000000000 0.00000 0.00000 0.00000
249 429 -> 25 7177.341 0.000000000001 0.00000 0.00000 0.00000
250 430 -> 25 7177.341 0.000000000001 0.00000 0.00000 0.00000
251 431 -> 25 7177.341 0.000000000000 0.00000 0.00000 0.00000
252 432 -> 25 7177.341 0.000000000000 0.00000 0.00000 0.00000
...
4991 431 -> 420 7153.111 0.000195885011 0.00106 0.00000 0.00000
4992 432 -> 420 7153.111 0.002719228427 0.00256 0.00299 0.00002
All Done
-------------------------------------------------------------------------------------
The resulted XES spectrum can be visualized by processing the above output file with the orca_mapspc
Table 7.24: The details of the various MR-EOM transformations that are considered in the ORCA implementation
of MR-EOM. The equations for the operator components and the residual equations which determine the corre-
sponding amplitudes also appear in the Table. Note that we use the usual (Einstein) convention that repeated indices
are summed over.
Name Transformation Operators Operator Compo- Residual Equation
nents
T 𝐻 = 𝑒−𝑇 𝐻𝑒
̂︀ ̂︀ 𝑇̂︀
𝑇̂︀ = 𝑇̂︀1 + 𝑇̂︀2 𝑇̂︀1 = 𝑡𝑎𝑖 𝐸
̂︀ 𝑎 𝑅𝑖𝑎 =
̂︀
𝑖
∑︀ ̂︀ 𝑖 ̂︀
m 𝑤m ⟨Φm | 𝐸𝑎𝐻 |Φm ⟩
𝑝 {︀
̂︀𝑞𝑝 + ℎ𝑝𝑞 𝑇̂︀2 = 12 𝑡𝑎𝑏
𝑎𝑏
}︀ {︀ 𝑝𝑞 }︀
= ℎ0 + ℎ𝑞 𝐸 𝑟𝑠 𝐸𝑟𝑠 +
̂︀ 𝑎𝑏 𝑎𝑏
𝑖𝑗 𝐸𝑖𝑗 𝑅𝑖𝑗 = ℎ𝑖𝑗
̂︀
...
̂︀†
T† 𝐻 2 𝑒 −𝑇 𝑇̂︀† = 𝑇̂︀1† + 𝑇̂︀1† = 𝑡𝑖𝑎 𝐸
̂︀𝑎𝑖 None (i.e. set 𝑡𝑖𝑎 ≈ 𝑡𝑎𝑖 )
̂︀
𝑇̂︀2†
𝑇̂︀2† = 21 𝑡𝑖𝑗 ̂︀ 𝑖𝑗 None (i.e. set 𝑡𝑖𝑗
𝑎𝑏 ≈ 𝑡𝑖𝑗 )
{︀ 𝑝 }︀ {︀ 𝑝𝑞 }︀
= ̃︀ ℎ 𝑝𝑞 𝐸
ℎ0 + ̃︀ ℎ 𝑝𝑞
̂︀𝑞 + ̃︀ 𝑟𝑠 𝐸𝑟𝑠 +
̂︀
𝑎𝑏 𝐸𝑎𝑏
𝑎𝑏
...
SXD 𝐹 = 𝑆̂︀ = 𝑆̂︀2 𝑆̂︀2 = 𝑠𝑎𝑤 ̂︀ 𝑎𝑤
𝑖′ 𝑗 ′ 𝐸𝑖′ 𝑗 ′ 𝑅𝑖𝑎𝑤 𝑎𝑤
′ 𝑗 ′ = 𝑓 𝑖′ 𝑗 ′
̂︀
̂︀ ̂︀ ̂︀ }︀−1 ̂︀ {︀ 𝑆+
{︀ 𝑆+ ̂︀ ̂︀ ̂︀ }︀
𝑒 𝑋+𝐷 ℋ2 𝑒 𝑋+𝐷
{︀ 𝑝 }︀ {︀ 𝑝𝑞 }︀
= 𝑓 0 +𝑓 𝑝𝑞 𝐸 ̂︀𝑞 +𝑓 𝑝𝑞𝑟𝑠 𝐸𝑟𝑠 +
̂︀ 𝑋
̂︀ = 𝑋
̂︀2 ̂︀2 = 𝑥𝑎𝑤
𝑋 ̂︀ 𝑎𝑤
𝑖′ 𝑥 𝐸𝑖′ 𝑥 𝑅𝑖𝑎𝑤 𝑎𝑤
′ 𝑥 = 𝑓,𝑖′ 𝑥
...
𝐷
̂︀ = 𝐷
̂︀ 2 ̂︀ 2 = 𝑑𝑎𝑤′ 𝐸
𝐷 ̂︀ 𝑎𝑤′ 𝑎𝑤
𝑅𝑥𝑖 𝑎𝑤
′ = 𝑓 𝑥𝑖′
𝑥𝑖 𝑥𝑖
U 𝐺 −𝑈
̂︀ = 𝑒 𝐹 2 𝑒 𝑈
𝑈
̂︀ = 𝑈 𝑤𝑥 ̂︀ 𝑤𝑥
𝑈2 = 𝑢 ′ ′ 𝐸 ′ ′ 𝑅𝑖𝑤𝑥 𝑤𝑥
′ 𝑗 ′ = 𝑔𝑖′ 𝑗 ′
̂︀ ̂︀ ̂︀ ̂︀2 ̂︀
{︀ 𝑝 }︀ {︀ }︀ 𝑖𝑗 𝑖𝑗
= 𝑔0 + 𝑔𝑞𝑝 𝐸 𝑝𝑞 ̂︀ 𝑝𝑞
̂︀𝑞 + 𝑔𝑟𝑠 𝐸𝑟𝑠 +
...
As the details concerning the MR-EOM methodology are rather involved, we refer the interested reader to
Refs. [193, 194, 203, 406, 407, 640] for a more detailed discussion. Note that the details concerning the im-
plementation of MR-EOM in ORCA can be found in Refs. [406] and [407]. In the following discussion, we note
that general spatial orbitals 𝑝, 𝑞, 𝑟, 𝑠, which comprise the molecular orbital basis, are partitioned into (doubly oc-
cupied) inactive core orbitals 𝑖′ , 𝑗 ′ , 𝑘 ′ , 𝑙′ , occupied orbitals 𝑖, 𝑗, 𝑘, 𝑙 (i.e. the union of the inactive core and active
orbital subspaces), active orbitals 𝑤, 𝑥, 𝑦, 𝑧 and virtual orbitals 𝑎, 𝑏, 𝑐, 𝑑. In general, the many-body similarity
transformations assume the general form
̂︀ = 𝑒𝑌̂︀ −1𝐻
{︀ }︀ ̂︀ {︀ 𝑌̂︀ }︀ ∑︁ {︀ }︀ ∑︁
𝑔𝑞𝑝 𝐸
̂︀𝑞𝑝 + 𝑝𝑞 ̂︀ 𝑝𝑞
{︀ }︀
𝐺 2 𝑒 = 𝑔0 + 𝑔𝑟𝑠 𝐸𝑟𝑠 + . . . ,
𝑝,𝑞 𝑝,𝑞,𝑟,𝑠
in which 𝑌̂︀ is a cluster operator and 𝐻2 is the bare Hamiltonian or a similarity transformed Hamiltonian truncated
̂︀
up to two-body operators. The braces indicate Kutzelnigg-Mukherjee normal ordering [485, 597], which is used
extensively in the definition of the MR-EOM formalism. The various transformations which need to be considered
in the ORCA implementation of MR-EOM are summarized in Table Table 7.24. The table also includes the expres-
sions for the operator components of the various internally contracted cluster operators and the residual equations
that must be solved for the various amplitudes. Note that the residual equations are typically of the many-body type
(i.e. obtained by setting the corresponding elements of the similarity transformed Hamiltonian to zero). The only
exception is the residual equation which defines the 𝑡𝑎𝑖 amplitudes, which is a projected equation of the form
∑︁
𝑅𝑖𝑎 = ̂︀𝑎𝑖 𝐻|Φ
⟨︀ ⟩︀
𝑤m Φm |𝐸 ̂︀ m .
m
Here, |Φm is the mth state included in the state averaged CAS, with weight 𝑤m . The reason the equation for the
⟩︀
singles is of the projected form is that it satisfies the Brillouin theorem (i.e. the first order singles vanish for all 𝑖
and 𝑎), whereas the corresponding many-body equation (ℎ̄𝑎𝑖 = 0) does not.
Note that there are three different MR-EOM approaches which have been implemented in ORCA. Namely, the
current implementation allows for MR-EOM-T|T† -h-v, MR-EOM-T|T† |SXD-h-v and MR-EOM-T|T† |SXD|U-h-v
calculations. At this point it is useful to discuss the naming convention used for these approaches. We use a vertical
line to separate each transformation involved in the sequence of transformations defining the given MR-EOM
approach. For example, T|T† |SXD indicates that a T transformation, is followed by a T† transformation, which is
then followed by an SXD transformation. The h-v indicates that the elements of the transformed Hamiltonian have
been hermitized (h) and vertex symmetrized (v) before entering the MRCI diagonalization (see Ref. [407] for more
information). Essentially, this means that the full eightfold symmetry of the two-electron integrals (and hermiticity
of the one-body elements) have been enforced upon the elements of the transformed Hamiltonian. The details
of the three MR-EOM approaches are summarized in Table Table 7.25. This table includes the keyword (in the
first line of input) used to initiate the calculation in ORCA, the various operators involved, and the configurations
included in the final diagonalization manifold. One can clearly see that the MR-EOM-T|T† |SXD|U-h-v approach is
the most cost effective, as it only includes the 1h and 1p configurations, beyond the CAS, in the final diagonalization
manifold.
The various %mdci keywords, which are important for controlling MR-EOM calculations are (i.e. default values
are given here):
%mdci
STol 1e-7 #Convergence Tolerance on Residual Equations
MaxIter 100 #Maximum Number of Iterations
DoSingularPT false #Activate the Singular PT/Projection Procedure
SingularPTThresh 0.01 #Threshold for the Singular PT/Projection
#Procedure
PrintOrbSelect false #Print the Eigenvalues of the Orbital Selection
#Densities (and R_core and R_virt values)
#and Terminate the Calculation
CoreThresh 0.0 #Core Orbital Selection Threshold
VirtualThresh 1.0 #Virtual Orbital Selection Threshold
end
As discussed below, the orbital selection scheme is activated by adding !OrbitalSelection to the simple input
line. Keywords that are specific to the CASSCF and MRCI modules are discussed in sections The Complete Active
Space Self-Consistent Field (CASSCF) Module and The Multireference Correlation Module, respectively. We
note that in MR-EOM-T|T† -h-v and MR-EOM-T|T† |SXD-h-v calculations, it is possible to override the default
excitation classes in the final MRCI diagonalization. This is done by specifying excitations none and then
explicitly setting the excitation flags within a given multiplicity block. For example, if we wanted to have 1h, 1p,
1h1p, 2h and 2h1p excitations in the final diagonalization manifold, we would specify (i.e. here we have requested
6 singlets and have a CAS(6,4) reference):
%mrci
newblock 1 *
excitations none
Flags[is] 1
Flags[sa] 1
Flags[ia] 1
Flags[ijss] 1
Flags[ijsa] 1
nroots 6
refs
cas(6,4)
end
end
end
%casscf
nel 8
norb 6
mult 5
nroots 12
weights[0] = 0.7, 0.7, 0.7, 0.7, 0.7, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5
end
* xyz 0 5
Fe 0.000000 0.000000 0.000000
end
Here, we have requested 12 quintet states (the lowest lying 5 D and 5 F multiplets) and we have chosen the weights
to be 0.7 for the five 5 D states and 0.5 for the seven 5 F states, such that the overall occupation of the 4s orbital will
be 1.5. Once the calculation has converged, it is important to inspect the results printed in the final macro-iteration
of the CASSCF calculation (macro-iteration 8 in this case). In this case, we have:
MACRO-ITERATION 8:
--- Inactive Energy E0 = -1249.82392764 Eh
--- All densities will be recomputed
CI-ITERATION 0:
-1271.258899450 0.000000000001 ( 0.00)
-1271.258899450 0.000000000001
-1271.258899450 0.000000000001
-1271.258899450 0.000000000001
-1271.258899450 0.000000000001
-1271.186288591 0.000000000001
-1271.186288591 0.000000000001
-1271.186288591 0.000000000002
-1271.186288591 0.000000000001
-1271.186288591 0.000000000001
-1271.186288591 0.000000000001
-1271.186288591 0.000000000001
CI-PROBLEM SOLVED
DENSITIES MADE
E(CAS)= -1271.222594021 Eh DE= -1.591616e-12
--- Energy gap subspaces: Ext-Act = 0.276 Act-Int = 2.469
N(occ)= 1.50000 1.30000 1.30000 1.30000 1.30000 1.30000
||g|| = 4.669702e-05 Max(G)= 1.104493e-05 Rot=68,1
Directly below CI-ITERATION 0, the final CAS-CI energies are printed, and one observes that they follow the cor-
rect degeneracy pattern (i.e. 5 states with energy -1271.258899450 and 7 states with energy -1271.186288591).
Furthermore, the final state-averaged CASSCF energy (E(CAS)= -1271.222594021) and occupation numbers
(N(occ)= 1.50000 1.30000 1.30000 1.30000 1.30000 1.30000) are also printed. As expected, the oc-
cupation number of the 4s orbital is indeed 1.5, while the 3d orbitals each have an occupation of 1.3.
!MOREAD
%moinp "CAS.gbw"
%casscf
nel 8
norb 6
mult 5,3,1
nroots 15,90,55
end
* xyz 0 5
Fe 0.000000 0.000000 0.000000
end
Here, after some experimentation, we have chosen 15 quintets, 90 triplets and 55 singlets. It is important that we
calculate states up to sufficiently high energy (i.e. all the states that are of interest) and it is imperative that we have
complete multiplets. Hence, several iterations of this procedure might be required to choose the proper number
of states for each multiplet. The relevant section of the output file which should be analyzed is the SA-CASSCF
TRANSITION ENERGIES. For the above calculation, we obtain (i.e. only the CAS-CI energies for the first 33 roots
are shown here):
-----------------------------
SA-CASSCF TRANSITION ENERGIES
------------------------------
!MOREAD
%moinp "CAS.gbw"
%casscf
nel 8
norb 6
mult 5
nroots 12
weights[0] = 0.7, 0.7, 0.7, 0.7, 0.7, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5
end
%mdci
ewin -6, 10000
STol 1e-7
end
%mrci
ewin -6, 10000
MaxIter 200
newblock 5 *
nroots 15
refs cas(8,6) end
end
newblock 3 *
nroots 90
refs cas(8,6) end
end
newblock 1 *
nroots 55
refs cas(8,6) end
end
end
Note that since the default frozen core settings exclude the 3p orbitals from the correlation treatment, we have used
an energy window (i.e. the line ewin -6, 10000 in both the %mdci and %mrci blocks) such that they are included
in the current calculation. We note that a detailed discussion of the input and output of an MR-EOM calculation
has already been given in section MR-EOM-CC: Multireference Equation of Motion Coupled-Cluster and thus,
we do not repeat it here. It is important to reiterate that one should always inspect the values of the largest (T, S
and U) amplitudes. Ideally, the largest amplitudes should be smaller than 0.1 and should not exceed 0.15. If some
amplitudes are larger than 0.15, it might be necessary to revisit the definition of the CAS and the weights used.
For the T amplitudes, an alternative solution is to use the projection/singular PT scheme discussed in section A
Projection/Singular PT Scheme to Overcome Convergence Issues in the T Amplitude Iterations below.
As discussed in section MR-EOM-CC: Multireference Equation of Motion Coupled-Cluster, the excitation energies
are printed under the heading TRANSITION ENERGIES. For the current calculation, we obtain the following results
(only the results for 33 states are shown here):
-------------------
TRANSITION ENERGIES
-------------------
It is also important to recall that one should always inspect the reference weights for each state, as only states
which are dominated by reference space configurations can be treated accurately at the MR-EOM level of theory.
Generally, the reference weights should be larger than (or close to) 0.9. In each multiplicity block, the individual
state energies and reference weights can be found following convergence of the MRCI procedure, under the heading
CI-RESULTS (see section MR-EOM-CC: Multireference Equation of Motion Coupled-Cluster for a more detailed
discussion).
%casscf
nel 8
norb 6
mult 5
nroots 12
weights[0] = 0.7, 0.7, 0.7, 0.7, 0.7, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5
etol 1e-12
gtol 1e-12
end
%mdci
ewin -6, 10000
MaxIter 300
STol 1e-12
end
%mrci
ewin -6, 10000
MaxIter 200
newblock 5 *
nroots 15
refs cas(8,6) end
end
newblock 3 *
nroots 90
refs cas(8,6) end
end
newblock 1 *
nroots 55
refs cas(8,6) end
end
soc
dosoc true #include spin-orbit coupling effects
end
end
* xyz 0 5
Fe 0.000000 0.000000 0.000000
end
In contrast with the calculation performed in section The Steps Required to Run an MR-EOM Calculation, the
convergence thresholds have been tightened in all aspects of the calculation (i.e. the use of the ExtremeSCF key-
word, etol and gtol (CASSCF energy and orbital gradient convergence tolerance) are set to 1 × 10−12 and the
convergence tolerance for the residuals in the MR-EOM amplitude iterations have been set to 1 × 10−12 ). We note
that with the use of the ExtremeSCF keyword, the convergence tolerance on the energy (Etol) and residual (Rtol)
in the MRCI portion of the calculation are also set to 1 × 10−12 . Although it is not absolutely necessary, we have
used very strict convergence thresholds to preserve the degeneracies of the various multiplets as much as possible.
The output of spin-orbit corrected MR-EOM spectrum appears under the heading SOC CORRECTED ABSORPTION
SPECTRUM VIA TRANSITION DIPOLE MOMENTS:
-----------------------------------------------------------------------------------------------
˓→---------
It is possible to obtain more accurate results by performing an MR-EOM-T|T† |SXD-h-v calculation and including
the 1h1p excitations. It is important to note that these calculations are significantly more expensive. As discussed
above, to run an MR-EOM-T|T† |SXD-h-v calculation, the keyword MR-EOM-T|Td|SXD must appear in the first
line of input and, in order to activate the 1h1p excitations in each multiplicity block of the MRCI calculation, the
%mrci block takes the form:
%mrci
ewin -6, 10000
MaxIter 200
newblock 5 *
nroots 15
excitations none
Flags[is] 1
Flags[sa] 1
Flags[ia] 1
Flags[ijss] 1
refs cas(8,6) end
end
newblock 3 *
nroots 90
excitations none
Flags[is] 1
Flags[sa] 1
Flags[ia] 1
Flags[ijss] 1
refs cas(8,6) end
end
newblock 1 *
nroots 55
excitations none
Flags[is] 1
Flags[sa] 1
Flags[ia] 1
Flags[ijss] 1
refs cas(8,6) end
end
soc
dosoc true
end
end
We use excitations none to set the default excitation flags to false and then manually set the 1h (Flags[is]),
1p (Flags[sa]), 1h1p (Flags[ia]) and 2h (Flags[ijss]) excitation flags to true.
WARNINGS
• Currently, MR-EOM-T|T† |SXD|U-h-v calculations can only be run with the default excitation classes in the
final MRCI (i.e. 1h and 1p). Any other input options for the excitation flags will automatically be overwritten
and set to the default values.
• Only the inclusion of spin-orbit coupling effects has been tested for MR-EOM calculations. Other features
that are available in the MRCI module (e.g. spin-spin coupling, magnetic property calculations, etc.) have
not been tested for use within MR-EOM calculations.
%casscf
nel 4
norb 4
nroots 2
mult 3
end
%mdci
STol 1e-7
MaxIter 60
end
%mrci
newblock 1 *
nroots 3
refs cas(4,4) end
end
newblock 3 *
nroots 3
refs cas(4,4) end
end
end
* xyz 0 3
H -0.879859 0.000000 1.874608
H 0.879859 0.000000 1.874608
H 0.000000 2.211693 0.612518
H 0.000000 -2.211693 0.612518
H 0.000000 1.349811 -1.886050
H 0.000000 -1.349811 -1.886050
C 0.000000 0.000000 1.215652
C 0.000000 -1.177731 0.285415
C 0.000000 1.177731 0.285415
C 0.000000 -0.732372 -0.993420
C 0.000000 0.732372 -0.993420
(continues on next page)
The T amplitude iterations do not converge after 60 iterations and show no signs of convergence (i.e. final largest
residual of 0.000458135 and oscillatory behavior over a significant portion of the iterations). If we inspect the
largest T amplitudes,
--------------------
LARGEST T AMPLITUDES
--------------------
19-> 24 19-> 24 0.043103
19-> 23 19-> 23 0.031162
11-> 25 11-> 25 0.028458
19-> 41 19-> 41 0.027950
11-> 47 11-> 47 0.027026
19-> 22 19-> 22 0.025163
19-> 21 19-> 21 0.022167
15-> 26 15-> 26 0.022084
11-> 47 11-> 25 0.022033
11-> 25 11-> 47 0.022033
19-> 24 19-> 29 0.021769
19-> 29 19-> 24 0.021769
19-> 36 19-> 36 0.020986
17-> 38 17-> 38 0.019743
19-> 41 16-> 36 0.019107
18-> 40 18-> 40 0.017949
one can see that there are no unusually large amplitudes. If we turn on the singular PT/projection scheme by adding
the line DoSingularPT true to the %mdci block:
%mdci
STol 1e-7
MaxIter 60
DoSingularPT true
end
and rerun the calculation, we find that the T amplitude iterations now successfully converge in 22 iterations. If we
look at the largest T amplitudes:
--------------------
LARGEST T AMPLITUDES
--------------------
11-> 25 11-> 25 0.028440
11-> 47 11-> 47 0.027027
15-> 26 15-> 26 0.022069
11-> 47 11-> 25 0.022031
11-> 25 11-> 47 0.022031
19-> 41 19-> 41 0.020463
17-> 38 17-> 38 0.018288
11-> 43 11-> 43 0.017250
11-> 39 11-> 39 0.016838
15-> 27 15-> 27 0.016001
13-> 26 13-> 26 0.015985
16-> 36 16-> 36 0.015759
19-> 41 16-> 36 0.015697
18-> 40 18-> 40 0.015376
17-> 31 17-> 31 0.015074
18-> 40 17-> 38 0.014470
most of the amplitudes corresponding to the active pair (𝑤, 𝑥) = (19, 19) no longer appear in the list (i.e. they are
nearly singular amplitudes which have been projected out). The only one that does appear in the list, corresponds
to a projected perturbative estimate (e.g. 19-> 41 19-> 41 0.020463).
By default, when the singular PT/projection scheme is active, the amplitudes 𝑡𝑎𝑏
𝑤𝑥 for which the pair occupation
numbers satisfy 𝑛𝑤𝑥 < 0.01 (i.e. SingularPTThresh = 0.01), are replaced by perturbative amplitudes in the
procedure. However, in some cases, it might be necessary to increase the SingularPTThresh threshold beyond
the default value to achieve convergence. One such example is the ferrocene molecule. Consider the following
calculation:
!MR-EOM def2-SVP
%casscf
nel 6
norb 5
mult 1,3
nroots 5,6
end
%mdci
DoSingularPT true
MaxIter 50
end
%mrci
newblock 1 *
nroots 18
refs cas(6,5) end
end
newblock 3 *
nroots 10
refs cas(6,5) end
end
end
* xyz 0 1
Fe 0.000000 0.000000 0.000000
C 0.000000 1.220080 1.650626
C -1.160365 0.377025 1.650626
C -0.717145 -0.987065 1.650626
C 0.717145 -0.987065 1.650626
C 1.160365 0.377025 1.650626
C 0.000000 1.220080 -1.650626
C 1.160365 0.377025 -1.650626
C 0.717145 -0.987065 -1.650626
C -0.717145 -0.987065 -1.650626
C -1.160365 0.377025 -1.650626
H 0.000000 2.306051 1.635648
H -2.193184 0.712609 1.635648
H -1.355463 -1.865634 1.635648
H 1.355463 -1.865634 1.635648
H 2.193184 0.712609 1.635648
H 0.000000 2.306051 -1.635648
H 2.193184 0.712609 -1.635648
H 1.355463 -1.865634 -1.635648
H -1.355463 -1.865634 -1.635648
H -2.193184 0.712609 -1.635648
end
The T amplitude iterations do not converge after 50 iterations, even though the singular PT/projection scheme is
activated. If we increase SingularPTThresh to 0.05 by adding SingularPTThresh 0.05 to the %mdci block:
%mdci
DoSingularPT true
SingularPTThresh 0.05
MaxIter 50
(continues on next page)
in which
∑︁ (1)
(︁ (1) (1)
)︁
𝐷𝑖𝑡′ 𝑗 ′ = 𝑡𝑎𝑏
𝑖′ 𝑤 2𝑡𝑎𝑏 𝑏𝑎
𝑗 ′ 𝑤 − 𝑡𝑗 ′ 𝑤 ,
𝑤,𝑎,𝑏
∑︁ [︁ (1)
(︁ (1)
)︁ (︁ )︁ ]︁
𝑎𝑤(1) 𝑎𝑤(1) 𝑎𝑤(1) 𝑎𝑤(1)
𝐷𝑖𝑠′ 𝑗 ′ = 𝑠𝑎𝑤
𝑖′ 𝑘 2𝑎𝑤
′
𝑗 𝑘 − 𝑠𝑘𝑗 ′ + 𝑠𝑘𝑖 ′ 2𝑠𝑘𝑗 ′ − 𝑠 ′
𝑗 𝑘 ,
𝑘,𝑤,𝑎
∑︁ (1)
(︁ (1) (1)
)︁
𝐷𝑖𝑢′ 𝑗 ′ = 𝑢𝑤𝑥
𝑖′ 𝑘′ 2𝑢𝑤𝑥 𝑤𝑥
𝑗 ′ 𝑘 ′ − 𝑢𝑘 ′ 𝑗 ′ ,
𝑘′ ,𝑤,𝑥
Diagonalization of the core orbital selection density 𝐷𝑖′ 𝑗 ′ and the virtual orbital selection density 𝜌𝑎𝑏 then yields
two respective sets of eigenvalues {𝜆𝑖′ } and {𝜆𝑎 }. We have found it useful to compute the ratios,
∑︀𝑛excluded
core
′ 𝜆𝑖′ (7.254)
ℛcore = ∑︀𝑖 𝑛=0core
× 100%,
𝑖′ =0 𝜆𝑖
′
∑︀𝑛excluded
virt
𝜆𝑎 (7.255)
ℛvirt = ∑︀𝑎=0
𝑛virt × 100%,
𝑎=0 𝑎 𝜆
of the sum of the excluded eigenvalues to the sum over all eigenvalues. The orbital selection in the core and virtual
subspaces is then based upon the values of these ratios, as will be discussed below.
The orbital selection procedure is activated by adding the keyword OrbitalSelection to the first line of input,
e.g.
There are two threshold parameters CoreThresh and VirtualThresh, which are used to determine which inactive
core and virtual orbitals are to be discarded in the orbital selection procedure, respectively. Namely, all inactive
core orbitals for which ℛcore < CoreThresh (i.e. ℛcore as defined in Eq. (7.254)) are discarded and all virtual
orbitals satisfying the condition ℛvirt < VirtualThresh (i.e. ℛvirt as defined in Eq. (7.255)) are discarded. The
default values of these thresholds are CoreThresh = 0.0 (no core orbital selection) and VirtualThresh = 1.0.
However, the values of these parameters can easily be changed by redefining them in the %mdci block:
%mdci
CoreThresh 1.0
VirtualThresh 1.0
end
Let us consider the calculation of the previous section (A Projection/Singular PT Scheme to Overcome Convergence
Issues in the T Amplitude Iterations) on ferrocene, with the orbital selection procedure activated (using the default
thresholds):
%casscf
nel 6
norb 5
mult 1,3
nroots 5,6
end
%mdci
DoSingularPT true
SingularPTThresh 0.05
MaxIter 50
end
%mrci
newblock 1 *
nroots 18
refs cas(6,5) end
end
newblock 3 *
nroots 10
refs cas(6,5) end
end
end
* xyz 0 1
Fe 0.000000 0.000000 0.000000
C 0.000000 1.220080 1.650626
C -1.160365 0.377025 1.650626
C -0.717145 -0.987065 1.650626
C 0.717145 -0.987065 1.650626
C 1.160365 0.377025 1.650626
C 0.000000 1.220080 -1.650626
C 1.160365 0.377025 -1.650626
C 0.717145 -0.987065 -1.650626
C -0.717145 -0.987065 -1.650626
C -1.160365 0.377025 -1.650626
H 0.000000 2.306051 1.635648
H -2.193184 0.712609 1.635648
H -1.355463 -1.865634 1.635648
H 1.355463 -1.865634 1.635648
H 2.193184 0.712609 1.635648
(continues on next page)
The details of the orbital selection procedure are printed under the heading ORBITAL SELECTION:
------------------------------------------------
ORBITAL SELECTION
------------------------------------------------
-------------------------------------------
TIMINGS FOR THE ORBITAL SELECTION PROCEDURE
-------------------------------------------
Comparing the number of virtual orbitals before the orbital selection procedure (171) with the number that are left
after orbital selection (77), we see that more than half have been discarded (94). The canonical calculation (without
orbital selection) takes 149373 seconds to run and yields the following excitation energies:
-------------------
TRANSITION ENERGIES
-------------------
In contrast, the calculation with the orbital selection procedure activated runs in 28977 seconds (a factor of 5
speedup) and produces the following excitation energies:
-------------------
TRANSITION ENERGIES
-------------------
We note that the excitation energies in the orbital selection procedure agree very nicely with those of the canon-
ical calculation. However, the total energies are significantly different, as we currently have not implemented a
procedure to correct them. Hence, the following warning is particularly important.
WARNING
• The orbital selection procedure should only be used for the calculation of excitation energies. Total ener-
gies computed with the orbital selection procedure have not been corrected and can differ greatly from the
canonical results.
Before leaving the discussion of the orbital selection procedure, we note that there is also a keyword
PrintOrbSelect, which can be added to the %mdci block to print the eigenvalues of the inactive core orbital se-
lection and virtual orbital selection densities and the corresponding values of ℛcore and ℛvirt defined in Eqs. (7.254)
and (7.255), respectively. This is useful if one wants to manually select the orbitals to discard in the orbital selec-
tion procedure by adjusting the values of CoreThresh and VirtualThresh. We note that the program terminates
after printing. In the case of the calculation on ferrocene, if we modify the %mdci block to read
%mdci
DoSingularPT true
SingularPTThresh 0.05
MaxIter 50
PrintOrbSelect True
end
we find the following information in the ORBITAL SELECTION section of the output (only the first 50 values for
the virtual orbital selection density are shown here):
Eigenvalues and corresponding R_core values for the core orbital selection density
Eigenvalues and corresponding R_virt values for the virtual orbital selection density
.
.
.
In conclusion, the orbital selection scheme provides a more efficient way to calculate accurate excitation spectra
within the framework of MR-EOM. It can be used to extend the applicability of this approach to larger systems and
we expect it to be much more effective in larger systems where the chromophore is localized to a small part of the
molecule. We reiterate that it is currently limited to the calculation of excitation energies and should not be used
if one is interested in total energies.
configurations). As more of the excitation classes are included through the successive similarity transformations
of the Hamiltonian, the size of the final diagonalization manifold is greatly decreased resulting in much smaller
size-extensivity errors upon going from MR-EOM-T|T† -h-v to MR-EOM-T|T† |SXD|U-h-v. To illustrate this, let
us consider the O2 —O2 dimer where the O2 molecules are separated by a large distance. For the O2 monomer,
we employ a minimal active space consisting of 2 electrons distributed amongst the two 𝜋 * orbitals and we only
consider the ground 3 Σ− 𝑔 state (no state-averaging). In the MR-EOM calculations, we also calculate the higher
lying 1 ∆𝑔 and 1 Σ+𝑔 singlet states. For example, the input file for the MR-EOM-T|T† |SXD|U-h-v calculation is
given by:
%casscf
nel 2
norb 2
nroots 1
mult 3
end
%mdci
MaxIter 300
STol 1e-12
end
%mrci
newblock 1 *
nroots 3
refs cas(2,2) end
end
newblock 3 *
nroots 1
refs cas(2,2) end
end
end
* xyz 0 3
O 0.00000000 -0.00000000 -0.60500000
O -0.00000000 0.00000000 0.60500000
*
In the case of the dimer, we take the reference state as the coupled quintet state which is formed as the product
𝑔 of the monomer states. We note that at large separation, in the non-interacting limit, the dimer state
3 +
Σ 𝑔 ⊗ 3 Σ+
energies can be decomposed as the sum of monomer state energies. There are various possibilities, taking into
account the degeneracies of the various states:
1. a singlet, a triplet, and a quintet with energy 𝐸(3 Σ− 3 −
𝑔 + Σ𝑔 ),
Hence, in the final diagonalization step of the MR-EOM calculation, we must ask for 10 singlets, 7 triplets and
1 quintet. The input file for the MR-EOM-T|T† |SXD|U-h-v calculation on the dimer is given by:
%casscf
nel 4
norb 4
(continues on next page)
%mdci
MaxIter 300
STol 1e-12
end
%mrci
newblock 1 *
nroots 10
refs cas(4,4) end
end
newblock 3 *
nroots 7
refs cas(4,4) end
end
newblock 5 *
nroots 1
refs cas(4,4) end
end
end
* xyz 0 5
O 0.00000000 0.00000000 -500.60500000
O 0.00000000 -0.00000000 -499.39500000
O -0.60500000 0.00000000 500.00000000
O 0.60500000 -0.00000000 500.00000000
*
In Table Test for size consistency in MR-EOM: Differences in energy (in mE_\text{h}) between the _2—O_2 dimer
energies (at large separation) and the sum of the monomer energies for the ground state and various excited states.
The results were obtained in an aug-cc-pVTZ basis using minimal active spaces., we have compiled the results
of the size consistency test, taking the difference of the dimer state energies (at large separation) and the sum of
the monomer state energies (in m𝐸h ). It is evident that as more excitation classes are included in the similarity
transformed Hamiltonian and the size of the final diagonalization manifold is decreased, the size-consistency errors
decrease. Of particular note are the results for the MR-EOM-T|T† |SXD|U-h-v approach (only includes 1h and 1p
configurations in the final diagonalization manifold), for which the largest deviation is 1.25 × 10−2 m𝐸h . The
much larger deviations for the MR-EOM-T|T† |SXD-h-v approach clearly demonstrate the large effect that the 2h
excitations have on the size-consistency errors.
Table 7.26: Test for size consistency in MR-EOM: Differences in energy (in mEh ) between the 2 —O2 dimer
energies (at large separation) and the sum of the monomer energies for the ground state and various excited states.
The results were obtained in an aug-cc-pVTZ basis using minimal active spaces.
T|T† -h-v T|T† |SXD-h-v (with 1h1p) T|T† |SXD-h-v T|T† |SXD|U-h-v
∆𝐸(3 Σ− 3 −
𝑔 + Σ𝑔 ) 12.74 2.77 1.11 1.00 × 10−5
3 −
∆𝐸( Σ𝑔 + 1 ∆𝑔 ) 14.20 3.84 1.85 1.54 × 10−4
∆𝐸(3 Σ− 1 +
𝑔 + Σ𝑔 ) 17.21 5.52 2.83 4.13 × 10−4
1 1
∆𝐸( ∆𝑔 + ∆𝑔 ) 15.69 3.10 2.31 5.26 × 10−3
∆𝐸(1 ∆𝑔 + 1 Σ+
𝑔) 18.83 7.52 4.76 5.89 × 10−3
∆𝐸(1 Σ+ 1 +
𝑔 + Σ𝑔 ) 22.34 10.75 7.31 1.25 × 10−2
To reduce the size-consistency errors, one can make use of the MR-CEPA(0) shift in the final diagonalization step.
This MR-CEPA(0) shift can easily be activated by adding the line
citype mrcepa_0
to the beginning of the %mrci block. The results of the size-consistency test with the use of the MR-CEPA(0) shift
are tabulated in Table Test for size consistency in MR-EOM, using the MR-CEPA(0) shift: Differences in energy (in
mE_\text{h}) between the O_2—O_2 dimer energies (at large separation) and the sum of the monomer energies
for the ground state and various excited states. The results were obtained in an aug-cc-pVTZ basis using minimal
active spaces and the MR-CEPA(0) shift was applied in the final diagonalization in each case.. For each of the
methods, we see a marked improvement over the results of Table Test for size consistency in MR-EOM: Differences
in energy (in mE_\text{h}) between the _2—O_2 dimer energies (at large separation) and the sum of the monomer
energies for the ground state and various excited states. The results were obtained in an aug-cc-pVTZ basis using
minimal active spaces., which do not make use of the MR-CEPA(0) shift. The greatest improvement occurs in the
MR-EOM-T|T† |SXD-h-v and the MR-EOM-T|T† |SXD|U-h-v results. Namely, the errors in the former case are
on the order of nano Hartrees, while the errors in the MR-EOM-T|T† |SXD|U-h-v results are not detectable (sub-
nano Hartree), as the energy is only printed with nine decimal places. It is interesting to note that upon adding
the 1h1p configurations to the diagonalization manifold in the MR-EOM-T|T† |SXD-h-v calculations (i.e. with
1h1p), the size-consistency errors increase greatly. Hence, it appears that the use of the MR-CEPA(0) shift is most
effective at reducing the size-consistency errors resulting from the presence of the 1h, 1p and 2h configurations
in the final diagonalization manifold. In any case, one can easily take advantage of this approach to obtain nearly
size-consistent results with both the MR-EOM-T|T† |SXD-h-v and MR-EOM-T|T† |SXD|U-h-v methods.
Table 7.27: Test for size consistency in MR-EOM, using the MR-CEPA(0) shift: Differences in energy (in mEh )
between the O2 —O2 dimer energies (at large separation) and the sum of the monomer energies for the ground state
and various excited states. The results were obtained in an aug-cc-pVTZ basis using minimal active spaces and the
MR-CEPA(0) shift was applied in the final diagonalization in each case.
T|T† -h-v T|T† |SXD-h-v (with 1h1p) T|T† |SXD-h-v T|T† |SXD|U-h-v
∆𝐸(3 Σ− 3 −
𝑔 + Σ𝑔 ) 2.75 × 10−3 0.01 2.00 × 10−6 0.00
3 −
∆𝐸( Σ𝑔 + 1 ∆𝑔 ) 0.06 0.07 0.00 0.00
∆𝐸(3 Σ− 1 +
𝑔 + Σ𝑔 ) 0.14 0.15 4.00 × 10−6 0.00
1 1
∆𝐸( ∆𝑔 + ∆𝑔 ) 0.21 0.22 1.00 × 10−6 0.00
∆𝐸(1 ∆𝑔 + 1 Σ+
𝑔) 0.42 0.44 5.00 × 10−6 0.00
∆𝐸(1 Σ+ 1 +
𝑔 + Σ𝑔 ) 0.82 0.87 9.00 × 10−6 0.00
The setup procedure for the MR-EOMPT method is the same as for the MR-EOMCC method, and the foregoing
also applies to the perturbative variant. Please note that the orbital selection scheme has not been tested with this
variant and should be unnecessary anyways since calculations are much faster than with the iterative MR-EOMCC
method.
To invoke the new variant, set up the calculation as you would for an MR-EOMCC calculation and then add the
keyword DoMREOM_MRPT True to the %mdci block.
The results are interpreted just like results for the iterative MR-EOMCC method. After transforming the Hamilto-
nian with the perturbatively estimated amplitudes and the final MRCIS diagonalization step, the final state energies
are printed along with their reference weights. For reliable results, we again recommend that the reference weight
be >90%.
• The orca_asa program is no longer supported. It is still included in the 6.0.0 release and the documen-
tation is preserved below. However, it may not function correctly and will be removed in a future ORCA
version!
• The !NMScan and !NMGrad keywords are still available but these calculations may fail or not generate
valid input for orca_asa. Please use the ESD module instead, if applicable.
In this section various aspects of the simulation and fit of optical spectra, including absorption, fluorescence, and
resonance Raman are considered. This part of the ORCA is fairly autonomous and can also be used in a data
analysis context, not only in a “quantum chemistry” mode. The program is called orca_asa, where ASA stands
for “Advanced Spectral Analysis”. The program was entirely designed by Dr. Taras Petrenko.
The general philosophy is as follows: An ORCA run produces the necessary data to be fed into the orca_asa
program and writes an initial input file. This input file may be used to directly run orca_asa in order to predict an
absorption, fluorescence or resonance Raman spectrum. Alternatively, the input file may be edited to change the
parameters used in the simulations. Last – but certainly not least – the orca_asa program can be used to perform
a fit of the model parameters relative to experimental data.
All examples below are taken from [679], which must be cited if you perform any work with the orca_asa program!
7.41. Simulation and Fit of Vibronic Structure in Electronic Spectra, Resonance Raman 873
Excitation Profiles and Spectra with the orca_asa Program
ORCA Manual, Release 6.0
# example001.inp
#
# Input file to generate absorption spectrum consisting
# of 3 bands with different lineshape factors:
#
# 1. Lorentzian centered at 18000cm**-1 (damping factor Gamma= 100 cm**-1)
# 2. Gaussian centered at 20000cm**-1
# (standard deviation Sigma= 100 cm**-1)
# 3. Mixed Gaussian-Lorentzian band representing Voigt profile
# centered at 21000 cm**-1
%sim
Model Simple
end
#---------------------------------------------------------------------------
# Transition Gamma Sigma Transition Dipole Moment (atomic unit)
# Energy (cm**-1) (cm**-1) (cm**-1) Mx My Mz
#---------------------------------------------------------------------------
$el_states
3 # number of electronic states
1 18000.0 100.00 0.0 1.0 0.0 0.0
2 20000.0 0.00 100.0 1.0 0.0 0.0
3 22000.0 50.00 50.0 1.0 0.0 0.0
The parameters of of the final electronic states reached by the respective transitions are specified in the $el_states
block. The spectral range and resolution used in the calculation are defined by the AbsRange and NAbsPoints
keywords in %sim block. The calculation of the absorption spectrum is automatically invoked if NAbsPoints>1.
After the orca_asa run you will find in your directory file example001.abs.dat containing absorption spectrum
in simple two-column ASCII format suitable to be plotted with any spreadsheet program. Absorption spectra
corresponding to individual electronic transitions are stored in file example001.abs.as.dat ( the suffix “as”
stands for “All States”).
Fig. 7.43: Absorption spectrum generated after orca_asa run on file example001.inp. Three bands have different
lineshape pararameters. Note that although all transitions are characterized by the same transition electric dipole
moment their intensities are scaled proportionally to the transition energies.
The output of the program run also contains information about oscillator strengths and full-width-half-maximum
(FWHM) parameters corresponding to each electronic band:
----------------------------------------------
State EV fosc Stokes shift
(cm**-1) (cm**-1)
----------------------------------------------
1: 18000.00 0.054676 0.00
2: 20000.00 0.060751 0.00
3: 22000.00 0.066826 0.00
----------------------------------------
BROADENING PARAMETETRS (cm**-1)
----------------------------------------
State Gamma Sigma FWHM
----------------------------------------
1: 100.00 0.00 200.00
(continues on next page)
7.41. Simulation and Fit of Vibronic Structure in Electronic Spectra, Resonance Raman 875
Excitation Profiles and Spectra with the orca_asa Program
ORCA Manual, Release 6.0
Note that although all three types of lineshape functions are symmetric this is not true for the overall shapes of
individual absorption bands since the extinction coefficient (absorption cross-section) is also proportional to the
incident photon energy. Therefore, if the linewidth is larger than 10% of the peak energy the asymmetry of the
electronic band can be quite noticeable.
Example: Modelling of Absorption and Fluorescence Spectra within the IMDHO Model
The IMDHO model is the simplest approach that successfully allows for the prediction of vibrational structure in
electronic spectra as well as rR intensities for a large variety of real systems. This model assumes:
1. harmonic ground- and excited-state potential energy surfaces;
2. origin shift of the excited-state potential energy surface relative to the ground-state one;
3. no vibrational frequency alteration or normal mode rotation occurs in the excited state;
4. no coordinate dependence of the electronic transition dipole moment.
In addition to the parameters that enter the “Simple model” defined above it requires some information about the vi-
brational degrees of freedom. The required information consists of the ground-state vibrational frequencies {𝜔𝑔𝑚 }
and (dimensionless) origin shifts {∆𝑚𝑖 }, where 𝑖 and 𝑚 refer to electronic states and normal modes respectively.
∆ is expressed in terms of dimensionless normal coordinates. Accordingly, for the IMDHO model one has to
specify the following blocks
• The $el_states block contains the parameters 𝐸𝑇 , Γ, 𝜎, M for each electronic state. By default 𝐸𝑇 is
assumed to be adiabatic minima separation energy. Alternatively, it can be redefined to denote for the vertical
transition energy.This is achieved by specifiying the keyword EnInput=EV in the %sim block.
• A $vib_freq_gs block specifies ground-state vibrational frequencies.
• A $sdnc block contains parameters {∆𝑚𝑖 } in matrix form such that the 𝑖-th column represents the dimen-
sionless displacements along all normal modes for the 𝑖-th excited-state PES.
The file example002.inp provides the input for simulation of absorption and fluorescence spectra of a system
characterized by significant displacements of the excited-state origin along 5 normal coordinates.
# example002.inp
#
# Input file for simulation of vibrational structure
# in absorption and fluorescence spectra assuming
# origin shift of excited PES along 5 normal coordinates.
# The simulated spectra closely reproduce the experimental
# optical bandshapes for the tetracene molecule.
#
%sim
Model IMDHO
end
#---------------------------------------------------------------------------
# Transition Gamma Sigma Transition Dipole Moment (atomic unit)
# Energy (cm**-1) (cm**-1) (cm**-1) Mx My Mz
#---------------------------------------------------------------------------
$el_states
1
1 21140.0 50.00 100.0 1.0 0.0 0.0
The calculation of absorption and fluorescence spectra is automatically invoked if the parameters NAbsPoints>1
and NFlPoints> 1. The input file also contains the optional block $ss which specifies the Stokes shift 𝜆 for
each electronic transition. This parameter is equal to the energy separation between the 0-0 vibrational peaks in
the absorption and fluorescence spectra as shown in Fig. 7.44 . In general 𝜆 accounts for solvent induced effects as
well as unresolved vibrational structure corresponding to low-frequency modes that are not specified in the input.
Note that we have specified parameters AbsScaleMode=Rel and FlScaleMode=Rel in %sim block in order to
ensure that the simulated spectra are normalized to unity. The calculated absorption and fluorescence spectra are
stored in example002.abs.dat and example002.fl.dat files, respectively.
7.41. Simulation and Fit of Vibronic Structure in Electronic Spectra, Resonance Raman 877
Excitation Profiles and Spectra with the orca_asa Program
ORCA Manual, Release 6.0
Fig. 7.44: Absorption and fluorescence spectra generated after orca_asa run on the file example002.inp. If the
homogeneous broadening is set to be Γ = 10 cm−1 one can resolve underlying vibrational structure and identify
various fundamental and combination transitions.
Example: Modelling of Absorption and Fluorescence Spectra within the IMDHOFA Model
IMDHOFA (Independent Mode Displaced Harmonic Oscillators with Frequency Alteration) is based on the same
assumptions as the IMDHO model except for vibrational frequency alteration in excited state can take place. The
file example003.inp features almost the same input parameters as example002.inp. The IMDHOFA model
is invoked by the keyword Model=IMDHOFA in the %sim block. Additionally, one has to provide the obligatory
block $vib_freq_es. It contains the excited-state vibrational frequencies {𝜔𝑒𝑚𝑖 } in matrix form such that the
𝑖-th column represents the vibrational frequencies of all normal modes for the 𝑖-th excited-state PES.
$vib_freq_es
5 1 # number of modes and number of excited states
1
1 410.0
2 1293.0
3 1400.0
4 1600.0
5 1730.0
Fig. 7.45: Absorption and fluorescence spectra generated after orca_asa run on the file example003.inp. Also,
the high-resolution spectra corresponding to homogeneous broadening Γ = 10 cm−1 are shown.
Example: Modelling of Effective Broadening, Effective Stokes Shift and Temperature Effects in
Absorption and Fluorescence Spectra within the IMDHO Model
For the IMDHO model the orca_asa is capable to model absorption and emission spectra in the finite-temperature
approximation. While the keyword Model=IMDHO assumes the zero-temperature approximation, the value of
Model=IMDHOT invokes the calculation of the spectra for the finite temperature which is specified by the paramter
TK in the block %sim:
# example004.inp
#
#
%sim
Model IMDHOT
TK 300 # temperature (in Kelvin)
7.41. Simulation and Fit of Vibronic Structure in Electronic Spectra, Resonance Raman 879
Excitation Profiles and Spectra with the orca_asa Program
ORCA Manual, Release 6.0
#---------------------------------------------------------------------------
# Transition Gamma Sigma Transition Dipole Moment (atomic unit)
# Energy (cm**-1) (cm**-1) (cm**-1) Mx My Mz
#---------------------------------------------------------------------------
$el_states
1
1 21140.0 50.00 100.0 1.0 0.0 0.0
This example illustrates a typical situation in large molecules which feature a number of low frequency modes
with significant values of dimensionless displacements for a given excited-state PES. In the case of high density
of vibrational states with frequencies below or comparable to the intrincic value of FWHM (determined by Γ and
𝜎) the vibrational progression is unresolved, whereby the spectra become very diffuse and show large separation
between the maxima of absorption and emission spectra (Fig. 7.45). Besides, upon the condition ℎ𝜈𝑖 ⩽ 𝑘𝑇 the
effective bandwidths and positions of maxima in the spectra can be strongly subject to temperature effects.
Fig. 7.46: Absorption and fluorescence spectra for T=0 K (blue) and T=300 K (red) generated after orca_asa run
on the file example004.inp. Black lines show spectra corresponding to the case where all low-frequency modes
were excluded from the calculation.
The effective Stokes shift and linewidth parameters which are evaluated in the simple self-consistent procedure are
given in the output of the orca_asa run:
------------------------------------------------------------------------------
State E0 EV fosc Stokes shift Effective Stokes shift
(cm**-1) (cm**-1) (cm**-1) (cm**-1)
------------------------------------------------------------------------------
1: 21140.00 24535.85 0.074529 300.00 7091.70
-----------------------------------------------------------------------------------------------
BROADENING PARAMETETRS (cm**-1)
-----------------------------------------------------------------------------------------------
Intrinsic Effective
State -------------------------- --------------------------------------------------------
Sigma FWHM
Gamma Sigma FWHM --------------------------- ---------------------------
0K 298.15K 300.00K 0K 298.15K 300.00K
-----------------------------------------------------------------------------------------------
1: 50.00 100.00 293.50 1125.34 1411.13 1413.57 2703.84 3376.75 3382.48
Note that the evaluation of the effective parameters is rather approximate and these values can noticeable deviate
from those which can be directly deduced from the calculated spectra. However, such an information usually
provides the proper order of magnitude of the effective vibronic broadening and Stokes shift. As indicated in
the program output above, the effective bandshape has predominantly a Gaussian character which varies with the
temperature so that 𝜎 = 1125 cm−1 (𝑇 = 0 K) and 𝜎 = 1414 cm−1 (𝑇 = 300 K). Indeed, as shown in Fig.
7.47 the absorption spectrum at 𝑇 = 300 K can be well fitted using Gaussian lineshape with 𝜎 = 1388 cm−1
(FWHM= 3270 cm−1 ). One can see that at higher temperatures the deviation between the spectrum and its Gauss
7.41. Simulation and Fit of Vibronic Structure in Electronic Spectra, Resonance Raman 881
Excitation Profiles and Spectra with the orca_asa Program
ORCA Manual, Release 6.0
Fig. 7.47: Absorption spectrum (blue) for 𝑇 = 300 K generated after orca_asa run on the file example004.inp.
Red line represents the Gauss-fit of the calculated spectrum.
Example: Modelling of Absorption and Resonance Raman Spectra for the 1-1 A𝑔 → 1-1 B𝑢 Transi-
tion in trans-1,3,5-Hexatriene
The hexatriene molecule is characterized by 9 totally-symmetric normal modes which dominate vibrational struc-
ture in absorption and are active in rR spectra corresponding to the strongly dipole-allowed 1 −1 𝐴𝑔 → 1 −1 𝐵𝑢
transition around 40000 cm−1 . Except for some peculiarities related to the neglect of normal mode rotations in
the excited state the optical spectra are quite satisfactorily described by the IMDHO model.
The following input exemplifies simulation of absorption spectrum and rR spectra for an arbitrary predefined num-
ber of excitation energies.
#
# example005.inp
#
# input for simulation of absorption and resonance Raman spectra
# using experimental values of transition energy and displacement
# parameters corresponding to the strongly allowed 1-1Ag 1-1Bu transition
# in trans-1,3,5-hexatriene
#
%sim
(continues on next page)
end
$el_states
1
1 39800.0 150.00 0.0 1.0 0.0 0.0
$vib_freq_gs
9
1 354.0
2 444.0
3 934.0
4 1192.0
5 1290.0
6 1305.0
7 1403.0
8 1581.0
9 1635.0
$sdnc
9 1
1
1 0.55
2 0.23
3 0.23
4 0.82
5 0.485
6 0.00
7 0.085
8 0.38
9 1.32
7.41. Simulation and Fit of Vibronic Structure in Electronic Spectra, Resonance Raman 883
Excitation Profiles and Spectra with the orca_asa Program
ORCA Manual, Release 6.0
41400.stk provide Raman shifts and intensities for each vibrational transition. Corresponding vibrational
states are specified by the quantum numbers of excited modes.
Fig. 7.48: Absorption spectrum corresponding to 1−1 𝐴𝑔 → 1−1 𝐵𝑢 transition in trans-1,3,5-hexatriene generated
after orca_asa run on the file example005.inp.
Fig. 7.49: Resonance Raman spectra for 3 different excitation energies which fall in resonance with 1 −1 𝐴𝑔 →
1 −1 𝐵𝑢 transition in trans-1,3,5-hexatriene.
NOTE
• By default the program provides rR spectra on an arbitrary scale since only relative rR intensities within a
single rR spectrum are of major concern in most practical cases. However, one can put rR spectra corre-
sponding to different excitation energies on the same intensity scale by providing the keyword RSISM=ASR
7.41. Simulation and Fit of Vibronic Structure in Electronic Spectra, Resonance Raman 885
Excitation Profiles and Spectra with the orca_asa Program
ORCA Manual, Release 6.0
in %sim block (RSISM – Raman Spectra Intensity Scaling Mode; ASR – All Spectra Relative). By default
RSISM=SSR (SSR – Single Spectrum Relative) for which each rR spectrum is normalized so that the most
intense band in it has intensity 1.0. The relative intensities of bands in rR spectra measured for different ex-
citation energies can be compared if they are appropriately normalized relative to the intensity of a reference
signal (e.g. Raman band of the solvent). We also keep in mind the possibility to extend our methodology in
order to provide the absolute measure of rR intensities in terms of the full or differential cross-sections.
• Within the harmonic model, for a single electronic state neither relative rR intensities nor absorption band-
shapes in the case of AbsScaleMode=Rel do depend on the values of the electronic transition dipole moment
(unless it is precisely zero).
In the example above resonance Raman spectra have been generated for all vibrational transitions with total ex-
citation number up to the value specified by the parameter RamanOrder. Its is also possible to make explicit
specification of vibrational states corresponding to various fundamental, overtone and combination bands via the
$rr_vib_states block. In such a case rR spectra involving only these vibrational transitions will be generated
separately.
Each vibrational transition is specified via the subblock which has the following structure:
k
modes m1,m2,...mn
quanta q1,q2,...qn;
This means that the 𝑘-th transition is characteriezed by excitation numbers 𝑞𝑖 for modes 𝑚𝑖 so that corresponding
Raman shift is equal to 𝜈 = 𝑞𝑖 𝜈𝑖 , where 𝜈𝑖 is vibrational frequency of the mode 𝑚𝑖 .
∑︀
After the orca_asa run the following files will be created in addition:
• example005.us.rrs.39500.dat, example005.us.rrs.39800.dat and example005.us.rrs.
41400.dat contain the simulated rR spectra involving only vibrational transitions specified in the
$rr_vib_states block, for excitations energies at 39500, 39800 and 41400 cm−1 , respectively. The suffix
“us” stands for “User specified vibrational States”.
• example005.us.rrs.39500.stk, example005.us.rrs.39800.stk and example005.us.rrs.
41400.stk provide Raman shifts and intensities for each vibrational transition specified in the
$rr_vib_states block.
Example: Modelling of Absorption Spectrum and Resonance Raman Profiles for the 1-1 A𝑔 →
1-1 B𝑢 Transition in trans-1,3,5-Hexatriene
The following example illustrates an input for simulation of absorption bandshape and resonance Raman profiles
(RRP):
#
# example006.inp
#
# input for simulation of absorption and resonance Raman profiles
# using experimental values of transition energy and displacement
# parameters corresponding to the strongly allowed 1-1Ag 1-1Bu transition
# in trans-1,3,5-hexatriene
#
%sim
Model IMDHO
RamanOrder 2
end
$el_states
1
1 39800.0 150.00 0.0 1.0 0.0 0.0
$vib_freq_gs
9
1 354.000000
2 444.000000
3 934.000000
4 1192.000000
5 1290.000000
6 1305.000000
7 1403.000000
8 1581.000000
9 1635.000000
$sdnc
9 1
1
1 0.55
2 0.23
3 0.23
4 0.82
5 0.485
6 0.00
7 0.085
8 0.38
9 1.32
7.41. Simulation and Fit of Vibronic Structure in Electronic Spectra, Resonance Raman 887
Excitation Profiles and Spectra with the orca_asa Program
ORCA Manual, Release 6.0
The keyword RamanOrder=2 will invoke generation of rR profiles for all vibrational transitions with total excitation
number up to 2 in the range of excitation energies specified by the keywords RRPRange and NRRPPoints. Likewise,
rR profiles for the vibrational states given in the $rr_vib_states block will be generated separately. Since in most
cases only relative rR intensities are important, and one would be interested to compare absorption bandshape and
shapes of individual rR profiles, the keyword CAR = 0.8 is used to scale rR profiles for all vibrational transitions
by a common factor in such a way that the ratio of the maximum of all rR intensities and the maximum of absorption
band is equal to 0.8.
After the orca_asa run the following files will be created:
• example006.abs.dat contains the simulated absorption spectrum (Fig. 7.50).
• example006.o1.rrp.dat and example006.o2.rrp.dat contain rR profiles for vibrational transitions
with total excitation numbers 1 and 2, respectively. RR profiles for all fundamental bands (from the file
example006.o1.rrp.dat) are shown in Fig. 7.50.
• example006.o1.info and example006.o1.info contain specification of vibrational transitions with to-
tal excitation numbers 1 and 2, respectively, as well as corresponding Raman shifts.
• example006.us.rrp.1.dat–example006.us.rrp.5.dat contain rR profiles for vibrational transitions
1–5 specified in the $rr_vib_states block.
Fig. 7.50: Absorption spectrum and resonance Raman profiles of fundamental bands corresponding to 1 −1 𝐴𝑔 →
1 −1 𝐵𝑢 transition in trans-1,3,5-hexatriene.
Fig. 7.51: Experimental absorption spectrum. Bars indicate transition energies which were used for the initial
guess in the input for spectral fitting.
As shown in Fig. 7.51 one can identify roughly 7 electronic bands. The initial estimates of transition energies
corresponding to the maxima and shoulders in the absorption spectrum (indicated by bars in Fig. 7.51) and rather
approximate values of inhomogeneous broadening and transition dipole moment components are specified in the
$el_states block of the input file for the spectral fitting:
# example007.inp
#
# Input file for fitting of experimental absorption spectrum
#
%sim
model Simple
end
7.41. Simulation and Fit of Vibronic Structure in Electronic Spectra, Resonance Raman 889
Excitation Profiles and Spectra with the orca_asa Program
ORCA Manual, Release 6.0
end
#---------------------------------------------------------------------------
# Transition Gamma Sigma Transition Dipole Moment (atomic unit)
# Energy (cm**-1) (cm**-1) (cm**-1) Mx My Mz
#---------------------------------------------------------------------------
$el_states
7
1 11270 0.0 1000.00 1.0000 0.0000 0.0000
2 15100 0.0 1000.00 1.0000 0.0000 0.0000
3 20230 0.0 1000.00 1.0000 0.0000 0.0000
4 27500 0.0 1000.00 1.0000 0.0000 0.0000
5 31550 0.0 1000.00 1.0000 0.0000 0.0000
6 37070 0.0 1000.00 1.0000 0.0000 0.0000
7 39800 0.0 1000.00 1.0000 0.0000 0.0000
The functionality of the constraint block $el_states_c should be understood as follows: 1) 0 flag indicates that
the corresponding parameter in the $el_state block will not be varied in the fitting; 2) if the number correspond-
ing to a certain parameter coincides with the number of the corresponding electronic state this parameter will be
varied independently. Thus, the block $el_states_c in the input indicates that all transition energies, inhomo-
geneous linewidths and x-components of the transition electric dipole moment will be varied independently, while
homogeneous linewidths, y- and z-components of the transition dipole moment will be fixed to their initial values.
The following considerations are important:
• Since in conventional absorption spectroscopy one deals with the orientationally averaged absorption cross-
2
section, the signal intensity is proportional to the square of the transition electric dipole moment |M| . Thus,
2
the intensities do not depend on the values of the individual components of M as long as |M| = const.
Therefore, we have allowed to vary only 𝑀𝑥 components. Otherwise there can be problems in convergence
of the fitting algorithm.
• The sum of the weights of experimental points which enter the mean absolute difference function employed
in the minimization is always kept equal to the number of experimental points. In the case of equidistant
experimental photon energies all weights are assumed to be equal. However, in experimental electronic
spectra the density of spectral points can increase significantly upon going from high- to low-energy spectral
regions, which is due to the fact that experimental absorption spectra are initially acquired on the wavelength
scale. In such a case the quality of the fit can be noticeably biased towards low-energy spectral region.
Therefore, it is advisable to adjust relative weights of experimental points according to the their density
which is controlled by the keyword WeightsAdjust in the %fit block. Although this parameter is not
crucial for the present example, in general, it will provide a more balanced fit.
• The parameters E0Step, TMStep, E0SDStep in the %fit block specify the initial dimension of the simplex
in the space of 𝐸𝑇 , M, 𝜎 and should roughly correspond to the expected uncertainty of initial guess on these
parameters in the $el_states block relative to their actual values. The quality of the fit can noticeably
deteriorate if the parameters specifying initial steps are too low or too high.
The fit run of orca_asa on file example007.inp will converge upon approximately 3600 function evaluations
(for MWADRelTol=1e-5). The results of the fit will be stored in file example007.001.inp which has the same
structure as the input file example007.inp. Thus, if the fit is not satisfactory and/or it is not fully converged it
can be refined in a subsequent orca_asa run upon which file example007.002.inp will be created, and so on.
Some model parameters in intermediate files can be be additionally modified and/or some constraints can be lifted
or imposed if so desired. The output file example007.001.inp will contain fitted model parameters stored in the
$el_states block:
$el_states
7
1 11368.24 0.00 732.50 1.6290 0.0000 0.0000
2 15262.33 0.00 495.17 -0.2815 0.0000 0.0000
3 19500.08 0.00 1023.39 0.2300 0.0000 0.0000
4 26969.01 0.00 1832.30 1.4089 0.0000 0.0000
5 31580.41 0.00 1440.87 1.8610 0.0000 0.0000
6 35769.07 0.00 1804.02 1.5525 0.0000 0.0000
7 39975.11 0.00 1909.38 2.4745 0.0000 0.0000
The overall quality of the fit is determined by the parameter MWAD which upon convergence reaches the value of
≈0.009 (MWAD stands for Mean Weighted Absolute Difference).
7.41. Simulation and Fit of Vibronic Structure in Electronic Spectra, Resonance Raman 891
Excitation Profiles and Spectra with the orca_asa Program
ORCA Manual, Release 6.0
After the orca_asa run files absexp.fit.dat and absexp.fit.as.dat will be created. Both files contain the
experimental and fitted spectra which are shown in Fig. 7.52 . In addition, the file absexp.fit.as.dat will
contain individual contributions to the absorption spectrum corresponding to different excited states.
Fig. 7.52: Comparison of the experimental (black curve) and fitted (red) absorption spectra corresponding to the fit
run of orca_asa on the file example007.inp. Blue curves represent individual contributions to the absorption
spectrum from each state.
Since there is a noticeable discrepancy between the fitted and experimental spectra around 13000 cm−1 (Fig. 7.52)
it is worthwhile to refine the fit after adding parameters for a new state in the file example007.001.inp:
$el_states
8
1 11368.24 0.00 732.50 1.6290 0.0000 0.0000
... ... ...
8 13280.00 0.00 1000.00 1.000 0.0000 0.0000
$el_states_c
8
1 1 0 1 1 0 0
... ... ...
8 8 0 8 8 0 0
Actually, the character of the discrepancy in the present case is very similar to that in Fig. 7.49 (section Example:
Modelling of Effective Broadening, Effective Stokes Shift and Temperature Effects in Absorption and Fluorescence
Spectra within the IMDHO Model) where a vibronically broadened absorption spectrum was fitted with a Gaussian
lineshape. Thus, the poor fit in the region around 1300 cm−1 is most likely due to the essentially asymmetric
character of the vibronic broadening rather than to the presence of another electronic band.
As shown in Fig. 7.53 the refined fit leads to much better agreement between the experimental and fitted absorption
spectra (MWAD=0.0045).
Fig. 7.53: Comparison of the experimental (black) and fitted (red) absorption spectra corresponding to the fit run
of orca_asa on the file example007.001.inp. Blue curves represent individual contributions to the absorption
spectrum from each state.
Due to some peculiarities of the simplex algorithm for function minimization, you can still refine the fit by rerunning
orca_asa on the file example007.002.inp! This leads to an even lower value of the parameter MWAD= 0.0038,
and therefore to better agreement of experimental and fitted spectra (even though the previous run has been claimed
to be converged).
It is also possible to perform a fit using the same value of inhomogeneous linewidth for all electronic states. For
this purpose one needs to choose as a guess the same linewidth parameters in the $el_states block:
$el_states
8
1 11118.58 0.00 1000.0 1.0687 0.0000 0.0000
2 13673.38 0.00 1000.0 -0.5530 0.0000 0.0000
3 21267.40 0.00 1000.0 0.3675 0.0000 0.0000
4 27024.71 0.00 1000.0 1.4041 0.0000 0.0000
5 31414.74 0.00 1000.0 1.7279 0.0000 0.0000
6 35180.77 0.00 1000.0 1.6246 0.0000 0.0000
7 39985.52 0.00 1000.0 2.5708 0.0000 0.0000
8 11665.01 0.00 1000.0 1.2332 0.0000 0.0000
7.41. Simulation and Fit of Vibronic Structure in Electronic Spectra, Resonance Raman 893
Excitation Profiles and Spectra with the orca_asa Program
ORCA Manual, Release 6.0
The constraint parameters for the inhomogeneous broadening were chosen to be 1, which means that formally 𝜎1
corresponding to the first state is varied independently while the linewidths {𝜎𝑖 } for other bands are varied in such
a way that the ratios 𝜎𝑖 /𝜎1 are kept fixed to their initial values, whereby the same linewidth parameter will be used
for all states.
Fig. 7.54: Comparison of the experimental (black) and fitted (red) absorption spectra corresponding to the fit run
of orca_asa on the file example007.002.inp in which equal broadening was assumed for all electronic bands.
Blue curves represent individual contributions to the absorption spectrum from each state.
One can see (Fig. 7.54) that the assumption of equal linewidths for all electronic bands leads to a rather pronounced
deterioration of the quality of the fit in the low-energy spectral range (MWAD=0.017). Apparently, this discrepancy
can be fixed assuming more electronic states at higher energies.
NOTE
• The homogeneous linewidth parameters can also be included in the fit in a similar way. However, one can
see that in most cases they appear to be much smaller than corresponding Gaussian linewidth parameters.
• Gauss-fit of absorption spectra is coventionally performed assuming the same linewidth parameters for all
bands. However, since a large portion of Gaussian broadening is mainly due to the unresolved vibronic
structure in the spectra which can significantly vary depending on the nature of transition, the assumption of
unequal Gaussian bandwidths seems to be a physical one.
Example: Fit of Absorption and Resonance Raman Spectra for 1-1 A𝑔 → 1-1 B𝑢 Transition in trans-
1,3,5-Hexatriene
Below we provide an example of the fit of the lineshape parameters and {∆𝑚 } corresponding to the strongly dipole-
allowed 1-1 A𝑔 →1-1 B𝑢 transition in hexatriene. It is known that the most intense bands in rR spectra correspond
to the most vibronically active in absorption spectrum. For the IMDHO model this correlation is determined by
the values of {∆𝑚 }. Thus, the larger ∆, the larger is the rR intensity of a given mode and the more pronounced is
the progression in the absorption spectrum corresponding to this mode. In principle, if all vibrational transitions in
absorption are well resolved it is possible to determine {∆𝑚 } by a fit of the absorption spectrum alone. In practice
this task is ambiguous due to the limited resolution of the experimental absorption spectra. The observation of
a rR spectrum enables the identification of the vibrational modes that are responsible for the progression in the
absorption spectrum, as well as a quantitative analysis in terms of {∆𝑚 }. The file example006.inp provides a
brute-force example on how to approach the fit employing the minimal possible experimental information: 1) An
absorption spectrum; 2) relative rR intensities of fundamental bands for a given excitation energy. The rR spectrum
upon the excitation in resonance with the 0-0 vibronic band at 39809 cm−1 is shown in Fig. 7.43.
Fig. 7.55: Experimental Resonance Raman spectrum corresponding to 1-1 A𝑔 → 1-1 B𝑢 transition in trans-1,3,5-
hexatriene.
The experimental rR spectrum has enabled the identification of seven vibrational modes that give rise to the most
intense resonance Raman bands. Therefore, they are expected to have the largest excited-state displacements and
the most pronounced effect on the vibrational structure of the absorption spectrum. Their vibrational frequencies
have been entered as input for the fit as shown below:
#
# example008.inp
#
# Input for fit of absorption and resonance Raman spectra
# corresponding to the strongly allowed 1-1Ag 1-1Bu transition
# in 1,3,5 trans-hexatriene.
#
(continues on next page)
7.41. Simulation and Fit of Vibronic Structure in Electronic Spectra, Resonance Raman 895
Excitation Profiles and Spectra with the orca_asa Program
ORCA Manual, Release 6.0
%sim
Model IMDHO
end
%fit
end
# The values specified in $el_states block serve as initial guess in the fit
$el_states
1
1 40000.0 200.00 0.0 1.0 0.0 0.0
7.41. Simulation and Fit of Vibronic Structure in Electronic Spectra, Resonance Raman 897
Excitation Profiles and Spectra with the orca_asa Program
ORCA Manual, Release 6.0
The input of rR intensities for an arbitrary number of excitation energies follows the keyword $rrs_exp block:
$rrs_exp
1 # number of rR spectra
1 1
The first “1” in the last line denotes the number of the rR spectrum for which specification starts below. If the
second number is the same as the number of the spectrum, then it means that only relative intensities for the first
rR spectrum are meaningful in the fit. If several spectra are given in the input then the second number may have a
different value, e.g.:
$rrs_exp
3 # number of rR spectra
1 2
...
This input is to be interpreted as indicating that 3 rR spectra are provided and the relative intensities for the first
spectrum are given on the same scale as the second one that will be accounted for in the fit. The value of the exci-
tation energies and the number of vibrational transitions specified are indispensable within the blocks specifying
intensities for each rR spectrum.
Following the number of vibrational transitions given by the keyword NTr one has to specify each vibrational
transition and its intensity. Thus, in the present case there are seven subblocks with the following structure:
k int I W
modes m1,m2,...mn
quanta q1,q2,...qn;
This means that the 𝑘-th transition has intensity 𝐼 and weight 𝑊 in the mean absolute difference function that is
used for the minimization (𝑊 is an optional parameter). The following 2 lines specify the vibrational transitions
by providing excitation numbers 𝑞𝑖 for modes 𝑚𝑖 so that the corresponding Raman shift is equal to 𝜈 = , where
∑︀
𝑞𝑖 𝜈𝑖
𝜈𝑖 is vibrational frequency of the mode 𝑚𝑖 .
The parameters that are to be varied are specified within the constraint blocks $el_states_c and $sdnc_c. Both
blocks have the same structure and number of parameters as $el_states and $sdnc, respectively. A parameter
from the $el_states block is supposed to be independently varied if its counterpart from the $el_states_c
block is equal to the number of the electronic state. Likewise, a parameter from the $sdnc block is supposed to
be independently varied if its counterpart from the $sdnc_c block is equal to the number of the normal mode.
Model parameters that are set to 0 in the corresponding constraint blocks are not varied in the fit. The values of
the following parameters may be important for the quality of the fit:
• CWAR in the %fit block specifies the weight of absorption relative to the weight of rR intensities in the
difference function to be minimized. If this parameter was not specified the fit would be almost insensitive
to the rR intensities in the input, since typically the number of experimental absorption points is much larger
than the number of rR transitions in the input. In most cases the value of CWAR in the range 1.0–5.0 is a good
choice since the error in the measured experimental intensity is expected to be much smaller for absorption
than for resonance Raman.
• SDNCStep in the %fit block specifies the initial dimension of the simplex in the space of {∆𝑚 } and should
roughly correspond to the expected uncertainty of initial guess on {∆𝑚 } in the $sdnc block compared to
their actual values. You can notice in the present example that if this parameter is too large (>2.0) or too
small (<0.4) the quality of the fit may significantly deteriorate
• Although the default initial dimensions of the simplex have reasonable values for different types of parame-
ters it may turn out to be helpful in some cases to modify the default values:
The fit run of orca_asa on the file example008.inp will converge upon approximately 700 function evaluations
(for MWADRelTol=1e-4). The results of the fit will be stored in file example008.001.inp which has the same
structure as the input file example008.inp. Thus, if the fit is not satisfactory and/or it is not fully converged it
can be refined in subsequent orca_asa run upon which file example008.002.inp will be created, and so on.
Some model parameters in intermediate files can be be additionally modified and/or some constraints can be lifted
if so desired. The output file example008.001.inp will contain fitted displacement parameters {∆𝑚 }stored in
the $sdnc block:
$sdnc
7 1
1
1 0.675000
2 -0.194484
3 -0.217527
4 0.811573
5 0.529420
6 -0.149991
7 1.314915
In the present example, these parameters are actually in very close agreement with those published for the hexatriene
molecule!
The overall quality of the fit is determined by the parameter MWAD which upon convergence reaches the value of
≈0.027. The fitted rR intensities are presented in the commented lines next to the experimental rR intensities in
file example008.001.inp:
$rrs_exp
1
1 1 3.495285e+001
Ex 39809.00
NT 7
1
Int 10.0 1.0 # simulated intensity: 1.000982e+001
modes 1
quanta 1;
2
Int 5.0 1.0 # simulated intensity: 8.976285e-001
modes 2
quanta 1;
3
Int 1.5 1.0 # simulated intensity: 1.255880e+000
modes 3
quanta 1;
4
Int 21.0 1.0 # simulated intensity: 1.761809e+001
(continues on next page)
7.41. Simulation and Fit of Vibronic Structure in Electronic Spectra, Resonance Raman 899
Excitation Profiles and Spectra with the orca_asa Program
ORCA Manual, Release 6.0
The file hex-abs.fit.dat will contain the experimental and fitted absorption spectra in ASCII format which can be
plotted in order to visualize the quality of absorption fit (Fig. 7.56).
Fig. 7.56: Experimental (black) and fitted (red) absorption spectrum corresponding to 1-1 A𝑔 → 1-1 B𝑢 transition
in 1,3,5 trans-hexatriene.
NOTE
• The more experimental rR intensities are included in the analysis the more reliable is the fit. In principle it is
possible to obtain fully consistent results even if only a limited number of vibrational transitions is provided.
However, in such a case it is desirable to include into analysis at least a single Raman transition involving
the mode for which ∆ is to be determined.
• The quality of the fit can be improved if the IMDHOFA model is invoked and excited-state vibrational fre-
quencies are allowed to vary.
• Due to the initial guess and dimension of the simplex, as well as some peculiarities of the simplex algorithm
for function minimization, you can still refine the fit by rerunning orca_asa on file example008.001.inp
that may lead to an even lower value of the parameter MWAD = 0.021, and therefore to better agreement of
experimental and fitted spectra (even though the previous run has been claimed to be converged).
• In this respect it appears to be wise to perform the fit in 3 steps:
1. Fit the preresonance region below the 0-0 vibronic band with a single Lorentzian band, from which
the adiabatic transition energy 𝐸0 , and homogeneous linewidth Γ are obtained. The range for fit of the
absorption spectrum can be specified by the AbsRange keyword in the %fit block.
2. Fix 𝐸0 and Γ, and optimize {∆𝑚 } fitting the entire spectral range and rR intensities.
3. Lift constraints on 𝐸0 and Γ, and reoptimize simultaneously all parameters.
Example: Single-Mode Fit of Absorption and Fluorescence Spectra for 1-1 A𝑔 → 1-1 B2𝑢 Transition
in Tetracene
In this section we provide an example and discuss the most important aspects of joint fit of fluorescence and
absorption spectra. Fig. 7.57 displays the experimental emission and absorption spectra corresponding to 1-1 A𝑔
→ 1-1 B2𝑢 transition in tetracene.
Fig. 7.57: Deconvoluted absorption (red) and fluorescence (blue) spectra of tetracene in cyclohexane upon the
assumption of a single vibronically active mode. The black solid lines represent experimental spectra.
Both spectra show pronounced effective vibrational progressions that are dominated by 3 and 5 peaks, respectively.
As can be shown on the basis of quantum chemical calculations this progression has essentially multimode char-
acter. However, the experimental spectra can be well fitted under the assumption of a single vibronically active
mode. The input has the following structure:
#
# example009.inp
(continues on next page)
7.41. Simulation and Fit of Vibronic Structure in Electronic Spectra, Resonance Raman 901
Excitation Profiles and Spectra with the orca_asa Program
ORCA Manual, Release 6.0
%sim
Model IMDHO
EnInput E0 # we assume adiabatic minima separation energies
end
%fit
Fit true # global flag to turn on the fit
AbsFit true # flag to include absorption spectrum into the fit
FlFit true # flag to include fluorescence spectrum into the fit
WeightsAdjust true
end
(continues on next page)
$el_states
2
1 21100.00 100.00 100.00 1.0000 0.0000 0.0000
2 24000.00 100.00 1000.00 1.0000 0.0000 0.0000
$el_states_c
2
1 1 1 1 0 0 0
2 2 2 2 2 0 0
$abs_bool
2
1 1
2 1
$fl_bool
2
1 1
2 0
$ss
2
1 100.000000
2 0.000000
$ss_c
2
1 1
2 0
$vib_freq_gs
1
1 1500.0
$vib_freq_gs_c
1
1 1
$sdnc
1 2
1 2
1 2.0000000 0.000000
$sdnc_c
1 2
1 2
1 1 0
The parameter CWAF=1.0 in the %fit block specifies the weight of absorption relative to the weight of fluorescence
in the difference function to be minimized. If this parameter was not specified the quality of the fit would be biased
towards the spectrum with a larger number of experimental points. In some typical situations where the error in the
measured experimental intensity is expected to be smaller for absorption than for emission it is desirable to choose
the value of CWAF to be more than 1.0.
In order to account for a broad featureless background signal in the absorption spectrum above 24000 cm−1 , the
second band was included into the analysis and approximated with a Voigt lineshape which means also that the
corresponding frequency in the $vib_freq_gs block and displacement parameter in the $sdnc block are fixed to
zero in the fit. Thus, the $el_states block contains an initial guess on the transition energies, transition electric
7.41. Simulation and Fit of Vibronic Structure in Electronic Spectra, Resonance Raman 903
Excitation Profiles and Spectra with the orca_asa Program
ORCA Manual, Release 6.0
$el_states
2
1 21100.00 100.00 100.00 1.0000 0.0000 0.0000
2 24000.00 100.00 1000.00 1.0000 0.0000 0.0000
The initial value of the adiabatic minima separation energy for the first state was approximated by the energy
corresponding to the first vibronic peak in the absorption spectrum (21100 cm−1 ). The transition energies and
linewidth parameters are varied independently as indicated in the $el_states_c block. Since we allow to fit only
bandshapes, but not the overall intensities of the spectra, only relative absolute values of the transition electric
dipole moments of two bands are important. Therefore it is reasonable to fix all components of the transition
moment for the first state and vary only 𝑀𝑥 component for the second one:
$el_states_c
2
1 1 1 1 0 0 0
2 2 2 2 2 0 0
Since we assume the absorption by both states and emission only from the first one, it is necessary to include
Boolean arrays $abs_bool and $fl_bool which specify states which will be included in the treatment of the absorp-
tion and fluorescence spectra, respectively:
$abs_bool
2
1 1 # 1 indicates that the corresponding state will be included in the calculation of
2 1 # absorption
$fl_bool
2
1 1
2 0 # 0 indicates that the corresponding state will be excluded from the calculation
# of emission spectrum
We need also to vary the value of vibrational frequency of the mode which determines separation of vibrational
peaks in the spectra. This is done via the constraint block $vib_freq_gs_c:
$vib_freq_gs_c
1
1 1
Note that it is meaningless to include into the treatment the Stokes shift for the second state which give rise to the
background signal in the absorption since the corresponding emission is not present. Therefore 𝜆 for the second
state is fixed to zero as indicated in the $ss block and its constraint counterpart $ss_c:
$ss
2
1 100.000000 # initialization of the Stokes shift for the 1st electronic state
2 0.000000
$ss_c
2
1 1 # the Stokes shift for the 1st electronic state will be varied in the fit
2 0 # the Stokes shift for the 2nd electronic state will be fixed in the fit
The fit run of orca_asa on file example009.inp will converge upon approximately 700 function evaluations
(for MWADRelTol=1e-4). The file example009.001.inp will contain the fitted effective values of the vibrational
frequency and dimensionless displacement: 𝜔 = 1404 cm−1 , ∆ = 1.35. One can notice that the fit is rather
poor in the low- and high-energy edges of the absorption and fluorescence spectra, respectively (Fig. 7.57). The
source of this discrepancy is the single-mode approximation which was employed here. The quality of the fit can
be significantly improved assuming several modes with non-zero displacement parameters. Note that in such a case
the proper guess on the number of active modes and corresponding dimensionless displacements can be deduced
from quantum chemical calculations.
Example: Quantum-Chemically Assisted Analysis and Fit of the Absorption and Resonance Ra-
man Spectra for 1-1 A𝑔 → 1-1 B𝑢 Transition in trans-1,3,5-Hexatriene
The following input file for an ORCA run invokes the calculation of the excited-state origin displacements along all
normal modes by means of energy and excited state gradient calculations at the ground-state equilibrium geometry.
The method is valid for the IMDHO model for which the excited-state energy gradient along a given normal mode
and corresponding origin shift are related in a very simple way.
#
# example010.inp
#
# TDDFT BHLYP Normal Mode Gradient Calculation
#
# The keyword NMGrad invokes the normal mode gradient calculation
#
! RKS BHandHLYP TightSCF SV(P) NMGrad
%cis NRoots 1
triplets false
end
%rr
# the nuclear Hessian must have been calculated before - for example by a
# DFT calculation.
HessName= "hexatriene.hess"
* xyz 0 1
C -0.003374 0.678229 0.00000
H -0.969173 1.203538 0.00000
C 1.190547 1.505313 0.00000
H 2.151896 0.972469 0.00000
C 1.189404 2.852603 0.00000
H 0.251463 3.423183 0.00000
H 2.122793 3.426578 0.00000
C 0.003374 -0.678229 0.00000
H 0.969172 -1.203538 0.00000
C -1.190547 -1.505313 0.00000
H -2.151897 -0.972469 0.00000
(continues on next page)
7.41. Simulation and Fit of Vibronic Structure in Electronic Spectra, Resonance Raman 905
Excitation Profiles and Spectra with the orca_asa Program
ORCA Manual, Release 6.0
In the ORCA run the TDDFT excited state gradient calculations are performed on top of a TDDFT calculation.
Note, that the numbers of the excited-states which have to be included into analysis and input file for spectral
simulations must be specified after the States keyword in the %rr block. They should also be consistent with the
required number of roots in the %tddft block. The 1-1 B𝑢 excited state appears to be the first root in the TDDFT
calculation. Therefore, NRoots=1 in the %tddft block, and States=1 in the %rr block. One should also provide
the name of the file containing the nuclear Hessian matrix via the HessName keyword in the %rr block. Here we
used the .hess file obtained in a frequency calculation at the BHLYP/SV(P) level of theory.
After the ORCA calculation you will find in your directory a file called example010.asa.inp that is appropriate
to be used together with the orca_asa program as defined in the preceding sections.
#
# example010.asa.inp
#
# ASA input
#
%sim
model IMDHO
method Heller
AbsRange 5000.0, 100000.0
NAbsPoints 0
RRS_FWHM 10.0
AbsScaleMode Ext
FlScaleMode Rel
RamanOrder 0
EnInput E0
CAR 0.800
end
%fit
Fit false
AbsFit false
FlFit false
RRPFit fsalse
RRSFit false
method Simplex
WeightsAdjust true
ExpFlScaleMode Rel
ExpAbsScaleMode Rel
CWAR -1.000
CWAF -1.000
NMaxFunc 100
MWADRelTol= 1.000000e-004
SFRRPSimStep= 1.000000e+002
SFRRSSimStep 1.000000e+002
FREQGStep 1.000000e+001
FREQEStep 1.000000e+001
E0Step 3.000000e+002
SSStep 2.000000e+001
TMStep 5.000000e-001
GammaStep 5.000000e+001
E0SDStep 5.000000e+001
SDNCStep 4.000000e-001
end
$el_states
1
1 42671.71 100.00 0.00 1.0725 3.3770 -0.0000
$vib_freq_gs
12
1 359.709864
2 456.925612
3 974.521651
4 1259.779018
5 1356.134238
6 1370.721341
7 1476.878592
8 1724.259894
9 1804.572974
10 3236.588264
11 3244.034359
12 3323.831066
$sdnc
12 1
1
1 -0.594359
2 0.369227
3 -0.132430
4 -0.727616
5 0.406841
6 -0.105324
7 0.177617
8 -0.090105
9 -1.412258
10 0.048788
11 0.021438
12 0.008887
This input file can be used to construct theoretical absorption and rR spectra. In order to compare experimental
7.41. Simulation and Fit of Vibronic Structure in Electronic Spectra, Resonance Raman 907
Excitation Profiles and Spectra with the orca_asa Program
ORCA Manual, Release 6.0
and theoretical rR spectra, it is necessary to use in both cases excitation energies that are approximately
in resonance with the same vibrational transitions in the absorption spectrum. Therefore, in the case of
the absorption spectrum with resolved or partially resolved vibrational structure it is necessary to modify
the transition energies in the %el_states such that they coincide with the experimentally observed 0-0
vibrational peaks. It is also desirable to roughly adjust homogeneous and, possibly, inhomogeneous linewidth
parameters such that the experimental and calculated absorption spectra show similar slopes in the preresonance
region (below the 0-0 transition). Then the assignment of experimental rR spectra can be done on the basis of
comparison with the theoretical rR spectra calculated for the corresponding experimental excitation energies. For
the sake of consistency and simplicity it is better to use those excitation energies which fall into the preresonace
region and/or are in resonance with the 0-0 transition. In the case of diffuse absorption spectra (i.e. those
not showing resolved vibrational structure) it is also necessary to adjust the theoretical transition energies
and linewidth parameters such that experimental and calculated positions of absorption maxima roughly
coincide, and corresponding slopes below the maxima have a similar behavior. According to above mentioned
considerations one needs to modify the %el_states block in the file example010.asa.inp:
$el_states
1
1 39808.0 150.00 0.00 1.0725 3.3770 -0.0000
The calculated absorption spectrum obtained by providing AbsScaleMode= Rel, AbsRange= 39000, 49000 and
NAbsPoints= 2000 is shown in Fig. 7.58. Upon comparison with the experimental spectrum one can notice that
the BHLYP functional gives relatively small discrepancies with somewhat lower intensity in the low-frequency
edge and larger intensity on the high-energy side of the spectrum. Besides, there is a noticeable mismatch in
the separation between individual vibronic peaks which is due to overestimation of vibrational frequencies by the
BHLYP functional (typically by ≈ 10%).
You can arbitrarily vary various normal coordinate displacements in %sdnc block within 10–30% of their values
in order to observe modifications of the calculated spectrum. This will tell you how these parameters influence the
spectrum and probably it will be possible to obtain better initial guesses for the fit. In the present example you will
find that reduction of the absolute value of the displacement parameter corresponding to the ninth mode by ≈ 10%,
and reduction of vibrational frequencies by ≈ 10% can noticeably improve the spectral envelope. Such a quick
analysis suggests that experimentally observed peaks in the absorption spectrum represent different vibrational
transitions corresponding to a single electronically excited state rather than to different electronic excitations. This
conclusion will be confirmed upon establishing the fact that the absorption and rR spectra can be successfully fitted
based on the assumption of a single electronic transition.
Fig. 7.58: Experimental and calculated at the BHLYP/SV(P) and B3LYP/SV(P) levels of theory absorption (left
panel) and rR spectra (right panel) corresponding to 1-1 A𝑔 → 1-1 B𝑢 transition in trans-1,3,5-hexatriene.
In order to calculate the rR spectrum for experimental excitation energies you need to specify its value through RRSE
keyword in %sim block as well as possibly to modify the parameters related to the spectral range and linewidth of
rR bands which are suitable for comparison with the experimental rR spectrum:
The calculated rR spectrum is shown in Fig. 7.58. In the input we have invoked the calculation of rR intensities for
the transitions with up to 3 vibrational quanta in the final vibrational state (RamanOrder = 3). Make sure that the
rR intensity pattern in the given spectral range does not change noticeably upon further increase of this parameter.
Typically, the larger are the normal coordinate displacements the greater order of Raman scattering is required
in the calculation to account for all the most intense transitions in the rR spectrum. The inclusion of vibrational
transitions beyond the fundamentals is a particular feature of the orca_asa program.
Comparison of the calculated and experimental rR spectra (Fig. 7.58) mainly shows discrepancies in the values of
the Raman shifts that are mainly related to the low accuracy of the vibrational frequencies obtained at the BHLYP
level (typically overestimated by ≈ 10%). However, the intensity patterns of the calculated and experimental rR
spectra show very nice agreement with experiment that is already sufficient to assign the experimental peaks to
7.41. Simulation and Fit of Vibronic Structure in Electronic Spectra, Resonance Raman 909
Excitation Profiles and Spectra with the orca_asa Program
ORCA Manual, Release 6.0
individual vibrational transitions. This can be done upon examination of file example010.asa.o3.rrs.39808.
stk which provides intensity, Raman shift, and specification for each vibrational transition. It is actually one of the
most consistent procedures that enables one to identify different fundamental, overtone and combination bands in
the experimentally observed rR spectrum. Such an assignment is a necessary prerequisite for the fit. The current
example is relatively straightforward since the spectral region 1–1700 cm−1 is actually dominated by fundamen-
tal bands while the most intense overtone and combination transitions occur at higher frequencies. However, in
many cases even the low-frequency spectral range is characterized by significant contributions from overtone and
combination bands that sometimes are even more intense than fundamental transitions! Thus, quantum chemical
calculations can greatly facilitate the assignment of experimental rR bands.
After having performed the assignment it is advisable to discard those modes from the analysis that are not involved
in any of the experimentally observed fundamental, overtone, or combination rR bands with noticeable intensities.
In the present example these are the modes 6, 8, 10–12 from the input file given above. For these modes it is
implied that the fitted displacement parameters are zero. You will find that the calculated displacement values are
rather small indeed. Also it is advisable to change the ground-state vibrational frequencies in the $vib_freq_gs
block to their experimental values.
Below is the modified input file for the fit run:
#
# example010-01.asa.inp
#
# ASA input
#
%sim
model IMDHO
method Heller
end
%fit
Fit true
AbsFit true
RRSFit true
AbsExpName "hex-abs.dat"
ExpAbsScaleMode Rel
CWAR 5.0
NMaxFunc 1000
SDNCStep 0.5
end
$el_states
1
1 39808.0 150.00 0.00 -0.8533 -3.3690 -0.0000
$el_states_c
1
1 1 1 0 0 0 0
$vib_freq_gs
7
1 354.0
2 444.0
3 934.0
4 1192.0
5 1290.0
6 1403.0
(continues on next page)
$sdnc
7 1
1
1 -0.594359
2 0.369227
3 -0.132430
4 -0.727616
5 0.406841
6 0.177617
7 -1.412258
$sdnc_c
7 1
1
1 1
2 2
3 3
4 4
5 5
6 6
7 7
$rrs_exp
1
1 1
Ex 39809.0
NTr 11
1
int 10.0 1.0
modes 1
quanta 1;
2
int 5.0 1.0
modes 2
quanta 1;
3
int 1.5 1.0
modes 3
quanta 1;
4
int 21.0 1.0
modes 4
quanta 1;
5
int 7.5 1.0
modes 5
quanta 1;
6
int 2.0 1.0
modes 6
quanta 1;
7
int 46.0 1.0
modes 7
quanta 1;
8
(continues on next page)
7.41. Simulation and Fit of Vibronic Structure in Electronic Spectra, Resonance Raman 911
Excitation Profiles and Spectra with the orca_asa Program
ORCA Manual, Release 6.0
9
int 4.0 1.0
modes 2, 7
quanta 1, 1;
10
int 2.0 1.0
modes 3, 7
quanta 1, 1;
11
int 17.0 1.0
modes 7
quanta 2;
In addition to the experimental intensities of fundamental bands the input file also contains the information about
some overtone and combination transitions. Note that it is not really necessary to include all of them them into the
fit, in particular if some of the rR bands are strongly overlapping with each other.
Fitted normal coordinate displacements of the excited-state origin show nice agreement with the published values:
$sdnc
7 1
1
1 -0.638244
2 0.455355
3 -0.229126
4 -0.854357
5 0.501219
6 0.197679
7 -1.292997
NOTE
• It is not really important to employ the BHLYP/SV(P) method in the frequency calculations in order to
obtain the .hess file (this was merely done to be consistent with the TDDFT/BHLYP/SV(P) method for the
excited-state model parameters calculation). The frequency calculations can for example be carried out at
the BP86/TZVP or RI-SCS-MP2/TZVP level of theory. This will provide displacements pattern very similar
to that of the BHLYP/SV(P) method, but much more accurate vibrational frequencies which will further
facilitate the assignment of rR spectra (Fig. 7.58). However, such a procedure can be inconsistent if the
two methods give noticeably different normal mode compositions and/or vibrational frequencies. From our
experience it can lead to significant overestimation of the excited-state displacements for some low-frequency
modes.
• It is known that predicted dimensionless normal coordinate displacements critically depend on the fraction
of the “exact” Hartree-Fock exchange (EEX) included in hybrid functionals. In general no universal amount
of EEX exists that provides a uniformly good description for all systems and states. Typically, for a given
molecule either the BHLYP/TZVP (50% of EEX) or B3LYP/TZVP (20% of EEX) methods yields simulated
spectra that compare very well with those from experiment if vibrational frequencies are appropriately scaled.
Important Notes about Proper Comparison of Experimental and Quantum Chemically Calculated
Resonance Raman Spectra
In order to compare experimental and theoretical rR spectra, it is necessary to use in both cases excitation ener-
gies that are approximately in resonance with the same vibrational transitions in the absorption spectrum.
Therefore, in the case of diffuse absorption spectra (i.e. those not showing resolved vibrational structure) one needs
to adjust the transition energies and linewidth paramters in the %el_states block such that the envelopes of the
experimental and theoretical spectra rouhgly coincide, and then to employ experimental values of excitation ener-
gies to construct theoretical rR spectra. Typically in the case of diffuse absorption spectra rR profiles are rather
smooth. Therefore, even though excitation energies are not in resonance with the same vibrational transition in the
absorption spectrum, the rR spectra are not expected to vary significantly in the case of such mismatch.
In the case of the absorption spectrum with resolved or partially resolved vibrational structure it is necessary to
modify the transition energies in the %el_states block such that the calculated and experimentally observed 0-0
vibrational peaks coincide, and modify linewidth parameters so that the low-energy slopes in the calculated and
experimental spectra have a similar behavior.
Consider a single-mode model system for which “experimental” and calculated absorption spectra are shown in
Fig. 7.59.
7.41. Simulation and Fit of Vibronic Structure in Electronic Spectra, Resonance Raman 913
Excitation Profiles and Spectra with the orca_asa Program
ORCA Manual, Release 6.0
Fig. 7.59: Experimental and theoretical absorption spectra for a single-mode model system. The calculated spec-
trum is adjusted such that the position of 0-0 peak coincide with the experimental one.
Comparison of the calculated and experimental spectra shows that some adjustment of the linewidth parameters
is neceassy before construction of theoretical rR spectra. One can directly compare calculated and experimental
rR spectra upon the excitation at 16200 cm−1 which is in resonance with the 0-0 vibronic band. However, it is
not consistent to use experimental values of the excitation energy in the calculation of rR spectrum which is in
resonance with one of the other vibronic bands since the separation between vibrational peaks in the experimental
and calculated spectra is different whereby positions of the peaks in both spectra do not coincide. Instead one
should use the excitaition energy which corresponds to the same vibronic peak in the calculated absorption
spectrum as in the experimental one. Alternatively, one can adjust theoretical value of vibrational frequency
such that positions of corresponding vibronic peaks in the spectra coincide, and then use experimental values of
excitation energies for the calculation of rR spectra.
Example: Normal Mode Scan Calculations of Model Parameters for 1-1 A𝑔 → 1-1 B𝑢 Transition in
trans-1,3,5-Hexatriene
If excited state gradients are not available (which is the case for many of the electronic structure methods supported
by ORCA), you have to resort to a more laborious procedure – single point calculations at geometries that are
displaced along the various normal modes of the system. This roughly corresponds to taking numerical derivatives
– however, once this extra effort is invested more information can be obtained from the calculation than what would
be possible from an analytic derivative calculation.
The present example illustrates the application of normal mode scan calculations for the evaluation of excited state
harmonic parameters that are necessary to simulate optical spectra within the IMDHO model. This method can be
applied with any method like CIS, CASSCF, MRCI or TD-DFT.
The reference wavefunctions for the multireference calculations reported below are of the state-averaged CASSCF
(SA-CASSCF) type. The complete active space CAS(6,6) includes all 6 valence shell 𝜋-orbitals. The average is
taken over the first four states which was found necessary in order to include the ground state and the strongly
allowed 1-1 B𝑢 state.
#
# example011.inp
#
# CASSCF normal mode scan calculations
#
* xyz 0 1
C -0.002759 0.680006 0.000000
H -0.966741 1.204366 0.000000
C 1.187413 1.500920 0.000000
H 2.146702 0.969304 0.000000
C 1.187413 2.850514 0.000000
H 0.254386 3.420500 0.000000
H 2.116263 3.422544 0.000000
C 0.002759 -0.680006 0.000000
H 0.966741 -1.204366 0.000000
C -1.187413 -1.500920 0.000000
H -2.146702 -0.969304 0.000000
C -1.187413 -2.850514 0.000000
H -0.254386 -3.420500 0.000000
H -2.116263 -3.422544 0.000000
*
%scf
rotate {23,27} end
(continues on next page)
7.41. Simulation and Fit of Vibronic Structure in Electronic Spectra, Resonance Raman 915
Excitation Profiles and Spectra with the orca_asa Program
ORCA Manual, Release 6.0
%casscf
nel 6
norb 6
mult 1
nroots 4
end
* xyz 0 1
C -0.002759 0.680006 0.000000
H -0.966741 1.204366 0.000000
C 1.187413 1.500920 0.000000
H 2.146702 0.969304 0.000000
C 1.187413 2.850514 0.000000
H 0.254386 3.420500 0.000000
H 2.116263 3.422544 0.000000
C 0.002759 -0.680006 0.000000
H 0.966741 -1.204366 0.000000
C -1.187413 -1.500920 0.000000
H -2.146702 -0.969304 0.000000
C -1.187413 -2.850514 0.000000
H -0.254386 -3.420500 0.000000
H -2.116263 -3.422544 0.000000
*
%casscf
nel 6
norb 6
mult 1
nroots 4
end
%rr
HessName "hexatriene_bp86.hess"
NMList 10,11,18,24,26,28,29,31,32
NSteps 6
FreqAlter true
EnStep 0.0001
State 3
end
* xyz 0 1
C -0.002759 0.680006 0.000000
H -0.966741 1.204366 0.000000
C 1.187413 1.500920 0.000000
H 2.146702 0.969304 0.000000
C 1.187413 2.850514 0.000000
H 0.254386 3.420500 0.000000
H 2.116263 3.422544 0.000000
C 0.002759 -0.680006 0.000000
H 0.966741 -1.204366 0.000000
C -1.187413 -1.500920 0.000000
H -2.146702 -0.969304 0.000000
C -1.187413 -2.850514 0.000000
(continues on next page)
The file containing the Hessian matrix ("hexatriene_bp86.hess") was obtained from the BP86/TZVP fre-
quency calculations. The keyword NMList provides the list of the normal modes to be scanned. These should
be only the totally symmetric vibrations, since only they can be significant for absorption and resonance Raman
spectra within the constraints of the IMDHO model. The FreqAlter flag indicates whether frequency alterations
are assumed in the post-scan potential surface fit. The Parameter EnStep is used to select the appropriate step
during the scan calculations. The value is chosen such that the average energy change (in Eh) in both directions is
not less than this parameter.
In this context, 𝛼 represents a positive constant, 𝜔 stands for photon energy, and the expression for 𝐻
ˆ 1 hinges on
the specific modeling of photon-matter interaction.
By disregarding the coupling between the magnetic field of light and the spin, as well as the |A|2 term, and applying
Fermi’s golden rule, an expression for ⟨Ψ𝐼 |𝐻ˆ 1 |Ψ𝐽 ⟩ under the Full-Semiclassical Light-Matter interaction can be
derived.
𝑁
𝑒 ∑︁ [︁ ]︁
𝐹 𝐹 𝑀 𝐼𝑂
𝑇𝐼𝐽 = ⟨𝐼| ℰ · 𝑒𝑖k·r𝑖 p̂𝑖 |𝐽⟩ (7.257)
𝑚𝑒 𝑖=1
Where 𝑇𝐼𝐽𝐹 𝐹 𝑀 𝐼𝑂
is the transition moment for the Full (semiclassical) Field-Matter Interaction Operator, while 𝑘
and ℰ denote the wave and polarization vectors describing the light, respectively. r𝑖 and p𝑖 represent the position
and linear momentum operators for the i-th electron.
Proceeding from eq. (7.257) and approximating the exponential term of 𝑇𝐼𝐽 𝐹 𝐹 𝑀 𝐼𝑂
with a Taylor expansion yields
[0]
various orders of interaction. The zeroth order (𝑇𝐼𝐽 ) results in the electric dipolar velocity formulation (𝐸𝐷 𝑣𝑒𝑙),
which, upon molecular orientational averaging, yields:
∑︁ 2
𝜖𝐸𝐷 𝑣𝑒𝑙 (𝜔) = (𝑁𝐼 − 𝑁𝐽 ) 𝑝|Ψ𝐽 ⟩|2 𝛿(𝐸𝐽𝐼 ± ℏ𝜔)
|⟨Ψ𝐼 |ˆ (7.258)
3𝐸 𝐽𝐼
𝐼𝐽
For exact solutions of the Hamiltonian, or in theories that satisfy the Hypervirial theorem by construction, equation
(7.258) can be transformed into a length formulation (7.259) (𝐸𝐷 𝑙𝑒𝑛).
∑︁ 2𝐸𝐽𝐼
𝜖𝐸𝐷 𝑙𝑒𝑛 (𝜔) = (𝑁𝐼 − 𝑁𝐽 ) 𝜇|Ψ𝐽 ⟩|2 𝛿(𝐸𝐽𝐼 ± ℏ𝜔)
|⟨Ψ𝐼 |ˆ (7.259)
3
𝐼𝐽
The absorption spectrum under 𝐸𝐷 𝑙𝑒𝑛 and 𝐸𝐷 𝑣𝑒𝑙 formulations can be obtained in all Orca modules utilizing
OPS by setting DoDipoleLength and DoDipoleVelocity to true, respectively, in the corresponding module’s block.
The results are then presented in the following tables:
-----------------------------------------------------------------------------------------------
˓→-----
-----------------------------------------------------------------------------------------------
˓→-----
0-1Ag -> 1-1B3g 2.507275 20222.5 494.5 0.000000000 0.00000 -0.00000 0.00000 0.
˓→00000
0-1Ag -> 2-1Au 2.726731 21992.6 454.7 0.000000000 0.00000 -0.00000 0.00000 -0.
˓→00000
0-1Ag -> 3-1B2g 3.892633 31396.2 318.5 0.000000000 0.00000 0.00000 0.00000 -0.
˓→00000
0-1Ag -> 4-1B3u 4.973431 40113.4 249.3 0.301976959 2.47833 1.57427 -0.00000 -0.
˓→00025
-----------------------------------------------------------------------------------------------
˓→-----
-----------------------------------------------------------------------------------------------
˓→-----
0-1Ag -> 1-1B3g 2.507275 20222.5 494.5 0.000000000 0.00000 0.00000 0.00000 -0.
˓→00000
0-1Ag -> 2-1Au 2.726731 21992.6 454.7 0.000000000 0.00000 0.00000 0.00000 -0.
˓→00000
0-1Ag -> 3-1B2g 3.892633 31396.2 318.5 0.000000001 0.00000 -0.00000 -0.00000 -0.
˓→00001
0-1Ag -> 4-1B3u 4.973431 40113.4 249.3 0.292852326 0.08029 -0.28335 0.00000 -0.
˓→00002
Here, transitions are denoted using spectroscopic notation, such as 1-3B3g representing 13 𝐵3𝑔 . If symmetry is
not specified in the calculation (or is unavailable in the selected method), the system defaults to 𝐶1 point group
symmetry. The “fosc(D2)” and “fosc(P2)” columns indicate the computed oscillator strengths in lenght and velocity
formulations respectively. Additionally, “D2”, “P2”, “DX”, “DY”, “DZ”, “PX”, “PY”, and “PZ” represent the
square modulus of the electric transition dipole moment, square modulus of the transition linear momentum, and
its Cartesian components, respectively (with the imaginary unit in the linear momentum being implicit).
[1]
The first-order term (𝑇𝐼𝐽 ) in the Taylor expansion of 𝑇𝐼𝐽
𝐹 𝐹 𝑀 𝐼𝑂
gives rise to the electric quadrupole velocity for-
mulation and the magnetic dipole contributions.
𝑖𝑒
⟨Ψ𝐼 |(𝑇𝐸𝑄𝑣𝑒𝑙 )𝛼𝛽 |Ψ𝐽 ⟩ = 𝑘𝛼 𝜖𝛽 ⟨Ψ𝐼 |𝑟𝛼 𝑝𝛽 + 𝑝𝛼 𝑟𝛽 |Ψ𝐽 ⟩ (7.260)
2𝑚𝑒
𝑖𝑒
⟨Ψ𝐼 |𝑇𝑀 𝐷 |Ψ𝐽 ⟩ = ⟨Ψ𝐼 |(𝑘 × 𝜖)(𝑟 × 𝑝)|Ψ𝐽 ⟩ (7.261)
2𝑚𝑒
Under the same conditions applied to the electric dipole transition moment, the quadrupole contribution can be
[0] [1]
By squaring the modulus of (𝑇𝐼𝐽 + 𝑇𝐼𝐽 ), six terms emerge in the oscillation strength intensity: the dipole
square contribution as listed previously in the dipole-approximation tables, a magnetic dipole square, an electric
quadrupole square, and three cross-product terms: electric dipole-electric quadrupole, electric dipole-magnetic
dipole, and magnetic dipole-electric quadrupole. Enabling DoHigherMoments to true allows for the estimation
of spectrum intensity by including all three squared terms in the calculation of the intensity. Similarly to the
𝐸𝐷 𝑙𝑒𝑛 and 𝐸𝐷 𝑣𝑒𝑙 tables, the DoDipoleLength and DoDipoleVelocity keywords control the length and velocity
representations of the electric operators.
-----------------------------------------------------------------------------------------------
˓→---------------------------------
-----------------------------------------------------------------------------------------------
˓→---------------------------------
-----------------------------------------------------------------------------------------------
˓→---------------------------------
-----------------------------------------------------------------------------------------------
˓→---------------------------------
Here, the column “fosc(D2+M2+Q2)” and “fosc(P2+M2+Q2)” refer to the total oscillator strengths obtained
in length and velocity formulations, respectively, while the columns “fosc(D2)”/”fosc(P2)”, “fosc(M2)”, and
“fosc(Q2)” refer to the individual contributions of each term.
In scenarios where the dipolar contribution to the intensity is non-zero, dividing the total intensity into D2/P2, M2,
and Q2 contributions becomes challenging due to the dependence of M2 and Q2 terms on the chosen origin. To
address this origin-dependence issue, OPS offers additional formulations to the multipolar expansion. One possible
approach devised by our group describes each transition from an origin that minimizes the contributions of M2
and Q2, thereby redistributing the intensity from these terms to all other components in the expansion of 𝑒𝑖k·r𝑖 .
This refined formulation is readily accessible in an “origin-adjusted” table, provided that DoHigherMoments is
enabled and additionally DecomposeFoscLength is set to true. [201], [200]
-----------------------------------------------------------------------------------------------
˓→---------------------------------
-----------------------------------------------------------------------------------------------
˓→---------------------------------
Alternatively, the intensity described through a truncated expansion of 𝑒𝑖k·r𝑖 be achieved in an origin-independent
manner. In this scenario, the cross-terms between the electric dipole moment and the electric octupole, as well as
between the electric dipole moment and the magnetic quadrupole moments, arise from the second-order expansion
[2]
(𝑇𝐼𝐽 ), resolving the origin dependence on the D2, M2, and Q2 contributions. This formulation is provided in
both length and velocity representations for the electric operators by setting the keywords DecomposeFoscLength
and DecomposeFoscVelocity to true, and the results are presented in the tables “Origin Independent, Length” and
“Origin Independent, Velocity,” respectively.”
-----------------------------------------------------------------------------------------------
˓→---------------------------------
-----------------------------------------------------------------------------------------------
˓→---------------------------------
-----------------------------------------------------------------------------------------------
˓→----------------------------------
-----------------------------------------------------------------------------------------------
˓→----------------------------------
-----------------------------------------------------------------------------
ABSORPTION SPECTRUM VIA FULL SEMI-CLASSICAL FORMULATION
-----------------------------------------------------------------------------
Transition Energy Energy Wavelength fosc(FFMIO)
(eV) (cm-1) (nm)
-----------------------------------------------------------------------------
0-1Ag -> 1-1B3g 2.507275 20222.5 494.5 0.00000049901134
0-1Ag -> 2-1Au 2.726731 21992.6 454.7 0.00000000000260
0-1Ag -> 3-1B2g 3.892633 31396.2 318.5 0.00000116403914
0-1Ag -> 4-1B3u 4.973431 40113.4 249.3 0.29285049449335
The tables presented in this section can be generated using the following input example:
%CIS
Nroots 4
Tda false
DoDipoleLength true
DoDipoleVelocity true
DoHigherMoments true
DoFullSemiclassical true
DecomposeFoscLength true
DecomposeFoscVelocity true
END
* xyz 0 1
C -0.03361342468929 0.00165373985356 -0.01949461738929
C 0.00156939445126 0.00011912087577 1.46272959096597
C 1.15884465742251 0.00010247651897 2.13104196345420
C 2.45992795249087 0.00152015393852 1.42032876326693
C 2.42474592208737 0.00010359895701 -0.06189678799337
C 1.26746963770198 0.00012121580349 -0.73020920027406
H -0.96132586605922 -0.00069823088896 1.95925560299438
H 1.20967888389840 -0.00071666462249 3.21322810501222
O 3.51487697965937 -0.00034474583300 2.02878006087658
H 3.38764113128475 -0.00071842966522 -0.55842278191419
H 1.21663501697728 -0.00069837665390 -1.81239534279079
O -1.08856228522528 -0.00044385828375 -0.62794535620861
*
To initiate these calculations, the keyword DoCD should be set to true. There are three available implementa-
tions, which involve utilizing the length or velocity representations for the electric dipole moment, and also using
the FFMIO, selected by including the keywords DoDipoleLength, DoDipoleVelocity, and DoFullSemiclassical
respectively.
------------------------------------------------------------------------------------------
CD SPECTRUM VIA TRANSITION ELECTRIC DIPOLE MOMENTS
------------------------------------------------------------------------------------------
Transition Energy Energy Wavelength R MX MY MZ
(eV) (cm-1) (nm) (1e40*cgs) (au) (au) (au)
------------------------------------------------------------------------------------------
0-1A -> 1-1A 5.858500 47252.0 211.6 -9.15001 -0.01149 0.10351 -0.06803
0-1A -> 2-1A 6.859736 55327.5 180.7 -10.82714 0.13087 0.17869 0.25077
0-1A -> 3-1A 7.025193 56662.0 176.5 10.05878 -0.00526 -0.09041 -0.13618
0-1A -> 4-1A 7.837041 63210.0 158.2 33.15402 0.02541 -0.23067 0.15096
------------------------------------------------------------------------------------------
CD SPECTRUM VIA TRANSITION VELOCITY DIPOLE MOMENTS
------------------------------------------------------------------------------------------
Transition Energy Energy Wavelength R MX MY MZ
(eV) (cm-1) (nm) (1e40*cgs) (au) (au) (au)
------------------------------------------------------------------------------------------
0-1A -> 1-1A 5.858500 47252.0 211.6 -10.85364 -0.01149 0.10351 -0.06803
0-1A -> 2-1A 6.859736 55327.5 180.7 -15.54410 0.13087 0.17869 0.25077
0-1A -> 3-1A 7.025193 56662.0 176.5 12.44178 -0.00526 -0.09041 -0.13618
0-1A -> 4-1A 7.837041 63210.0 158.2 38.90662 0.02541 -0.23067 0.15096
--------------------------------------------------------------------
CD SPECTRUM VIA FULL SEMI-CLASSICAL FORMULATION
--------------------------------------------------------------------
Transition Energy Energy Wavelength R
(eV) (cm-1) (nm) (1e40*cgs)
--------------------------------------------------------------------
0-1A -> 1-1A 5.858500 47252.0 211.6 -10.85394
0-1A -> 2-1A 6.859736 55327.5 180.7 -15.54405
0-1A -> 3-1A 7.025193 56662.0 176.5 12.44211
0-1A -> 4-1A 7.837041 63210.0 158.2 38.90630
The following input example may be used to generate the CD tables presented in this section:
!B3LYP def2-QZVPP
%CIS
Nroots 4
Tda false
Docd true
DoDipoleLength true
DoDipoleVelocity true
DoFullSemiclassical true
END
* xyz 0 1
O 0.00292203187063 -0.00094788357265 0.00607763745451
H -0.01058222980812 0.00702286262037 0.97110447138368
O 1.43049571483128 -0.00638910838156 -0.24427444074129
(continues on next page)
-----------------------------------------------------------------------------------------------
˓→---------
0-1.0A -> 1-3.0A 4.620455 37266.5 268.3 0.000000105 0.00000 0.00079 0.00024␣
˓→ 0.00049
0-1.0A -> 2-3.0A 4.620460 37266.5 268.3 0.000000009 0.00000 0.00003 0.00024␣
˓→ 0.00016
0-1.0A -> 3-3.0A 4.620491 37266.8 268.3 0.000000126 0.00000 0.00093 0.00034␣
˓→ 0.00035
0-1.0A -> 4-3.0A 5.626046 45377.1 220.4 0.000003140 0.00002 0.00043 0.00397␣
˓→ 0.00261
0-1.0A -> 5-3.0A 5.626322 45379.4 220.4 0.000000070 0.00000 0.00056 0.00020␣
˓→ 0.00040
0-1.0A -> 6-3.0A 5.626327 45379.4 220.4 0.000000003 0.00000 0.00002 0.00013␣
˓→ 0.00009
0-1.0A -> 7-1.0A 5.858722 47253.8 211.6 0.003490904 0.02432 0.01409 0.12986␣
˓→ 0.08520
0-1.0A -> 8-3.0A 6.537246 52726.4 189.7 0.000000006 0.00000 0.00017 0.00005␣
˓→ 0.00008
0-1.0A -> 9-3.0A 6.537246 52726.5 189.7 0.000000225 0.00000 0.00011 0.00099␣
˓→ 0.00065
0-1.0A -> 10-3.0A 6.537257 52726.5 189.7 0.000000032 0.00000 0.00004 0.00037␣
˓→ 0.00025
0-1.0A -> 11-1.0A 6.859693 55327.2 180.7 0.002900797 0.01726 0.12934 0.02129␣
˓→ 0.00891
0-1.0A -> 12-1.0A 7.025210 56662.1 176.5 0.011980549 0.06961 0.23240 0.08590␣
˓→ 0.09066
0-1.0A -> 13-3.0A 7.448215 60073.9 166.5 0.000000040 0.00000 0.00018 0.00022␣
˓→ 0.00037
0-1.0A -> 14-3.0A 7.448216 60073.9 166.5 0.000000003 0.00000 0.00002 0.00011␣
˓→ 0.00006
0-1.0A -> 15-3.0A 7.448231 60074.0 166.5 0.000000533 0.00000 0.00116 0.00078␣
˓→ 0.00098
0-1.0A -> 16-1.0A 7.837071 63210.2 158.2 0.012389093 0.06452 0.02426 0.21144␣
˓→ 0.13867
In this case, due to the complex nature of the relativistically-corrected wave functions, dipole moments are not
necessarily real values, and their modulous are reported in the “|DX|”, “|DY|”, and “|DZ|” columns. Real and
imaginary components may be obtained in extended tables by increasing the selected print level. In this instance,
selecting Printlevel 4 in the %CIS block.
-----------------------------------------------------------------------------------------------
˓→------------------------------------------------------------------------------
SOC CORRECTED ABSORPTION SPECTRUM VIA TRANSITION ELECTRIC DIPOLE MOMENTS (- Extended -)
-----------------------------------------------------------------------------------------------
˓→------------------------------------------------------------------------------
In Orca 6.0 the modules in which OPS is avaylable are: %cis/%tddft, %rocis, %casscf, %mrci, %mdci, %lft,
7.42.6 Notes
1. All values in the OPS tables are expressed in atomic units unless otherwise specified.
2. Keyword corrections are done internally when necessary.
3. IMPORTANT: Input keywords have been standardized across all OPS-utilizing modules; Orca 5 keywords
are no longer valid.
4. IMPORTANT: In CASSCF and MRCI, keywords controlling the absorption and ECD spectrum no longer
belong in the “%rel” block.
5. Origin-adjusted formulation is approximated in SOC/SSC formulations.
6. OPS is not available for sTDDFT and sTDADFT.
7. The MDCI module reports spectra using left, right, and both solutions.
8. ADC2 and EOM-CCSD methods exclusively utilize ED length tables.
Here the upper indices 𝑆𝑆 stand for a wave function of the spin quantum number 𝑆 and spin projection 𝑀𝑆 = 𝑆.
Since the BO Hamiltonian does not contain any complex-valued operator, the solutions ⃒Ψ𝑆𝑆 may be chosen to
⃒ ⟩︀
𝐼
be real-valued.
By obtaining a solution to the above eigenvalue problem provides the coefficients with which the CSFs enter into the
chosen wavefunction as well as the eigenstates of the spin-free operator. These eigenstates maube used to expand
towards the respective relativistic eigenstates by setting up the relevant quasi-degenerate eigenvalue problem. In
fact the spin-orbit coupling (SOC), the spin-spin coupling (SSC) effects along with the Zeeman interaction can be
included by means of the quasi-degenerate perturbation theory (QDPT). In this approach the SOC, {︀ the }︀SSC, and
the Zeeman operators are calculated in the basis of pre-selected solutions of the BO Hamiltonian Ψ𝑆𝑀 𝐼 .
⟨ ⃒ ⃒ ′ ′⟩ ⟨ ⃒ ⃒ ′ ′⟩
Ψ𝑆𝑀
𝐼
⃒ˆ
⃒𝐻BO + 𝐻 ˆ SOC + 𝐻 ˆ Z ⃒⃒ Ψ𝐽𝑆 𝑀 = 𝛿𝐼𝐽 𝛿𝑆𝑆 ′ 𝛿𝑀 𝑀 ′ 𝐸 (𝑆) + Ψ𝑆𝑀
ˆ SSC + 𝐻 𝐼
⃒ˆ
⃒𝐻SOC + 𝐻 ˆ SSC + 𝐻ˆ Z ⃒⃒ Ψ𝑆𝐽 𝑀
𝐼
(7.264)
Diagonalization of this matrix yields the energy levels and eigenvectors of the coupled states. These eigenvectors
in fact represent linear combinations of the solutions of 𝐻
ˆ BO with complex coefficients.
The effective one-electron SOC operator in second quantized form can be written as [611]:
ˆ SOMF = 1
∑︁ [︁ ]︁
− ↑ˆ + ˆ↑
𝐻 𝑧𝑝𝑞 𝑎
ˆ𝑝 𝑏𝑞 + 𝑧𝑝𝑞 𝑏𝑝 𝑎 0
ˆ𝑞 + 𝑧𝑝𝑞 𝑎 ˆ𝑞 − ˆ𝑏↑𝑝ˆ𝑏𝑞
ˆ↑𝑝 𝑎 (7.265)
2 𝑝𝑞
Here 𝑎ˆ↑𝑝 and ˆ𝑏↑𝑝 stand for creation of 𝛼 and 𝛽 electrons respectively; 𝑎
ˆ𝑝 and ˆ𝑏𝑝 represent the corresponding annihila-
tion operators. The matrix elements 𝑧𝑝𝑞 = 𝑧𝑝𝑞 −𝑖𝑧𝑝𝑞 , 𝑧𝑝𝑞 = 𝑧𝑝𝑞 +𝑖𝑧𝑝𝑞
− 𝑥 𝑦 + 𝑥 𝑦
, and 𝑧𝑝𝑞
0 𝑧
= 𝑧𝑝𝑞 (upper 𝑥, 𝑦, 𝑧 indices denote
the Cartesian components) are constructed from the matrix elements described in section Zero-Field-Splitting.
𝑆′
(︂ ⃒ )︂
1 ⃒⃒ 𝑆 ⟨︀ 𝑆𝑆
⟨ ⃒ ⃒ ⟩
⃒ ˆ ⃒ 𝑆′ 𝑀 ′ ∑︁
Ψ𝑆𝑀 𝑆𝑂𝐶
||Ψ𝑆𝑆
⟩︀
⃒𝐻SOC ⃒ Ψ𝐽 = (−1) Ψ ||𝐻−𝑚
𝐼 𝑀′ 𝑚 ⃒𝑀 ⏟ 𝐼 𝐽
(7.266)
𝑚=0,±1
⏞
′
𝑆𝑆 (𝑚)
𝑌𝐼𝐼 ′
𝑆 ′ 1 ⃒⃒ 𝑆
(︂ ⃒ )︂
where 𝑚 represents the standard vector operator components. is a Clebsch–Gordon coefficient
𝑀 ′ 𝑚 ⃒𝑀
that has a single numer- ical value that is tabulated. It satisfies certain selection rules and contains all of the M-
𝑆𝑆 ′
dependence of the SOC matrix elements. The quantity 𝑌𝐼𝐼 ′ (𝑚) is a reduced matrix element. It only depends on
𝑆𝑆 ′
the standard components of the two states involved. There are only three cases of non-zero 𝑌𝐼𝐼 ′ (𝑚) which arise
from state pairs that either have the same total spin or differ by one unit.[622]
The SSC Hamiltonian reads:
2 2 𝑚 (2)
ˆ SSC = − 3𝑔𝑒 𝛼 (−1)
∑︁ ∑︁ (2)
𝐻 5 [r𝑖𝑗 × r𝑖𝑗 ]−𝑚 [S (𝑖) × S (𝑗)] (7.267)
8 𝑚=0,±1,±2
𝑟𝑖𝑗
𝑖̸=𝑗 𝑚
For matrix elements between states of the same multiplicity it can be simplified to
⟨ ⃒ ⃒ ⟩ √
⃒ˆ ⃒ ′ ′ (𝑆+1)(2𝑆+3)
𝑎𝑆𝑀 ⃒𝐻 SSC ⃒ 𝑎 𝑆𝑀 = √
(︂ ′𝑆(2𝑆−1)⃒ )︂ (7.268)
𝑚 𝑆 2 ⃒⃒ 𝑆 ∑︀ (−𝑚) ⟨︀ ⃒ ⃒
𝐷𝑝𝑞𝑟𝑠 𝑎𝑆𝑆 ⃒𝑄0𝑝𝑞𝑟𝑠 ⃒ 𝑎′ 𝑆𝑆
∑︀ ⟩︀
× (−1) ′ 𝑝𝑞𝑟𝑠
𝑚 𝑀 𝑚 ⃒ 𝑀
Here
{︂ }︂
1 1 (︀ 𝑧 𝑧
𝑄(0) 𝑧 𝑧
(7.269)
)︀
𝑝𝑞𝑟𝑠 = √ 𝐸𝑝𝑞 𝛿𝑠𝑟 − 𝑆𝑝𝑠 𝑆𝑟𝑞 + 𝑆 𝑆 − 𝐸𝑝𝑞 𝐸𝑟𝑠
4 6 2 𝑝𝑞 𝑟𝑠
represents the two-electron quintet density. The operators 𝐸𝑝𝑞 = 𝑎 ˆ𝑞 + ˆ𝑏↑𝑝ˆ𝑏𝑞 and 𝑆𝑝𝑞
ˆ↑𝑝 𝑎 𝑧
=𝑎 ˆ𝑞 − ˆ𝑏↑𝑝ˆ𝑏𝑞 symbolize
ˆ↑𝑝 𝑎
here the one-electron density operator and the spin density operator accordingly. The spatial part
3𝑟1𝑧 𝑟2𝑧 − r1 r2
∫︁ ∫︁
1
(0)
𝐷𝑝𝑞𝑟𝑠 =√ 𝜙𝑝 (r1 ) 𝜙𝑟 (r2 ) 5 𝜙𝑞 (r1 ) 𝜙𝑠 (r2 ) 𝑑r1 𝑑r2 (7.270)
6 𝑟12
denotes the two-electron field gradient integrals. These two-electron integrals can be evaluated using the RI ap-
proximation.
Finally, the Zeeman Hamiltonian is included in the form of:
(︁ )︁
𝐻ˆ Z = 𝜇𝐵 L ^ + 𝑔𝑒 S
^ B (7.271)
with L
^ representing the total orbital momentum operator, and S
^ being the total spin operator.
In this concept solution of a selected relativistic Hamiltonian provide access to a numerous magnetic properties
namely EPR properties EPR and NMR properties as well as Magnetization and Susceptibility properties Mag-
netization and Magnetic Susceptibility In addition monitoring the impact of an external Magnetic Field to the
relativistic eigenstates and eigenvectors Addition of Magnetic Fields becomes straightforward.
Collectively within the QDPT framework the following magnetic properties become available
1) G-Tensor/Matrix
2) Zero Field Splitting
3) Hyperfine A-Tensor/Matrix
4) Electric Field Gradient
5) Magnetization
6) Susceptibility
7) Inclusion of Magnetic Fields
These projected vectors are then symmetrically orthonormalized resulting in an Hermitian effective Hamiltonian,
which can be written as:
1 1
∑︁
𝐻ˆ eff |Ψ̃⟩ = |𝑆 − 2 Ψ̃𝑘 ⟩𝐸𝑘 ⟨𝑆 − 2 Ψ̃𝑘 |
𝑘
The effective interaction matrix obtained by expanding this Hamiltonian into the basis of determinants belonging
to the model space, is the compared to the matrix resulted from expanding the model Hamiltonian. Based on a
singular value decomposition procedure, all 9 elements of the G, A and/or ZFS tensors may be extracted.
In a first step SOC contributions will be computed for any level of theory that is available
----------------------------------
QDPT WITH CASSCF/NEVPT2/MRCI... DIAGONAL ENERGIES
----------------------------------
*************************************
COMPUTING QDPT HAMILTONIAN
*************************************
*************************************
Doing QDPT with ONLY SOC!
*************************************
Bra Ket
<Block Root S Ms | HSOC | Block Root S Ms> = Real-part Imaginary part
--------------------------------------------------------------------------------------
0 2 1.0 1.0 0 1 1.0 1.0 0.000 -71.172
0 3 1.0 1.0 0 2 1.0 1.0 0.000 1.542
0 4 1.0 1.0 0 0 1.0 1.0 0.000 50.048
0 5 1.0 1.0 0 0 1.0 1.0 0.000 -48.827
0 5 1.0 1.0 0 4 1.0 1.0 0.000 -40.119
0 6 1.0 1.0 0 1 1.0 1.0 0.000 -0.197
0 6 1.0 1.0 0 3 1.0 1.0 0.000 8.724
0 7 1.0 1.0 0 1 1.0 1.0 0.000 -2.695
...
...
1) for G-Tensor/Matrix
----------------------------------------------
ELECTRONIC G-MATRIX FROM EFFECTIVE HAMILTONIAN
----------------------------------------------
2) for ZFS, on the basis of the 2nd Order and Effective Hamiltonian approximations
--------------------------------------------
ZERO-FIELD SPLITTING
2ND ORDER SOC CONTRIBUTION
--------------------------------------------
--------------------------------------------------------
ZERO-FIELD SPLITTING
EFFECTIVE HAMILTONIAN SOC CONTRIBUTION
--------------------------------------------------------
3) for A-Tensor/Matrix
-------------------------
QDPT HFC A-MATRICES
-------------------------
---------------------------------------
EFG TENSOR
---------------------------------------
5) For Mahnetization/Susceptibility
-------------------------------------------------
SOC CORRECTED MAGNETIZATION AND/OR SUSCEPTIBILITY
-------------------------------------------------
-----------------------------------------------------------------------------------------------
˓→-----------
-----------------------------------------------------------------------------------------------
˓→-----------
-----------------------------------------------------------------------------------------------
˓→---------
...
If requested in a second step Spin-Spin Coupling contributions will be generated and wiil be added to the SOC
Hamiltonian to generate SOC+SSC contributions
-------------------------------------------
Calculating Spin-Spin Coupling Integrals
-------------------------------------------
The the program will undergo the exact same analysis as above printing the SOC+SSC analysis
***********************************************************
* DOING EVERYTHING A SECOND TIME: THIS TIME INCLUDING SSC *
***********************************************************
*************************************
COMPUTING QDPT HAMILTONIAN
*************************************
*************************************
Doing QDPT with SOC AND SSC!
*************************************
------------------------------------
NONZERO SOC and SSC MATRIX ELEMENTS (cm**-1)
------------------------------------
Bra Ket
<Block Root S Ms | HSOC + HSSC | Block Root S Ms> = Real-part Imaginary part
--------------------------------------------------------------------------------------
0 2 1.0 1.0 0 1 1.0 1.0 -0.000 -71.172
0 3 1.0 1.0 0 1 1.0 1.0 -0.001 0.000
0 3 1.0 1.0 0 2 1.0 1.0 0.020 1.542
0 4 1.0 1.0 0 0 1.0 1.0 -0.222 50.048
0 5 1.0 1.0 0 0 1.0 1.0 -0.228 -48.827
0 5 1.0 1.0 0 4 1.0 1.0 0.332 -40.119
0 6 1.0 1.0 0 1 1.0 1.0 -0.030 -0.197
--------------------------------------------------------
ZERO-FIELD SPLITTING
EFFECTIVE HAMILTONIAN SOC and SSC CONTRIBUTION
--------------------------------------------------------
-----------------------------------------------------------------------------------------------
˓→---------
4𝜋 2
𝜎𝑃˜ 𝑄˜ = |𝑇 ˜ ˜ |2 ,
𝑐(𝐸𝑄˜ − 𝐸𝑃˜ ) 𝑃 𝑄
where c is the speed of light; 𝐸𝑃˜ and 𝐸𝑄˜ are the energy of the states 𝑃˜ and 𝑄,
˜ respectively; 𝑇 ˜ ˜ is the tran-
𝑃𝑄
sition moment between states 𝑃˜ and 𝑄 ˜ and it can be computed with different expressions based on the applied
approximation.
Under a dipolar approximation to the light-matter interaction, the transition moment takes the form:
𝑁
∑︁
𝑇𝑃˜ 𝑄˜ = ⟨𝑃˜ | ℰ · p̂𝑖 |𝑄⟩,
˜
𝑖=1
where the sum runs over all electrons 𝑖; p̂𝑖 is the linear momentum operator; and ℰ is the polarization vector of the
incident light.
In order to take into account all the electric and magnetic mechanisms in the transition, it is necessary to use the
full field-matter interaction operator (FFMIO). For transition moment, it leads to the equation (7.272).
𝑁
𝑒 ∑︁ ˜ [︁ ]︁
𝑇𝑃˜ 𝑄˜ = ˜
⟨𝑃 | ℰ · 𝑒𝑖k·^r𝑖 p̂𝑖 |𝑄⟩ (7.272)
𝑚𝑒 𝑖=1
where 𝑟ˆ𝑖 is the position operator of i-th electron and k is the wave vector that points in the direction of the light
propagation whose magnitude is related to the wavelength by 𝜆 = 2𝜋/|k|.
For free-rotating molecules, it is necessary to consider all possible orientations of the molecule with respect to
the direction of the incident light. In some cases, such as the absorption of linear-polarized light under a dipolar
approximation, the effect of the orientation can be averaged analytically. However, numerical integration over some
selected molecular orientations, labeled as 𝑜 in equation (7.273), is generally necessary.
∑︁ 4𝜋 2
< 𝜎𝑃˜ 𝑄˜ >= 𝑤𝑜 |𝑇 ˜ ˜ (𝑜)|2 (7.273)
𝑜
𝑐(𝐸𝑄˜ (𝑜) − 𝐸𝑃˜ (𝑜)) 𝑃 𝑄
right (+) circularly-polarized light (∆f𝑜𝑠𝑐 ) and as the sum of the oscillator strength (f𝑜𝑠𝑐 ), which corresponds to
the linearly-polarized light absorption. The molecular orientations are constructed by using rotation matrices with
three Euler angles: 𝜒, 𝜃, and 𝜑. Herein, 𝜒 (the rotation angle on a plane perpendicular to the direction of external
magnetic field/incident light) is integrated analytically whereas 𝜃 and 𝜑 are taken on a grid.
Finally, the states 𝑃˜ and 𝑄
˜ are obtained from QDPT by expanding the states over non-relativistic eigenstates of 𝐻
ˆ0
({𝐼, 𝐽}) and the coefficients of the expansion (𝑑𝐼 𝑄˜ ) are obtained from the diagonalization of the complex matrix,
which contains 𝐻 ˆ 0 as well as the SOC and Zeeman contributions (and SSC, if it is implemented in the selected
electronic structure theory) expressed in {𝐼, 𝐽}.
′
𝑀′ ′
𝑀′
⟨Ψ𝑆𝑀
𝐼
ˆ0 + 𝐻
|𝐻 ˆ 𝑆𝑂𝐶 + 𝐻
ˆ 𝑍𝑒𝑒𝑚𝑎𝑛 |Ψ𝑆
𝐽 ⟩ = 𝛿𝐼𝐽 𝛿𝑆𝑆 ′ 𝛿𝑀 𝑀 ′ 𝐸𝐼𝑆 + ⟨Ψ𝑆𝑀
𝐼
ˆ 𝑆𝑂𝐶 + 𝐻
|𝐻 ˆ 𝑍𝑒𝑒𝑚𝑎𝑛 |Ψ𝑆
𝐽 ⟩ (7.274)
%tddft
TDA False
NROOTS 10
DoSOC True
DoMCD True
B 50000.0
end
*xyz 0 1
O 0.24287127056830 0.00033994295362 0.29479344369591
C 0.13113617562040 0.00013705972874 1.65093880501262
C 1.35780003491446 -0.00017874911331 2.22574232397512
C 2.30247996517358 -0.00017814489451 1.14947275232337
C 1.57300244613625 0.00013652073221 0.00793218434497
H -0.86951534119903 0.00025858475406 2.04160438459058
H 1.56899490845286 -0.00038874637444 3.28047030533440
H 3.37570289422870 -0.00038632501973 1.22171814100713
H 1.83015664610447 0.00025985723335 -1.03506234028415
*
In the output file of this job, the estimated oscillator strengths (f𝑜𝑠𝑐 ) and the difference between left and right
circularly polarized light absorption (∆f𝑜𝑠𝑐 ) are provided:
------------------------------------------------------------------------------
MCD Transitions via transition electric dipole moments
B = 50000.00 Gauss T = 300.000 K
------------------------------------------------------------------------------
These results may not be accurate when the energetic order of the states changes with respect to the relative orien-
tation between the molecule and the external magnetic field. To obtain accurate results, it is necessary to perform
a post-processing step for all orientations using the orca_mapspc program, which saves the results in a file that
has the .cis-el.dipole-length.1.mcd extension:
In this example, we generate the spectrum (M−1 ) between 50000 and 55000 cm−1 (-x050000 -x155000), using
10000 points (-n10000) and including a broadened normalized Gaussian function with a full width at half maximum
of 2000cm−1 (-w2000).
Multiple MCD calculations can be performed in one run by setting multiple values for B. Transition moments can
be also obtained through ED velocity formulation and FFMIO operator by setting the keywords DoVelocity and
DoQuadrupole to true, respectively:
! B3LYP def2-QZVPP
%tddft
TDA False
nroots 10
DoSOC True
DoMCD True
DoDipoleVelocity True
DoFullSemiClassical True
B 50000.0, 0.0
end
The results are printed separately in the output file for each setting:
------------------------------------------------------------------------------
MCD Transitions via transition electric dipole moments
B = 50000.00 Gauss T = 300.000 K
------------------------------------------------------------------------------
------------------------------------------------------------------------------
MCD Transitions via full Semi-classical formulation
B = 50000.00 Gauss T = 300.000 K
------------------------------------------------------------------------------
Post-processing results are saved in the files having the .cis-el.dipole-length.1.mcd, .cis-el.
%mrci
soc
DoSOC True
DoVelocity True
DoQuadrupole True
DoMCD True
newMCD True
B 50000.0
end
end
%casscf
DoDipoleVelocity True
DoFullSemiClassical True
rel
DoSOC True
DoMCD True
B 50000.0
Temperature 300.0
end
end
%rocis
SOC True
DoMCD True
B 50000.0
DoDipoleVelocity True
DoFullSemiClassical True
end
%mdci
DoSOC True
DoMCD True
DoVelocity True
DoQuadrupole True
B 50000.0
Temperature 300.0
end
It is important to keep in mind that the calculation of the MCD relies on the proper description of the transition
moments and angular momentum for calculating the Zeeman perturbation. Therefore, the user is responsible for
selecting the proper electronic structure method.
2𝜔 3 ∑︁ − 𝑘 𝜖𝑖𝑇
∫︁
𝑘(𝜔) = 𝑒 𝐵 ⟨Θ𝑖 |⃗ 𝑒
𝜇 |Θ𝑖 ⟩ 𝑒𝑖(𝐸𝑖 −𝐸𝑓 −𝜔)𝑡 𝑑𝑡,
𝜇 |Θ̄𝑓 ⟩⟨Θ̄𝑓 |⃗ 𝑒
3𝜋𝑐3 𝑍
𝑖𝑓
with 𝜇
⃗ 𝑒 being the “electronic transition dipole” and |Θ⟩ the vibrational wavefunction of the initial or final state.
After some extra steps, redefinition of the time variable and insertion of a resolution of identity, it can be shown
that this equation is ultimately simplified to a Discrete Fourier Transform (DFT) of a correlation function 𝜒(𝑡) with
a timestep ∆𝑡, multiplied by a prefactor 𝛼 [199]:
∫︁
𝜇𝑒 𝑒−𝑖𝐻𝜏 𝜇⃗𝑒 𝑒−𝑖𝐻 𝜏¯ )𝑒𝑖Δ𝐸𝑡 𝑒−𝑖𝜔𝑡 𝑑𝑡
̂︀
𝑘(𝜔) = 𝛼 𝑇 𝑟(⃗
̂︀
∫︁
= 𝛼 𝜒(𝑡)𝑒−𝑖𝜔𝑡 𝑑𝑡
∫︁ ∞
= 2𝛼 Re 𝜒(𝑡)𝑒−𝑖𝜔𝑡 𝑑𝑡
0
≃ 2𝛼∆𝑡 Re 𝐷𝐹 𝑇 {𝜒(𝑡)},
and this correlation function is then calculated using path integrals analytically at each time point 𝑡.
If one considers that the electronic part of the transition dipole varies with nuclear displacements and we allow for
it to depend on the normal coordinates (Q), such as:
𝜇𝑒 ⃒⃒
⃒
∑︁ 𝜕⃗
𝑒 𝑒
𝜇
⃗ (Q) = 𝜇 ⃗0 + 𝑄𝑖 + . . . , (7.278)
𝑖
𝜕𝑄𝑖 ⃒Q=0
we can even include vibronic coupling or the so-called Herzberg-Teller (HT) effect. The Frank-Condon (FC)
approximation keeps only the coordinate-independent term. The correlation function for the HT cases can then be
derived recursively from the FC one and the calculation is done quite efficiently. It is important to say the one must
choose ONE set of coordinates in order to expand the transition dipole. In our formulation, it is always that of the
FINAL state and that has some implications discussed below.
Other important aspect of this theory is that, in order to solve the path integrals, one has to work in one set of
coordinates, the initial (Q) or the final state ones (Q̄, with the bar indicating final coordinates). As we have a
transition matrix element, one set of coordinates have to be transformed into the other and it is easy to show that
they are related by
Q = JQ̄ + K. (7.279)
That was first proposed by Duschinsky in the late 1930s[228] with the Duschinsky rotation matrix J and the
displacement vector K defined as
with L𝑥 being the matrix containing the normal modes, here described in Cartesian coordinates (𝑥), and q0 begin
√
mass weighted coordinates (𝑞𝑖 = 𝑚𝑖 𝑥𝑖 ).
The program runs by first reading and obtaining the initial and final state geometries and Hessians, then computes
the Duschinsky rotation matrix and displacement vector, calculates the derivatives for the transition dipoles and
computes the correlation function. After that, the DFT is done and the rates are obtained and printed when nec-
essary. As the intensities observed experimentally are proportional to the rates, the spectrum is also calculated
and printed on a BASENAME.spectrum file. If PRINTLEVEL HIGH is requested under %ESD, the correlation
function is also printed on a BASENAME.corrfunc file.
OBS: The units for the Emission spectra are rather arbitrary, but for Absorption they are the experimental “molar
absorptivity (𝜀)” in L mol−1 cm−1 [199]. Be aware that these are dependent on the line width of the curves.
ES PES: AHAS, VH, VG, HHBS, HHAS, UFBS and UFAS. Those can can be choosen by setting the HESSFLAG
under %ESD. If you actually optimize the ES geometry and input the Hessian, that will be called an Adiabatic
Hessian (AH) method an no keyword must be given on the input.
OBS: In the present version, these approximations are only available for Absorption, Fluorescence and resonant
Raman. They cannot be directly used for phosphorescence and ISC rate calculations. However, one can do the
latter calculations by generating approximate ES Hessians from “fake” fluorescence or absorption runs, and then
using the ES Hessians in AH calculations (vide infra).
The idea behind these approximations is to do a geometry update step (ΔS = −gH−1 for Quasi-Newton and
ΔS = −g(H + S)−1 for Augmented Hessian) to obtain the ES structure and somehow approximate the ES Hes-
sian. The gradient (g) and Hessian (H) used on the step are on column Step of Table Table 7.28 below, with a
description of the final ES Hessian:
OBS: Always use the GS geometry on the input file, equal to the one in the GSHESSIAN! If you asked for OPT
FREQ at the input, a .xyz file is generated with the same geometry found on the .hess. If you picked the geometry
from the .hess file, remember that it is in atomic units, so you have to use BOHRS on the main input.
After the calculation of the ES PES, a file named BASENAME.ES.hess is printed and can be used in future calcu-
lations. For example, one can use it in a separate AH calculation, as if the file contains the optimized ES geometry
and the exact ES Hessian (of course, in reality both are approximate). This allows one to perform e.g. phosphores-
cence and ISC rate calculations with approximate ES PESs even though ESD does not support these calculations
directly. For example, the phosphorescence rate from a triplet state to the 𝑆0 state, with the VG approximation for
the triplet PES and the ES gradient computed at the TDDFT level, can be computed as follows:
• Run an ESD fluorescence calculation using the VG approximation, but where “IROOTMULT TRIPLET”
is added to the %TDDFT block. The resulting rate and spectrum are not meaningful, but the BASE-
NAME.ES.hess file generated from this calculation is the correct VG approximation to the triplet PES.
• Run an ESD phosphorescence calculation using the AH method, with the aforementioned BASE-
NAME.ES.hess file as the TSHESSIAN.
This way, the first ESD calculation only uses the information of the scalar triplet state in computing the VG step,
while the second ESD calculation only uses the SOC-corrected states. The same ES Hessian file can therefore be
used in the calculations of all three spin sublevels of the triplet state.
In addition to the BASENAME.ES.hess file, if there was any updates on the GS Hessian, like transition dipole
derivatives, a BASENAME.GS.hess is also printed.
• The step can be controlled with the GEOMSTEP flag, with QN or AUGHESS options.
• Currently all ES Hessians are calculated numerically, if you want to change the parameters related to the
frequency calculations, you can do that under %FREQ (Sec. Vibrational Frequencies). The numerical
gradient settings are under %NUMGRAD (Sec. Numerical Gradients).
• The ES hybrid Hessian is calculated in the same way as described in Sec. Hybrid Hessian, except that the
“model” Hessian is the GS one.
• The ES Hessian with updated frequencies is recalculated from the same GS normal modes, after an update
on the frequencies, as H𝑢𝑝 = L𝜔 2𝑢𝑝 L𝑇 . With L being the normal modes and 𝜔𝑢𝑝 the updated frequencies,
with negative sign being kept after the square.
• The frequencies are updated depending on a calculation of the energy after a given step. If the ES modes
are equal to the GS, √
then a step over a coordinate 𝛿𝑞𝑖 that would result in an energy difference 𝛿𝐸 is given
𝑔2
by 𝛿𝑞𝑖 = (− √𝑔𝜔𝑖 𝑖 + 𝜔𝑖 𝑖 + 2𝛿𝐸𝜔𝑖 )/𝜔𝑖 . The default 𝛿𝐸 used is 10−4 Eh, in general above the error of the
methods. If the error in energy after the step is larger than a threshold given by the UPDATEFREQERR flag
(default 0.20 or 20%), the gradients are calculated and the frequency recomputed. If not not, that mode and
frequency are assumed to be the same.
• The Updated Frequencies method can greatly accelerate the calculation of the Hessian, for much fewer gra-
dient calculation are necessary, although you do not correct the modes. Also, the derivatives over the modes
are already computed simultaneously.
• The expected energy error 𝛿𝐸 can be changed using the UF_DELE flag.
• The default method is the VG, but the AHAS is more trustworthy for unknown systems, although a lot heavier
(Sec. A better model, Adiabatic Hessian After a Step (AHAS) and [199]).
• Always check the sum of 𝐾𝑖2 printed on the output. If that number is too high (above 8 or so), it means that
the geometries are too displaced and the theory might not work on these cases (check for different coordinate
systems then, Sec. Normal modes coordinate systems).
• Also check for RMSD between the geometries after a step. If the difference is too big, there might be
problems with the step.
Mixing methods
In principle, it is possible to use different methods to compute different parts needed for the ORCA_ESD module.
You could, for instance use (TD)DFT analytical gradients for the ground/excited state geometries and Hessians and
a more elaborate method such as STEOM-CCSD to get the energies and transition dipoles. If you want to do that,
just input the Hessians and use the DELE flag for the energy difference between the states - at their own geometry!
- and TDIP x,y,z to input the transition dipole. If there is SOC and the transition dipole is complex, use TDIP
x.real, x.imag, y.real, y.imag, z.real, z.imag. The program will automatically detect each case. If you don’t input
these, they will be obtained by the module during the run, so you can set the excited method you want and let the
program figure out DELE and TDIP.
OBS: It is not advisable to mix different levels of theory during a geometry step though. If you obtained a GS
Hessian from DFT, doing a step based on a CASSCF ES numerical gradient might not lead to reasonable results.
The same would be problematic even for different DFT functionals.
Removal of frequencies
If, after calculating an ES Hessian you end up with negative frequencies, the calculation of the correlation function
might run into trouble. The default for the module is to turn all negative frequencies positive, printing a warning
if any of them was lower than -300 cm−1 . If that is the case, you are probably on a saddle point and not even a
minimum, so results should be taken with care,
You can also choose to completely remove the negative frequencies (and the corresponding from the GS), by setting
IFREQFLAG REMOVE or leave them as negative with IFREQFLAG LEAVE under %ESD.
Sometimes, low frequencies have displacements that are just too large (check on the K vector), or the experimental
low frequency modes are too anharmonic and you might want to remove them. It is also possible to do that setting
the TCUTFREQ flag (in cm−1 ), and all frequencies below the given threshold will be removed.
The first order transformation from Cartesian (x) to internal (s) coordinates is given by Wilson’s B matrix[426] as
s = B(x − x0 ), (7.280)
and here we use Baker’s[68] delocalized internal coordinates as default. First, a redudant set is build and an
singular value decomposition of the G = BB𝑇 matrix is performed to obtain the non-redundant set. The latter
𝑇
can be generated by B′ = U B, where U are the eigenvectors correponding to non-zero eigenvalues of G. Then
−1/2 𝑇
an orthogonal set is contructed from B′′ = G′ U B. As the eigenvectors are not conitnuous functions of
the coordinates, in order to avoid using an arbitrary selection, we will follow the work of Reimers[715] and set
G−1/2 U𝑇 = Ḡ−1/2 Ū𝑇 , or use the same transformation for the initial an final coordinates. Please note that this
may lead to numbers larger than 1 on the Duschinsky rotation matrix, for it is an approximation and the calculated
rates may vary a little. The normal modes in internal coordinates (L𝑠 ) are then obtained from those in Cartesian
ones (L𝑥 ) as
L𝑠 = B′′ M
1/2
L𝑥 , (7.281)
and the Duschinsky relation ((7.279)) still holds[149], with the displacement vector being simply
The options available for coordinate systems can be set under COORDSYS, and can be CARTESIAN, INTERNAL
(for Baker delocalized - default), WINT (for weighted internals following Swart and Bickelhaupt [838]), FCWL
(force constant weighted following Lindh [526]) and FCWS (same as before, but using Swart’s model Hessian).
OBS: Calculating in internal coordinates is usually better but not necessarily. If something goes wrong, you may
also want to try the Cartesian option.
U being the matrix of the x,y and z components of the derivative, M a 3𝑁 × 3𝑁 matrix with the atomic masses
along the diagonal. Also, in case one already has the derivatives with respect to the initial state , those can be
transformed∑︀ into the derivatives with respect to the final state by using the Duschinsky relation, assuming that
𝜇𝑒 ¯ 𝜇𝑒
⃗ 𝑒0 (Q̄) + 𝑖 𝜕𝜕⃗𝑄 , so that
∑︀ 𝜕⃗
𝜇 ¯ 𝑖 𝑄𝑖 = 𝜇⃗ 𝑒0 (Q) + 𝑖 𝜕𝑄 𝑖
𝑄𝑖
𝜕⃗𝜇𝑒 ∑︁ 𝜇𝑒
𝜕⃗
¯ = J𝑗𝑘 . (7.284)
𝜕 𝑄𝑘 𝑗
𝜕𝑄𝑗
By default, this transformation is NOT done, since Eq. (7.284) is an approximation. If you want to turn it on, set
CONVDER TRUE under %ESD.
OBS: Remember that, if you already have the Cartesian derivatives over the final state, like if you use AHAS for
an absorption spectrum, the conversion should be exact (although there might be numerical issues, always use a
larger GRAD for frequencies!).
Alternatively, these can be calculated numerically from displacements over each normal mode. In this case, it is
1/2
convenient to use the dimensionless normal coordinates 𝑞𝑖 = 𝜔𝑖 𝑄𝑖 which represent proportional displacements
on the PES [678]. We use ∆𝑞 = 0.01 by default, but this can be changed setting the DER_DELQ flag.
• Again, DO NOT MIX different coordinates systems. If the derivatives were calculated over one coordinate
set and you decide to change it, it has to be recalculated. You can manually delete them from the BASE-
NAME.ES.hess file.
• For hybrid functionals, you can choose to use DFT for the gradient, energy and transition dipole, and the fast
simplified TDA (Sec. Simplified TDA and TD-DFT ) only for the derivatives by seting STDA TRUE under
%ESD.
• A simple trick can be used to accelerate the computation of derivatives. If the first displacement gives a
transition dipole that is too close to the reference, then the derivative can be assumed to be small and just the
plus displacement may be taken to compute the derivative (with an usually small error). If it is large enough,
then the minus displacement is also done and central differences is used. This is the default method and can
be turned off by setting FASTDER to FALSE.
• The central differences option can be altogether turned off by setting CENTRALDIFF FALSE under %ESD.
• If you are having problems, set a larger PRINTLEVEL to check the individual calculation of the derivatives,
you might be having some kind of root flipping during the displacement, or some other issue.
Spectrum options
The final spectrum is saved in a BASENAME.spectrum file, with the total spectrum, the FC and HT parts discrim-
inated, as explained in Sec. Excited State Dynamics. He are some detailed about it:
• The range for which the spectrum is saved is given by default, but it can be set using SPECRANGE flag
under %ESD, as SPECRANGE 10000,70000.
• All of the INPUT units should always be in CM-1, but you can choose the OUTPUT units by setting the
UNIT flag to CM-1, NM or EV.
• In order to better converge the correlation function and approximate experimental spectra, a lineshape func-
tion can be used instead of the delta. The default is to use a LOREZENTIAN lineshape, but LINES can be
set to DELTA, LORENTZ, GAUSS or VOIGT.
• The DELTA lineshape might lead to a correlation function that oscillates forever, so please take care with
that option.
• The resolution of the spectrum can be modified with the SPECRES flag. By default it is a fraction of the
LINEW. Please be aware that higher resolution (smaller SPECRES), mean a larger grid for the correlation
function and more time points to calculate on.
General
• The temperature is accounted for exactly on Absorption and Emission [199] and can be set using the TEMP
flag.
• PRINTLEVEL can be set to HIGH in order to print more details, including Huang-Rhys factors which are
useful for rationalizing the contribution of different vibrational modes to the rate/spectrum.
• The frequencies read from the Hessian files can be scaled by any number by setting the SCALING flag under
%ESD. The default is 1.0.
• If necessary, the transition dipole can also be scaled by setting the TDIPSCALING flag.
• If you just want to compute an ES PES and stop, set WRITEHESS to TRUE and the correlation function
will be skipped.
• In order to make use of the fastest algorithm, set SAMEFREQ to TRUE and the DO method will be used,
assuming equal Hessians between initial and final states and maximizing the efficiency when calculating the
correlation function.
• If you want to calculate phosphorescence rates, you MUST input the adiabatic energy difference DELE
manually (the energy difference between each state at its own geometry). And, of course, don’t forget to set
the SOC module to true.
• The SOCMEs from TD-DFT are not bad, maybe except for those between the ground singlet and the triplets.
In that case, a multireference calculation might be the preferred option.
• If the final state is higher in energy than then initial state, the DELE is a negative number. In that case, there
is barrier to go up when doing the ISC and the rates becomes more sensitive to the temperature.
• In contrast to Fluorescence, the ISC rates depend strongly on the inclusion of Duschisnky rotations, please
take care when using USEJ FALSE.
• The default LINES is GAUSS, and the default INLINEW of 250 𝑐𝑚−1 might be too large. One should
always investigate it by varying the width a bit. Other LINES can increase the error, please take care when
changing it.
In (7.287), the sum is over any number of electronic excited states 𝑛, ∆𝐸𝑖𝑛 is the energy difference between the
initial state and the excited, 𝜔𝑙𝑎𝑠𝑒𝑟 is the laser energy and 𝛾𝑙𝑡 is the lifetime broadening to avoid a zero on the
denominator. If we work with a laser for which the frequency is close to the excited state energy difference, the
first term is much larger than the second and can approximate alpha by
(︂ )︂
𝑖𝑓 1 ∑︁ ⟨Ψ𝑓 |𝜇𝜌 |Ψ𝑛 ⟩⟨Ψ𝑛 |𝜇𝜎 |Ψ𝑖 ⟩
𝛼𝜌𝜎 ≃ . (7.288)
ℏ ∆𝐸 − 𝜔 𝑛𝑖 + 𝑖𝛾
𝑙𝑎𝑠𝑒𝑟 𝑙𝑡
𝑛̸=𝑖,𝑓
This equation can be solved using a path integral approach by switching to the integral form of 1/𝑥:
𝑖 ∞ −𝑖𝑥𝑡/ℏ
∫︁
1
= 𝑒 𝑑𝑡 (7.289)
𝑥 ℏ 0
So that the components of 𝛼𝑖𝑓 can be given by:
∑︁ 𝑖 ∫︁ ∞
𝑖𝑓
𝛼𝜌𝜎 ≃ ⟨Ψ𝑓 |𝜇𝜌 |Ψ𝑛 ⟩⟨Ψ𝑛 |𝜇𝜎 |Ψ𝑖 ⟩𝑒−𝑖𝑡(Δ𝐸𝑖𝑛 −𝜔𝑙𝑎𝑠𝑒𝑟 −𝑖𝛾𝑙𝑡 ) 𝑑𝑡 (7.290)
ℏ2 0
𝑛̸=𝑖,𝑓
𝑗=1
In both ECD and CPL (CPF or CPP) spectroscopies the measured intensities are related to the difference of ab-
sorption or luminescence of the left and right polarized transition moments given by:
2 2
∆𝐿±𝑅
− +
𝐼𝐹 (𝑘, 𝜖) = |𝑇 𝐼𝐹 | ± |𝑇 𝐼𝐹 |
(7.292)
± 2
which leads to the following expressions for the sum and the difference of the square moduli |𝑇𝐼𝐹 | :
⟨ ⃒⃒ 𝑁 ⃒ ⟩⟨ ⃒
⃒ ⃒∑︁𝑁
⃒ ⟩
⃒
∑︁
𝐿+𝑅 −𝑖𝑘𝑟 𝑗 −𝑖𝑘𝑟 𝑗
(7.293)
⃒ ⃒ ⃒ ⃒
∆𝐼𝐹 (𝑘, 𝜖) = 1/2 𝐼 ⃒ ⃒ 𝑒 (𝜀 ∙ 𝑝ˆ𝑥 )⃒𝐹
⃒ 𝐼⃒
⃒ 𝑒 (𝜀 ∙ 𝑝ˆ𝑦 )⃒⃒𝐹
⃒ 𝑗=1 ⃒ ⃒ 𝑗=1 ⃒
⎛⟨ ⃒ ⃒ ⟩⟨ ⃒ ⃒ ⟩⎞
⃒∑︁𝑁 ⃒ ⃒∑︁𝑁 ⃒
∆𝐿−𝑅 −𝑖𝑘𝑟 𝑗 −𝑖𝑘𝑟 𝑗
(7.294)
⃒ ⃒ ⃒ ⃒
𝐼𝐹 (𝑘, 𝜖) = −Im ⎝ 𝐼⃒
⃒ 𝑒 (𝜀 ∙ 𝑝
ˆ )
𝑥 ⃒
⃒ 𝐹 𝐼 ⃒
⃒ 𝑒 (𝜀 ∙ 𝑝
ˆ𝑦 ⃒𝐹
) ⃒ ⎠
⃒ 𝑗=1 ⃒ ⃒ 𝑗=1 ⃒
Hence within the ED approximation, ECD and CPL radiative transition rates can be calculated through the orien-
tational average of Equation (4), employing the Fermi’s Golden rule:
16𝜋 2 𝜔𝐸𝐶𝐷 ∑︁
𝑘𝐸𝐶𝐷 (𝜔) = Im (|⟨Ψ𝐼 |ˆ
𝜇| Ψ𝐹 ⟩ ⟨Ψ𝐹 |𝑚|
ˆ Ψ𝐼 ⟩ |) 𝛿 (𝐸𝐹 𝐼 ± 𝜔 𝐸𝐶𝐷 ) (7.295)
3
𝐹
16𝜔𝐶𝑃 𝐿 3 𝑛2 ∑︁
𝑘𝐶𝑃 𝐿 (𝜔) = Im (|⟨Ψ𝐼 |ˆ
𝜇| Ψ𝐹 ⟩ ⟨Ψ𝐹 |𝑚|
ˆ Ψ𝐼 ⟩ |) 𝛿 (𝐸𝐹 𝐼 ± 𝜔 𝐶𝑃 𝐿 ) (7.296)
3ℏ𝑐3
𝐹
where 𝜔𝐸𝐶𝐷/𝐶𝑃 𝐿 are the excitation and emission CP photon energies, respectively while 𝜔𝐹 𝐼 are the energies
between the initial and final states reached in the absorption or the photoluminescent processes. Similarly 𝐸𝐹 𝐼
is the transition energy and 𝛿 refers to the line-broadening mechanism arising from the lifetimes of the relevant
final states and c is the speed of light. In the above
∑︀ expressions 𝜇 ˆ defines electric dipole operator while 𝑚
ˆ is the
respective magnetic dipole operator 𝑚 ˆ = 2𝑚1𝑒 𝑐 𝑖 𝑟𝑖 × 𝑝̂︀𝑖 and 𝑚𝑒 is the electron mass. In the above expressions
Im (|⟨Ψ𝐼 |ˆ 𝜇| Ψ𝐹 ⟩ ⟨Ψ𝐹 |𝑚|ˆ Ψ𝐼 ⟩ |) represents the rotatory strength (𝑅𝐼𝐹 ). As discussed above the transition rates
including the vibronic coupling, on the Frank-Condon (FC) and Herzenberg-Teller (HT) limits, can be efficiently
proceed through the path integral approach[199] in which it is possible to calculate 𝑘𝐸𝐶𝐷/𝐶𝑃
𝑜𝑏𝑠
𝐿 from the Fourier
Transform (FT) of the respective correlation function 𝜒(𝑡) that is computed from the path integral of the multidi-
mensional harmonic oscillator according to[785]:
∫︁ ∞
𝑜𝑏𝑠
𝑘𝐸𝐶𝐷/𝐶𝑃 𝐿 (𝜔) = 2𝛼ℛ𝑒 𝜒(𝑡) 𝑒±𝑖𝜔𝑡 𝑑𝑡 (7.297)
0
with 𝛼 being a collection of constants and for CP transition one-photon rates (ECD, CPL) considering electric
dipole and magnetic dipole interactions in the expression of the rotatory strengths it takes the form:[785]
^
𝜌𝑘
𝐻𝑇 /𝐹 𝐶 ¯𝑘𝑒
= 𝑇 𝑟(𝑄
−𝑖𝐻𝜏 ^
−𝑖𝐻𝜏
𝑒 ) (7.300)
^
𝜌𝐻𝑇 ¯ −𝑖𝐻𝜏
𝑘𝑙 = 𝑇 𝑟(𝑄𝑘 𝑒 𝑄
^
¯ 𝑙 𝑒−𝑖𝐻𝜏 ) (7.301)
where, these traces can be evaluated following the approach discussed in Ref[199].
Finally, it is quite commonly that the ECD and CPL spectral intensities are represented against normalized absorp-
tion and photoluminescent intensities defining, similar expressions for, the dissymmetry factors 𝑔𝑎𝑏𝑠 and 𝑔𝑙𝑢𝑚 :
⃒
𝐼𝐿𝐶𝑃 − 𝐼𝑅𝐶𝑃 4𝑅 ⃒⃒
𝑔𝑎𝑏𝑠/𝑙𝑢𝑚 = 2 ; −2 < 𝑔𝑎𝑏𝑠/𝑙𝑢𝑚 < 2 (7.302)
𝐼𝐿𝐶𝑃 + 𝐼𝑅𝐶𝑃 𝐷 ⃒𝐺𝑆/𝐸𝑆 𝑆𝑡𝑟𝑢𝑐𝑡𝑢𝑟𝑒
Implying that the associated dissymmetry spectra can also be calculated, where D and R the square of the transition
dipole and the rotatory strength, respectively.
where ℰ is the polarization vector of the incident light, and 𝛼 is a positive collection of constants.
By considering the case in which the light is propagating in the laboratory fixed 𝑧ˆ′′ direction, the circularly polarized
light is described by ℰ = √12 (ˆ 𝑦 ′′ ) where the “−” sign corresponds to the left circularly polarized light and
𝑥′′ ± 𝑖ˆ
the “+” to the right circularly polarized light.
Similarly, as the MCD calculations presented in section Simulation of (Magnetic) Circular Dichroism and Absorp-
tion Spectra, the total absorptivity may be obtained by summing over all possible transitions and averaging the
molecular orientations by using 3 rotation angles 𝜃, 𝜑, and 𝜒.
𝜖
∫︁ 2𝜋 ∫︁ 2𝜋 ∫︁ 𝜋 ∑︁ 𝑒− 𝑘𝐵𝑖𝑇
𝜖(𝜔) = 𝛼𝜔 𝜇|Ψ𝑓 ⟩|2 𝑠𝑖𝑛(𝜃)𝛿(𝐸𝑖 − 𝐸𝑓 ± ℏ𝜔)𝑑𝜃𝑑𝜑𝑑𝜒
|ℰ · ⟨Ψ𝑖 |ˆ (7.304)
0 0 0 𝑍
𝑖𝑓
Considering 𝜒 the angle which rotates the molecule in the plane perpendicular to the magnetic field perturbation
(which is colinear with the incident light propagation direction), the integrals of eq. (7.304) may be computed
conveniently in a seminumerical scheme by using an intermediate 𝑟′ frame.
𝜖
∑︁ ∑︁ 𝑒− 𝑘𝐵𝑖𝑇 ∑︁
𝜖(𝜔) = 𝛼𝜔 𝑤𝑝 ℰ 𝛽𝛾 ⟨Ψ𝑖 |ˆ
𝜇𝛽 |Ψ𝑓 ⟩⟨Ψ𝑓 |ˆ
𝜇𝛾 |Ψ𝑖 ⟩𝛿(𝐸𝑖 − 𝐸𝑓 ± ℏ𝜔) (7.305)
𝑍
𝑝 𝑖𝑓 𝛽𝛾=𝑥′ ,𝑦 ′
where 𝜃 and 𝜑 values are defined by a point p in a numerical grid, 𝑥′ , and 𝑦 ′ are determined by 𝜃 and 𝜑 values
according to eq. (7.306), and 𝜒 has been integrated analytically in the ℰ 𝛽𝛾 values.
and by taking the difference of absorbance between left and right CPL produce we reach an expression of the MCD
intensities:
𝛼 ∑︁ ∑︁ [︁ ∫︁ ∞ ]︁
∆𝜖(𝜔) = 𝜖− (𝜔) − 𝜖+ (𝜔) = −2 𝜔 𝑤𝑝 𝐼𝑚 ˜ 𝑥′ , 𝑦 ′ )𝑒−𝑖ℏ𝜔𝑡 𝑑𝑡
𝜒(𝑡, (7.309)
𝑍 𝑝 −∞
𝑖𝑓
where 𝜒
˜ under a first-order approximation of the transitions moments with respect to the nuclear displacement is:
[︁ ∑︁ 𝜕 𝜇
ˆ𝛽 * 𝐹 𝐶/𝐻𝑇 ∑︁ ˆ*𝛾 𝐹 𝐶/𝐻𝑇
𝜕𝜇 ∑︁ 𝜕 𝜇 ˆ*𝛾 𝐻𝑇 ]︁
ˆ𝛽 𝜕 𝜇
˜ 𝛽, 𝛾) = 𝑒𝑖Δ𝐸𝑡 𝜇
𝜒(𝑡, ˆ*0𝛾 𝜌𝐹 𝐶 (𝑡) +
ˆ0𝛽 𝜇 𝜇
ˆ0𝛾 𝜌 (𝑡) + 𝜇
ˆ0𝛽 𝜌 (𝑡) + 𝜌 (𝑡)
𝜕𝑄𝑘 𝜕𝑄𝑘 𝜕𝑄𝑘 𝜕𝑄𝑙
𝑘 𝑘 𝑘𝑙
(7.310)
Similarly, as section Simulation of (Magnetic) Circular Dichroism and Absorption Spectra, the transition moments
under the effect of an external magnetic field perturbation may be estimated by using a QDPT (eq. (7.274)), and
the derivatives are approximated numerically in a similar way as the ESD-Absorption case.
MODELIST 4,5,6 # only include the 4th, 5th and 6th vibrational modes
# in the ESD calculation
SINGLEMODE 1,5,10 # run three ESD calculations, each considering only
# one of the 1st, 5th and 10th vibrational modes
ò Note
The content here will assume you already have some basic knowledge from The ORCA DOCKER: An Auto-
mated Docking Algorithm, if not, please check that section first!
Fig. 7.60: The docking process of a water molecule on the substituted biphenyl.
s Important
Right now the DOCKER can only be used together with the fast GFN-XTB methods, it will be generalized
later. It is also not fully exploring the parallelization potential yet, and can be much faster for the next versions.
The Population Density here defines how many solutions will be placed on the initial grid around the HOST
and can be controlled by %DOCKER POPDENSITY 0.50 END, while the population size is a direct consequence of
that, unless specified by POPSIZE under %DOCKER.
Another important piece of information is the Min, Max Iterations, which define the minimum number of
iterations before checking for convergence, and the maximum possible number of iterations. These can be changed
ò Note
All of the optimizations respect constraints and/or wall potentials given on the %GEOM block. The HOST can be
easily frozen with %DOCKER FIXHOST TRUE END.
Here we have the number of iterations, the energy of the best solution found during the process, the average energy
difference from the lowest solutions and its standard deviation. The first number shows if the system is evolving
towards a lower energy solutions and the later two give an idea of the “spread” of the energies found.
If no new minimum is found over MINITER iterations, the algorithm is considered to be converged and the best
solutions are taken to the final optimization step.
To avoid redundant solutions being optimized here, a check is made such that only structures with an energy
difference of at least a Minimum energy difference and Maximum RMSD (obtained after an optimal rotation
using the quaternion approach) are taken. The coordinate system might also be automatically set to Cartesian if
the number of atoms is above 300 to speedup.
If some optimizations fail during the process, they will be flagged as optimization failed, as in the example
below:
That only means some of the solutions failed to fully optimize at the end, and on the printed file their energy is set
to 1000 Eh to show the job was not completed. If you want to increase the number of iterations, or change the final
convergence criteria, just change them using the %GEOM block as usual.
s Important
By the time of the ORCA6 release, this algorithm was still not published. Publications are under preparation.
%DOCKER
#
# general options
#
PRINTLEVEL LOW
NORMAL # default
HIGH # will print many extra files!
RAMDOMSEED TRUE # whether to allow for the process to be trully random and
# will give different results everytime (default FALSE)
FIXHOST TRUE # freeze coordinatef for the HOST during all steps?
# (default FALSE)
CHECKGUESTTOPO FALSE # make sure that the topolgy of the GUEST is always kept
# (default TRUE)
#
# evolution step
#
EVOPTLEVEL NORMALOPT # use default optimization criteria during the evolution step
# instead of the !SLOPPYOPT? more accurate, but slower.
EVPES GFNFF # which PES to use **only** during the evolution step.
GFN0XTB # can be different from the final optimization.
GFN1XTB
GFN2XTB
#
# final optimization
#
and define our target function to be minimized (𝑉 ) as a damped version of that, using the minimum distance 𝑅𝑚𝑖𝑛
The STOCHASTIC mode then consists of finding the correct solvent placement that minimizes 𝑉 for a given solute.
The damping function is there to ensure that:
1. The electrostatic interaction decays strongly with distance,
2. Repulsive energies will be so unfavorable that only the distance will matter.
The result is such that solvent molecules are placed as close as possible to the solute and maximizing electrostatic
interactions. This helps to create the solvent shell such that is does look like the actual result one would expect
from a more elaborate calculation, but with essentially zero cost.
The best value for 𝑉 found after each solvent was added is what is printed in the output as Target function:
When using the DROPLET mode, the 𝑅𝑚𝑖𝑛 is defined as the distance to the centroid of the solute, instead of that of
the closest atom pair instead.
If you don’t want to include the electrostatic component for any reason, just set %SOLVATOR USEEEQCHARGES
FALSE END. In the future other charge models will be available as well.
ò Note
This resembles to some extent what was published recently by the group of Prof. Stefan Grimme (called
“quantum cluster growth”), but here only a single outer wall potential is used [813]. Otherwise, the present
algorithm is independent and unrelated to it.
As one can see from the output of the Histine example of the before mentioned section, by default an ellipsoid
potential is built:
with dimensions such that it will enclose the solute plus at least one molecule of the solvent in all directions.
Fig. 7.61: A simple scheme to show how the wall potential is built to keep the solvent molecules close to the solute
space.
A single parameter controlled by SOLVWALLFAC under the %SOLVATOR block defines how further this wall is built
outside the solute. Its default value is 1.0, and increasing it to larger values will increase the default initial wall by
about half the sum of the maximum dimensions of solute plus solvent for each unit.
The initial wall potential is by default not changed, unless a) the algorithm can not place a solvent, or b) the energy
of the placed solvent is higher than before. Only then the walls will be updated to help allocating the next solvent
molecule, and a message will be printed with the current scaling factor.
The DOCKER
All options related to the docking process can be controlled as usual via the %DOCKER block. Please check the
section The ORCA DOCKER: An Automated Docking Algorithm for more info.
Also, all options given under the %GEOM block such as constraints and etc., will be respected during the docking of
the solvent, as with the general docking, but these can only be given for the solute.
s Important
By the time of the ORCA6 release, this algorithm was still not published. Publications are under preparation.
#
# general options
#
PRINTLEVEL LOW
NORMAL # default
HIGH
#
# stochastic method
#
#
# docking method
#
the time-independent Schrödinger equation to compute gradients and then move the atoms according to these gradients.
last years. A few features found in other MD codes are still missing. In future releases, many more new features
and methods will (hopefully) be added to this part of the program. We will always do our best to keep a strict
backward compatibility, such that the sample inputs from this section will remain valid in all future releases.
For some more information as well as input examples for the ORCA MD module, please visit
https://brehm-research.de/orcamd
• Can now set limit for maximum displacement of any atom in a MD step, which can stabilize dynamics with
poor initial structures. Runs can be cleanly aborted by “touch EXIT”. See Run command.
• Better handling/reporting of non-converged SCF during MD runs.
• Fixed an issue which slowed down molecular dynamics after many steps.
• Stefan Grimme’s xTB method can now be used in the MD module, allowing fast simulations of large systems.
! MD BLYP D3 def2-SVP
%md
Timestep 0.5_fs # This is a comment
Initvel 350_K
Thermostat NHC 350_K Timecon 10.0_fs
Dump Position Stride 1 Filename "trajectory.xyz"
Run 200
end
* xyz 0 1
O -4.54021 0.78439 0.09307
H -3.64059 0.38224 -0.01432
H -4.63463 1.39665 -0.67880
*
Please note that the MD input is not processed by ORCA’s main parser, but by a dedicated parser in the MD module.
Therefore, the MD input is not required to obey the general ORCA syntax rules. The syntax will be described in
the following.
In contrast to general ORCA input, the MD input is not based on keywords, but on commands, which are executed
consecutively on a line-by-line basis starting at the top (like, e. g., in a shell script). This means that identical com-
mands with different arguments may be given, coming into effect when the interpreter reaches the corresponding
line. This enables to perform multiple simulations (e. g., pre-equilibration and production run) within a single
input file:
%md
Timestep 1.0_fs
Run 200
Timestep 2.0_fs
Run 500
end
Work is already under way to add variable definitions, loops, and conditional branching to the MD input.2 This
will enable even larger flexibility (e. g., to run a simulation until a certain quantity has converged). The MD input
is written in the SANscript language (“Scientific Algorithm Notation Script”), which is under development. A first
glimpse can be found at
https://brehm-research.de/sanscript
As in standard ORCA input, comments in the MD input are initiated by a “#” sign and span to the end of the
current line. Commands can be started both at the beginning of a line and after a command. The only place where
a “#” is not treated as start of a comment is inside of a string literal (e. g., in file names).
%md
# Comment
Timestep 0.5_fs # Comment
Dump Position Filename "trajectory#1.xyz"
end
Commands
As already noted above, the central item of the MD input is a command. Each input line contains (at most) one
command, and these commands are executed in the given order. A command typically takes one or more arguments,
which are given behind the command name, separated by whitespaces, tabulator characters, or commas (optional).
The order of the arguments for a command is fixed (see command list in section Command List. Commands may
have optional arguments, which are always specified at the end of the argument list, after the last non-optional
argument. If there exist multiple optional arguments for a command, not all of them need to be specified; however,
they need to be specified in the correct order and without gaps:
%md
Command Arg1 Arg2 Arg3 # fine
Command Arg1, Arg2, Arg3 # fine
Command Arg1 Arg2 Arg3 Optarg1 # fine
Command Arg1 Arg2 Arg3 Optarg1 Optarg2 # fine
Command Arg1 Arg2 Arg3 Optarg2 # will not work
end
2 Technically speaking, ORCA will then be a Turing-complete script interpreter, such that any computational problem can be solved with
ORCA :-)
Apart from arguments and optional arguments, commands can also have modifiers. These can be considered as
“sub-commands”, which modify a given command, and may possess their own argument lists. Modifiers generally
follow after all non-optional and optional arguments, and they may not possess optional arguments on their own.
If a command has multiple modifiers, the order in which they are given is not important.
In the following input example, “Mod1” and “Mod2” are modifiers of “Command”. “Mod1” takes one argument,
“Mod2” does not take arguments:
%md
Command Arg1 # fine
Command Arg1 Optarg1 # fine
Command Arg1 Mod1 Modarg1 Mod2 # fine
Command Arg1 Mod2 # fine
Command Arg1 Mod2 Mod1 Modarg1 # fine
Command Arg1 Optarg1 Mod1 Modarg1 Mod2 # fine
end
To make this abstract definition a little more illustrative, please consider again one line from the input sample at
the beginning of this section:
%md
Dump Position Stride 1 Filename "trajectory.xyz"
end
Here, “Dump” is the command, which takes one non-optional argument to specify which quantity shall be dumped
– in this case, “Position”. The “Dump” command has two modifiers, namely “Stride” and “Filename”. The
former takes one integer argument, the latter a string argument. Swapping the two modifiers (together with their
respective arguments, of course) would not change the behavior.
Separating Arguments
As shown above, the arguments which are passed to a command do not need to be separated by commas. However,
it is allowed (and recommended) to still use commas. First, it can increase the readability of the input file. Secondly,
there exist a few ambiguous cases in which commas (or parentheses) should be used to clarify the intended meaning.
One of these cases is the arithmetic minus operator. It can either be used as binary operator (subtracting one number
from another), or as unary operator (returning the negative of a number). By default, the minus operator will be
considered as binary operator (if possible).
Consider the case in which you want to pass two integer arguments “10” and “-10” to a command. Without
commas (or parentheses), the minus is mistreated as binary operator, and only one argument will be passed to the
command:
Command 10 -10 # Pitfall: treated as "Command (10 - 10)", i.e., "Command 0"
Command 10, -10 # Two arguments, as intended
Command 10 (-10) # Also works
Physical Units
In many cases, it is required to specify quantities which bear a physical unit in an input file (e. g., temperature,
time step lengths, . . . ). For many quantities, there are different units in widespread use, which always leads to
some confusion (just consider the “kcal vs kJ” case). ORCA handles this problem by defining default units for
each quantity and requiring that all quantities are given in their default unit. ORCA’s default units are the atomic
units, which are heavily used in the quantum chemistry community, but not so much in the molecular dynamics
community. As an ab initio molecular dynamics module exists in the small overlap region of both communities,
some “unit conflicts” might arise. To prevent those from the beginning, it is allowed to specify units of personal
choice within ORCA’s MD input.
Luckily, this is as simple and convenient as it sounds. The parser of the MD module checks if a unit is given after
a numeric constant, and automatically converts the constant to the internal default unit. If no explicit unit is given,
the default unit is assumed. Please note that the default units within the MD module are not necessarily atomic
units (see table below). Units are connected to the preceding numerical value by an underscore:
%md
Timestep 1.0_fs
Timestep 41.3_au # identical
Timestep 1.0 # identical, as default time unit in MD module is fs
end
In the following, all units which are currently known to the MD module’s parser are listed, sorted by physical
quantities. The default unit for each quantity is printed in bold letters. Additive constant and factor are applied
to convert a unit into the default unit. The additive constant is applied before the factor. A “−” means that the
constant/factor is not applied. More units will be probably added in the future.
Angstrom − −
A − −
Bohr − 0.5291
pm − 0.01
nm − 10.0
— Time Units —
fs − −
ps − 1000
au − 0.02419
— Temperature Units —
Kelvin − −
K − −
Celsius 273.15 −
C 273.15 −
— Angle Units —
Deg − −
Rad − 180/𝜋
the first run of a sequence. Just add the Restart command after all other relevant commands have been executed,
directly before the Run command.
To conclude this discussion, a short example is given. If the MD input file
%md
Timestep 0.5_fs
Initvel 300_K
Thermostat NHC 300_K Timecon 10.0_fs
Dump Position Stride 1 Filename "trajectory.xyz"
Restart IfExists
Run 100
end
is subsequently executed ten times (without any modification), the resulting trajectory file will be identical (apart
from numerical noise) to that obtained if the following input is executed once:
%md
Timestep 0.5_fs
Initvel 300_K
Thermostat NHC 300_K Timecon 10.0_fs
Dump Position Stride 1 Filename "trajectory.xyz"
Run 1000
end
Regions
In the ORCA MD module, regions can be defined. This concept does not refer to regions in space, but rather to
subsets of atoms in the system. A region is nothing more than a list of atoms. Regions may overlap, i. e., atoms
can be part of more than one region at a time. The atoms which are part of a certain region remain the same until
the region is manually re-defined, i. e., regions are fixed and do not adapt to any changes in the system. There exist
a few pre-defined regions which have a name. User-defined regions, in contrast, only carry an integer identifier.
The following regions are pre-defined in any case:
• all: Contains all atoms of the system. This is the default if no region is specified in some commands, so by
default, these commands will always act on the whole system.
• active: This region contains all movable (“non-frozen”) atoms. By default, it is identical to the all region.
Atoms inside of this region are updated by the time integration in a molecular dynamics run, displaced in a
minimization, and are considered for computing the kinetic energy.
• inactive: This region contains all atoms which are not part of the active region. These atoms are
“frozen”; they are ignored by the time integration / minimization, and also not considered for the com-
putation of the kinetic energy. They simply remain on their initial positions. This is in principle identical to
applying Cartesian constraints to the atoms; however, it is much faster. As constraints have to be solved iter-
atively (see below), Cartesian constraints become quite computationally demanding if applied to thousands
of atoms.
From these three pre-defined regions, only the active region can be manually modified. Changes in the com-
position of the active region automatically modify the inactive region. The all region obviously cannot be
changed.
In case of a QM/MM simulation, the following four additional regions can be used:
• qm: This is the “quantum mechanics” region – it contains all atoms which are treated by the electron structure
method.
• mm: This is the “molecular mechanics” region – it contains all atoms which are treated by a force-field
approach. It exactly contains those atoms which are not part of the qm region.
• active_qm: Contains exactly those atoms which are part of both the qm and the active regions.
• active_mm: Contains exactly those atoms which are part of both the mm and the active regions.
These regions can not be modified in the MD input. The MD module just reads the region definitions from the
QM/MM module, but is not able to make any changes here.
Regions can be useful for many purposes. For example, a “realistic” wall of atoms can be built around the system
by defining the active region such that it only contains the non-wall atoms. The wall atoms will then be frozen.
Apart from that, trajectories of regions can be written to disk, only containing the “interesting” part of a simulation.
Furthermore, velocity initialization can be applied to regions, enabling to start a simulation in which different sets
of atoms possess different initial temperatures. Thermostats can be attached to regions to keep different sets of
atoms at different temperatures during the whole simulation. This allows for sophisticated simulation setups (cold
solute in hot solvent, temperature gradient through the system, etc).
Regions are defined or modified by the Manage_Region command. Many other commands take regions as optional
arguments. Please see the command list below.
Metadynamics
Metadynamics is a powerful tool to analyze free energy profiles of reactions and other processes (solvation, ag-
gregation, conformer change, dissociation) based on molecular dynamics simulations. It has been developed by
Laio and Parrinello in 2002 [487]. In principle, the frequency of observing a certain process in MD simulations is
directly related to the free energy barrier of the process. However, many interesting processes (such as chemical
reactions) possess such a high free energy barrier that they will never occur on the time scales typical for AIMD
simulations (100 ps). To increase the frequency at which such processes happen, so-called rare event sampling
methods can be employed. Metadynamics is one among those. It works by building up a bias potential as a sum
of Gaussian hills, so that free energy minima are slowly filled up and the system is gradually pushed away from its
resting points.
Please note that there is also a method with the same name for exploring conformation space that has been pub-
lished by Grimme in 2019 [330]. It is in principle based on the original “Parrinello” Metadynamics, but with
several modifications and extensions. The ORCA MD module contains the original Parrinello variant of Metady-
namics [487], together with several extensions such as well-tempered Metadynamics [73] and extended Lagrangian
Metadynamics [408]. The Grimme method for conformer search will probably be implemented in the future.
In Metadynamics, one has to define one or more “collective variables” (Colvars) along which the free energy profile
of the system will be sampled. A Colvar is in principle nothing more than a continuous function of all atom positions
which returns a real number. A simple example of a Colvar is the distance between two atoms, which could be
used to explore the free energy profile of a bond formation or cleavage. In the ORCA MD module, Colvars can be
defined via the Manage_Colvar command. Available Colvar types are distances (including projections onto lines
or into planes), angles, dihedral angles, and coordination numbers [408]. The latter allows, e. g., to accurately
compute p𝐾A values of weak acids in solvent [855, 856]. For the distances, angles, and dihedral angles, atom
groups instead of single atoms can be specified, so that, e. g., the distance between the centers of mass of two
molecules can be defined as a Colvar.
Based on one or two Colvars (ORCA supports one-dimensional and two-dimensional Metadynamics), a Metady-
namics simulation can be set up. There are many parameters to choose, which are described in the section of the
Metadynamics command. After all parameters have been set, the actual simulation is simply started via the Run
command. It is also possible to restart Metadynamics simulations so that they can be split into multiple succes-
sive runs; see the Restart command. A full example for a two-dimensional well-tempered extended Lagrangian
Metadynamics simulation can be found on below.
Note that Metadynamics simulations typically require very much computational time (at least several 10 000 MD
steps for a roughly converged result, depending on the Colvar choice). So this is by no means a method to “shortly
try out”. However, there are no cheaper methods for predicting free energy profiles (apart from very simple ap-
proximations such as the harmonic oscillator), and the predictive power of computing free energy profiles comes
at a price.
{ braces }. If the type is “Real” and is a physical quantity with unit, the quantity is given in the last column in
[square brackets]. Each such box is followed by a textual description of the corresponding command.
Command Description
Cell Defines and modifies cells
Constraint Manages constraints
Dump Controls trajectory output
Initvel Randomly initializes atom velocities
Manage_Colvar Manages collective variables (“Colvars”)
Manage_Region Manages regions
Metadynamics Sets parameters for Metadynamics runs
Minimize Performs a Cartesian energy minimization
PrintLevel Controls the output verbosity
Randomize Sets the random seed
Restart Restarts a simulation to seamlessly continue
Restraint Manages restraints on Colvars
Run Performs a molecular dynamics run
SCFLog Controls the ORCA log file output
Screendump Prints current MD state to screen
Thermostat Manages thermostats
Timestep Sets the integrator time step ∆𝑡
Cell
Manadory Arguments: -
Optional Arguments: -
Modifiers: Cube ... ... see text
Rect ... ... see text
Rhomb ... ... see text
Sphere ... ... see text
Ellipsoid ... ... see text
None — — —
Spring 𝑘 Real see text
Elastic 𝑡avg Real [time]
𝑐response Real see text
Anisotropic — — —
Pressure ... ... see text
Fixed — — —
Defines a harmonic repulsive wall around the system (the wall is “soft” with a spring constant and atoms can
slightly penetrate; “hard” repulsive walls are not supported). This helps to keep the molecules inside of a well-
defined volume, or to keep a constant pressure in the system. In the latter case, the cell can be defined as elastic,
such that it exerts a well-defined pressure (see below). Please note that ORCA does not feature periodic bound-
ary conditions, and therefore, all cells are non-periodic (just repulsive walls). There are several cell geometries
available (only one type of cell can be active at a time):
• Cube: Defines
)︀ a(︀ cubic cell. )︀ If two real values 𝑝1 and 𝑝2 are specified as coordinates, the(︀ cell ranges from
to . If only one real value is supplied, the cell ranges from 𝑝
2 , − 2 to
𝑝 𝑝
(︀ )︀
𝑝1 , 𝑝 1 , 𝑝1 𝑝 2 , 𝑝2 , 𝑝2 𝑝 − 2 , −
2 , 2 , 2 , i. e. it is centered at the origin with edge length 𝑝.
(︀ 𝑝 𝑝 𝑝 )︀
• Rect: Defines an orthorhombic cell. Six real values (︀ 𝑥1 , 𝑦1 ,)︀𝑧1 , (︀𝑥2 , 𝑦2 , and
)︀ 𝑧2 have to be specified as
coordinates (in this order). The cell will range from 𝑥1 , 𝑦1 , 𝑧1 to 𝑥2 , 𝑦2 , 𝑧2 .
• Rhomb: Defines a parallelepiped-shaped cell (also termed as rhomboid sometimes). You have to specify
twelve real values in total. The first three define one corner point 𝑝 of the cell, and the remaining nine define
which are the principal axes of the ellipsoid. These vectors have to be strictly orthogonal to each other. The
length of each vector defines the partial radius of the ellipsoid along the corresponding principal axis.
All cell types define a harmonic potential 𝐸cell (𝑟) := 𝑘 · 𝑟2 which acts on all atoms in the system outside of the
cell, where 𝑟 is the closest distance from the atom’s center to the defined cell surface. Atoms whose center is inside
of the cell or directly on the cell surface do not experience any repulsive force. Following from the definition, the
force which acts on an atom outside of the cell is always parallel to the normal vector of the cell surface at the point
which is closest to the atom center. This is trivial in case of cubic, rectangular, rhombic, and spherical cells, but
not so trivial for ellipsoid-shaped cells.
The spring constant 𝑘 in the above equation (i. e., the “steepness” of the wall) can be specified by the “Spring”
modifier, which expects one real value as argument. The spring constant has to be specified in the unit kJ mol−1
Å−2 , other units cannot be specified here. The default value is 10 kJ mol−1 Å−2 . Larger spring constants re-
duce the penetration depth of atoms into the wall, but may require shorter integration time steps to ensure energy
conservation. If jumps in the total energy occur, try to use a smaller spring constant (e. g., the default value).
The command “Cell None” disables any previously defined cell.
If you want to perform simulations under constant pressure, you can define an elastic cell. Then, ORCA accumulates
the force which the cell exerts on the atoms in each time step, and divides this total force by the cell surface area
to obtain a pressure. As this momentarily pressure heavily fluctuated, a running average is used to smooth this
quantity. If the averaged pressure is larger than the external pressure which was specified, the cell will slightly
grow; if it was smaller, the cell will slightly shrink. In the beginning of a simulation, the cell size will not vary
until at least the running average history depth of steps have been performed.
An elastic cell is enabled by using the “Elastic” modifier after the cell geometry definition. Subsequently, two real
values 𝑡avg and 𝑐response are required. While 𝑡avg defines the length of the running average to smooth the pressure (in
units of physical time, not time steps), the 𝑐response constant controls how fast the cell size will change at most. More
specific, 𝑐response is the fraction of the cell volume growth per time step if the ratio of averaged and external pressure
would be infinite, and at the same time the fraction of the cell volume reduction per step if the aforementioned ratio
is zero. Put into mathematical form, the cell volume change per time step is
⎧ ⟨𝑝⟩
𝑐 · +1
⎨𝑉old · response 𝑝ext if ⟨𝑝⟩
𝑝ext ≤ 1,
⎪
𝑐response +1
𝑉new := (𝑐 response +1)·
⟨𝑝⟩
⟨𝑝⟩
(7.313)
⎩𝑉old · ⟨𝑝⟩
⎪ 𝑝ext
if 𝑝ext > 1,
𝑝ext +𝑐response
where ⟨𝑝⟩ represents the averaged pressure the system exerts on the walls, and 𝑝ext is the specified external pressure.
Good starting points are 𝑡avg = 100 fs and 𝑐response = 0.001. Please note that larger values of 𝑐response or smaller
values of 𝑡avg may lead to uncontrolled fluctuations of the cell size. An already defined fixed cell can be switched
to elastic by the command “Cell Elastic ...” (the dots represent the two real arguments).
By default, the size change of an elastic cell due to pressure is performed isotropically, i. e., the cell is scaled
as a whole, and exactly retains its aspect ratio. By specifying the “Anisotropic” modifier after switching on
an elastic cell, the cell pressure is broken down into individual components, and the size of the cell is allowed to
change independently in the individual directions. This, of course, only makes sense for the cell geometries Rect,
Rhomb, and Ellipsoid. An already defined isotropic cell can be switched to anisotropic by simply executing
“Cell Anisotropic”.
In case of an elastic cell, the external pressure is defined by the modifier “Pressure”, which expects either one or
three real values as arguments. If one argument is given, this is the isotropic external pressure. If three arguments
are supplied, these are the components of the pressure in X, Y, and Z direction (in case of orthorhombic cells)
or along the direction of the three specified vectors (in case of parallelepiped-shaped and ellipsoid-shaped cells).
This allows for anisotropic external pressure (probably only useful for solid state computations). Both the pressure
and the pressure components have to specified in units of bar (= 105 N m−2 ), other units cannot be used. If this
modifier is not used, the default pressure will be set to 1.0 bar (isotropic) if an elastic cell is used. The external
pressure of an already defined cell can be changed by the command “Cell Pressure ...” (the dots represent
the real argument(s)).
As all cells are non-elastic by default, there is no keyword to explicitly request this at the time of cell definition.
However, possible applications might require to use an elastic cell during equilibration period, and then “freeze”
this cell at the final geometry for the production run. This can be achieved by using the “Cell Fixed” command
(without any additional arguments).
If the cell is elastic, there is a volume work term which contributes to the total energy of the system. ORCA
computes this term in every step and adds it to the potential energy. Without this contribution, the conserved
quantity would drift excessively in elastic cell runs.
To completely switch off a previously defined cell, simply use “Cell None”.
Please note that cells are not automatically restarted by using the Restart command.
Examples:
Cubic cell with edge length 10 Å centered around origin:
Cell Cube 10
Spherical cell with radius 5 Å centered around origin and 20 kJ mol−1 Å−2 wall steepness:
Cell Sphere 0, 0, 0, 5 Spring 20
Elastic orthorhombic cell from −2, −2, 0 to 12, 12, 10 , 𝑡avg = 100 fs, 𝑐response = 0.001:
(︀ )︀ (︀ )︀
Constraint
Manages constraints in the molecular dynamics simulation. Unlike Restraints, constraints are geometric rela-
tions which are strictly enforced at every time (i. e., they do not fluctuate around their target value). All atoms
involved in constraints have to be included in the active region. In principle, constraints also work in Cartesian
geometry optimizations with the Minimize command, but the performance together with L-BFGS may be poor
(except for Cartesian constraints, which work flawlessly in L-BFGS). In these cases, try to use the simulated an-
nealing method instead.
The simplest possibility is to constrain the Cartesian position of an atom to some value. A zero-based atom index is
required. The command Constraint Add Cartesian 3 would fix the fourth atom in the simulation at its current
position in space. If the desired position shall be explicitly given, it can be specified via the Target modifier, e.
g., Constraint Add Cartesian 3 Target 5.0 1.0 1.0. To determine which dimensions to fix, one of the
XYZ, XY, XZ, YZ, X, Y, or Z modifiers can be added. For example, Constraint Add Cartesian 3 X Target
1.0 would constrain the X coordinate of atom 3 to the absolute value 1.0, but would not influence movement along
the Y and Z coordinate at all.
By using the Distance keyword, distances between atoms can be fixed. The command Constraint Add
Distance 3 5 would fix the distance between atom 3 and 5 to its current value. You need to specify exactly
two atom indices; multiple distance constraints are entered via multiple Constraint commands. Also here, a
desired distance value can be given via the Target modifier, such as Constraint Add Distance 3 5 Target
350_pm.
Similarly, angles and dihedral angles between atoms can be fixed with the Angle and Dihedral keywords. Angles
are defined by three atom indices, and dihedral angles by four atom indices. Also here, target values may be
specified. Any combination of Cartesian, distance, angle, and dihedral constraints may be used simultaneously,
and may even be applied to the same group of atoms. A molecule can be made completely rigid by constraining
all its bonds, angles, and torsions. Please make sure that your constraints are not over-determined, and do not
contradict each other. Otherwise, they can’t be enforced and the simulation will print warnings or crash.
A different and powerful class of constraints can be defined with the Center argument. Directly after the keyword,
a list of integer atom numbers is expected. This list can be a combination of numbers and ranges, e. g., “1, 3,
5..11, 14”. The weighted average position of this subset of atoms is then constrained to a fixed position in
Cartesian space. By default, the weights are taken as the atom masses, such that the center of mass of the selected
atoms is kept fixed. This allows, e. g., to run a MD simulation of two molecules with fixed center of mass, such that
their center of mass distance remains constant. Custom weights for the definition of the center can be entered by
using the Weights modifier after the atom list. It expects exactly the same number of real arguments as the length
of the specified atom list. The geometric center of a group of atoms can be held fixed by setting all weights to 1.0,
for example “Constraint Add Center 2, 5..7 Weights 1.0 1.0 1.0 1.0”. If desired, a Target for the
center position can be given, which expects three real numbers for the X, Y, and Z coordinate after the keyword.
If no target is specified, the current center position is held fixed.
With the Rigid type of constraints, complete groups of atoms can be kept rigid, i. e., keep all their distances and
angles relative to each other, but move as a whole. After the Rigid keyword, a list of atom numbers is expected.
More than one group of atoms can be kept rigid at the same time – just call the Constraint Add Rigid command
multiple times with different atom lists. Internally, the rigid constraint is realized by defining the correct number of
distance constraints. Such a large number of distance constraints is hard to converge; therefore, warning messages
that RATTLE did not converge will not be shown if a rigid constraint is active. Almost planar (or even linear)
groups of atoms are hard to keep rigid by using only distance constraints. It might help do add a dummy atom
outside of the plane and include this into the constraint.
ORCA supports constraints with linearly changing target value during the simulation. To define such a constraint,
write “Ramp” directly after the “Target” modifier. After “Ramp”, twice the number of real numbers that would
have been required for “Target” follows (two instead of one for distances, angles, and dihedrals; six instead of
three for “Cartesian XYZ”, and so on). The first half of these arguments are the starting values, the second half
are the final target values. For example, “Constraint Add Distance 3 5 Target Ramp 300_pm 400_pm”
will define a distance constraint with a target value rising from 300 pm to 400 pm. The ramp will be performed
once during the Run command which follows next after the constraint definition. Therefore, the number of steps
specified in this Run command also specifies the rate at which the constraint target is modified. After the ramp has
been completed once, the final (constant) target value(s) will be used for all subsequent Run commands.
If an already defined constraint is defined again, it is overwritten, i. e., the old version of the constraint is automat-
ically deleted first.
Constraints are removed with the Remove keyword. You can either remove single constraints, e. g., Constraint
Remove Distance 3 5, or groups of similar constraints. To remove all angle constraints, use Constraint
Remove Angle All. To remove all restraints, enter Constraint Remove All.
The List argument prints all currently active constraints to the screen and log file. No additional arguments can
be specified.
By default, the external force acting on each constraint is computed in every MD step and written to a file named
“basename-constraints.csv” (one column per constraint). This can be useful – the average force acting on a
constraint can be, e. g., used for thermodynamic integration [430]. If a large number of constraints is defined, this
might waste computer time if it is not required. In these cases, the constraints can be defined with the Noprint
modifier. For such constraints, the acting forces are not computed and not written to the file. Note that constraints
which have been pre-defined (e. g., by the force field for rigid molecules such as TIP3P water) automatically have
this modifier.
Please note that each constraint decreases the number of the system’s degrees of freedom (DoF) by one. This effect
is included, e. g., in the temperature computation, where the DoF count enters. From this consideration, it can also
be understood that a constraint behaves significantly different from a restraint with very large spring constant: In
the former case, the DoF is removed from the system; in the latter case, the DoF is still there, but can only move in
a tiny interval.
It is computationally inefficient to define a large number of Cartesian constraints if a subset of atoms simply shall be
fixed. A more efficient approach is to define an active region which only contains the atoms which shall be movable
(see Manage_Region command). All atoms outside of the active region will not be subject to time integration and
therefore keep their positions. However, please note that these atoms may not be involved in any other (distance,
angle, dihedral) constraint.
Dump
Specifies how to write the output trajectory of the simulation. The quantity argument can be one of the keywords
Position, Velocity, Force, GBW, and EnGrad. While the velocities are written in Angstrom/fs, the unit of the
forces is Hartree/Angstrom. The following paragraphs only apply to the first three quantities. Dumping GBW and
EnGrad files works differently, and is described at the very end of this section.
The Stride modifier specifies to write only every 𝑛-th time step to the output file (default is 𝑛 = 1, i. e., every
step). A stride value of zero only writes one frame to the trajectory at the time when the Dump command is called
– no further frames will be written during the run. This can be helpful, e. g., to write an initial PDB snapshot for
DCD trajectories, or to keep a single GBW file at some point.
The Format modifier sets the format of the output file. Currently, only the XYZ, PDB, and DCD formats are im-
plemented. Please note that the DCD format is not well-defined, and different programs use different formats with
this extension. Furthermore, DCD files do not store atom type information and are only valid together with a PDB
snapshot of the system (a single PDB snapshot can be written via “Dump Position Format PDB Stride 0”).
If not specified, ORCA tries to deduce the format from the file extension of the specified file name. If also no file
name is given, trajectories will be written in XYZ format by default.
The Filename modifier sets the output file name. If not specified, the default file name will have the form
“proj-qty-rgn.ext”, where proj is the base name of the ORCA project, qty is one of postrj, veltrj, or
frctrj, rgn specifies the name or number of the region for which the dump is active, and ext is the file extension
selected by the Format modifier.
If the trajectory file already exists at the beginning of a Run command, new frames will be appended to its end
by default. If you want to overwrite the existing file instead, use the Replace modifier. The old existing file is
erased only once after a dump with this modifier has been specified. If multiple Run commands follow after the
dump definition, the trajectory will not be replaced before each of these runs, only before the first one among them.
To overwrite the file another time, simply re-define the dump with the Replace modifier. If the file does not yet
exist at the beginning of a run, this modifier has no effect. Appending frames to DCD trajectories is not possible
(because they store the total frame count in the header). Therefore, Replace is automatically switched on if the
format is DCD.
With the Region modifier, the trajectory output can be restricted to a specific region (i. e., subset of atoms). This
modifier expects one argument, which is either the name of a pre-defined region or the number of a user-defined
region (see above). If not specified, the trajectory of the whole system will be written. Multiple dump commands
for multiple regions can be active at the same time, but each pair of region and quantity (position/velocity/force)
can have only one attached dump command at a time (re-defining will overwrite the dump settings).
Use the None modifier to disable writing this quantity to an output file. The command “Dump Position None”
will disable writing of all position trajectories for all regions. To disable only the dump for a specific region, use
“Dump Position Region r None”, where r is the name or number of the region.
The default is to write a position trajectory with Stride 1 and Format XYZ to a file named “proj-postrj-all.
xyz”, where “proj” is the base name of the ORCA project. If you want to create no output trajectory at all, use
“Dump Position None” as described above.
The Dump GBW command keeps a copy of the GBW file every 𝑛 steps, which can be used for computing prop-
erties along the MD trajectory, e. g., plotting orbitals. This does not yield a trajectory, as all the GBW files are
stored individually. The value of 𝑛 is controlled by the Stride modifier. The file names are formed by append-
ing the step number (six digits with leading zeros) followed by “.gbw” to the Filename argument. Therefore,
this argument should not contain the “.gbw” extension by itself. If the Filename modifier is not specified, the
default will be “proj-step”, where “proj” is the base name of the ORCA project. This will lead to files such as
“proj-step000001.gbw”, etc. The Format and Region modifiers can not be used for Dump GBW.
In a very similar way, Dump EnGrad stores an ORCA .engrad file (energy and gradient) every 𝑛 steps. All the
.engrad files are stored individually (not as a continuous trajectory). The value of 𝑛 is controlled by the Stride
modifier. By default file names such as “proj-step000001.engrad” will be used.
Initvel
Initializes the velocities of the atoms by random numbers based on a Maxwell–Boltzmann distribution, such that
the initial temperature matches 𝑡𝑒𝑚𝑝 (see also section 1.5.2). Please note that this overwrites all velocities, so do
not call this command when your system is already equilibrated (e. g., to change temperature – use a thermostat
instead).
The total linear momentum of the initial configuration is automatically removed, such that the system will not start
to drift away when the simulation begins. This only concerns the initial configuration. Total linear momentum
might build up during the simulation due to numeric effects.
With the Region modifier, the initialization of velocities can be performed for a specific region (i. e., subset of
atoms). This modifier expects one argument, which is either the name of a pre-defined region or the number of a
user-defined region (see above). If not specified, the command acts on the whole system.
The No_Overwrite modifier only initializes the velocities if no atom velocities have been defined/read before.
This is useful in combination with the Restart command: After reading an existing restart file, the velocities
are already known, and the initialization will be skipped if this modifier is used. The following combination of
commands in a MD input would initialize the velocities only upon first execution, and restart the positions and
velocities on all following executions of the same input:
Restart IfExists
Initvel 350_K No_Overwrite
If neither the Initvel command nor a Restart command is not invoked before a Run call, the atom velocities
will be initialized to zero before starting the run.
Manage_Colvar
Defines collective variables (“Colvars”) which are used for Metadynamics or to impose Restraints on the
system. In a general sense, a Colvar is simply a continuous function of all the atom positions which returns a real
number. As Colvars don’t have any effect on the simulation by themselves, they can currently only be defined or
re-defined; there is no requirement for deleting them. The second argument of the Manage_Colvar command is
the number of the Colvar. This number is used to address the Colvar later. Allowed numbers are within the range
of 1 . . . 10000. If a Colvar number which had previously been defined is defined again, it is simply overwritten
(and all restraints based on the old Colvar are deleted!). The third mandatory argument is the type of the Colvar,
which can be Distance, Angle, Dihedral, and CoordNumber. More Colvar types will probably be added in the
future (feel free to make suggestions in the forum!).
Distance Colvars are defined between two points in space. Each point can either be a single atom (expressed
by “Atom”) or the weighted average (center) of the positions of a group of atoms (expressed by “Group”). For
example, the command “Manage_Colvar Define 1 Distance Atom 0 Atom 7” defines Colvar 1 to be the
distance between atoms 0 and atom 7 (as always, the atom count starts at zero). On the other hand, the command
“Manage_Colvar Define 2 Distance Group 0 1 2 Group 3 4 5” sets Colvar 2 to be the distance between
the centers of atoms 0, 1, 2 and atoms 3, 4, 5. If many atoms shall be selected, the range syntax “Group 0..2” can
be used, including multiple such ranges if required, such as in “Group 0..2, 5, 7..11” (see also discussion
of the Manage_Region command). By default, the center of mass is used for groups. However, weights can be
manually specified if required by using the “Weights” modifier directly after the atom list for the center is finished.
“Weights” expects as many real numbers as the group possesses atoms, for example “Manage_Colvar Define
2 Distance Atom 0 Group 1 2 3 Weights 1.0 1.0 1.0”. The “Atom” and “Group” syntax can be mixed,
e. g., to define the distance between a single atom and a center of mass. When defining distance Colvars, one of
the modifiers X, Y, Z, XY, XZ, YZ, and XYZ may be specified directly after “Distance”. The first three among them
denote that the positions shall be projected onto the corresponding Cartesian vector before computing the distance.
The following three modifiers require that the two positions are projected into the corresponding Cartesian plane
prior to computing the distance. The last one is the default (just measure the standard distance in 3D space) and
does not need to be specified explicitly.
In a very similar manner, angle Colvars can be defined. Instead of two points in space, an angle Colvar is defined via
three points in space, each of which can either be an “Atom” or a “Group” (see above). For example, the command
“Manage_Colvar Define 3 Angle Group 0 1 2 Atom 3 Atom 4” defines Colvar 3 to be the angle spanned
by the mass center of atoms 0, 1, 2, atom 3, and atom 4, respectively.
Dihedral Colvars are defined through four points in space, each of which can either be an “Atom” or a “Group”
(see above). For example, the command “Manage_Colvar Define 4 Dihedral Atom 0 Group 1..5 Atom
6 Atom 7” defines Colvar 4 to be the dihedral angle spanned by atom 0, the mass center of atoms 1, 2, 3, 4, 5,
atom 6, and atom 7, respectively.
The Colvar type “CoordNumber” has been suggested in literature [408] to measure the coordination number of
some atom species around some other atom. An example where this type of Colvar has been successfully applied
is the calculation of p𝐾A values of weak acids in solvent via Metadynamics [855, 856]. The Colvar is defined by
the following equation
(︁ )︁6
𝑁𝐵 1 −
𝑁𝐴 ∑︁ 𝑟𝑖𝑗
1 ∑︁ 𝑟cut
𝐶 := )︁12 ,
𝑁𝐴 𝑖 𝑗
(︁
𝑟𝑖𝑗
1 − 𝑟cut
where 𝑁𝐴 is the set of atoms which is coordinated (typically only one atom), 𝑁𝐵 is the set of coordinating atoms,
𝑟𝑖𝑗 is the distance between atoms 𝑖 and 𝑗, and 𝑟cut is a constant cutoff distance which specifies a threshold for co-
ordination. After “CoordNumber”, two atoms or groups of atoms must follow, which correspond to 𝑁𝐴 and 𝑁𝐵 ,
respectively. The distance cutoff is specified after the “Cutoff” modifier which should follow the two group defini-
tions. For example, the command “Manage_Colvar Define 5 CoordNumber Atom 0 Group 1..10 Cutoff
200_pm” defines Colvar 5 as the coordination number of the group of atoms 1 to 10 around atom 0 with a distance
cutoff of 𝑟cut = 200 pm.
For every defined Colvar, the temporal development of the position and the external force acting on the Colvar is
written to a text file named “basename-colvars.csv” in every MD step by default. If a large number of Colvars
are defined, this might be a waste of time and disk space. In these cases, the “Noprint” modifier can be specified
when defining the Colvar. Colvars defined with this modifier will not appear in the text file, and the force acting
on the Colvar will not be computed (if not required otherwise, e. g., for restraints).
Manage_Region
Defines or modifies regions. Regions are just subsets of atoms from the system – see [Section
1.3](#moldyn:sec_regions) above.
As described above, there exist several pre-defined regions which are identified by names. The only such pre-
defined region which can be re-defined by the user is the active region. All atoms in this region are subject to
time integration in molecular dynamics and displacement in minimization runs. All other atoms are simply ignored
and remain on their initial positions. Please note that the active region may never be empty.
To re-define the active region, use the command “Manage_Region active Define 1 5 7 ...”. The integer
arguments after active are the numbers of the atoms to be contained in the region, in the order given in the ORCA
input file. Atom numbers are generally zero-based in ORCA, i. e., counting starts with 0.
Apart from that, user-defined regions are supported. These are identified with an integer number instead of a name.
The integer numbers do not need to be sequential, i. e., it is fine to define region 2 without defining region 1. To
give an example, the command “Manage_Region 1 Define 17 18 19” defines region 1, and adds atoms 17, 18,
and 19 to this newly defined region. Using Define without an atom list, such as in “Manage_Region 1 Define”,
deletes the user-defined region, as it will be empty then. Atoms can be added to or removed from previously defined
regions (including the active region) with the AddAtoms and RemoveAtoms operations. The atom numbers
specified after the operation name are added to or removed from the region. For example, “Manage_Region
active RemoveAtoms 15 16 17” will remove atoms 15 to 17 from the active region (and add them to the
inactive region instead).
If you want to specify a range of atoms, you can use the syntax “a..b” to include all atom numbers from a to
b. If you want only, e. g., every third atom in a range, you can use “a..b..i” to add the range from a to b with
increment i. As an example, “2..10..3” will expand to the list 2, 5, 8. You can mix atom numbers and ranges,
as shown in the following two examples (as always, the commas are optional):
Instead of an atom list, the Element modifier can be used, followed by a string which represents an element label.
This will have the same effect as specifying an atom list with all atoms of this element type instead. Don’t forget the
double quotes around the element label string. For example, Manage_Region active RemoveAtoms Element
"H" removes all hydrogen atoms from the active region.
Metadynamics
Mandatory Arguments: —
Optional Arguments: —
Modifiers: Off —
Reset —
Colvar colvar Integer —
Scale scale Real ...
Wall side Keyword { Lower, Upper }
target Real phys. unit
k Real kJ mol−1 phys. unit−2
HillSpawn frequency Integer —
height Real kJ mol−1
sigma Real phys. unit
Range from Real phys. unit
to Real phys. unit
resolution Integer —
Store store Integer —
Temperature temp Real [temperature]
WellTempered biastemp Real [temperature]
Lagrange mass Real a.m.u.
k Real kJ mol−1 scaleunit−2
target_temp Real [temperature]
tau Real [time]
Sets the parameters for a Metadynamics simulation [487]. After all parameters have been set, the actual simulation
can be started by a Run command. The parameters can either all be set in a single call to the Metadynamics
command, or distributed over multiple such calls to avoid very long lines. In both cases, there are some rules for
the order of parameter settings. All Colvars for the Metadynamics need to be specified before setting any other
parameters. Modifiers which are related to Colvars (such as Scale, Wall, or Range) only apply to the Colvar that
was specified last before them in the Metadynamics command.
The Colvar modifier specifies a Colvar to be used in the Metadynamics simulation. It expects one integer argu-
ment, which is the number of the Colvar, as defined before via the Manage_Colvar command. The ORCA MD
module supports one- and two-dimensional Metadynamics, so either one or two Colvar modifiers can be given.
The number of Colvar modifiers specified defines the dimensionality of the Metadynamics simulation. Please
note that modifiers which are related to Colvars (such as Scale, Wall, or Range) only apply to the Colvar that
was specified last before them, so after specifying the first Colvar, these should be set before specifying the second
Colvar.
Colvars can have different physical units, such as Angstrom for distances and degree for angles. In a multi-
dimensional Metadynamics run, the different numerical magnitude of the corresponding numbers can be an issue:
Angles span over a range of 180 degree, while distances will often be within an interval of only 10 Angstrom. To
bring all Colvars to a similar scale, the Metadynamics module internally divides every Colvar by a user-supplied
constant. These internal values are dimensionless, they will be referred to as “scale units”. For a previously spec-
ified Colvar, the scale constant can be set via the Scale modifier. It expects one real argument which has to
be specified in physical units of the Colvar (length units for distance Colvars, angle units for angle and dihedral
Colvars). Coordination number Colvars are dimensionless anyway. If not specified, reasonable default values for
the scale are used, which are 1.0 Angstrom for distance Colvars, 20.0 degree for angle and dihedral Colvars, and
0.2 for coordination number Colvars. Note that the Scale modifier only applies to the Colvar given last before it
in the Metadynamics command.
As an example, consider the following commands to set up a two-dimensional Metadynamics simulation:
To keep Colvars within the region of interest during Metadynamics simulations, harmonic walls can be imposed
on Colvars. This is achieved via the Wall modifier. As a first argument, it expects the direction of the wall,
which can be Lower or Upper. The second argument is the position of this wall – given in physical units of the
Colvar (e. g., Angstrom for distance Colvars), not in scale units. As an optional third real argument, the spring
constant of the harmonic wall can be specified in kJ mol−1 unit−2 , where unit is the default physical unit of the
Colvar (Angstrom for distances, degree for angles). If omitted, a spring constant of 50 kJ mol−1 Angstrom−2 for
distances, 0.5 kJ mol−1 degree−2 for angles, and 250.0 kJ mol−1 for coordination numbers is used (a reasonable
choice). Both lower and upper wall can be defined after one Wall modifier, such as in “Metadynamics Colvar
1 Wall Lower 3.0_A 50.0 Upper 10.0_A 50.0”. Note that one-sided harmonic walls can also be imposed
on Colvars via the Restraint command. For standard Metadynamics, this is redundant. However, for extended
Lagrangian Metadynamics (see below), it makes a difference: Restraints act on the Colvar and therefore on the real
atomistic system, whereas the walls defined in the Metadynamics command act directly on the virtual particle.
Again, note that the Wall modifier only applies to the Colvar given last before it in the Metadynamics command.
The last modifier which applies to Colvars is the Range modifier. It has no influence on the Metadynamics run itself,
and only controls the output of the free energy profiles. The Range modifier expects three arguments. The first
two have to be real numbers and define the lower and upper interval borders for which the free energy profile with
respect to this Colvar shall be output. The third argument is of integer type and controls the number of grid points
to produce for this interval. In two-dimensional Metadynamics, both Colvars can have associated Range modifiers,
which then control the interval and resolution of the 2D grid for the free energy profile. In this case, the grid should
not be much finer than 100 × 100; otherwise, the evaluation of the grid points will become quite slow. If no Range
modifier is given, default values are used (range of 0 . . . 20 Angstrom for distance Colvars, 0 . . . 180 degree for
angle Colvars, −180 . . . 180 degree for dihedral Colvars, and 0 . . . 3 for coordination number Colvars). As above,
note that the Range modifier only applies to the Colvar given last before it in the Metadynamics command.
Addition of new Gaussian hills to the bias potential is controlled via the HillSpawn modifier. It expects three
arguments. The first argument has to be of integer type and defines the hill spawning frequency, i. e., every how
many MD steps a new hill is added (typically every 10 – 50 fs). The second argument is a real number and specifies
the height of each new hill in units of kJ mol−1 (typically 0.1 – 1.0 kJ mol−1 ). The third argument sets the width
of the Gaussian hills 𝜎 (which is the standard deviation, not the variance 𝜎 2 ) in “scale units” – see the Scale
modifier above. In two-dimensional Metadynamics simulations, the width applies for both dimensions at the same
time, and the scales of the two Colvars need to be adjusted to obtain the correct “aspect ratio” of the hill width.
Standard choices for 𝜎 are 0.1 – 1.0 scale units. The hill spawning parameters can be changed at any point during
a Metadynamics simulations, not modifying the hills which are already present. If spawning of new hills shall be
temporarily suspended during a Metadynamics simulations, “Metadynamics HillSpawn Off” can be specified.
If you want do delete all hills, consider the Reset modifier described below.
The Store modifier controls how often the current intermediate free energy profile is saved to disk.
It expects one integer argument which specifies the number of MD simulation time steps between two
such stores. In case of one-dimensional Metadynamics, these free energy profiles have the file names
“basename-metadynamics_profile_###.csv”, where “###” indicates the step number after which the pro-
file was written. In addition to that, a file “basename-metadynamics_profile_history.csv” is writ-
ten, which contains all the previously computed free energy profiles as columns, so that they can easily
be printed in one single plot. For two-dimensional Metadynamics, Gnuplot source files with file names
“basename-metadynamics_2d_profile_###.gp” are written, which can be converted into contour plots with
the freeware tool Gnuplot (runs both on Windows and GNU Linux). The raw data for these contour plots can be
found in corresponding files named “basename-metadynamics_2d_profile_###.gp.csv”. Note that in both
cases, the free energy scale origin is set to the deepest free energy well, so that all numbers are positive. If the
Store modifier is not specified, the free energy profiles are stored every 1000 MD steps per default.
The WellTempered modifier switches on well-tempered Metadynamics [73]. In contrast to standard Metadynam-
ics, the free energy profile converges towards a limit for long runs with this approach. In short terms, this approach
scales down the hill size at positions where already many hills have been spawned before, so that the changes in the
bias potential become smaller over time (convergence). The WellTempered modifier expects one real argument,
which is the so-called bias temperature, specified in temperature units. The bias temperature should be chosen in
a way so that 21 · 𝑘B · 𝑇Bias is around the same size as the largest barrier which the simulation shall overcome.
For example, a bias temperature of 12 000 K is well-suited to overcome barriers of around 100 kJ mol−1 . Note
that the Metadynamics module needs to know the simulation temperature in order to reconstruct the free energy
profile in a well-tempered Metadynamics run. Typically, a thermostat should be active during a Metadynamics run,
keeping the simulation temperature constant. In this case, the temperature is simply obtained from the thermostat.
However, if no thermostat for the region all is specified, the simulation temperature has to be specified manually
for well-tempered Metadynamics. This can be achieved by the temperature modifier, which expects one real
argument – the simulation temperature in temperature units.
The Lagrange modifier switches on extended Lagrangian Metadynamics [408]. In this variant, a virtual particle
(with mass and velocity) moves in the space spanned by the Colvars, and the only connection between this particle
and the real atomistic system is a harmonic spring. The bias potential (the Gaussian hills) only acts on the virtual
particle. The first argument is the mass of the virtual particle in a.m.u. The second argument is the harmonic
spring constant in units of kJ mol−1 , which is evaluated in scale units – see the Scale modifier above. Typical
values depend on the system and Colvars, but might be 100 a.m.u. and 10 kJ mol−1 . Optionally, a third and
fourth parameter can be given to switch on thermostating of the virtual particle. A simple Berendsen thermostat
is applied here. The third argument is the target temperature of the virtual particle, and the fourth argument is the
thermostat time constant 𝜏 . A good choice would be a target temperature of 100 K and 𝜏 = 10 fs. Note that in
contrast to the normal Berendsen thermostat, the virtual particle is only cooled, but never heated. In other words,
the thermostat only becomes active if the instantaneous temperature of the virtual particle becomes larger than the
target temperature. This is to ensure that the virtual particle can change its direction – otherwise, it might happen
that it is driven in the same direction for very long time intervals.
The Reset modifier resets the bias profile, i. e., it deletes all hills which had been spawned, so that the bias profile
becomes flat again. All other parameters of the Metadynamics simulation are not modified. If, for example, hill
spawning is still on, then new hills will be spawned in the next simulation run.
The Off modifier completely switches off Metadynamics. It deletes all hills and turns off the Metadynamics
module. It also resets the choice of Colvars for Metadynamics, so you will need to use this first if you want to
set up a second different Metadynamics run within the same input script. This modifier can only be given as first
argument to the Metadynamics command, and no further arguments can follow.
A restart file for the Metadynamics module (file name “basename.metarestart”) is written each time a new hill
has been spawned. The Restart command detects this file and automatically restarts the Metadynamics run (i. e.,
loads all hills and the positions and velocities of the extended Lagrangian virtual particle if active). However, this
only happens when Metadynamics is active and set up at the time when the Restart command is invoked. The
parameters for the Metadynamics simulation are not restarted. Therefore, leave all parameter settings via calls to
the Metadynamics command in place in your input file, and simply call the Restart command after all those,
directly before the Run command.
Please see also the discussion on Metadynamics in [Section 1.3](#moldyn:sec_metadynamics).
This section is concluded with a full example for a two-dimensional well-tempered extended Lagrangian Metady-
namics run with restart ability (just run the same input again to continue the simulation where it ended last). The
two Colvars are defined as distances between atoms. You need to adapt all parameters in blue to your question and
system:
Timestep 0.5_fs
Initvel 350_K
Thermostat NHC 350_K Timecon 100.0_fs
Dump Position Stride 1 Filename "trajectory.xyz"
Manage_Colvar Define 1 Distance Atom 0 Atom 1
Manage_Colvar Define 2 Distance Atom 2 Atom 3
Metadynamics Colvar 1 Scale 1.0_A Wall Lower 3.0 50.0 Upper 10.0 50.0 Range 0.0 15.0 100
Metadynamics Colvar 2 Scale 1.0_A Wall Lower 1.0 50.0 Upper 8.0 50.0 Range 0.0 13.0 100
Metadynamics HillSpawn 40 0.5 0.5 Store 2000
Metadynamics WellTempered 6000_K
Metadynamics Lagrange 100.0 10.0 200.0_K 10.0_fs
Restart IfExists
Run 100000
Minimize
Mandatory Arguments: —
Optional Arguments: method Keyword { Combined, LBFGS, Anneal }
Modifiers: Steps n Integer —
MaxGrad thres Real [kJ mol−1 Å−1 ]
RMSGrad thres Real [kJ mol−1 Å−1 ]
TempConv thres Real [temperature]
Accel value Real —
Damp value Real —
StepLimit value Real [length]
History n Integer —
Noise value Real [length]
OnlyH —
Performs a Cartesian energy minimization of the system. For molecules, this is less efficient than ORCA’s built-in
geometry optimization in internal coordinates (i. e., requires more steps to converge). However, the algorithms
employed here also work with large atom counts (e. g., 50 000) as sometimes encountered in QM/MM simulations,
which is absolutely out of scope of ORCA’s primary optimization module. Furthermore, the minimization also
works under all types of constraints (which some limitations in the case of L-BFGS) that have been set with the
Constraint command, and also includes the effect of the repulsive simulation cell if activated. Only atoms
contained in the active region are displaced, while all other atoms are kept at their positions.
The simplest way of performing a minimization is simply calling the Minimize command without arguments.
This defaults to the L-BFGS method, which is fairly robust and efficient. If the minimization seems unstable, try to
reduce the History or StepLimit parameters. L-BFGS may sometimes show poor performance with constraints
other than Cartesian type. Apart from that, there is also a simulated annealing method implemented, which can
be selected by specifying Anneal as the first argument. In contrast to L-BFGS, the simulated annealing method
works equally well with all types of constraints. There is also a Combined method, which is a combination of
some L-BFGS steps in the beginning, followed by a simulated annealing run until the temperature falls below a
threshold, and another final L-BFGS run until the convergence criteria are reached.
With the Steps modifier, the maximum number of minimization steps can be specified. If this number of steps has
been performed, the minimization finishes, no matter if the convergence criteria are fulfilled or not. The default
value is 500.
The MaxGrad and RMSGrad modifiers control the convergence thresholds for the largest gradient on some atom and
the root mean square average of the gradients. The default values are currently set to 5.0 and 1.0 kJ mol−1 Å−1 ,
respectively, which is about the same criterion as the default setting in the primary ORCA geometry optimization.
If the TempConv modifier is given, a simulated annealing run finished after the temperature was monotonously
decreasing within 5 successive steps, and dropped below the specified value. Note that the simulated annealing
run will finish if either this condition is reached, or the gradient thresholds are observed. It is not required to fulfill
both criteria.
The Accel modifier specifies the acceleration factor for simulated annealing runs (has no effect on L-BFGS). As
long as the angle between velocity vector and gradient vector of some atom is below 90 degrees, the gradient is
multiplied by this factor and the velocity is multiplied by a fraction of this factor. This helps to enforce a faster
movement in gradient direction. The default value is 4.0. If this feature is not desired, use Accel 1.0 to switch it
off (1.0 means “no artificial acceleration”).
The Damp modifier is the damping factor for simulated annealing runs (has no effect on L-BFGS). Atom velocities
are multiplied by this factor in every integration step. The default value is 0.98. Smaller values will make the
algorithm more stable and less prone to oscillations and overshoots, but will also require significantly more steps
to converge. Don’t use values ≥ 1, as then it won’t be an “annealing” anymore :-)
The StepLimit modifier specifies the maximum displacement of any atom (in length units) that can happen in
one step of a minimization run. This can help to avoid large, unreliable steps which could lead to abrupt jumps in
geometry and very high potential energies. This modifier concerns both L-BFGS and simulated annealing runs.
Negative values disable the step limit. The step limit is disabled by default. If you need to switch it on, try something
in the order of 0.1 Å.
The History modifier controls the depth of gradient and position vector history that is used in the L-BFGS method
to approximate the inverse Hessian. The default value is 20. Smaller values can help to stabilize the algorithm.
With the Noise modifier, small random numbers can be added to the atom positions before the minimization starts.
This can help to escape local maxima and saddle points in the minimization. For example, a minimization of an
initially linear water molecule would not be able to leave this maximum – but with some random “noise”, it will
be possible. The modifier expects one real argument which specifies the maximum atom displacement in length
units (something like 0.01 Å will be reasonable). This feature is switched off by default.
If the OnlyH modifier is given, all non-hydrogen atoms are removed from the active region before the minimization
starts. After the minimization has finished, the original active region is restored. This is helpful if only hydrogen
positions shall be optimized, e. g., to refine experimental crystal structures.
PrintLevel
Controls the amount of information which is printed to the screen during the simulation. Debug should be used
only in rare cases, because it might slow the simulation down heavily.
The default value is Medium.
Randomize
Mandatory Arguments: —
Optional Arguments: seed Integer —
Modifiers: —
There are a few algorithms in the ORCA MD module which rely on random numbers, e. g., the initialization of
atom velocities with the Initvel command. These random numbers are so-called “pseudo-random numbers”,
produced by a deterministic generator. This generator has a state, which is simply an integer number. If initialized
to the same state, the generator will always create the same sequence of “random” numbers. This sounds like a
deficiency at first thought, but is a very important feature for scientific reproducibility and for debugging purposes.
If you start the same MD input file with “random” velocity initialization a couple of times, the trajectory will be
exactly identical in all runs.
However, there are cases in which this behavior is not desired, e. g., if you want to average a property over multiple
trajectories of the same system. In these cases, call the Randomize command in the beginning of the input. If no
argument is given, the random number generator is initialized with the current system time as a seed. MD runs
started at different times will have different random velocities in the beginning. If you want more control over
this process, you can also specify a positive integer number as argument, which is used as initial random seed.
Simulations started with the same seed argument will have identical initial random velocities (if all other system
parameters such as atom count, atom types, . . . remain identical).
Without a call to Randomize, a seed of 1 is always used.
Restart
Mandatory Arguments: —
Optional Arguments: fname String —
Modifiers: IfExists —
Reads a restart file to continue a previous molecular dynamics run. Such a restart file is written after every simu-
lation step, such that a crashed simulation may easily be recovered. The file name of the restart file may be given
via fname; otherwise, it is deduced from the project’s base name as <basename>.mdrestart.
If the IfExists modifier is specified, a restart is only performed if the restart file exists. The error and abort that
would normally occur in case of a non-existent restart file are suppressed by this flag. This is useful in the first of
a series of batch runs, where the restart file does not yet exist in the beginning.
Please note that the following quantities are stored to/loaded from restart files:
• Atom Positions
• Atom Velocities
• Thermostat internal state (only for NHC)
• Metadynamics hills and extended Lagrangian internal state
• Simulation step number and elapsed physical time
All other quantities (timestep, regions, thermostat, constraints, cells, etc.) are not restarted and need to be set in
the input file, typically before the Restart command. It is safe to just call the Restart command immediately
before the Run command.
Please see also the discussion on restarting simulations in [Section 1.3](#moldyn:sec_restart).
Restraint
This command imposes restraints on collective variables (“Colvars”) defined before via the Manage_Colvars
command. As a first argument, it expects the kind of operation to perform, which can be Add and Reset. The
second argument needs to be the keyword “Colvar”, and the third argument is an integer number specifying the
Colvar on which the operation shall be performed.
If the first argument is “Add”, a new restraint is added to the specified Colvar. Note that an arbitrary number
of restraints of different types can be active on a Colvar at the same time. The next argument after the Colvar
number needs to be the type of the restraint. Currently, Harmonic and Gaussian are allowed. When adding
harmonic restraints, the Spring modifier can be given, specifying the harmonic spring constant of the restraint in
kJ mol−1 unit−2 , where unit is the default physical unit of the Colvar (Angstrom for distances, degree for angles).
If not specified, a value of 50 kJ mol−1 unit−1 is used. When adding Gaussian restraints, the Height and Sigma
modifiers are allowed. The former sets the height of the Gaussian hill in kJ mol−1 , while the latter sets the width
of the Gaussian function in physical Colvar units (𝜎 is the standard deviation, not the variance 𝜎 2 ). The height
can be either positive or negative, allowing for both Gaussian hills and Gaussian wells. If not specified, the default
values of −10 kJ mol−1 for the height (i. e., Gaussian well) and 10 Colvar units (e. g., Angstrom or degree) for
sigma are used.
The position of the new restraint is controlled via the Target modifier, which expects one real argument in Colvar
units. If the restraint shall be an one-sided wall, the modifiers Lower and Upper can be used instead of Target. It
is also possible to specify both Lower and Upper in order to define a lower and an upper wall at different positions
in one command. If Ramp is given directly after Target, Lower, or Upper, a restraint with linearly moving target
position over time is defined. Ramp expects two arguments, which are the initial restraint position, and the final
restraint position after the next subsequent Run command.
The following example shows how to assign a harmonic two-sided restraint with different lower and upper wall pa-
rameters to a distance Colvar with number 7 that has been previously defined via the Manage_Colvars command:
Restraint Add Colvar 7 Harmonic Lower 400_pm Spring 50.0
Restraint Add Colvar 7 Harmonic Upper 800_pm Spring 80.0
By default, some additional data (current position, potential energy, external force, internal force) for each restraint
is printed to a file with the name “basename-restraints.csv” in every MD step. This data can be used, e. g.,
for thermodynamic integration. If a large number of restraints is defined, this can waste time and disk space. To
switch this off for a restraint, specify the Noprint modifier when defining it.
If the first argument was “Reset”, all restraints imposed on the specified Colvar are deleted. No further arguments
or modifiers (apart from the three mandatory arguments described above) can be given.
Run
Performs a molecular dynamics run over 𝑛 time steps with the current settings, applying the velocity Verlet al-
gorithm to solve the equations of motion (see section 1.5.1). You might want to call commands like Timestep,
Initvel, Thermostat, and Dump before. Please note that only atoms within the active region will be subject
to time integration. All other atoms will be skipped, and will therefore retain their initial positions.
The StepLimit modifier can be used to limit the maximum displacement of any atom in a MD time integration
step. In addition to the displacement, also the velocities will be limited to a maximum of value·∆𝑡. This can help
to stabilize the dynamics if the initial geometry is poor and large forces are acting (close atoms, etc.). The keyword
expects one real argument in distance units. A reasonable choice would be 0.1 Å.
If the CenterCOM modifier is given, the center of mass (CoM) of the total system is kept fixed. Normally, the
CoM should not drift anyway, because the velocity initialization is performed in a way which gives the CoM a zero
initial velocity, and the conservation of momentum should keep it like that. However, numerical errors and massive
Thermostats (among other factors) can break this momentum conservation, leading to a drift of the CoM over
time. If this shall be avoided, specify this modifier.
If no call to Initvel occurred before this command, the atom velocities are initialized to zero. If no call to
Timestep occurred before this command, a default time step of 0.5 fs is set.
You can cleanly end a MD run by creating an empty file with the name “EXIT” (note the all-uppercase letters
on case-sensitive file systems). On Unix operating systems such as GNU Linux, this can easily be achieved by the
command “touch EXIT”. will detect the file, abort the MD run, and delete the file. You will still get the remaining
output (such as the timing statistics), and you don’t have to delete all the remaining “.tmp” files, which both would
not be the case if you would have killed the process instead.
SCFLog
Controls how/if the detailed output from the electron structure calculation (i. e., integrals, scf, gradient, . . . ) will
be written to log files. Discard completely discards the output. Last only keeps the last output for each program
call (useful to read error message if simulation aborts). Append redirects all the output into one single log file
(“basename.scf.log”, “basename.int.log”, “basename.grad.log”, . . . ), appending each step at the end of the file.
Each writes the output for each step and each program to different log files, which have the step number in their
file names.
The amount of information which is printed to the SCF log file can be controlled by the standard ORCA print
flags, such as “%output PrintLevel Maxi end”. Note that by default, ORCA reduces the print level after the
first SCF. Due to this, properties such as orbital energies and population analyses will only be printed once by
default. If you want to keep the print level constant for subsequent SCF runs, disable this feature via “%method
ReducePrint false end” in the ORCA input.
The default value is Append. Note that this can lead to large log files in long runs.
Screendump
Mandatory Arguments: —
Optional Arguments: —
Modifiers: —
Prints the current state of the MD module (atom positions, velocities, potential and kinetic energy, cell properties,
etc.) to the screen and log file in a well-defined and “grepable” format. This is mostly useful for unit testing, e. g.,
to verify if the system state after a MD run equals the state obtained from some other ORCA binary distribution.
Thermostat
Changes the atom thermostat settings for subsequent simulation runs. “Type” sets the thermostat type. Currently,
three thermostat types are implemented: Berendsen [92], Nosé–Hoover chains (NHC) [563, 564], and “Canonical
Sampling through Velocity Rescaling” (CSVR) [129]. The very basic and robust Berendsen thermostat should
only be used for early pre-equilibration runs, as it does not sample the canonical ensemble and leads to problems
such as the flying ice cube effect. Both the NHC and the CSVR thermostats are very sophisticated, and correctly
sample the canonical ensemble. One of these two should be used in all standard NVT simulations. Use None as
type to disable the thermostat.
The optional temperature argument sets the target temperature to which the system is thermostated. If this argument
is omitted, the temperature from the last call to the Initvel command is used (if no such call was invoked before,
the simulation is aborted).
The Timecon modifier sets the coupling strength of the thermostat (large time constants correspond to weak cou-
pling). The default value is 10 fs, which is a relatively strong coupling. For a production run, 100 fs would be
appropriate. Values in the range of 10 . . . 100 fs are reasonable (see also section 1.5.3).
If the Ramp modifier is used, a temperature ramp can be applied during a MD run. The final temperature at the
end of the ramp has to be specified directly after the modifier. The initial temperature at the beginning of the ramp
is taken from the temperature argument (or from the last Initvel command if this argument is missing). The
temperature ramp is applied only to the Run command which first follows the ramp definition. The slope of the
ramp is chosen such that the final temperature is reached at the end of the run. Any subsequent Run command
will simply use the final temperature for thermostating. To apply another temperature ramp, you need to explicitly
define it again.
The Chain, MTS, and Yoshida modifiers only apply to NHC thermostats. They specify the chain length of the
Nosé–Hoover chain (default: 3), the number of multiple time steps in which the thermostat integration is performed
(default: 2), and the order of the Yoshida integrator used (default: 3, allowed: 1, 3, 5, 7), respectively. Normally,
there is little need to modify one of these parameters. For more information, refer to the original publications [563,
564].
The Massive modifier activates massive thermostating, which means that each degree of freedom is assigned to an
independent thermostat. This is useful for pre-equilibration runs (helps to reach energy equipartition) and should
not be used during production runs, as it might heavily distort the dynamics. Note that massive thermostats also
break the conservation of momentum (both linear and angular), so better specify the CenterCOM modifier for the
run command if this is an issue. Please also note that massive NHC thermostats of large systems can be quite slow,
because each NHC thermostat is a dynamical system on its own which needs to be time integrated.
With the Region modifier, the thermostat can be attached to a specific region (i. e., subset of atoms). This modifier
expects one argument, which is either the name of a pre-defined region or the number of a user-defined region (see
above). If not specified, the thermostat acts on the whole system. Multiple thermostats for multiple regions can be
active at the same time, but each region can have only one attached thermostat at a time (re-defining will overwrite
the thermostat settings).
The command “Thermostat None” will remove all thermostats from all regions. If you want to disable a ther-
mostat for a specific region only, use “Thermostat None Region r”, where r is the name or number of the
region.
Please note that all three implemented thermostat types will show no effect (or unexpected effects) if the system’s
temperature is close to 0 K, as they all work by multiplying the velocities with a (more or less complicated) factor.
Timestep
Sets the simulation time step ∆𝑡 used to integrate the equations of motion for all following runs to 𝑑𝑡. If your
system contains hydrogen atoms, a time step not above 0.5 fs is recommended. If only heavier atoms are present,
a larger
√time step may be chosen. A good estimate for a time step that still allows for an accurate simulation is
∆𝑡 = 𝑚 · 0.5fs, where 𝑚 is the mass of the lightest atom in the system (in a.m.u.). This is one reason why some
scientists perform simulations with fully deuterated compounds: It allows to increase the time step by a factor of
≈ 1.4 :-)
If this command is not invoked before a Run call, a default time step of 0.5 fs will be set before starting the run.
conservation of energy. In contrast to many other methods, they show a reasonable behavior when investigating the
long-term evolution of chaotic Hamiltonian systems (like, e. g., MD simulations). Three popular such symplectic
integration schemes are the Leapfrog algorithm, the Verlet method, and the Velocity Verlet integrator. Despite
their different names, they are very similar. It can be easily seen that the Verlet and Velocity Verlet methods are
algebraically equivalent (by eliminating the velocities from the Velocity Verlet algorithm), and it can be shown
that, eventually, all three methods are identical.3 All three methods are explicit integration methods with a global
error of order 2, and therefore one order better than the semi-implicit Euler method, which is also a symplectic
integration scheme. As the Velocity Verlet algorithm is the only of these three methods which yields velocities and
positions at the same point in time, many popular molecular dynamics packages (CP2k, CPMD, LAMMPS) use
this scheme. For the same reasons, the ORCA MD module uses the Velocity Verlet algorithm as time integration
method.
The general equations of the Velocity Verlet scheme read
1
⃗𝑥 (𝑡 + ∆𝑡) = ⃗𝑥 (𝑡) + ⃗𝑣 (𝑡) ∆𝑡 + ⃗𝑎 (𝑡) ∆𝑡2 ,
2
⃗𝑎 (𝑡) + ⃗𝑎 (𝑡 + ∆𝑡)
⃗𝑣 (𝑡 + ∆𝑡) = ⃗𝑣 (𝑟) + ∆𝑡.
2
By inserting
𝐹⃗𝑖 (𝑡)
⃗𝑎𝑖 (𝑡) = , 𝑖 = 1 . . . 𝑁,
𝑚𝑖
one arrives at the two-step method
𝐹⃗𝑖 (𝑡) 2
⃗𝑥𝑖 (𝑡 + ∆𝑡) = ⃗𝑥𝑖 (𝑡) + ⃗𝑣𝑖 (𝑡) ∆𝑡 + ∆𝑡 , 𝑖 = 1 . . . 𝑁,
2𝑚𝑖
𝐹⃗𝑖 (𝑡) + 𝐹⃗𝑖 (𝑡 + ∆𝑡)
⃗𝑣𝑖 (𝑡 + ∆𝑡) = ⃗𝑣𝑖 (𝑟) + ∆𝑡, 𝑖 = 1 . . . 𝑁,
2𝑚𝑖
which is implemented in ORCA’s MD module.
Velocity Initialization
In the beginning of a MD simulation, it is often the case that only the initial positions of the atoms are known, but
not the velocities. As MD simulations are performed at some finite temperature, it is a good idea to initialize the
velocities in a way such that the desired simulation temperature is already present in the beginning. In statistical
mechanics, it is often assumed that the velocity distribution of atoms is given by a Maxwell–Boltzmann distribution
(which is strictly only the case in idealized gases). Therefore, it is a reasonable choice to initialize the atom’s
velocities according to the Maxwell–Boltzmann equation in the beginning of a MD simulation. The goal is to find
an initial velocity distribution in which each degree of freedom possesses a similar amount of energy, such that the
equipartition theorem is approximately fulfilled.
The scalar Maxwell–Boltzmann velocity distribution (leaving out the normalization factor) at temperature 𝑇 is
given by
(︁ 𝑚𝑣 2 )︁
𝑓 (𝑣) = 𝑣 2 exp − .
2𝑘𝐵 𝑇
To initialize the particle’s velocities such that this distribution function is fulfilled, one starts with a series of normal-
distributed random numbers with mean 0 and variance 1, denoted by 𝒩 (0, 1). The Cartesian velocity components
for each atom are then computed by
√︂
𝑘𝐵 𝑇
𝑣𝑖,𝛼 := 𝒩 (0, 1) , 𝛼 ∈ {𝑥, 𝑦, 𝑧}, 𝑖 = 1 . . . 𝑁.
𝑚𝑖
As the C++98 standard does not offer a platform-independent way of obtaining normal-distributed random num-
bers, these are internally computed from uniformly distributed random numbers by applying the Box–Muller trans-
form [115]: Assuming that 𝑢1 and 𝑢2 are two uniformly distributed random numbers from the interval [0, 1], the
3 Hairer, Lubich, Wanner, “Geometric Numerical Integration”, Springer 2006.
equations
√︀
𝑧1 := −2 log (𝑢1 ) cos (2𝜋𝑢2 ) ,
√︀
𝑧2 := −2 log (𝑢1 ) sin (2𝜋𝑢2 )
yield two new random numbers 𝑧1 and 𝑧2 which obey a normal distribution with mean 0 and variance 1.
After the velocities have been initialized, the total linear momentum of the system will probably have some finite
value other than zero. As the linear momentum is (approximately) conserved within a molecular dynamics simu-
lation, this would result in the system drifting away into one direction during the course of the simulation, which
is probably not desired. Therefore, the total momentum is explicitly set to zero after the Maxwell–Boltzmann
initialization:
𝑁
∑︁
𝑃⃗tot := 𝑚𝑖⃗𝑣𝑖,old ,
𝑖=1
𝑃⃗tot
⃗𝑣𝑖,new := ⃗𝑣𝑖,old − , 𝑖 = 1 . . . 𝑁.
𝑚𝑖 𝑁
This, of course, might change the initial temperature. Therefore, a final step is performed, in which all velocity
vectors are multiplied with a factor that is determined such that the initial temperature exactly matches the target
value.
Thermostats
After the initial velocities have been initialized to some finite temperature, it might be assumed that one can simply
start the time integration of the dynamical system (equivalent to the NVE ensemble), and the starting temperature
would be approximately preserved. In a real system, however, there are (at least) two reasons why the temperature
will strongly deviate from the initial value already after a few steps. First, the initial velocity distribution only
considers the kinetic energy of the particles, but some amount of energy will be exchanged with the potential
energy contribution (e. g., bond stretching) immediately, altering the temperature. Secondly, the numerical errors
introduced due to the finite time step (and in case of ab initio MD, also due to the approximate forces) will lead to
a drift in energy and therefore in temperature. To counter these effects, it is often desirable to have a temperature
control during the course of the simulation (which then runs in the NVT ensemble), which is called a thermostat.
There exist many different kinds of thermostats, ranging from simple expressions up to highly complex dynamical
systems on their own. But all of them share a common issue: If the thermostat is coupled only weakly to the
system, the temperature will change anyway. However, if the thermostat is coupled more strongly to the system
(i. e., intervenes stronger), then the dynamics of the simulation will change, no longer resembling the undisturbed
original dynamics which one wants to investigate. Therefore, it is always a tradeoff between temperature stability
and disturbed dynamics to decide how strong a thermostat should be coupled to the system.
In ORCA, currently three thermostats are implemented: The Berendsen thermostat [92], the Nosé–Hoover chain
thermostat (NHC) [563, 564], and the “Canonical Sampling through Velocity Rescaling” thermostat (CSVR) [129].
Berendsen Thermostat
The Berendsen thermostat [92] is similar to the simple velocity rescaling scheme, but enhanced by a time constant
𝜏 to control the coupling strength. Let 𝑇0 be the desired target temperature and 𝑇 the current temperature of the
system. Then the temperature gradient caused by the thermostat can be expressed as
𝑑𝑇 𝑇0 − 𝑇
= .
𝑑𝑡 𝜏
Considering the fact that discrete time steps ∆𝑡 are used, the correction factor for the velocities in each time step
is determined by
√︂
∆𝑡 (𝑇0 − 𝑇 )
𝑓 := 1 +
𝑇𝜏
The new velocities are then easily obtained as
⃗𝑣𝑖,new := 𝑓 · ⃗𝑣𝑖,old , 𝑖 = 1 . . . 𝑁.
Let’s consider some special cases. If 𝜏 = ∆𝑡, the whole temperature deviation from 𝑇0 is corrected immediately,
such that the temperature is always exactly kept at the target value. This is identical to simple velocity rescaling
(without any time constant), which is known to work poorly for most systems (a single harmonic oscillator would,
e. g., simply explode). With a larger time constant 𝜏 > ∆𝑇 , the coupling strength is reduced, leading to reasonable
results. Typically, a value of 𝜏 in the range of 20 . . . 200 · ∆𝑇 will be applied. For 𝜏 → ∞, the coupling strength
goes to zero, such that the thermostat is no longer active. Values of 𝜏 < ∆𝑇 are not allowed.
From the formula, it becomes clear that a Berendsen thermostat will have no effect if the system has a temperature
of 0 K (or in the “massive” case: if the considered degree of freedom has 0 K), because it is based on multiplying
the velocities by a factor to modify the temperature. Therefore, this type of thermostat can’t be used to heat a
system up starting from 0 K.
Constraints
Unlike restraints, constraints are geometric relations which are strictly enforced at every time (i. e., they do not
fluctuate around their target value). Many molecular dynamics techniques make use of geometric constraints (e. g.,
to keep water molecules rigid, or to fix some reaction coordinate). Standard BOMD describes the nuclei as point
charges in space, such that the motion of the atoms is governed by the laws of classical mechanics. Systems in
classical mechanics can be described by the Lagrange formalism, which contains a well established sub-formalism
for holonomic constraints, namely the method of Lagrange multipliers.
However, molecular dynamics discretizes time to solve the equations of motions with finite time steps, often using
a Verlet integrator. With discretized time, it is slightly more involved to enforce and keep exact constraints. Within
the last decades, algorithms have been developed to do so. One famous among them is the SHAKE algorithm.
However, it comes with the disadvantage of only enforcing the constraints in the positions, not in the velocities. This
may lead to problems such as artificially high temperature values due to “hidden” velocities along the constrained
directions. An extension of SHAKE which also enforces the constraints for the velocities is the RATTLE algorithm,
which is implemented in the AIMD module of ORCA.
The RATTLE scheme is a generalization of the Velocity Verlet integrator to allow for constraints. This means that
RATTLE is not applied in addition to the Velocity Verlet integrator, but replaces it. In case of no active constraints,
both methods are identical. A system of coupled constraints cannot be solved exactly in one step, and RATTLE
uses an iterative approach to enforce all constraints simultaneously. This is often a matter of concern with respect
to performance. However, in AIMD, the energy and gradient calculations typically take seconds or even minutes
per step, such that the additional computation time for iteratively solving the constraints can be totally neglected.
As an iterative procedure, RATTLE is not able to give exact solutions, but only converged up to a given tolerance.
In the ORCA MD module, the tolerance is currently set to 10−2 pm for distances, and 10−4 degree for angles
and dihedral angles. This tolerance is typically reached within a few dozen iterations. In some cases, it might
happen that the RATTLE iterations do not converge to the required tolerance. This is typically the case if the set
of constraints is over-determined or contradictory.
The mathematical and technical details of RATTLE are not described here, they can be found in the literature.
The general concept of RATTLE was suggested by Andersen [35]. The original article only covered distance
constraints. A follow-up work describes how to handle any holonomic constraints, in particular how to constrain
angles and dihedral angles [483]. The Wilson vectors (i. e., derivatives of angles and dihedral angles with respect
to Cartesian atom positions) are taken from Wilson’s original work [890].
Fig. 7.62: Division of the system into boxes, schematic representation in 2D.
At the deepest level, L = Lmax , for every box, we can define a layer of nearest neighbours boxes (NN) which will
be responsible for the Near-Field (NF, i.e.short-range). The electrostatic potential due to the rest of the boxes is
define as the Far-Field (FF, i.e. long-range).
∀𝐵 , V𝐵 = VNF FF
𝐵 + V𝐵
As visible on Figure Fig. 7.62, one can divide the FF area between a Local Far Field (LFF, green) area and a Remote
Far Field area (RFF, grey), so that a recursive scheme between levels appears:
The LFF boxes are the boxes in the NF of the parent but not in the NF of the children, that represents a maximum
of 189 boxes. The RFF potential is due to boxes which actually represent the FF area of the parent box of B. This
means that one needs to calculate only the LFF term at every level, the rest of the potential will be inherited from
the parent box.
The number of levels, Lmax , can be setup in the input directly (FMMQMMM_Levels), or will be deduced from
the provided box dimension (FMMQMMM_BoxDimInp, dimension of the box at Lmax ). The second option
(default) is recommended, with a box dimension around 9.0 Bohr (FMMQMMMM_BoxDimInp 9.0 ). If FM-
MQMMM_DoBoxDimOpt option is turned to TRUE (default), the box dimension will be reduced as much as
possible while keeping the same value of Lmax , this to ensure the algorithm works optimally regarding both accu-
racy and efficiency.
%method
DOFMMQMMM True #turn ON the use of the FMM
(continues on next page)
The higher Lmax , the bigger the number of boxes: at L = 2 one has 64 boxes only but for L = 6 the code generates
more than 200,000 boxes (86 ). For Lmax ≥ 7, more than 2 millions boxes are generated, this can start leading to
memory issues, so that the user should ensure enough memory is available (cf. Global memory use ).
The name of the algorithm comes from the way the FF interactions are evaluated. It is done through a mutlipole
expansion of the |r𝑎 −r
1
𝑏|
term, leading to the following expression:
∞ ∑︁
𝑙 𝑗
∞ ∑︁
1 ∑︁ ∑︁
= (−1)𝑗 𝑅𝑙,𝑚 (r𝐴𝑃 )𝐼𝑙+𝑗,𝑚+𝑘 (r𝑄𝑃 )𝑅𝑗,𝑘 (r𝐵𝑄 ),
|r𝐴 − r𝐵 | 𝑗=0
𝑙=0 𝑚=−𝑙 𝑘=−𝑗
This series converges for well separated centers only, that is why a NF layer is required. 𝑅𝑙,𝑚 and 𝐼𝑙,𝑚 are regular
and irregular solid scaled harmonics [707]:
√︂
1 𝑙 4𝜋
𝑅𝑙,𝑚 (r) = √︀ r 𝑌𝑙,𝑚 (r)
(𝑙 − 𝑚)!(𝑙 + 𝑚)! 2𝑙 + 1
√︂
√︀ 1 4𝜋
𝐼𝑙,𝑚 (r) = (𝑙 − 𝑚)!(𝑙 + 𝑚)! 𝑙+1 𝑌𝑙,𝑚 (r)
r 2𝑙 + 1
𝑌𝑙,𝑚 are spherical harmonics of degree 𝑙 and order 𝑚. For details on the derivation of this equation see [49].
We can now introduce the multipole expansion centered in P (r𝑃 ), of a charge distribution Q(r, 𝑃 ), as:
∞ ∑︁
(︁ ∑︁ 𝑙 )︁
Q(r, 𝑃 ) = 𝑓 𝑅𝑙,𝑚 (r − r𝑃 )
𝑙=0 𝑚=−𝑙
In practise:
(︁ 𝑀∑︁
𝐴𝑀 ∑︁
𝑙 )︁
Q(r, 𝑃 ) ≈ 𝑓 𝑅𝑙,𝑚 (r − r𝑃 )
𝑙=0 𝑚=−𝑙
Q is a vector, with elements 𝑄𝑙,𝑚 defined by the pair of values (𝑙,𝑚). In the case of a point charge A (q𝐴 ,r) we
have:
𝑄𝐴
𝑙,𝑚 (r, 𝑃 ) = 𝑞𝐴 × 𝑅𝑙,𝑚 (r − r𝑃 ),
𝑄𝜇𝜈
𝑙,𝑚 (r, 𝑃 ) = ⟨𝜇| 𝑅𝑙,𝑚 (r − r𝑃 ) |𝜈⟩
∫︁
= 𝜇(r’)𝑅𝑙,𝑚 (r − r𝑃 )𝜈(r’)𝑑r’
So that we can approximate the electrostatic interaction between a Gaussian overlap ⟨𝜇|𝜈⟩ with center in r𝐵 and a
point charge A (q𝐴 ,r𝐴 ) in the FF, through the following expansion:
∫︀
𝑞𝐴 𝜇(r)𝜈(r)𝑑r
≈ Q𝜇𝜈 (r𝑏 , 𝑃 ′ )I(r𝑃 𝑃 ′ )Q𝐴 (r𝐴 , 𝑃 ),
|r𝐴 − r𝐵 |
with 𝑃 and 𝑃 ’ the respective center of the multipole expansions, and I the interaction matrix.
The truncation parameter of the expansion, MAM, is the Maximum Angular Momentum of the underlying solid
scaled harmonics. In our setup, it is the same value for the expansion of the point charges in the embedding or
the Gaussian overlaps in the QM part. It can be setup through the keyword FMMQMMM_MAM. We recommend
FMMQMMM_MAM = 20 to ensure a good accuracy, in the order of 0.0001-0,0001 Ha. With a lower value of
MAM=15, one can usually expect a mHa (0.63 kcal.mol−1 ) precision. However it is system dependent, so that we
recommend you to start with MAM=20 and see how it behaves if you decrease it to a value of 15. The available
values for MAM are in the range 1-25.
%method
DOFMMQMMM True #turn ON the use of the FMM
FMMQMMM_MAM 20 #Default Maximum Angular Momentum
end
³ Caution
The two elements one can play on are the truncation parameter of the expansion, MAM, and the box dimension
at the deepest level (Lmax ). Recommended/default parameters can be called in the keyword line directly using
FMM-QMMM or by setting the parameters accordingly in the %method block:
#keyword line
! FMM-QMMM
%method
DOFMMQMMM True #turn ON the use of the FMM
USEFMMQMMM True #turn ON the use of the FMM
###parameters:
(continues on next page)
The parameters used by the algorithm are printed in the output by default, we recomend you to check them in your
first calculations:
----------------------
SHARK INTEGRAL PACKAGE
----------------------
[...]
- - - - - - - FMM PARAMETERS- - - - - - -
num PCs 75894
VFMM USED
MAM 20
Input box dim 9.000
Refined box dim 5.197
Tree depth/levels 6
- - - - - - - - - - - - - - - - - - - - -
%method
FMMQMMM_Printing 1 # remove FMM PARMETERS printing, default value is 2
end
%qmmm
ORCAFFFilename "file.prms"
Embedding Electrostatic
ChargeAlteration CS
QMAtoms {2016:2026} end
end
*pdbfile 0 1 file.pdb
Change the MAM from 20 (value when one uses the keyword line) to 15, and use 5 levels:
%method
DOFMMQMMM True #turn ON the use of the FMM
USEFMMQMMM True #turn ON the use of the FMM
###parameters:
FMMQMMM_DoVFMM True #Use the Very Fast Multipole Method
FMMQMMM_MAM 15 #Maximum Angular Momentum
FMMQMMM_Levels 5 #number of levels
(continues on next page)
%qmmm
ORCAFFFilename "file.prms"
Embedding Electrostatic
ChargeAlteration CS
QMAtoms {2016:2026} end
end
*pdbfile 0 1 file.pdb
%method
DOFMMQMMM True #turn ON the use of the FMM
USEFMMQMMM True #turn ON the use of the FMM
###parameters:
FMMQMMM_DoVFMM True #Use the Very Fast Multipole Method
FMMQMMM_MAM 15 #Maximum Angular Momentum
FMMQMMM_Levels 0 #number of levels
FMMQMMM_BoxDimInp 9.0 #Higher boundary to set up the dimension (in Bohr!)
FMMQMMM_DoBoxDimOpt False #Does not optimize the box dimension
end
%qmmm
ORCAFFFilename "file.prms"
Embedding Electrostatic
ChargeAlteration CS
QMAtoms {2016:2026} end
end
*pdbfile 0 1 file.pdb
%method
DOFMMQMMM True #turn ON the use of the FMM
USEFMMQMMM True #turn ON the use of the FMM
###parameters:
FMMQMMM_DoVFMM True #Use the Very Fast Multipole Method
FMMQMMM_MAM 15 #Maximum Angular Momentum
FMMQMMM_Levels 0 #number of levels
FMMQMMM_BoxDimInp 9.0 #Higher boundary to set up the dimension (in Bohr!)
FMMQMMM_DoBoxDimOpt True #Optimize the box dimension
end
%qmmm
ORCAFFFilename "file.prms"
Embedding Electrostatic
ChargeAlteration CS
QMAtoms {2016:2026} end
end
*pdbfile 0 1 file.pdb
ˆ =𝐻
𝐻 ˆ 0 + 𝑉ˆ
where 𝐻
ˆ 0 is the Hamiltonian of the isolated molecule, whereas 𝑉ˆ describes the solute – solvent interactions. The
SCF procedure leads to the variational minimization of the free energy of the solute, 𝐺:
⟨ ⃒ ⃒ ⟩ 1⟨ ⃒ ⃒ ⟩
⃒ ˆ 0⃒
𝐺 = Ψ ⃒𝐻 ⃒Ψ + Ψ ⃒𝑉ˆ ⃒ Ψ
⃒ ⃒
2
Using the conductor-like boundary condition the electrostatic potential can be determined by
𝑁𝑞
∑︁
𝑉 (⃗𝑟) + 𝑉𝑞𝑖 (⃗𝑟) = 0
𝑖
where 𝑉 and 𝑉𝑞𝑖 are the electrostatic potential due to the solute and to the polarization charges, ⃗𝑟 is a point on
the cavity surface, and 𝑁𝑞 is the total number of solvation charges. The vector of polarization charge can then be
determined by
AQ = −V (7.314)
where the vector V contains the electrostatic potential due to the solute at the position of the charges. The elements
of the matrix A have a different functional form depending on how the charges are treated. If we use point charges:
√︂
4𝜋
𝐴𝑖𝑖 = 1.07
𝑆𝑖
1
𝐴𝑖𝑗 = (7.315)
𝑟𝑖𝑗
in which 𝑆𝑖 is the area of the surface element 𝑖, and 𝑟𝑖𝑗 = |⃗𝑟𝑖 − ⃗𝑟𝑗 |. When Gaussian charges are considered:
√︀
𝜁𝑖 2/𝜋
𝐴𝑖𝑖 =
𝐹𝑖
erf (𝜁𝑖𝑗 𝑟𝑖𝑗 )
𝐴𝑖𝑗 =
𝑟𝑖𝑗
Here, 𝜁𝑖 is the exponent of the Gaussian charge 𝑖 (𝑖 belongs to sphere 𝐼). This quantity is calculated as 𝜁𝑖 =
√
𝜁/(𝑅𝐼 𝑤𝑖 ), where 𝑅𝐼 is the radius of sphere 𝐼, 𝑤𝑖 is the weight of the Lebedev point√︁
𝑖, and 𝜁 is a width parameter
optimized for each particular Lebedev grid [905]. On the other hand, 𝜁𝑖𝑗 = 𝜁𝑖 𝜁𝑗 / 𝜁𝑖2 + 𝜁𝑗2 . The function 𝐹𝑖 ,
known as switching function, measures the contribution of the Gaussian charge 𝑖 to the solvation energy. This
function is calculated as
atoms
∏︁
𝐹𝑖 = ⃗𝐽)
𝑔(⃗𝑟𝑖 , 𝑅
𝐽,𝑖∈𝐽
/
where 𝑔(⃗𝑟𝑖 , 𝑅
⃗ 𝐽 ) is the elementary switching function. In ORCA we use the improved Switching/Gaussian (ISWIG)
function for 𝑔(⃗𝑟𝑖 , 𝑅⃗ 𝐽 ) proposed in ref. [494]:
⃗𝐽) = 1 − 1
𝑔(⃗𝑟𝑖 , 𝑅 {erf [𝜁𝑖 (𝑅𝐽 − 𝑟𝑖𝐽 )] + erf [𝜁𝑖 (𝑅𝐽 + 𝑟𝑖𝐽 )]}
2
If 𝑔(⃗𝑟𝑖 , 𝑅
⃗ 𝐽 ) < 10−7 the value of 𝑔 is set equal to 0.
AQ = −𝑓 (𝜀)V (7.316)
where 𝑓 (𝜀) = (𝜀 − 1)/(𝜀 + 𝑥) is a scaling function, and 𝑥 is in the range 0-2. In C-PCM 𝑥 is equal to 0.
The C-PCM model can be used via
! CPCM(solvent)
Table 7.29: List of available solvents for the different implicit solvation methods in ORCA. The data for the dielec-
tric constant used within C-PCM is that at 293.15,[368] except for ammonia, which has a boiling point of 239.81
K. For the rest of solvation models, see the corresponding sources.[559][815]
Solvent C-PCM SMD COSMO-RS ALPB ddCOSMO CPCM-X
1,1,1-trichloroethane X X
1,1,2-trichloroethane X X
1,2,4-trimethylbenzene X X X
1,2-dibromoethane X X X
1,2-dichloroethane X X X X
1,2-ethanediol X X
1,4-dioxane / dioxane X X X X X
1-bromo-2-methylpropane X X
1-bromooctane / bromooctane X X X
1-bromopentane X X
1-bromopropane X X
1-butanol / butanol X X X X
1-chlorohexane / chlorohexane X X X X
1-chloropentane X X
1-chloropropane X X
1-decanol / decanol X X X X
1-fluorooctane X X X X
continues on next page
The parameters can be more accurately defined using the %cpcm block input. The available options are as follows
Regarding the parameters shown above, some of them can be just used within a given type of cavity surface and
charge scheme, as it is mentioned in subsections Use of the Gaussian Charge Scheme, and Use of the Point Charge
Scheme. ORCA supports two types of solvation charge schemes: (i) the point charge scheme, (ii) the Gaussian
charge scheme. The default solvation scheme from ORCA 5.0 on is the Gaussian charge scheme with a vdW-type
cavity (”surfacetype vdw_gaussian”). Older ORCA versions considered “surfacetype gepol_ses” and
the point charge scheme as defaults. So, if one wants to reproduce the results obtained with ORCA versions older
than ORCA 5.0, please use the tag “surfacetype gepol_ses” in the “%cpcm” block.
The different charge schemes are described in the subsections Use of the Gaussian Charge Scheme, and Use of
the Point Charge Scheme. The availability of the analytical gradient and Hessian for the different combinations of
charge scheme and surface is shown in Table Table 7.30.
Table 7.30: Available type of gradients and Hessians within the C-PCM in ORCA. The tag “YES” means that
the feature is implemented, and “NO” that it isn’t. For clarity, we denote by “*” the default scheme in ORCA
(surfacetype vdw_gaussian).
Note: If the user wants to turn off the C-PCM, one has to write the following tag in the simple input:
! NOCPCM
This is needed, for instance, in the context of concatenated calculations using the $new_job feature, where the
previous calculation involved solvation, but one wants to turn it off for the next one.
%cpcm
surfacetype vdw_gaussian
end
In this case, the radius 𝑅𝐼 of atom 𝐼 for the scaled vdW cavity is calculated as
𝑅𝐼 = 𝑓𝑠𝑐𝑎𝑙 𝑅𝐼vdW
where 𝑅𝐼vdW is the vdW radius of atom 𝐼 and 𝑓𝑠𝑐𝑎𝑙 is a scaling factor. This parameter is by default equal to 1.2,
as suggested in ref. [494]. However, the user can modify its value through the scale_gauss tag in the %cpcm
block in the input file. The number of C-PCM charges per atom is such that we have an approximate density of
5.0 charges/Å2 on the surface of the cavity. This number corresponds approximately to 110 points on a hydrogen
atom (110/(4𝜋 × 1.322 ) ≈ 5.0Å−2 ). ORCA will choose then different levels of discretization (Lebedev grids)
depending on the radii of the atoms. This scheme is called isodensity scheme. The threshold for the number of
charges per unit of area on hydrogens and non-hydrogen atoms can be specified by the user via thresh_h and
thresh_noth, respectively. Alternatively, the user can request a fixed number of Lebedev points per sphere in the
cavity (independent of the radius of the sphere). This can be done via the num_leb tag. This parameter can adopt
the following values: 50, 110, 194, 302, 434, 590, 770, 974, and 1202. ORCA versions older than ORCA 6.0 use
this last scheme.
The analytical gradient, as well as the analytical Hessian are available for this solvation method.
• Solvent-excluded surface
The GEPOL-generated SES can be used together with the Gaussian charge scheme. In this case, the Gaussian
charges are not only placed on the surface of the atomic spheres but also on the surface of the new spheres generated
through the GEPOL algorithm. To use this approach we should modify the ORCA input file as follows
%cpcm
surfacetype gepol_ses_gaussian
end
The SES is in general recommended when the solute is explicitly solvated by few solvation layers. In this case, the
additional GEPOL spheres prevent the solvent to fill the space between explicit solvent molecules or between those
molecules and the solute. The radius of the solvent sphere that rolls over the solute vdW-type surface to generate
the SES is controlled by the parameter “rsolv”. This radius has a default value of 1.30 Å, but the user can change
it by specifying another value for “rsolv” in the %cpcm block. The minimum radius for an added GEPOL sphere
is controlled by “rmin”.
Neither the analytical gradient nor the analytical Hessian are available for this strategy. They should be computed
numerically. Due to the interdependency between GEPOL spheres and the atoms present in our system, the analyt-
ical gradient computed using the SES does not converge as smooth as compared to that using the vdW-type cavity
(see ref. [287]) and can lead to wrong minima. The Hessian is affected in the same way. Then, ORCA 6.0 does
not support anymore the analytical gradient/Hessian for such surface to prevent inaccurate results.
In order to use the point charge scheme with the SES, we should add the following tag in the %cpcm block:
%cpcm
surfacetype gepol_ses
end
• Solvent-accessible surface
Here, the surface of the solute cavity is generated by following the center of a sphere with radius “rsolv” (repre-
senting the solvent molecule) rolling over the surface of the vdW surface of the solute. The discretization of the
resulting surface is done via tesserae, as done for the SES. In order to use the point charge scheme together with
the SAS, one should add the following tag in the %cpcm block:
%cpcm
surfacetype gepol_sas
end
in its derivatives. However, if the user still wants to use this charge scheme, no matter with which type of surface
(SES or SAS), there are two things that one can try to minimize the aforementioned problems:
• Change ndiv : The parameter “ndiv” controls the number of triangles per sphere in the solute cavity. By
changing the number of triangles, it also changes the number of triangles in the intersection between spheres
and, then, this can solve those situations where two point charges get too close making the elements 𝐴𝑖𝑗 in
eq (7.315) to diverge (and the solvation charges to suddenly have very large values). However, this strategy
can be a solution for a particular case, but will never ensure that for the same system with another geometry
the discontinuities in the SCF energy do not show (as it does not prevent point charges to be too close from
each other).
• Increase pmin : This parameter removes those charges that are at a distance lower than pmin from each
other. The default value for pmin is of 0.1 a.u. (≈ 0.0529 Å). Then, by incrasing pmin one removes all
pairs of charges that are too close from each other in the intersection between the spheres. Note: Be careful
when increasing pmin. Although this prevents sudden jumps in the SCF energy, it can lead to “biasing” the
solute-solvent interaction, as one is removing a significant number of charges that represent the effect of the
solvent.
The first term, 𝐸𝑠𝑜𝑙𝑣 (𝑅 ⃗ 𝑙 ), corresponds to the difference between the liquid-phase expectation value of the
⃗ 𝑣, 𝑅
gas-phase Hamiltonian, 𝐸(𝑅 ⃗ 𝑙 ), and the gas-phase potential energy surface 𝐸(𝑅
⃗ 𝑣)
⃗ 𝑣, 𝑅
𝐸𝑠𝑜𝑙𝑣 (𝑅 ⃗ 𝑙 ) = 𝐸(𝑅
⃗ 𝑙 ) − 𝐸(𝑅
⃗ 𝑣)
The second term in eq (7.317) accounts for the electronic-polarization contribution to ∆𝐺𝑠𝑜𝑙𝑣 and is calculated
from the charges spread over the surface of the solute cavity (vdW-type or the SES). Finally, ∆𝐺𝑐𝑎𝑣 is the cavitation
energy, that is, the reversible work required to create a cavity inside the bulk of the solvent in order to accommodate
the solute, while ∆𝐺𝑑𝑖𝑠𝑝 accounts for the changes in the dispersion energy occuring when solvating the solute. The
sum of these last two terms correspond to the non-electrostatic contribution, ∆𝐺𝑛𝑒𝑙 , to ∆𝐺𝑠𝑜𝑙𝑣
In ORCA, if a system is solvated within the C-PCM (defining !CPCM(solvent name) in the input file, within
either the point charge scheme or the Gaussian charge scheme) there is no “non-electrostatic solvation contribution”
neither to the SCF energy, nor to its derivatives. In order to have a rough idea of the value of ∆𝐺𝑛𝑒𝑙 , one can
estimate this quantity through empirical equations available in the literature obtained from experimental data. For
instance, ∆𝐺𝑛𝑒𝑙 can be estimated from the free energy of hydration for linear-chain alkanes[853]
where SASA is the solvent-accessible surface area. However, although eq (7.318) may give a good estimation
of ∆𝐺𝑛𝑒𝑙 for organic molecules in water, it is a bad approximation for non-electrostatic solvation effects when
considering solvents different than water (as well as for many solutes in water). There are two alternatives to this
approximation that one can adopt in order to include non-electrostatic solvation effects in ORCA calculations:
1. The use of the SMD model in combination with the C-PCM (see section The SMD Solvation Model).
2. The use of Gaussian charges to compute the electrostatic contribution to ∆𝐺𝑠𝑜𝑙𝑣 together with an equation
for ∆𝐺nel calculated from the contribution of the solute atoms to the SASA.[287]
Focusing on the second strategy, the cavitation energy, ∆𝐺𝑐𝑎𝑣 is calculated through the equation proposed by
Pierotti and Claverie.[180, 681] In this case, ∆𝐺𝑐𝑎𝑣 is expanded in powers of the ratio R between the radius of the
solute sphere 𝑅𝐼 and that of the solvent spheres 𝑅𝑆 . Then, the cavitation energy for the solute sphere centered at
atom 𝐼 reads as,
(︂ )︂ [︃ (︂ )︂2 ]︃
3𝑦 3𝑦 9 𝑦 2 𝑦𝑃 3
∆𝐺𝑐𝑎𝑣,𝐼 = −ln(1 − 𝑦) + R+ + R + R
1−𝑦 1−𝑦 2 1−𝑦 𝜌𝑆 𝑘 𝐵 𝑇
with 𝑦 = 8𝜋𝜌𝑆 𝑅𝑆3 /6, being 𝜌𝑆 the density of the solvent, R = 𝑅𝐼 /𝑅𝑆 , 𝑇 the temperature and 𝑃 the pressure. If
we consider the solvent-accessible surface (SAS), then, the total ∆𝐺𝑐𝑎𝑣 is the sum of the ∆𝐺𝑐𝑎𝑣,𝐼 weighted by a
factor that depends on the exposed SASA𝐼 of sphere 𝐼
𝑁sph 𝑁𝑒𝑙
∑︁ SASA𝐼 SASA𝑖
(7.319)
∑︁
∆𝐺𝑐𝑎𝑣 = 2 ∆𝐺𝑐𝑎𝑣,𝐼 = ∆𝐺𝑐𝑎𝑣,𝑖
𝑖=1
4𝜋𝑅𝐼 𝑖=1
4𝜋𝑅𝐼2
Here, the summation over the total number of spheres (𝑁sph ) that conform the SAS is replaced by a summation
over the total number of surface elements (𝑁el ) in which the SAS is divided into.
With respect to ∆𝐺𝑑𝑖𝑠𝑝 , this quantity is assumed to depend linearly on the contribution of each surface element to
the SASA
𝑁el
∑︁
∆𝐺𝑑𝑖𝑠𝑝 = 𝜎𝐼 SASA𝑖 (7.320)
𝑖=1
Here, the factor 𝜎𝐼 is the atomic surface tension of the sphere 𝐼 to which the surface element 𝑖 belongs to.
This strategy, that considers eqs (7.319) and (7.320) to compute ∆𝐺𝑛𝑒𝑙 assumes the use of Gaussian charges for
the calculation of ∆𝐺𝑒𝑙 in eq (7.317). When a vdW-type cavity is used to account for electrostatic solvation effects,
then the solvation approach is called GVDW_nel, while when a SES-type cavity is used we refer to the solvation
approach as GSES_nel (“G” for Gaussian charges and “nel” because of the inclusion of non-electrostatic solvation
effects). Details on the GVDW_nel and GSES_nel models can be found in ref. [287].
The GVDW_nel and GSES_nel models have been parametrized for solutes containing H, C, N and O atoms in
the following solvents: benzene, chloroform, cyclohexane, octanol, toluene and water. The parameters for the 𝜎𝐼
atomic surface tensions in eq (7.320) together with the radius of the solvent molecules 𝑅𝑆 used to generate the
SAS are provided in ref. [287]. The use of the GVDW_nel and GSES_nel is controlled by the string cds_cpcm to
add in the %cpcm block. This flag should be equal to 2 within these two models (by default, when we use C-PCM
together with the Gaussian Charge Scheme without non-electrostatic solvation effects, cds_cpcm is equal to 0). In
order to calculate ∆𝐺𝑠𝑜𝑙𝑣 for the GVDW_nel scheme one has to do the following steps:
1. Optimize the geometry of the solute (anisole in this case) in vacuum. For a DFT calculation at the
B3LYP/def2-TZVP level of theory (with RIJCOSX), our input file would read like:
%maxcore 4000
* xyz 0 1
C 0.66588156410505 1.19833878437922 -0.02647672759883
C 1.95470174000504 0.69483871574862 -0.01927812843331
C 2.17893173780041 -0.68097630146538 0.00933914777704
C 1.09270919891774 -1.54252176637089 0.03141990372830
C -0.21073409652496 -1.05179390481975 0.02471602253843
C -0.42517201252444 0.32533458015547 -0.00499572635290
H 0.47565631823749 2.26336213776820 -0.05012843684387
H 2.79210971512409 1.38085300778245 -0.03749594945361
H 3.18771596563920 -1.07149825338966 0.01433233618265
H 1.25061585302875 -2.61357041387417 0.05495238973649
H -1.03877793934640 -1.74453554370491 0.04346162651229
O -1.65366310927299 0.90979347913477 -0.01693978807213
C -2.79791686738707 0.07370821312998 0.01117694976431
H -2.83142307710305 -0.58944196707467 -0.85867919998175
H -3.65619850989594 0.74176224021803 -0.00958531946332
H -2.82883648080292 -0.53125300761732 0.92288089996024
*
2. Use the resulting structure (anisole.xyz) as input structure for the subsequent geometry optimization in
solution. In this case, we consider water as the solvent. The input file looks like:
%cpcm
cds_cpcm 2
end
%maxcore 4000
* xyzfile 0 1 anisole.xyz
3. Search for the “FINAL SINGLE POINT ENERGY” in the output file for the solvated system (we call it 𝐸𝑠 ):
------------------------- --------------------
FINAL SINGLE POINT ENERGY -346.723542928530
------------------------- --------------------
4. Search for the “FINAL SINGLE POINT ENERGY” in the output file for the system in vacuum (we call it 𝐸0 ):
------------------------- --------------------
FINAL SINGLE POINT ENERGY -346.719657762242
------------------------- --------------------
5. Calculate ∆𝐺𝑠𝑜𝑙𝑣 = 𝐸𝑠 − 𝐸0 = −0.003885 a.u. If we convert it to kcal/mol and round it to two decimal
digits, we have ∆𝐺𝑠𝑜𝑙𝑣 = −2.44 kcal/mol. This quantity is in very good agreement with its experimental
counterpart (-2.45 kcal/mol[559]).
6. In case the user is interested in the value of ∆𝐺𝑛𝑒𝑙 , this quantity is printed in the “CPCM Solvation Model
Properties” block:
CPCM Solvation Model Properties:
Surface-charge : -0.02580685887229
Corrected charge : 0.00000000000000
Outlying charge corr. : 0.00005046198558 Eh 0.00137 eV
Free-energy (cav+disp) : 0.00272597237192 Eh 0.07418 eV
Here, ∆𝐺𝑛𝑒𝑙 corresponds to “Free-energy (cav+disp) “ and is calculated through eqs (7.319) and (7.320).
The term called “Surface-charge” corresponds to the solute net charge that lies outside the C-PCM cavity. It
is basically the sum of the C-PCM charges (without the scaling by 𝑓 (𝜀)). The effect of this excess of charge on
the energy and the C-PCM charges themselves can be corrected by the so-called outlying charge correction. In
ORCA, this correction is calculated through a Lagrangian-based algorithm,[706] but only printed for information
purposes. That is, the outlying charge effect is neither added to the SCF energy nor to its derivatives. In any case,
the corrected total charge is printed in “Corrected charge”, while the correction term for the energy is printed
in “Outlying charge corr.”. To further help the user, ORCA also prints a file with extension .cpcm_corr,
where the corrected C-PCM charges are provided.
If we want to use, instead, the GSES_nel model, one just needs to add surfacetype gepol_ses_gaussian in
the %cpcm block.
Note: The analytical Hessian is not available for the GVDW_nel and GSES_nel models as the second derivative
of ∆𝐺𝑛𝑒𝑙 with respect to nuclear displacements is not implemented.
ò Note
The COSMO solvation model has been removed from ORCA v4.0.0 !!!
Please use the C-PCM solvation model in combination with the COSMO epsilon function if required!
As a short form to use the C-PCM model with the COSMO epsilon function, you can specify the solvent via
!CPCMC(solvent) .
In ORCA, the first component is the bulk electrostatic contribution arising from a self-consistent reaction field
treatment that involves the electrostatic interaction using the Conductor-like Polarizable Continuum Model (C-
PCM). However, the radii are set to “intrinsic atomic Coulomb radii”. The second component, called the cavity-
dispersion solvent-structure (CDS) term, is the contribution resulting from short-range interactions between the
solute and solvent molecules in the first solvation shell. This contribution is a sum of terms that are proportional
(with geometry-dependent proportionality constants called atomic surface tensions) to the solvent-accessible sur-
face areas of the individual atoms of the solute. The CDS contribution to the free energy of solvation is given
by
atoms
∑︁ atoms
∑︁
∆𝐺CDS = 𝜎𝑘 𝐴𝑘 (R, 𝑅𝑍𝑘 + 𝑟𝑠 ) + 𝜎 [M] 𝐴𝑘 (R, 𝑅𝑍𝑘 + 𝑟𝑠 ),
𝑘 𝑘
where 𝜎𝑘 and 𝜎 [M] are the atomic surface tension of atom 𝑘 and the molecular surface tension, respectively, and
𝐴𝑘 is the solvent-accessible surface area (SASA). The SASA depends on the geometry R, the set 𝑅𝑍𝑘 of all atomic
van der Waals radii, and the solvent radius 𝑟𝑠 , which is added to each of the atomic van der Waals radii. In the
program Bondi radii are used for CDS contribution.
More details can be found in the original paper of Marenich et al. [559], which should be cited in publications
using results of SMD calculations.
SMD can be employed in single point calculations and geometry optimizations, using single-determinant SCF (HF
and DFT) and CASSCF methods. In post-SCF methods the result is corrected in the reference wave function. The
SMD solvation model is invoked in the input file via
! SMD(solvent)
where solvent is one of the 179 solvents in the SMD library (see Table Table 7.29). Alternatively, one can request
the SMD model via the %cpcm block by writing:
%cpcm smd true # turn on SMD
SMDsolvent "solvent" # specify the name of solvent from the list
end
Independently on the way the user invokes the SMD model, ORCA automatically sets a number of default SMD
parameters for the chosen solvent. If required, the user can also manually specify the solvent descriptors used in
an SMD calculation in the %cpcm block.
%cpcm soln # index of refraction at optical frequencies at 293 K
soln25 # index of refraction at optical frequencies at 298 K
sola # Abraham's hydrogen bond acidity
solb # Abraham's hydrogen bond basicity
solg # relative macroscopic surface tension
solc # aromaticity, fraction of non-hydrogenic solvent atoms
# that are aromatic carbon atoms
solh # electronegative halogenicity, fraction of non-hydrogenic
# solvent atoms that are F, Cl, or Br
end
Let’s consider the following input for a water molecule solvated by water,
* xyz 0 1
O -0.00000018976103 0.00606010894837 0.00000000004527
H 0.76098169249695 -0.58891312953082 -0.00000000000022
H -0.76098151333900 -0.58891299029372 -0.00000000000022
*
Before the SCF part starts, the program prints the SMD information. This part reads as:
--------------------
CPCM SOLVATION MODEL
--------------------
CPCM parameters:
Epsilon ... 78.3550
Refrac ... 1.3328
Rsolv ... 1.3000
Surface type ... GAUSSIAN VDW
Discretization scheme ... Constant charge density
Threshold for H atoms ... 5.0000 (charges/Ang^2)
Threshold for non-H atoms ... 5.0000 (charges/Ang^2)
Epsilon function type ... CPCM
Solvent: ... WATER
SMD-CDS solvent descriptors:
Soln ... 1.3328
Soln25 ... 1.3323
Sola ... 0.0000
Solb ... 0.0000
Solg ... 0.0000
Solc ... 0.0000
Solh ... 0.0000
Radii:
Scheme ... Element-dependent radii
Radius for O used is 2.8724 Bohr (= 1.5200 Ang.)
Radius for H used is 2.2677 Bohr (= 1.2000 Ang.)
Calculating surface ... done! ( 0.0s)
Cavity surface points ... 244
Cavity Volume ... 130.0616
Cavity Surface-area ... 129.3354
Calculating surface distance matrix ... done! ( 0.0s)
Performing Cholesky decomposition & store ... done! ( 0.0s)
Overall time for CPCM initialization ... 0.0s
After the SCF is converged, the SMD contribution to the total energy is printed (this term is labelled as “SMD
CDS” term).
*****************************************************
* SUCCESS *
* SCF CONVERGED AFTER 10 CYCLES *
*****************************************************
----------------
(continues on next page)
Components:
Nuclear Repulsion : 9.11286213981824 Eh 247.97359 eV
Electronic Energy : -85.43200537714571 Eh -2324.72305 eV
One Electron Energy: -123.06209110061025 Eh -3348.68974 eV
Two Electron Energy: 37.63008572346453 Eh 1023.96669 eV
CPCM Dielectric : -0.01612924659271 Eh -0.43890 eV
SMD CDS (Gcds) : 0.00230956608299 Eh 0.06285 eV
Notes:
• If one is interested in the calculation of free energies of solvation using the SMD model, one just needs to
compute ∆𝐺S according to eq (7.321). However, here one should take into account that the SMD model
considers the same concentration (1 mol/L) in both the gaseous and solution phases. Then, if a gas-phase
standard state of 1 atm is considered, and we want to compare the calculated ∆𝐺S with its experimental
counterpart, a concentration term equal to 1.89 kcal/mol has to be added to the calculated ∆𝐺S .
where 𝑞𝑖 is the atomic partial charge. The parameters 𝑎𝑍 , 𝑏𝑍 and 𝑘𝑍 are element-specific parameters, and CN𝑖 is
the fractional coordination number.
For oxygen atoms, the 𝑓𝑖scale is corrected via a term that depends on the Abraham’s hydrogen bond acidity (𝛼):
O
𝑓𝑖scale = 𝑓𝑖scale + 𝑐O (0.43 − 𝛼) (7.325)
with 𝑐O a parameter that is different for pure C-PCM or SMD. The correction in eq (7.325) is only applied for
solvents with 𝛼 < 0.43.
DRACO is parametrized for C-PCM and SMD for the following solvents: acetonitrile, DMSO, methanol, and
water. The element-specific parameters in eqs (7.323),(7.324), and (7.325) are available in https://github.com/
grimme-lab/DRACO.
The use of DRACO with C-PCM or SMD is triggered via the following tags in the simple input:
! CPCM(solvent) DRACO
or
! SMD(solvent) DRACO
%cpcm
DRACO true
end
In ORCA, the default scheme to calculate the partial charges in eq (7.324) is the electronegativity-equilibration
(EEQ) charge model (D4 case),[132]. However, one can also request the Charge Extended Hückel (CEH)
model.[541] The charge scheme within DRACO is controlled by the following tag in the %cpcm block:
%cpcm
draco_charges ceh # default = eeq
end
If CEH charges are requested, ORCA needs to run an XTB calculation to generate them. Here, one should have
at least the version 6.7.1 of XTB (older versions will not generate the CEH charges, see section Program Compo-
nents). Regarding the fractional coordination number in eq (7.324), it is calculated as described in GFN2-XTB
calculations.[70]
Note: DRACO can only be used, for the moment, in single-point energy calculations.
7.50.5 OpenCOSMO-RS
ORCA is interfaced to openCOSMO-RS,[293, 542] an open source implementation of the COSMO-RS
model.[447, 448] This model is widely used in both academia and industry to predict fluid phase thermodynamics.
The main idea behind COSMO-RS is that the interaction between molecules in the liquid phase can de depicted
as an ensemble of interacting surface segments. The properties on the surface segments are calculated via QM
calculations of the solute and the solvent in a perfect conductor (𝜖 = ∞), and the interaction free energies between
segments are functions of a set of descriptors. Among them, the most relevant one is the screening charge density
(𝜎).
A complete description of the COSMO-RS model used in ORCA is provided in refs [293, 542], and the code is avail-
able in https://github.com/TUHH-TVT. In particular, the parametrization for ORCA 6.0 is called openCOSMO-RS
24a. The corresponding the executable is shipped together with the ORCA 6.0 binaries and called openCOSMORS.
ORCA will then call internally this executable whenever it is needed.
COSMO-RS calculations within ORCA are a special type of calculation. By requesting COSMO-RS, ORCA runs
a set of single-point-energy calculations for both the solute and the solvent and then calls the openCOSMO-RS
executable, which expects an input geometry for the solute and the solvent and calculates the free energy of solvation
of the solute in the solvent. A workflow of a calculation requesting COSMO-RS in ORCA is the following:
1. Single-point-energy calculation of the solute in the gas-phase
2. Single-point-energy calculation of the solute in a conductor (𝜖 = ∞)
3. Single-point-energy calculation of the solvent in a conductor (𝜖 = ∞)
4. Do COSMO-RS via the openCOSMO-RS executable and compute solvation properties
Points 1 to 3 correspond to DFT calculations at the BP86/def2-TZVPD level. This is the level of theory used to
parametrize COSMO-RS for ORCA 6.0. As it is shown later, the user can change the functional and basis set, but
this is not recommended!
Regarding calculations 2 and 3, to produce smooth 𝜎 profiles, ORCA discards the surface segments with an area <
0.01 Å2 . For these two calculations, the radii of several elements used to construct the cavity of solute and solvent
are different than the defaults employed within non-COSMO-RS calculations (using C-PCM). This is due to the
fact that the provided openCOSMO-RS binaries involve a special parametrization of COSMO-RS for ORCA 6.0,
and this does not only affect the COSMO-RS parameters, but also the radii of several elements used in the C-PCM
part.
After point 4 is done, the free energy of solvation (∆𝐺S ) of the solute in the solvent is printed in the ORCA output
file. In ORCA 6.0 the use of openCOSMO-RS is restricted to the calculation of ∆𝐺S .
COSMORS(Solvent)
%cosmors
solvent "Solvent"
end
The list of internal solvents available in ORCA are shown in Table 7.29. For instance, for a water molecule solvated
by acetonitrile, the input file looks like:
!COSMORS(Acetonitrile)
* xyz 0 1
O 0.00000006589375 0.00157184228646 0.00000000004493
H 0.77316868532439 -0.58666889665624 -0.00000000000005
H -0.77316876182122 -0.58666895650640 -0.00000000000005
*
If the user wants to provide a structure for the solvent (strategy 2), then a separate file with extension .cosmorsxyz
should be available. The name of this file (without extension) is controlled by the tag solventfilename in the
%cosmors block. For instance, if we want to calculate the free energy of solvation of acetone in water, the ORCA
input file would look like this:
%cosmors
solventfilename "water"
end
* xyz 0 1
H 1.99757808828569 0.25022586507917 0.72957579847856
C 1.44666788654273 0.06088176074125 -0.18975506731892
H 1.67115809398389 0.82690156694531 -0.93346420198265
H 1.76410010378270 -0.89580894800398 -0.61702931492419
C -0.03218812888253 -0.00668250402989 0.08117960952503
O -0.47126229461002 -0.06383203315654 1.21590571064657
C -0.93671505604705 -0.00759565576779 -1.12174123739234
H -0.88761294036774 0.97611724740670 -1.59852429171257
H -0.58940208311204 -0.73299176093053 -1.85998395179737
H -1.96332366957567 -0.22151553828368 -0.83026305352213
*
The structure of the solvent (water) is the one in the water.cosmorsxyz file:
3
0 1
O 0.00000006589375 0.00157184228646 0.00000000004493
H 0.77316868532439 -0.58666889665624 -0.00000000000005
H -0.77316876182122 -0.58666895650640 -0.00000000000005
where the first line corresponds to the number of atoms, and in the second line the charge and multiplicity are
provided.
The output for COSMO-RS is printed in the ORCA output file after the line that reads OPENCOSMO-RS
CALCULATION. First of all, the information regarding the level of theory, the solute and the solvent is printed.
For the example above (acetone in water), it reads as,
------------------------------------------------------------------------------
OPENCOSMO-RS CALCULATION
------------------------------------------------------------------------------
----------------------
GENERAL INFORMATION
----------------------
Calculation method ... DFT
Functional ... BP86
Basis set ... DEF2-TZVPD
----------------------
SOLUTE INFORMATION
----------------------
Number of atoms ... 10
Total charge ... 0
Multiplicity ... 1
----------------------
SOLVENT INFORMATION
----------------------
Solvent name ... water
Number of atoms ... 3
Total charge ... 0
Multiplicity ... 1
After these lines, ORCA prints the final single point energy for each of the QM calculations, together with the
output file to which the ORCA output is redirected:
----------------------------------------------
Single Point Calculation (solute / gas-phase)
----------------------------------------------
Output single point calculation redirected to >test.solute_vac.lastout
----------------------------------------------
Single Point Calculation (solute / CPCM)
----------------------------------------------
Output single point calculation redirected to >test.solute_cpcm.lastout
----------------------------------------------
Single Point Calculation (solvent / CPCM)
----------------------------------------------
Output single point calculation redirected to >test.solvent_cpcm.lastout
Once this information is printed, ORCA calls the openCOSMO-RS executable and ∆𝐺S is printed in the following
block:
----------------------
SOLVATION DATA
----------------------
Reference temperature : 298.15 K
Free energy of solvation (dGsolv) : -0.006626234385 Eh -4.158026 kcal/mol
Note: In order to calculate the free energy of the solvated solute (Gsolv), one should add
the computed dGsolv to the "Final Gibbs free energy" (Gvac = H-T*S) of the solute in gas-
˓→phase.
That is: Gsolv = Gvac + dGsolv. Here, the Gvac has been calculated previously after a␣
˓→frequency
As pointed out in the last paragraph of the COSMO-RS output, to calculate the Gibbs free energy of the solute
solvated by the given solvent, one should add the calculated ∆𝐺S to the Final Gibbs free energy of the solute
in the gas-phase.
The parameters that can be defined in the %cosmors block in the ORCA input file are the following:
%cosmors
aeff 5.92500 # Effective contact area between surface segments (Å^2)
lnalpha 0.20200 # Logarithm of the misfit prefactor
lnchb 0.16600 # Hydrogen bond (HB) strength parameter
chbt 1.50 # Parameter for the temperature dependence of the HB
sigmahb 9.61e-3 # HB threshold parameter (e/Å^2)
rav 0.50 # Radius to average ideal screening charges in Å
fcorr 2.40 # Parameter adjusted from dielectric screening energies
ravcorr 1.00 # Additional radius to calculate the misfit energy in Å
astd 41.6240 # Standard surface area (normalization factor) in Å^2
zcoord 10.0 # Coordination number
dgsolv_eta -4.44800 # Offset for the solv. energy calculation
dgsolv_omegaring 0.26300 # Correction for solv. energy of molecules with rings
temp 298.15 # Reference temperature in Kelvin
dftfunc "BP86" # String for the DFT functional
dftbas "def2-TZVPD" # String for the basis set
solvent "THF" # Solvent from the internal database
solventfilename "water" # Name of the .cosmorsxyz solvent file
end
%cosmors
dftfunc "BP86 tightopt"
end
∑︁ 1 ∑︁ 𝑎𝑏 +
Λ= 𝜆𝑎𝑖 𝑎+
𝑖 𝑎𝑎 + 𝜆𝑖𝑗 𝑎𝑖 𝑎𝑎 𝑎+
𝑗 𝑎𝑏 (7.328)
𝑖𝑎
2
𝑖𝑗𝑎𝑏
hilation and creation operators, respectively. Canonical occupied orbitals are denoted by the symbols 𝑖, 𝑗, 𝑘, . . .,
virtual orbitals by the symbols 𝑎, 𝑏, 𝑐, . . ., and we use the symbols 𝑝, 𝑞, 𝑟 . . . for general orbital indices.
The quantities Q̄ and V̄ are the CC expectation values of the C-PCM operators Q and V, which are the solvation
charges vector and solute potential vector defined at the position the charges, respectively.
If one uses this result in eq (7.326), together with the fact that Q and V are related through eq (7.316), then eq
(7.326) reads as,
1 1
ℒ(Λ, 𝑇 ) =⟨𝜓0 |𝐻0 |𝜓0 ⟩ + ⟨𝜓0 |(1 + Λ)e−𝑇 𝐻0𝑁 e𝑇 |𝜓0 ⟩ + Q0 · V0 + Q0 · V̄𝑁 (Λ, 𝑇 ) + Q̄𝑁 (Λ, 𝑇 ) · V̄𝑁 (Λ, 𝑇 ) =
2 2
1
= 𝐸0 + ⟨𝜓0 |(1 + Λ)e−𝑇 𝐻0𝑁 e𝑇 |𝜓0 ⟩ + Q0 · V̄𝑁 (Λ, 𝑇 ) + Q̄𝑁 (Λ, 𝑇 ) · V̄𝑁 (Λ, 𝑇 )
2
(7.332)
Here, Q0 and V0 are the Q and V vectors calculated with the 𝜓0 wave function, and 𝐸0 is the reference energy
(𝐸0 = ⟨𝜓0 |𝐻0 |𝜓0 ⟩ + 21 Q0 · V0 ). Different approximations can be adopted in eq (7.332) depending on how one
calculates its last term 12 Q̄𝑁 (Λ, 𝑇 ) · V̄𝑁 (Λ, 𝑇 ).
In ORCA there are three different CCSD/CPCM approaches: (i) the PTE scheme, (ii) the PTE(S) scheme, and the
(iii) the PTES scheme, being the last one the default. Here, the acronym PTE stands for “perturbation theory and
energy” and “S” for singles. The choice of any of these approaches is controlled via the tag “CPCMccm”. Information
about which CCSD/C-PCM is used by ORCA in a calculation is printed in the “ORCA-MATRIX DRIVEN CI” block
in the output file in the line starting by “CPCM scheme”:
--------------------------------------------------------------------------------
ORCA-MATRIX DRIVEN CI
--------------------------------------------------------------------------------
--------------------------------
AUTOMATIC CHOICE OF INCORE LEVEL
(continues on next page)
Wavefunction type
-----------------
Correlation treatment ... CCSD
Single excitations ... ON
Orbital optimization ... OFF
Calculation of Lambda equations ... ON
Calculation of Brueckner orbitals ... OFF
Perturbative triple excitations ... OFF
CPCM scheme ... PTE(S)
Calculation of F12 correction ... OFF
In the following subsections, we describe the different CCSD/C-PCM approaches available in ORCA and how to
use them.
PTE scheme
In the “perturbation theory energy” (PTE) scheme, the last term in eq (7.332) is equal to zero (this term does not
depend on Λ and 𝑇 ),
where we have used that V𝑁 = 𝑝𝑞 v𝑝𝑞 {𝑝+ 𝑞} (second-quantized form of a normal ordered operator), with v𝑝𝑞
∑︀
the components of the solute potential in the MO basis. The matrix Γ is the CCSD relaxed one-electron density
matrix. Then, the contribution to the equations for the 𝑇 amplitudes comes from the derivative of V̄𝑁 (Λ, 𝑇 ) with
respect to the Λ amplitudes (Q0 does not depend on the Lagrange multipliers). In this context, the Hamiltonian
𝐻0𝑁 contains a term that depends on the elements of the Fock matrix ( 𝑝𝑞 𝑓𝑝𝑞 {𝑝+ 𝑞}) and that has the same
∑︀
functional form as V𝑁 . As the Fock matrix is updated in the reference calculation with a C-PCM term that reads
as (in AO basis) 𝐹𝜇𝜈
CPCM
= Q0 · V𝜇𝜈 , then the term Q0 · V̄𝑁 (Λ, 𝑇 ) is added implicitly to eq (7.333).
Once the 𝑇 amplitudes are obtained, the total energy, 𝐸, is calculated as
∑︁ 1 ∑︁ (︁ )︁
𝐸 = 𝐸0 + ⟨𝜓0 |e−𝑇 (𝐻0𝑁 + Q0 · V𝑁 )e𝑇 |𝜓0 ⟩ = 𝐸0 + 𝐹𝑖𝑎 𝑡𝑖𝑎 + ⟨𝑖𝑗||𝑎𝑏⟩ 𝑡𝑖𝑗
𝑎𝑏 + 2𝑡𝑖 𝑗
𝑡
𝑎 𝑏 (7.335)
𝑖𝑎
4
𝑖𝑗𝑎𝑏
Then, the C-PCM contribution to the CC energy within the PTE scheme occurs through the term 21 Q0 · V0 in 𝐸0
and implicitly through the Fock matrix elements 𝐹𝑖𝑎 (𝐹𝑖𝑎 = 𝐹𝑖𝑎
0
+ Q0 · v𝑖𝑎 ).
The PTE scheme corresponds to “CPCMccm 0”, and is implemented for canonical-CCSD (RHF and UHF) and
DLPNO-CCSD (RHF and UHF). For instance, for a DLPNO-CCSD calculation (closed-shell reference) of a system
solvated by water using the PTE scheme, the input file looks like:
* xyzfile 0 1 water.xyz
PTE(S) scheme
In this scheme (where the “S” stands for singles), the last term in eq (7.332) depends on the 𝑇 amplitudes, but not
on the Λ amplitudes,
1
ℒ(Λ, 𝑇 ) = 𝐸0 + ⟨𝜓0 |(1 + Λ)e−𝑇 𝐻0𝑁 e𝑇 |𝜓0 ⟩ + Q0 · V̄𝑁 (Λ, 𝑇 ) + Q̄𝑁 (𝑇 ) · V̄𝑁 (𝑇 ) (7.336)
2
Again, in the same way as for the PTE scheme, the C-PCM contribution to the equations for the 𝑇 amplitudes
comes from the term Q0 · V̄𝑁 (Λ, 𝑇 ) in eq (7.336), which is implictly added to the Fock matrix elements in the
MO basis. The last term in eq (7.336) does not depend on the Λ amplitudes and then does not contribute to the
equations for the 𝑇 amplitudes. However, this term depends on the 𝑇 amplitudes through the elements 𝛾𝑎𝑖 of the
density matrix Γ,
∑︁ (︀ 1 ∑︁ 𝑒𝑓 (︀ 𝑖𝑛 𝑚
𝛾𝑎𝑖 = 𝑡𝑖𝑎 + 𝑡𝑖𝑚 𝑖 𝑚
)︀ 𝑒
𝜆𝑚𝑛 𝑡𝑒𝑓 𝑡𝑎 + 𝑡𝑚𝑛 𝑖
)︀
𝑎𝑒 − 𝑡𝑒 𝑡𝑎 𝜆𝑚 − 𝑎𝑓 𝑡𝑒 (7.337)
𝑚𝑒
2
𝑚𝑛𝑒𝑓
That gives the final equation for the total energy of our system,
(︃ )︃ (︃ )︃
−𝑇 𝑇 1 ∑︁ 𝑖 ∑︁
𝑖
𝐸 = 𝐸0 + ⟨𝜓0 |e (𝐻0𝑁 + Q0 · V𝑁 )e |𝜓0 ⟩ + 𝑡 q𝑎𝑖 · 𝑡𝑎 v𝑎𝑖 =
2 𝑎𝑖 𝑎 𝑎𝑖
(︃ )︃ (︃ )︃ (7.339)
∑︁ 1 ∑︁ (︁
𝑖𝑗 𝑗
)︁ 1 ∑︁ ∑︁
= 𝐸0 + 𝐹𝑖𝑎 𝑡𝑖𝑎 + ⟨𝑖𝑗||𝑎𝑏⟩ 𝑡𝑎𝑏 + 2𝑡𝑖𝑎 𝑡𝑏 + 𝑡𝑖𝑎 q𝑎𝑖 · 𝑡𝑖𝑎 v𝑎𝑖
𝑖𝑎
4 2 𝑎𝑖 𝑎𝑖
𝑖𝑗𝑎𝑏
Therefore, the CC energy for a solvated system within ∑︀ the PTE(S)𝑖 scheme involves three C-PCM∑︀ contributions:
(1) the term 12 Q 0 · V 0 included in 𝐸
)︀ (︀∑︀ 𝑖0 )︀ , (2) the term 𝑖𝑎 Q 0 · v 𝑡
𝑖𝑎 𝑎 that occurs implicitly through 𝑖𝑎 𝐹𝑖𝑎 𝑡𝑎 and
𝑖
This scheme is available in ORCA for canonical-CCSD (RHF and UHF) and DLPNO-CCSD (RHF and UHF). In
order to use it, the user needs to add the tag “CPCMccm 1” in the %cpcm block.
! DLPNO-CCSD cc-pVTZ cc-PVTZ/C TightSCF CPCM(Water)
%cpcm
CPCMccm 1
end
* xyzfile 0 1 water.xyz
PTES scheme
In this scheme, both Q̄𝑁 and V̄𝑁 in the last term in eq (7.332) depend on the 𝑇 amplitudes but just one of them
depends on the Λ amplitudes,
1
ℒ(Λ, 𝑇 ) = 𝐸0 + ⟨𝜓0 |(1 + Λ)e𝑇 𝐻0𝑁 e𝑇 |𝜓0 ⟩ + Q0 · V̄𝑁 (Λ, 𝑇 ) + Q̄𝑁 (𝑇 ) · V̄𝑁 (Λ, 𝑇 ) (7.340)
2
The C-PCM terms enter these equations on the one hand, implicitly, through the elements of the Fock matrix (like
for the PTE and PTE(S) schemes), and on the other hand, explicitly through the derivatives of 12 Q̄𝑁 (𝑇 )· V̄𝑁 (Λ, 𝑇 )
with respect to Λ. If we call ℒCPCM the last C-PCM term in eq (7.340), then the contribution from this term to the
𝑇 amplitudes equations read as:
(︃ )︃ ⎡ ⎤
𝜕ℒCPCM 1 ∑︁ ∑︁ ∑︁ ∑︁ (︁ )︁
= 𝑡𝑖 q𝑎𝑖 · ⎣− 𝑡𝑗𝑎 v𝑗𝑖 + 𝑡𝑖𝑏 v𝑎𝑏 + v𝑖𝑎 + 𝑡𝑗𝑖 𝑗 𝑖
𝑏𝑎 − 𝑡𝑎 𝑡𝑏 v𝑏𝑗
⎦ (7.341)
𝜕𝜆𝑎𝑖 2 𝑎𝑖 𝑎 𝑗 𝑏 𝑏𝑗
(︃ )︃ [︃ ]︃
𝜕ℒCPCM 1 ∑︁ 1 ∑︁ 𝑘𝑗 1 ∑︁ 𝑖𝑗 1 ∑︁ (︁ 𝑘𝑗 𝑖 )︁
= 𝑡𝑖𝑎 q𝑎𝑖 · − 𝑡𝑎𝑏 v𝑘𝑖 + 𝑡𝑎𝑐 v𝑏𝑐 − 𝑡𝑎𝑏 𝑡𝑐 + 𝑡𝑖𝑗 𝑘
𝑐𝑏 𝑡𝑎 v𝑐𝑘 (7.342)
𝜕𝜆𝑎𝑏
𝑖𝑗 2 𝑎𝑖
2
𝑘
2 𝑐 2
𝑐𝑘
The contribution to the energy is the same as that for the PTE(S) scheme, but with different values for the 𝑇
amplitudes (as the equations to calculate them differ slightly from those for the PTE(S) scheme).
(︃ )︃ (︃ )︃
1 ∑︁ ∑︁
𝐸 = 𝐸0 + ⟨𝜓0 |e−𝑇 (𝐻0𝑁 + Q0 · V𝑁 )e𝑇 |𝜓0 ⟩ + 𝑡𝑖 q𝑎𝑖 · 𝑡𝑖𝑎 v𝑎𝑖 =
2 𝑎𝑖 𝑎 𝑎𝑖
(︃ )︃ (︃ )︃ (7.343)
∑︁
𝑖 1 ∑︁ (︁
𝑖𝑗 𝑖 𝑗
)︁ 1 ∑︁
𝑖
∑︁
𝑖
= 𝐸0 + 𝐹𝑖𝑎 𝑡𝑎 + ⟨𝑖𝑗||𝑎𝑏⟩ 𝑡𝑎𝑏 + 2𝑡𝑎 𝑡𝑏 + 𝑡 q𝑎𝑖 · 𝑡𝑎 v𝑎𝑖
𝑖𝑎
4 2 𝑎𝑖 𝑎 𝑎𝑖
𝑖𝑗𝑎𝑏
This scheme is the default CCSD/C-PCM approach in ORCA and is available in ORCA for canonical-CCSD (RHF
and UHF) and DLPNO-CCSD (RHF and UHF). In this case, the tag “CPCMccm” in the %cpcm block is equal to 2.
However, as the PTES scheme is the default in ORCA, the user just needs to add the information about the solvent
in the input file, in order to use this approach.
* xyz 0 1
O -0.00000018976103 0.00606010894837 0.00000000004527
H 0.76098169249695 -0.58891312953082 -0.00000000000022
H -0.76098151333900 -0.58891299029372 -0.00000000000022
*
----------------------
COUPLED CLUSTER ENERGY
----------------------
This contribution does not represent the whole C-PCM contribution to the correlation energy, as this one
also occurs, implicitly, through the “T” amplitudes.
• The C-PCM contribution to the Λ equations is implemented in ORCA for the PTE(S) and PTES schemes.
Then, the user can request unrelaxed densities.
%elprop
Dipole true
Quadrupole true
Polar true
PolarVelocity true # polarizability w.r.t. velocity perturbations
PolarDipQuad true # dipole-quadrupole polarizability
PolarQuadQuad true # quadrupole-quadrupole polarizability
freq_r 0.00 # purely real frequency (default: static calculation)
freq_i 0.00 # purely imaginary frequency (default: static calculation)
Solver CG # CG(conjugate gradient)
# other options: DIIS or POPLE(default)
MaxDIIS 5 # max. dimension of DIIS method
Shift 0.2 # level shift used in DIIS solver
Tol 1e-3 # Convergence of the CP-SCF equations
# (norm of the residual)
MaxIter 64 # max. number of iterations in CPSCF
PrintLevel 2
Origin CenterOfElCharge # center of electronic charge
CenterOfNucCharge # center of nuclear charge
CenterOfSpinDens # center of spin density
CenterOfMass # center of mass (default)
N # position of atom N (starting at 0)
X,Y,Z # explicit position of the origin
# in coordinate input units (Angstrom by default)
end
The most efficient and accurate way to calculate the polarizability analytically is to use the coupled-perturbed SCF
method. The most time consuming and least accurate way is the numerical second derivative of the total energy.
Note that the numerical differentiation requires: (a) tightly or even very tightly converged SCF calculations and (b)
carefully chosen field increments. If the field increment is too large then the truncation error will be large and the
values will be unreliable. On the other hand, if the field increment is too small the numerical error associated with
the finite difference differentiation will get unacceptably large up to the point where the whole calculation becomes
useless.
%rel
# ---------------------------------------------------
# SPIN ORBIT COUPLING OPERATORS
# ---------------------------------------------------
SOCType 0 # none
1 # effective nuclear charge
2 # mean-field with atomic densities read from
# disk; similar to SOCType=4
3 # mean-field/effective potential (default)
(continues on next page)
Simple input equivalents are described in more detail in [611]. More details on the AMFI-A approach which uses
pre-calculated atomic densities can be found in [284].
The Breit-Pauli spin-orbit coupling operator is given by:
ˆ (1) + 𝐻
ˆ SOC = 𝐻
𝐻 ˆ (2)
SOC SOC
2 ∑︁ ∑︁ (r𝑖 − r𝑗 ) × p𝑖
ˆ (2) = − 𝛼
𝐻 (^
s𝑖 + 2^
s𝑗 ) (7.345)
SOC 3
2 𝑖 |r𝑖 − r𝑗 |
𝑗̸=𝑖
𝛼2 ∑︁ ∑︁ ^ −3
≡− l𝑖𝑗 𝑟𝑖𝑗 (^
s𝑖 + 2^
s𝑗 ) (7.346)
2 𝑖
𝑗̸=𝑖
This operator would be hard to handle exactly; therefore it is common to introduce mean field and/or effective
potential approaches in which the operator is written as an effective one-electron operator:
ˆ SOC ∼
∑︁ (eff)
𝐻 = ^ ^
h s𝑖
𝑖 (7.347)
𝑖
The simplest approximation is to simply use the one-electron part and regard the nuclear charges as adjustable
parameters. Reducing their values from the exact nuclear charge is supposed to account in an average way for the
screening of the nuclear charge by the electrons. In our code we use the effective nuclear charges of Koseki et
al. This approximation introduces errors which are usually smaller than 10% but sometimes are larger and may
approach 20% in some cases. The approximation is best for first row main group elements and the first transition
row (2p and 3d elements). For heavier elements it becomes unreliable.
A much better approximation is to take the two-electron terms into account precisely. Without going into details
here – the situation is as in Hartree-Fock (or density functional) theory and one gets Coulomb, exchange and cor-
relation terms. The correlation terms (evaluated in a local DFT fashion) are negligible and can be safely neglected.
They are optionally included and are not expensive computationally. The Coulomb terms is (after the one-electron
term) the second largest contribution and is expensive to evaluate exactly. The situation is such that in the Coulomb-
part the spin-other orbit interaction (the second term in the two-electron part) does not contribute and one only has
to deal with the spin-own-orbit contribution. The exact evaluation is usually too expensive to evaluate. The RI and
seminumeric approximation are much more efficient and introduce only minimal errors (on the order of usually
not more than 1 ppm in g-tensor calculations for example) and are therefore recommended. The RI approximation
is computationally more efficient. Please note that you have to specify an auxiliary basis set to take advantage of
the RI approximation, even if the preceding SCF calculation does not make use of any form of RI. The one-center
approximation to the Coulomb term introduces much larger errors. The fully numeric method is both slower and
less accurate and is not recommended.
The exchange term has contributions from both the spin-own-orbit and spin-other-orbit interaction. These are
taken both into account in the mean-field approximation which is accessed by Flag 3 = 3. Here a one-center
approximation is much better than for the Coulomb term since both the integrals and the density matrix elements
are short ranged. Together with the Coulomb term this gives a very accurate SOC operator which is recommended.
The DFT-Veff operator suffers from not treating the spin-other-orbit part in the exchange which gives significant
errors (also, local DFT underestimates the exchange contributions from the spin-same-orbit interaction by some
10% relative to HF but this is not a major source of error). However, it is interesting to observe that in the precise
analytical evaluation of the SOMF operator, the spin-other-orbit interaction is exactly -2 times the spin-own-orbit
interation. Thus, in the DFT framework one gets a much better SOC operator if the sign of the DFT exchange term
is simply reversed! This is accessed by Flag 3 = 2.
This is illustrated for the calculation of the SOC contribution to the ZFS of the triplet oxygen molecule. Using the
input below we start by a normal calculation of the ZFS, including both oxygen atoms. Note that we use here the
effective nuclear charge operator. This is required as not all implemented SOC operators are compatible with the
decomposition in terms of individual centers contributions.
! def2-TZVP def2-TZVP/c
%casscf nel 8
norb 6
mult 3,1
nroots 1,3
rel dosoc true
end
end
%rel
SOCType 1
end
*xyz 0 3
O 0 0 0
O 0 0 1.207
*
The calculated value of the D parameter is approximately 2.573 cm−1 . In a second calculation we exclude the
contribution from the first oxygen atom. For this we change the %rel block to the one below.
%rel
SOCType 1
SOCOff 0
end
Now the D parameter is calculated to be approximately 0.643 cm−1 , a result that deviates quite significantly from
half of the value calculated previously, implying that non-additive effects are important. In addition to the effective
nuclear charge operator, the AMFI-A operator described previously can be used. Given that this is based on pre-
calculated atomic densities, it might be preferred for heavier elements where the effective nuclear charge operator
becomes unreliable. The method is not limited to CASSCF calculations as described above, and can be used in
DFT, MRCI and ROCIS calculations.
%eprnmr
# Calculate the g-tensor using CP-KS theory
gtensor true
# Calculate and print one- and two-electron contributions to the g-tensor
gtensor_1el2el true
# whether to calculate and print the Euler angles via `orca_euler` if the
# calculation of the g-tensor or the D-tensor is requested
PrintEuler false
# use effective nuclear charges for the gauge correction to the A-tensor
# (this makes sense if an effective 1-electron SOC operator is used)
hfcgaugecorrection_zeff true
# Grid settings for the above: <0 means to use the DFT grid setting
hfcgaugecorrection_angulargrid -1
hfcgaugecorrection_intacc -1
hfcgaugecorrection_prunegrid -1
hfcgaugecorrection_bfcutoff -1
hfcgaugecorrection_wcutoff -1
# For example:
# calculates the hyperfine coupling for all nitrogen atoms
Nuclei = all N { aiso, adip, fgrad, rho};
end
Here, ⟨𝑆𝑧 ⟩ is the expectation value of the z-component of the total spin, 𝑔𝑒 and (︁
𝑔𝑁 are)︁ the electron and nuclear
g-factors and 𝛽𝑒 and 𝛽𝑁 are the electron and nuclear magnetons respectively. 𝜌 𝑅 ⃗ 𝑁 is the spin density at the
nucleus. The proportionality factor 𝑃𝑁 = 𝑔𝑒 𝑔𝑁 𝛽𝑒 𝛽𝑁 is commonly used and has the dimensions MHz bohr3 in
ORCA.
(b) The spin dipole part that arises from the magnetic dipole interaction of the magnetic nucleus with the magnetic
moment of the electron. It is also calculated as an expectation value over the spin density as:
𝐴dip
∑︁ ⟨︀ ⃒ −5 (︀ 2 ⃒
(7.349)
)︀⃒ ⟩︀
𝜇𝜈 (𝑁 ) = 𝑃𝑁 𝑘𝑙𝜌𝑘𝑙 𝜑𝑘 ⃒𝑟𝑁 3⃗𝑟𝑁 𝜇⃗𝑟𝑁 𝜈 − 𝛿𝜇𝜈 𝑟𝑁 𝜑𝑙
where 𝜌 is the spin-density matrix and ⃗𝑟𝑁 is a vector of magnitude 𝑟𝑁 that points from the nucleus in question to
the electron ({𝜑} is the set of basis functions).
(c) The second order contribution that arises from spin-orbit coupling. Presently ORCA can calculate all these
contributions. The first two are calculated as simple expectation values of the appropriate operators over the self-
consistent spin density, but the second order contribution requires the solution of the coupled-perturbed SCF equa-
tions and is consequently computationally more demanding. The contribution can be written:
1 ∑︁ 𝜕𝜌𝑘𝑙 ⟨︀ ⃒
𝐴orb 𝜑𝑘 ⃒ℎSOC
⃒ ⟩︀
𝜇𝜈 (𝑁 ) = − 𝑃𝑁 (7.350)
𝜇
⃒ 𝜑𝑙
2𝑆 𝜕𝐼𝜈
𝑘𝑙
The derivative of the spin density is computed from solving the coupled-perturbed SCF equations with respect to
the nucleus-orbit coupling as perturbation. The nucleus-orbit coupling is represented by the operator
ℎNOC −3 (𝐴)
∑︁
𝜈 (𝐴) = 𝑟𝑖𝐴 𝑙𝑖,𝜈 (7.351)
𝑖
with 𝑍𝐴 as the nuclear charge of nucleus 𝐴 and 𝑅 ⃗ 𝐴𝑁 as a vector of magnitude 𝑅𝐴𝑁 that points from nucleus 𝐴
to nucleus 𝑁 . P is the first order density matrix.
NOTE:
• Hyperfine and quadrupole couplings are properties where the standard basis sets that have been designed for
geometry optimization and the like may not be entirely satisfactory (especially for atoms heavier than Ne).
You should probably look into tailoring the basis set according to your needs. While it is likely that a later
release will provide one or two special basis sets for “core-property” calculations at this time you have to
make sure yourself that the basis set has enough flexibility in the core region, for example by uncontracting
core basis functions and adding s-primitives with large exponents (or using the “decontraction feature”,
section Choice of Basis Set). If you add these tight functions and use DFT make sure that the numerical
integration is still satisfactory. Use the “SpecialGrid” feature to enlarge grids for individual atoms without
increasing the computational effort too drastically.
• For heavy nuclei you may want to consider the possibility of relativistic effects. Scalar relativistic effects
can be handled with several quasi-relativistic Hamiltonians in ORCA, an overview of the possibilities and
some recommendations can be found in Relativistic Calculations. Note that relativistic calculations may have
special requirements on basis sets, and in the context of property calculations, you should be especially aware
of the importance of using picture change corrections (see Relativistic Calculations and Picture-Change
Effects). In quasi-relativistic calculations with DFT, one should also be very cautious about accuracy of the
numerical integration, especially for heavier (transition metal) nuclei.
Second order HFCs require the calculation of the spin-orbit coupling contributions which in turn requires the
calculation of the coupled perturbed SCF equations. These effects can be quite significant for heavier nuclei and
should definitely be included for transition metal complexes. The spin-orbit coupling treatment used is the same
as described under The Spin-Orbit Coupling Operator.
The g-Tensor
The EPR g-tensor is a property that can be calculated as a second derivative of the energy and it is implemented as
such in ORCA for the SCF methods—e.g. HF and DFT—, CASSCF, as well as all-electron MP2 (or RI-MP2) and
double-hybrid DFT. The following four contributions arise for the g-tensor (SZ = spin Zeeman, RMC = relativistic
mass correction, DSO = diamagnetic spin-orbit correction, PSO = orbital Zeeman/SOC term):
(SZ)
𝑔𝜇𝜈 = 𝛿𝜇𝜈 𝑔𝑒 (7.353)
Here, 𝑔𝑒 is the free-electron g-value (=2.002319. . . ), 𝑆 is the total spin, 𝛼 the fine structure constant, 𝑃 𝛼−𝛽 is the
spin density matrix, 𝜑is the basis set, 𝑇ˆ is the kinetic energy operator, 𝜉 (𝑟𝐴 ) an approximate radial operator, ℎSOC
the spatial part of an effective one-electron spin-orbit operator and 𝐵𝜇 is a component of the magnetic field. The
calculation of the derivative of the spin-density depends on the chosen level of theory. For the SCF-level it is done
based on the coupled-perturbed SCF theory with respect to a magnetic field perturbation.
Accuracy. g-tensor calculations at the SCF level are not highly demanding in terms of basis set size. Basis sets
that give reliable SCF results (at least valence double-zeta plus polarization) usually also give reliable g-tensor
results. For many molecules the Hartree-Fock approximation will give reasonable predictions. In a number of
cases, however, it breaks down completely. DFT is more robust in this respect and the number of molecules where
it fails is much smaller. Among the density functionals, the hybrid functionals seem to be the most accurate. In my
hands PBE0 is perhaps the best although PWP1 and B3LYP are not much worse. The GGA functionals such as BP,
PW91, BLYP or PBE are equally good for small radicals but are significantly inferior to their hybrid counterparts
for transition metal complexes.
Gauge dependence. Unfortunately, the g-tensor is a gauge dependent property, i.e. the results depend on where the
origin is chosen within the molecule. Unless fully invariant procedures (such as GIAOs) are used, this undesirable
aspect is always present in the calculations. GIAOs are now available for calculations on the SCF-level in ORCA.
However, if the choice of gauge origin is not outrageously poor, the gauge dependence is usually so small that it
can be ignored for all practical purposes, especially if large basis sets are used. ORCA gives you considerable
freedom in the choice of gauge origin. It can either be the center of mass, the center of nuclear charge, the center of
electronic charge, GIAOs (recommended if available), a special atom or a user-defined point in space. It is wise to
check the sensitivity of the results with respect to the choice of origin, especially when small g-shifts on the order
of only a few hundred ppm are calculated.
Spin-orbit coupling operator. In previous versions of the code, the g-tensor module used the parameterization
of Koseki et al. [462, 463, 464] for the spin-orbit operator. This is expected to be a reasonable approximation
for the 2p and 3d elements and less satisfactory for heavier main group or transition metal containing systems.
Thus, the main target molecules with the simple operators are radicals made of light atoms and first row transition
metal complexes. More accurate SOC operators (at only moderately increased computational cost) have now been
implemented and are described in section The Spin-Orbit Coupling Operator. With these operators there are
fewer restrictions. However, for very heavy elements they will suffer from the shortcomings of the Breit-Pauli
approximation and future releases will modify these operators to take into account the ZORA or DKH corrections
to the SOC.
Zero-Field-Splitting
It is well known that the ZFS consists of a first order term arising from the direct spin-spin interaction[364]:
⟨ ⃒ ⃒ ⟩
2
2 −
⃒ ⃒
(SS) 1 𝛼 ∑︁ ∑︁ 𝑟𝑖𝑗 𝛿 𝐾𝐿 3 (r )
𝑖𝑗 𝐾 (r )
𝑖𝑗 𝐿
(7.357)
⃒ ⃒
𝐷𝐾𝐿 = 0𝑆𝑆 ⃒⃒ 5 {2ˆ
𝑠𝑧𝑖 𝑠ˆ𝑧𝑗 − 𝑠ˆ𝑥𝑖 𝑠ˆ𝑥𝑗 − 𝑠ˆ𝑦𝑖 𝑠ˆ𝑦𝑗 }⃒⃒ 0𝑆𝑆
2 𝑆 (2𝑆 − 1) ⃒ 𝑖 𝑟𝑖𝑗
𝑗̸=𝑖 ⃒
(𝐾,𝐿 =x,y,z). Here 𝛼 is the fine structure constant (≈ 1/137 in atomic units), r𝑖𝑗 is the electronic distance vector
with magnitude 𝑟𝑖𝑗 and 𝑠ˆ𝑖 is the spin-vector operator for the 𝑖’th electron. |0𝑆𝑆⟩ is the exact ground state eigen-
function of the Born-Oppenheimer Hamiltonian with total spin 𝑆 and projection quantum number 𝑀𝑆 = 𝑆. Since
the spin-spin interaction is of first order, it presents no particular difficulties. The more complicated contribution to
the D-tensor arises from the spin-orbit interaction, which gives a second order contribution. Under the assumption
that the spin-orbit coupling (SOC) operator can to a good approximation be represented by an effective one-electron
operator (𝐻 ˆ SOC = ∑︀ h^ SOC^s𝑖 ), ref [622] has derived the following sum-over-states (SOS) equations for the SOC
𝑖 𝑖
contribution to the ZFS tensor:
⟨ ⃒ ⃒ ⟩⟨ ⃒ ⃒ ⟩
SOC−(0) 1 ∑︁ −1
⃒∑︁
𝑆𝑆 ⃒ 𝐾;SOC
⃒
⃒ 𝑆𝑆 𝑆𝑆 ⃒
⃒∑︁
𝐿;SOC
⃒
⃒ 𝑆𝑆
𝐷𝐾𝐿 =− 2 ∆𝑏 0 ⃒ ℎ̂𝑖 𝑠ˆ𝑖,0 ⃒ 𝑏 𝑏 ⃒ ℎ̂𝑖 𝑠ˆ𝑖,0 ⃒ 0 (7.358)
𝑆 ⃒
𝑖
⃒ ⃒
𝑖
⃒
𝑏(𝑆𝑏 =𝑆)
⟨ ⃒ ⃒ ⟩⟨ ⃒ ⃒ ⟩
SOC−(−1) 1 ∑︁ ⃒∑︁
𝐾;SOC
⃒ ⃒∑︁
𝐿;SOC
⃒
∆−1 𝑆𝑆 ⃒ 𝑆−1𝑆−1 𝑆−1𝑆−1 ⃒ ⃒ 𝑆𝑆
𝐷𝐾𝐿 =− 0 ℎ̂𝑖 𝑠ˆ𝑖,+1 ⃒ 𝑏 𝑏 ℎ̂𝑖 𝑠ˆ𝑖,−1 ⃒ 0
⃒
𝑏
𝑆 (2𝑆 − 1)
⃒ ⃒
⃒ ⃒ ⃒ ⃒
𝑏(𝑆𝑏 =𝑆−1) 𝑖 𝑖
(7.359)
SOC−(+1) 1
𝐷𝐾𝐿 = − (𝑆+1)(2𝑆+1) ·
(7.360)
⟨ ⃒ ⃒ ⟩⟨ ⃒ ⃒ ⟩
∑︀ −1
⃒∑︀ 𝐾;SOC
𝑆𝑆 ⃒
⃒ 𝑆+1𝑆+1 ⃒∑︀ 𝐿;SOC
𝑆+1𝑆+1 ⃒
⃒ 𝑆𝑆
∆𝑏 0 ⃒ ℎ̂𝑖 𝑠ˆ𝑖,−1 ⃒ 𝑏
⃒ 𝑏 ⃒ ℎ̂𝑖 𝑠ˆ𝑖,+1 ⃒ 0
⃒
𝑏(𝑆𝑏 =𝑆+1) 𝑖 𝑖
Here the one-electron spin-operator for electron 𝑖 has been written in terms of spherical vector operator
⃒ components
𝑠𝑖,𝑚 with 𝑚 = 0, ±1 and ∆𝑏 = 𝐸𝑏 − 𝐸0 is the excitation energy to the excited state multiplet ⃒𝑏𝑆𝑆 (all 𝑀𝑆
⟩︀
al.[97] as well as in ref. [611]. In terms of an (orthonormal) one-electron basis, the matrix elements of the SOMF
operator are:
(︁ ⃒ ⃒ )︁
ℎ𝐾;SOC = 𝑝 ⃒ℎ̂1𝑒𝑙−SOC ⃒𝑞
⃒ ⃒
𝑟𝑠 𝐾
SOC ⃒ SOC ⃒ (7.361)
𝑠𝑞 − 3 𝑠𝑞 ⃒𝑔ˆSOC ⃒ 𝑝𝑟
∑︀ [︀(︀ ⃒ ⃒ )︀ 3 (︀ ⃒ ⃒ )︀ (︀ ⃒ ⃒ )︀]︀
+ 𝑃𝑟𝑠 𝑝𝑞 𝑔ˆ ⃒
𝐾 𝑟𝑠 − 𝑝𝑟 𝑔ˆ2
⃒
𝐾 2 𝐾
𝑟𝑠
and:
𝛼2 ∑︁ ∑︁ −3^
ℎ̂1𝑒𝑙−SOC
𝑘 (r𝑖 ) = 𝑍𝐴 𝑟𝑖𝐴 l𝑖𝐴;𝑘 (7.362)
2 𝑖
𝐴
𝛼2 ^
𝑔ˆ𝑘SOC (r𝑖, r𝑗 ) = − −3
l𝑖𝑗;𝑘 𝑟𝑖𝑗 (7.363)
2
^l𝑖𝐴 = (^ r𝑖 − R𝐴 ) × p ^ 𝑖 is the angular momentum of the 𝑖’th electron relative to nucleus 𝐴. The vector ^ r𝑖𝐴 =
r𝑖 − R𝐴 of magnitude 𝑟𝑖𝐴 is the position of the 𝑖’th electron relative to atom 𝐴. Likewise, the vector ^
^ r𝑖𝑗 =
r𝑖 − ^
^ r𝑗 of magnitude 𝑟𝑖𝑗 is the position of the 𝑖th electron relative to electron 𝑗 and l𝑖𝑗 = (^
^ r𝑖 − ^
r𝑗 ) × p^ 𝑖 is its
angular momentum relative to this electron. P is the charge density matrix of the electron ground state (𝑃𝑝𝑞 =
0𝑆𝑆 ⃒𝐸𝑞𝑝 ⃒ 0𝑆𝑆 with 𝐸𝑞𝑝 = 𝑎+ 𝑝𝛽 𝑎𝑞𝛽 + 𝑎𝑝𝛼 𝑎𝑞𝛼 where 𝑎𝑝𝜎 and 𝑎𝑞𝜎 are the usual Fermion creation and annihilation
⟨︀ ⃒ ⃒ ⟩︀ + +
operators).
Where ℎ𝐾𝑝𝑞 is the matrix of the 𝐾’th component of the spatial part of the operator (assumed to be imaginary
(𝑚)
Hermitian as is the case for the spatial components of the SOC operator) and 𝑆ˆ𝑝𝑞 is the second quantized form
(𝑚)
of the spin vector operator (𝑚 = 0, ±1). The quantity 𝑥𝐾 is a formal perturbation parameter. Using the exact
eigenfunctions of the BO operator, the first derivative is:
⃒
𝜕𝐸 ⃒⃒ ∑︁
(𝑚)
⃒ = ℎ𝐾 (𝑚)
𝑝𝑞 𝑃𝑝𝑞 (7.365)
𝜕𝑥𝐾 ⃒𝑥(𝑚) =0 𝑝𝑞
𝐾
Expanding the perturbed wavefunction in terms of the unperturbed states gives to first order:
⃒ ⟩ ⟨ ⃒ ⃒ ⟩
⃒ 𝑆𝑆(−𝑚) ∑︁
𝑛 ̸= 0∆−1 (7.369)
⃒ 𝐿;(−𝑚) ⃒ 𝑆𝑆
⃒0𝐿 =− 𝑛 |𝑛⟩ 𝑛 ⃒ ℎ̂ ⃒ 0
⃒ ′ ′⟩
Where |𝑛⟩ is any of the ⃒𝑏𝑆 𝑀 . Thus, one gets:
⃒
(𝑚)
𝜕2𝐸 ∑︁ 𝜕𝑃𝑝𝑞
(𝑚) (−𝑚)
= ℎ𝐾
𝑝𝑞 (−𝑚) (7.370)
𝜕𝑥𝐾 𝜕𝑥𝐿 𝑝𝑞 𝑥𝐿
∑︁ [︁⟨ ⟩⟨ ⟩ ⟨ ⟩⟨ ⟩]︁
=− ∆−1
𝑛 0𝑆𝑆 |ℎ̂𝐿;(−𝑚) |𝑛 𝑛|ℎ̂𝐾;(𝑚) |0𝑆𝑆 + 0𝑆𝑆 |ℎ̂𝐾;(𝑚) |𝑛 𝑛|ℎ̂𝐿;(−𝑚) |0𝑆𝑆
𝑛̸=0
(7.371)
The equality holds for exact states. For approximate electronic structure treatments, the analytic derivative approach
is more attractive since an infinite sum over states can never be performed in practice and the calculation of analytic
derivative is computationally less demanding than the calculation of excited many electron states.
Using eq. (7.370), the components of the SOC-contribution to the D-tensor are reformulated as
(0)
SOC−(0) 1 ∑︁ 𝐾;SOC 𝜕𝑃𝑝𝑞
𝐷𝐾𝐿 = ℎ (7.372)
2𝑆 2 𝑝𝑞 𝑝𝑞 𝜕𝑥
(0)
𝐿
(+1)
SOC−(−1) 1 ∑︁
𝐾;SOC 𝜕𝑃𝑝𝑞
𝐷𝐾𝐿 = ℎ𝑝𝑞 (−1) (7.373)
𝑆 (2𝑆 − 1) 𝑝𝑞 𝜕𝑥 𝐿
(−1)
SOC−(+1) 1 ∑︁ 𝜕𝑃𝑝𝑞
𝐷𝐾𝐿 = ℎ𝐾;SOC (+1) (7.374)
(𝑆 + 1) (2𝑆 + 1) 𝑝𝑞 𝑝𝑞 𝜕𝑥 𝐿
These are general equations that can be applied together with any non-relativistic or scalar relativistic electronic
structure method that can be cast in second quantized form. Below, the formalism is applied to the case of a
self-consistent field (HF, DFT) reference state.
For DFT or HF ground states, the equations are further developed as follows:
The SCF energy is:
∫︁ ∫︁
⟩︀ 1 𝜌 (r1 ) 𝜌 (r2 ) 1 ∑︁
𝐸SCF = 𝑉NN + Ph+ + 𝑃 𝜎 𝑃 𝜎 (𝜇𝜈|𝜅𝜏 ) + 𝑐DF 𝐸XC [𝜌𝛼 , 𝜌𝛽 ]
⟨︀
𝑑r1 𝑑r2 − 𝑎X
2 |r1 − r2 | 2 𝜇𝜈𝜅𝜏 𝜎 𝜇𝜅 𝜈𝜏
(7.375)
Here 𝑉NN is the nuclear repulsion energy and ℎ𝜇𝜈 is a matrix element of the one-electron operator which contains
the kinetic energy and electron-nuclear attraction terms (⟨ab⟩ denotes the trace of the matrix product ab). As
usual, the molecular spin-orbitals 𝜓𝑝𝜎 are expanded in atom centered basis functions (𝜎 = 𝛼, 𝛽):
∑︁
𝜓𝑝𝜎 (r) = 𝑐𝜎𝜇𝑝 𝜑𝜇 (r) (7.376)
𝜇
The mixing parameter 𝑎X controls the fraction of Hartree-Fock exchange and is of a semi-empirical nature.
𝐸XC [𝜌𝛼 , 𝜌𝛽 ] represent the exchange-correlation energy. The parameter 𝑐DF is an overall scaling factor that al-
lows one to proceed from Hartree-Fock theory (𝑎X = 1, 𝑐DF = 0) to pure DFT (𝑎X = 0, 𝑐DF = 1) to hybrid DFT
(0 < 𝑎X < 1, 𝑐DF = 1). The orbitals satisfy the spin-unrestricted SCF equations:
∑︁
𝜎 𝜎 𝛼
𝐹𝜇𝜈 = ℎ𝜇𝜈 + 𝑃𝜅𝜏 (𝜇𝜈|𝜅𝜏 ) − 𝑎X 𝑃𝜅𝜏 (𝜇𝜅|𝜈𝜏 ) + 𝑐DF (𝜇|𝑉𝑋𝐶 |𝜈) (7.378)
𝜅𝜏
With 𝑉𝑋𝐶
𝜎
= 𝛿𝜌𝛿𝐸𝑋𝐶
𝜎 (r)
and 𝑃𝜇𝜈 = 𝑃𝜇𝜈 𝛼
+ 𝑃𝜇𝜈 𝛽
being the total electron density. For the SOC perturbation it is
customary to regard the basis set as perturbation independent. In a spin-unrestricted treatment, the first derivative
is:
𝜕𝐸SCF ∑︁ (︀ )︀ ∑︁ (︀
𝑖𝛼 |ℎ𝐾 𝑠𝑚 |𝑖𝛼 + 𝑖𝛽 |ℎ𝐾 𝑠𝑚 |𝑖𝛽 = 0
)︀
(𝑚)
= (7.379)
𝜕𝑥𝐾 𝑖𝛼 𝑖𝛽
For the second derivative, the perturbed orbitals are required. However, in the presence of a spin-dependent per-
turbation they can no longer be taken as pure spin-up or spin-down orbitals. With respect to the 𝐿’th component
of the perturbation for spin-component 𝑚, the orbitals are expanded as:
𝛼;(𝑚)𝐿
∑︁ (𝑚);𝐿 ∑︁ (𝑚);𝐿
𝜓𝑖 (r) = 𝑈𝑎𝛼 𝑖𝛼 𝜓𝑎𝛼 (r) + 𝑈𝑎𝛽 𝑖𝛼 𝜓𝑎𝛽 (r) (7.380)
𝑎𝛼 𝑎𝛽
Since the matrix elements of the spin-vector operator components are purely real and the spatial part of the SOC
operator has purely imaginary matrix elements, it follows that the first order coefficients are purely imaginary. The
second derivative of the total SCF energy becomes:
Examination of the three cases 𝑚 = 0, ±1 leads to the following equations for the D-tensor components:
(0)
(0) 1 ∑︁ 𝜕𝑃𝜇𝜈 (︀ 𝐾;SOC )︀
𝐷𝐾𝐿 = − 𝜇|ℎ |𝜈 (7.383)
4𝑆 2 𝜇𝜈 𝜕𝑥(0)
𝐿
(−1)
(+1) 1 ∑︁ (︀ )︀ 𝜕𝑃𝜇𝜈
𝐷𝐾𝐿 = 𝜇|ℎ𝐾;SOC |𝜈 (+1) (7.384)
2 (𝑆 + 1) (2𝑆 + 1) 𝜇𝜈 𝜕𝑥 𝐿
(+1)
(−1) 1 ∑︁ (︀ )︀ 𝜕𝑃𝜇𝜈
𝐷𝐾𝐿 = 𝜇|ℎ𝐾;SOC |𝜈 (−1) (7.385)
2𝑆 (2𝑆 − 1) 𝜇𝜈 𝜕𝑥 𝐿
Where a special form of the perturbed densities has been chosen. They are given in the atomic orbital basis as:
(0)
𝜕𝑃𝜇𝜈 ∑︁ (0);𝐿
∑︁ (0);𝐿
(0)
= 𝑈𝑎𝛼 𝑖𝛼 𝑐𝛼 𝛼
𝜇𝑖 𝑐𝜈𝑎 + 𝑈𝑎𝛽 𝑖𝛽 𝑐𝛽𝜇𝑖 𝑐𝛽𝜈𝑎 (7.386)
𝜕𝑥𝐿 𝑖𝛼 𝑎𝛼 𝑖𝛽 𝑎𝛽
(+1)
𝜕𝑃𝜇𝜈 ∑︁ (−1);𝐿
∑︁ (−1);𝐿 𝛽
(−1)
= 𝑈𝑎𝛽 𝑖𝛼 𝑐𝛼 𝛽
𝜇𝑖 𝑐𝜈𝑎 − 𝑈𝑎𝛼 𝑖𝛽 𝑐𝛼
𝜇𝑎 𝑐𝜈𝑖 (7.387)
𝜕𝑥𝐿 𝑖𝛼 𝑎𝛽 𝑖𝛽 𝑎𝛼
(−1)
𝜕𝑃𝜇𝜈 ∑︁ (+1);𝐿
∑︁ (+1);𝐿
(+1)
=− 𝑈𝑎𝛽 𝑖𝛼 𝑐𝛽𝜇𝑎 𝑐𝛼
𝜈𝑖 + 𝑈𝑎𝛼 𝑖𝛽 𝑐𝛽𝜇𝑖 𝑐𝛼
𝜈𝑎 (7.388)
𝜕𝑥𝐿 𝑖𝛼 𝑎𝛽 𝑖𝛽 𝑎𝛼
The special form of the coupled perturbed equations are implemented in ORCArun as follows: The perturbation is
of the general form ℎ𝐾 𝑠ˆ𝑚 . The equations (7.383)-(7.388) and (7.389)-(7.394) below have been written in such a
way that the spin integration has been performed but that the spin-dependent factors have been dropped from the
right-hand sides and included in the prefactors of eqs. (7.383)-(7.385). The explicit forms of the linear equations
to be solved are:
𝑚 = 0:
(︁ )︁
(0) 𝐾(0) 𝐾(𝑚)
∑︁
𝜀(0) 𝑈𝑏𝛼 𝑗𝛼 {(𝑏𝛼 𝑖𝛼 |𝑎𝛼 𝑗𝛼 ) − (𝑗𝛼 𝑖𝛼 |𝑎𝛼 𝑏𝛼 )} = − 𝑎𝛼 |ℎ𝐾 |𝑖𝛼
(︀ )︀
𝑎𝛼 − 𝜀𝑖𝛼 𝑈𝑎𝛼 𝑖𝛼 + 𝑎X (7.389)
𝑗 𝛼 𝑏𝛼
(︁ )︁
(0) 𝐾(0) 𝐾(𝑚)
∑︁
𝜀(0) 𝑈𝑏𝛽 𝑗𝛽 {(𝑏𝛽 𝑖𝛽 |𝑎𝛽 𝑗𝛽 ) − (𝑗𝛽 𝑖𝛽 |𝑎𝛽 𝑏𝛽 )} = − 𝑎𝛽 |ℎ𝐾 |𝑖𝛽
(︀ )︀
𝑎𝛽 − 𝜀𝑖𝛽 𝑈𝑎𝛽 𝑖𝛽 + 𝑎X (7.390)
𝑗𝛽 𝑏𝛽
𝑚 = +1:
(︁ )︁
(0) 𝐾(+1)
∑︁ 𝐾(+1) ∑︁ 𝐾(+1)
𝜀(0) 𝑈𝑏𝛽 𝑗𝛼 (𝑗𝛽 𝑖𝛽 |𝑎𝛼 𝑏𝛼 ) = − 𝑎𝛼 |ℎ𝐾 |𝑖𝛽 (7.391)
(︀ )︀
𝑎𝛼 − 𝜀𝑖𝛽 𝑈𝑎𝛼 𝑖𝛽 + 𝑎X 𝑈𝑏𝛽 𝑗𝛼 (𝑏𝛽 𝑖𝛽 |𝑎𝛼 𝑗𝛼 ) − 𝑎X
𝑗 𝛼 𝑏𝛼 𝑏𝛼 𝑗𝛽
(︁ )︁
(0) 𝐾(+1) 𝐾(+1) 𝐾(+1)
∑︁ ∑︁
𝜀(0)
𝑎𝛽 − 𝜀𝑖𝛼 𝑈𝑎𝛽 𝑖𝛼 + 𝑎X 𝑈𝑏𝛼 𝑗𝛽 (𝑏𝛼 𝑖𝛼 |𝑎𝑏 𝑗𝛽 ) − 𝑎X 𝑈𝑏𝛽 𝑗𝛼 (𝑗𝛼 𝑖𝛼 |𝑎𝛽 𝑏𝛽 ) = 0 (7.392)
𝑗𝛽 𝑏𝛼 𝑏𝛽 𝑗𝛼
𝑚 = −1:
(︁ )︁
(0) 𝐾(−1)
∑︁ 𝐾(−1) ∑︁ 𝐾(−1)
𝜀(0) 𝑈𝑏𝛽 𝑗𝛼 (𝑗𝛼 𝑖𝛼 |𝑎𝛽 𝑏𝛽 ) = − 𝑎𝛽 |ℎ𝐾 |𝑖𝛼 (7.393)
(︀ )︀
𝑎𝛽 − 𝜀𝑖𝛼 𝑈𝑎𝛽 𝑖𝛼 + 𝑎X 𝑈𝑏𝛼 𝑗𝛽 (𝑏𝛼 𝑖𝛼 |𝑎𝑏 𝑗𝛽 ) − 𝑎X
𝑗𝛽 𝑏𝛼 𝑏𝛽 𝑗 𝛼
(︁ )︁
(0) 𝐾(−1) 𝐾(−1) 𝐾(−1)
∑︁ ∑︁
𝜀(0)
𝑎𝛼 − 𝜀𝑖𝛽 𝑈𝑎𝛼 𝑖𝛽 + 𝑎X 𝑈𝑏𝛽 𝑗𝛼 (𝑏𝛽 𝑖𝛽 |𝑎𝛼 𝑗𝛼 ) − 𝑎X 𝑈𝑏𝛽 𝑗𝛼 (𝑗𝛽 𝑖𝛽 |𝑎𝛼 𝑏𝛼 ) = 0 (7.394)
𝑗𝛼 𝑏𝛼 𝑏𝛼 𝑗 𝛽
Note that these coupled-perturbed (CP) equations contain no contribution from the Coulomb potential or any other
local potential such as the exchange-correlation potential in DFT. Hence, in the absence of HF exchange, the
equations are trivially solved:
(︀ )︀
𝐾(0) 𝑎𝛼 |ℎ𝐾 |𝑖𝛼
𝑈𝑎𝛼 𝑖𝛼 = − (0) (0) (7.395)
𝜀𝑎𝛼 − 𝜀𝑖𝛼
(︀ )︀
𝐾(0) 𝑎𝛽 |ℎ𝐾 |𝑖𝛽
𝑈𝑎𝛽 𝑖𝛽 = − (0) (0) (7.396)
𝜀𝑎𝛽 − 𝜀𝑖𝛽
(︀ )︀
𝐾(+1) 𝑎𝛼 |ℎ𝐾 |𝑖𝛽
𝑈𝑎𝛼 𝑖𝛽 = − (0) (0) (7.397)
𝜀𝑎𝛼 − 𝜀𝑖𝛽
𝐾(+1)
𝑈𝑎𝛽 𝑖𝛼 =0 (7.398)
(︀ )︀
𝐾(−1) 𝑎𝛽 |ℎ𝐾 |𝑖𝛼
𝑈𝑎𝛽 𝑖𝛼 =− (0) (0) (7.399)
𝜀𝑎𝛽 − 𝜀𝑖𝛼
𝐾(−1)
𝑈𝑎𝛼 𝑖𝛽 =0 (7.400)
𝐾(+1) 𝐾(−1)
It is interesting that the “reverse spin flip coefficients” 𝑈𝑎𝛽 𝑖𝛼 and 𝑈𝑎𝛼 𝑖𝛽 are only nonzero in the presence of
HF exchange. In a perturbation expansion of the CP equations they arise at second order (V2 /∆𝜀2 ) while the
other coefficients are of first order (V/∆𝜀; V represents the matrix elements of the perturbation). Hence, these
contributions are of the order of 𝛼4 and one could conceive dropping them from the treatment in order to stay
consistently at the level of 𝛼2 . These terms were nevertheless kept in the present treatment.
Equations (7.389)-(7.394) are referred to as CP-SOC (coupled-perturbed spin-orbit coupling) equations. They can
be solved by standard techniques and represent the desired analogue of the CP-SCF magnetic response equations
solved for the determination of the g-tensor and discussed in detail earlier [664]. It is readily confirmed that
in the absence of HF exchange, eqs. (7.395)-(7.400) inserted into eqs. (7.383)-(7.388) lead back to a modified
Pederson-Khanna type treatment of the SOC contributions to the D-tensor [662]. In the framework of the formalism
developed above, the Pederson-Khanna formula can be re-written in the form:
This equation was derived from second-order non-self-consistent perturbation theory without recourse to spin-
coupling. For the special case of no Hartree-Fock exchange, the main difference to the treatment presented here
is that the correct prefactors from eqs. (7.372)-(7.374) occur in front of the spin-flip contributions rather than ±
1/(4𝑆 2 ) in eq. (7.401). In the presence of HF exchange it is suggested that the consistent generalization of the PK
method are eqs. (7.383)-(7.385) with the ± 1/(4𝑆 2 ) prefactors and this way the method has been implemented as
an option into the ORCA program.
For completeness, the evaluation of the spin-spin term in the SCF case proceeds conveniently through:
(SS) 𝑔𝑒2 𝛼2 ∑︁ ∑︁ {︀
𝛼−𝛽 𝛼−𝛽 𝛼−𝛽 𝛼−𝛽
}︀ ⟨︀ ⃒ −5 {︀ 2 ⃒
}︀⃒ ⟩︀
𝐷𝐾𝐿 = 𝑃𝜇𝜈 𝑃𝜅𝜏 − 𝑃𝜇𝜅 𝑃𝜈𝜏 𝜇𝜈 ⃒𝑟12 3𝑟12,𝐾 𝑟12,𝐿 − 𝛿𝐾𝐿 𝑟12 𝜅𝜏
4 𝑆 (2𝑆 − 1) 𝜇𝜈 𝜅𝜏
(7.402)
as derived by McWeeny and Mizuno and discussed in some detail by Sinnecker and Neese.[800] In this reference it
was found that DFT methods tend to overestimate the spin-spin contribution if the calculations are based on a spin-
unrestricted SCF treatment. A much better correlation with experiment was found for open-shell spin restricted
calculations. The origin of this effect proved to be difficult to understand but it was shown in ref [354] that in the
case of small spin-contamination, the results of ROKS calculations and of those that are obtained on the basis of
the spin-unrestricted natural orbital (UNO) determinant are virtually indistinguishable. It is therefore optionally
possible in the ORCA program to calculate the spin-spin term on the basis of the UNO determinant.
Spin-rotation constants
Spin-rotation constant calculations are implemented using perturbation-dependent atomic orbitals following [290].
As given in eq. 34 of that reference, the spin-rotation tensor of nucleus 𝐾, M𝐾 , is related to the nuclear shielding
tensor computed with GIAOs, 𝜎 GIAO𝐾 , and the diamagnetic part of the shielding tensor with the gauge origin set at
that nucleus, 𝜎 dia
𝐾 (R 𝐾 ):
where Mnuc
𝐾 is the nuclear component (given in eq. 14 of the reference), I is the inertia tensor, and 𝛾𝐾 is the nu-
clear magnetogyric ratio. Accordingly, upon requesting spin-rotation constants, ORCA automatically computes the
NMR shieldings with GIAOs as well. The following input shows an example calculation of M(17 O) in H2 12 C17 O:
! HF pcSseg-1 Mass2016 Bohrs
*xyz 0 1
O -0.00000000 -0.00000000 1.13863731 M=16.999131
C -0.00000000 -0.00000000 -1.14131773 M=12.0
H -0.00000000 1.76770755 -2.24076285
H 0.00000000 -1.76770755 -2.24076285
*
%eprnmr
Nuclei = all O {srot, ist=17}
end
ò Note
• The magnetogyric ratio used can be changed either by choosing the correct isotope via ist, or by pro-
viding the nuclear g-factor directly via ssgn.
• The masses used to compute the inertia tensor are independent of the chosen isotopes! The example
above requests atomic masses of the most abundant isotope (via the Mass2016 keyword) and explicitly
specifies those of 12 C (which is the default) and 17 O.
For the NMR shielding tensor the nuclear Zeeman Hamiltonian assumes the form:
is presented here. The shielding tensor for nucleus 𝐴 can be exactly decomposed as follows:
∑︁ (︀
𝜎𝐴 = 𝜎 𝐴,para + 𝜎 𝐴,dia
)︀
𝑝 𝑝
𝑝
1 ∑︁ (︁ 𝐴,para/dia )︁ ∑︁ (︁ )︁
𝜎 𝐴,para/dia
𝑖 = 𝜎 𝐴,para/dia
𝑖𝑖 + 𝜎 𝑖𝑗 + 𝜎 𝐴,para/dia
𝑗𝑖 + 𝜎 𝐴,para/dia
𝑖𝑎 + 𝜎 𝐴,para/dia
𝑎𝑖
2 𝑎
𝑗̸=𝑖
1 ∑︁ (︁ )︁
𝜎 𝐴,para/dia
𝑎 = 𝜎 𝐴,para/dia
𝑎𝑎 + 𝜎 𝐴,para/dia
𝑎𝑏 + 𝜎 𝐴,para/dia
𝑏𝑎
2
𝑏̸=𝑎
𝜎 𝐴,para
𝑝𝑞 = B M𝐴
𝐷𝑝𝑞 ℎ𝑝𝑞
𝜎 𝐴,dia
𝑝𝑞 = 𝐷𝑝𝑞 ℎB,M
𝑝𝑞
𝐴
∑︁
𝐷𝑝𝑞 = 𝑐𝜇𝑝 𝑆𝜇𝜈 𝐷𝜈𝜅 𝑆𝜅𝜆 𝑐𝜆𝑞
𝜇𝜈𝜅𝜆
∑︁
B B
𝐷𝑝𝑞 = 𝑐𝜇𝑝 𝑆𝜇𝜈 𝐷𝜈𝜅 𝑆𝜅𝜆 𝑐𝜆𝑞
𝜇𝜈𝜅𝜆
∑︁
ℎM
𝑝𝑞
𝐴
= 𝑐𝜇𝑝 ℎM
𝜇𝜈 𝑐𝜈𝑞
𝐴
𝜇𝜈
∑︁
B,M𝐴 B,M𝐴
ℎ𝑝𝑞 = 𝑐𝜇𝑝 ℎ𝜇𝜈 𝑐𝜈𝑞
𝜇𝜈
%eprnmr
Tau 0 # gauge-variant
GI # ad-hoc gauge-invariant
MS # field-dependent, gauge-invariant version of Maximoff and Scuseria
Dobson # (default) current density-dependent, gauge-invariant version of Dobson
end
𝜎 = 𝜎 orb + 𝜎 p .
ORCA currently supports the calculation of 𝜎 p for systems whose paramagnetism can be described by the effective
EPR spin Hamiltonian
The theoretical background can be found in Refs. [810, 863]. We reproduce here the main equations.
For a spin state described by Eq. (7.404), the paramagnetic shielding tensor is given by
𝛽𝑒 𝑆(𝑆 + 1)
𝜎p = − gZA, (7.405)
𝑔𝑁 𝛽𝑁 3𝑘𝑇
where Z is a dimensionless 3 × 3 matrix which is determined by the ZFS and the temperature, as follows: Diago-
nalization of the ZFS Hamiltonian SDS yields energy levels 𝐸𝜆 and eigenstates |𝑆𝜆𝑎⟩, where 𝑎 labels degenerate
states if 𝐸𝜆 is degenerate. Then Z is defined as (𝑖, 𝑗 = 𝑥, 𝑦, 𝑧)
[︃
3 1 ∑︁ −𝐸𝜆 /𝑘𝑇 ∑︁
𝑍𝑖𝑗 = 𝑒 ⟨𝑆𝜆𝑎|𝑆𝑖 |𝑆𝜆𝑎′ ⟩⟨𝑆𝜆𝑎′ |𝑆𝑗 |𝑆𝜆𝑎⟩
𝑆(𝑆 + 1) 𝑄0
𝜆 𝑎,𝑎′
]︃
∑︁ ∑︁ ⟨𝑆𝜆𝑎|𝑆𝑖 |𝑆𝜆′ 𝑎′ ⟩⟨𝑆𝜆′ 𝑎′ |𝑆𝑗 |𝑆𝜆𝑎⟩
+2𝑘𝑇 ,
′ ′
𝐸𝜆′ − 𝐸𝜆
𝜆 ̸=𝜆 𝑎,𝑎
where 𝑄0 = 𝜆′ ,𝑎 𝑒−𝐸𝜆 /𝑘𝑇 denotes the partition function. An important property of the Z matrix as defined
∑︀
above is that it goes to the identity matrix as D/𝑘𝑇 goes to zero.
The orbital part of the shielding, 𝜎 orb , is calculated in the same manner as for closed-shell molecules. It is available
in ORCA for the unrestricted HF and DFT methods and for MP2 (see Section MP2 level magnetic properties for
more information on the latter).
The orca_pnmr tool uses Eq. (7.407) to calculate 𝜎 p . Usage of orca_pnmr is described in Section orca_pnmr.
1 For a comprehensive review on paramagnetic NMR, see e.g. [658].
! ccsd def2-svp
%base "BO-CCSD"
%mdci density unrelaxed end
*xyz 0 2
B 0 0 0
O 0 0 1.2049
*
This produces the files BO-CCSD.gbw and BO-CCSD.densities. To obtain the CCSD quadrupole moment and
HFCCs without repeating the whole calculation, we can copy these two files into a new directory (highly recom-
mended!) and start a second job with the !PropertiesOnly keyword. Note that the basename of the second job
must be identical!
! ccsd def2-svp
%base "BO-CCSD"
%mdci density unrelaxed end
*xyz 0 2
B 0 0 0
O 0 0 1.2049
*
# Everything above must be the same as in the first job!
The idea of the LED analysis is rather simple. In local correlation methods occupied orbitals are localized and
can be readily assigned to pre-defined fragments in the molecule. The same can be done for the correlation energy
in terms of pair correlation energies that refer to pairs of occupied orbitals. In this way, both the correlation and
the reference energy can be decomposed into intra- and interfragment contributions. The fragmentation is user
defined. An arbitrary number of fragments can be defined. In the case that more than 2 fragments are defined, the
interfragment interaction is printed for each fragment pair.
A very important feature of the LED scheme is the possibility to distinguish between dispersive and non-dispersive
part of the DLPNO-CCSD(T) correlation energy. In brief, we exploit the fact that each CCSD pair correlation
energy contribution can be expressed as a sum of double excitations from pairs of occupied orbitals into the vir-
tual space. As in the DLPNO-CCSD(T) scheme the virtual space is spanned by Pair Natural Orbitals(PNOs) that
are essentially local, the entire correlation energy can be decomposed into double excitations types, depending on
where occupied and virtual orbitals are localized. For each pair of fragments, the sum of all excitations correspond-
ing to the interaction of instantaneous local dipoles located on different fragments defines the so called “London
dispersion” attraction between the two fragments in the LED framework.
For a system of two fragments, one can use as a reference point the geometrically and electronically relaxed frag-
ments that constitute the interacting super-molecule. Relative to this reference state, the binding energy between
the fragments can be written as:
∆𝐸 =∆𝐸𝑔𝑒𝑜−𝑝𝑟𝑒𝑝
𝑟𝑒𝑓. 𝑟𝑒𝑓. 𝑟𝑒𝑓.
+ ∆𝐸𝑒𝑙−𝑝𝑟𝑒𝑝 + 𝐸𝑒𝑙𝑠𝑡𝑎𝑡 + 𝐸𝑒𝑥𝑐ℎ
𝐶−𝐶𝐶𝑆𝐷 𝐶−𝐶𝐶𝑆𝐷
(7.406)
+ ∆𝐸𝑛𝑜𝑛−𝑑𝑖𝑠𝑝𝑒𝑟𝑠𝑖𝑜𝑛 + 𝐸𝑑𝑖𝑠𝑝𝑒𝑟𝑠𝑖𝑜𝑛
𝐶−(𝑇 )
+ ∆𝐸𝑖𝑛𝑡
where ∆𝐸𝑔𝑒𝑜−𝑝𝑟𝑒𝑝 is the energy needed to distort the fragments from their equilibrium configuration to the inter-
𝑟𝑒𝑓.
acting geometry (also called “strain” in other energy decomposition schemes). The ∆𝐸𝑒𝑙−𝑝𝑟𝑒𝑝 term represents the
electronic preparation energy and describes how much energy is necessary to bring the fragments into the elec-
𝑟𝑒𝑓.
tronic structure that is optimal for interaction. 𝐸𝑒𝑥𝑐ℎ is the inter-fragment exchange interaction (it always gives
𝑟𝑒𝑓.
a binding contribution in our formalism) and 𝐸𝑒𝑙𝑠𝑡𝑎𝑡 is the electrostatic energy interaction between the distorted
electronic clouds of the fragments. The sum of these terms gives the Hatree-Fock energy in the closed shell case
and the energy of the QRO determinant in the open shell case. Finally, the correlation energy is decomposed into
dispersive 𝐸𝑑𝑖𝑠𝑝𝑒𝑟𝑠𝑖𝑜𝑛
𝐶−𝐶𝐶𝑆𝐷
and non-dispersive ∆𝐸𝑛𝑜𝑛−𝑑𝑖𝑠𝑝𝑒𝑟𝑠𝑖𝑜𝑛
𝐶−𝐶𝐶𝑆𝐷
contributions plus a triples correction term to the
𝐶−(𝑇 )
interaction energy ∆𝐸𝑖𝑛𝑡 .
The 𝐶−𝐶𝐶𝑆𝐷
𝐸𝑑𝑖𝑠𝑝𝑒𝑟𝑠𝑖𝑜𝑛 term contains the London dispersion contribution from the strong pairs described above plus
the interfragment component of the weak pairs, which is essentially dispersive in nature. The ∆𝐸𝑛𝑜𝑛−𝑑𝑖𝑠𝑝𝑒𝑟𝑠𝑖𝑜𝑛
𝐶−𝐶𝐶𝑆𝐷
correlation term serves to correct the contributions to the binding energy approximately included in the reference
energy, e.g it counteracts the overpolarization typical of the HF method. It contains the so called charge transfer
𝐶𝑇 (𝑋→𝑌 ) 𝐶𝑇 (𝑋←𝑌 )
excitations from the strong pairs 𝐸𝐶−𝑆𝑃 + 𝐸𝐶−𝑆𝑃 , which represent the sum of all double excitation
contributions that do not conserve the charge within each fragment. Moreover, the non-dispersive term also includes
𝐶−(𝑇 )
the electronic preparation from strong (∆𝐸𝑒𝑙−𝑝𝑟𝑒𝑝
𝐶−𝑆𝑃
) and weak (∆𝐸𝑒𝑙−𝑝𝑟𝑒𝑝
𝐶−𝑊 𝑃
) pairs. Finally, ∆𝐸𝑖𝑛𝑡 represents
the triples correction contribution to the interaction energy between the fragments. In the LED scheme, this term
can be further decomposed into intra- and interfragment components. This can be useful, for example, to estimate
the London dispersion contribution from the triples correction term, as suggested in ref.[536].
ORCA features two methods to interface with the NBO program: ! NBO keyword and the %nbo-block. The
following example illustrates the use for formaldehyde:
#
# Test the interface to the NBO program
#
! RHF SVP NBO
* xyz 0 1
C 0.000000 0.000000 0.000000
O 1.200000 0.000000 0.000000
H -0.550000 0.952628 0.000000
H -0.550000 -0.952628 -0.000000
*
Natural Population
Natural ---------------------------------------------
Atom No Charge Core Valence Rydberg Total
--------------------------------------------------------------------
C 1 0.37265 1.99997 3.59028 0.03709 5.62735
O 2 -0.59134 1.99998 6.57415 0.01720 8.59134
H 3 0.10934 0.00000 0.88576 0.00489 0.89066
H 4 0.10934 0.00000 0.88576 0.00489 0.89066
====================================================================
* Total * -0.00000 3.99995 11.93596 0.06408 16.00000
Natural Population
---------------------------------------------------------
Core 3.99995 ( 99.9988% of 4)
Valence 11.93596 ( 99.4664% of 12)
Natural Minimal Basis 15.93592 ( 99.5995% of 16)
Natural Rydberg Basis 0.06408 ( 0.4005% of 16)
---------------------------------------------------------
-------------------------------------------------------
Core 3.99995 ( 99.999% of 4)
Valence Lewis 11.89676 ( 99.140% of 12)
================== =============================
Total Lewis 15.89671 ( 99.354% of 16)
-----------------------------------------------------
Valence non-Lewis 0.07835 ( 0.490% of 16)
Rydberg non-Lewis 0.02493 ( 0.156% of 16)
================== =============================
Total non-Lewis 0.10329 ( 0.646% of 16)
-------------------------------------------------------
NHO DIRECTIONALITY AND BOND BENDING (deviation from line of nuclear centers at
the position of maximum hybrid amplitude)
within unit 1
3. LP ( 1) O 2 13. RY ( 1) C 1 8.58 1.40 0.098
4. LP ( 2) O 2 11. BD*( 1) C 1- H 3 26.11 1.16 0.156
4. LP ( 2) O 2 12. BD*( 1) C 1- H 4 26.11 1.16 0.156
4. LP ( 2) O 2 14. RY ( 2) C 1 5.72 3.06 0.118
4. LP ( 2) O 2 26. RY ( 5) O 2 0.73 3.75 0.047
7. BD ( 1) C 1- H 3 12. BD*( 1) C 1- H 4 0.74 1.42 0.029
7. BD ( 1) C 1- H 3 22. RY ( 1) O 2 2.25 2.12 0.062
8. BD ( 1) C 1- H 4 11. BD*( 1) C 1- H 3 0.74 1.42 0.029
8. BD ( 1) C 1- H 4 22. RY ( 1) O 2 2.25 2.12 0.062
Principal Delocalizations
NBO Occupancy Energy (geminal,vicinal,remote)
===============================================================================
Molecular unit 1 (CH2O)
------ Lewis --------------------------------------
1. CR ( 1) C 1 1.99997 -11.34329
2. CR ( 1) O 2 1.99998 -20.56485
3. LP ( 1) O 2 1.98853 -0.81352 13(v)
4. LP ( 2) O 2 1.91757 -0.46975 11(v),12(v),14(v),26(g)
5. BD ( 1) C 1- O 2 1.99996 -0.53505
6. BD ( 2) C 1- O 2 1.99975 -1.23345
7. BD ( 1) C 1- H 3 1.99548 -0.72703 22(v),12(g)
8. BD ( 1) C 1- H 4 1.99548 -0.72703 22(v),11(g)
------ non-Lewis ----------------------------------
9. BD*( 1) C 1- O 2 0.00000 0.20704
10. BD*( 2) C 1- O 2 0.00000 0.95146
(continues on next page)
$CHOOSE
LONE 2 2 END
BOND D 1 2 S 1 3 S 1 4 END
$END
Thus, in this example the NBO analysis of formaldehyde shows that a single Lewis structure is dominant with
single bonds between C and H, a double bond between C and O and two lone pairs at the oxygen – just as ordinary
chemical arguments would imply. In addition, the program produces the four corresponding valence antibonds.
The remaining components of the basis set span the “Rydberg” space and lead to semilocalized, orthogonal orbitals
that are assigned to single atoms (Note the nomenclature: BD = bond, BD* = antibond, LP = lone pair, CR = core
orbital, RY= Rydberg orbital). The NPA analysis shows a patially negative oxygen and partially positive carbon
and hydrogen atoms.
Additionally, the NBO orbitals are stored in the ORCA .gbw file format as jobname.nbo. This file can be used for
further analysis and usage with ORCA e.g. for plotting orbitals via orca_plot.
The NBO program has many additional features and analysis tools. The features that are implemented in ORCA
can be controlled via the %nbo-block
%nbo
NBOKEYLIST = "$NBO ... $END"
DELKEYLIST = "$DEL ... $END"
COREKEYLIST = "$CORE ... $END"
NRTSTRKEYLIST = "$NRTSTR ... $END"
NPEPAKEYLIST = "$NPEPA ... $END"
end
%nbo
NBOKEYLIST = "$NBO NBO NPA AONBO=C ARCHIVE $END"
end
The full set of features beyond those which can be give via the %nbo block can be accessed using the file FILE.47,
which is generated by the NBO program. This is an ascii file that can be edited with a text editor. Add or remove
keywords in the corresponding blocks as needed and call the gennbo program like
Fig. 7.63: Six NBOs of the H2 CO molecule. Shown are the occupied bonding 𝜋 and 𝜎 orbitals (left) for C and O,
the two oxygen lone pairs (middle) and the two 𝜋 * and 𝜎 * antibonding orbitals (right).
If you have no need for this (rather large) file, then you have to delete it manually!
%nbo
nbokeylist="$nbo nbo npa aonbo=c archive $end"
delkeylist="$del lewis delete 1 element 3 11 $end"
end
*xyz 0 1
C 1.4089705283 0.0210567401 0.0000000000
N -1.3645072652 -0.1355759321 0.0000000000
H 1.9849776453 1.9986808971 0.0000000000
H 2.1492280974 -0.9096841007 1.6818209547
H 2.1492280974 -0.9096841007 -1.6818209547
H -2.0504340036 0.7268536543 -1.5583845544
H -2.0504340036 0.7268536543 1.5583845544
*
The DELKEYLIST provides NBO with the task to perform certain deletions of orbitals/interactions. Per deletion
ORCA calculates a new Fock matrix on basis of an NBO density corresponding to the deletions:
Stopping NBO...Starting NBO again for $del instructions...
Orbital occupancies:
NEXT STEP: Perform one SCF cycle to evaluate the energy of the new density
matrix constructed from the deleted NBO Fock matrix.
------------------------------------------------------------------------------
Copying NBO density...
Calculating new Fock-Matrix...
Calculating Fock-Matrix...done!
------------------------------------------------------------------------------
Energy of deletion : -94.629936711
Total SCF energy : -94.679444929
-------------------
Energy change : 0.049508 a.u., 31.067 kcal/mol
------------------------------------------------------------------------------
Multiple deletions can also be specified, as can be seen for this example. The output then also contains the additional
energy values:
Orbital occupancies:
NEXT STEP: Perform one SCF cycle to evaluate the energy of the new density
matrix constructed from the deleted NBO Fock matrix.
------------------------------------------------------------------------------
Copying NBO density...
Calculating new Fock-Matrix...
Calculating Fock-Matrix...done!
------------------------------------------------------------------------------
Energy of deletion : -94.668383268
Total SCF energy : -94.679444929
-------------------
Energy change : 0.011062 a.u., 6.941 kcal/mol
------------------------------------------------------------------------------
%MP2
density relaxed
end
*xyz 0 1
C 1.4089705283 0.0210567401 0.0000000000
N -1.3645072652 -0.1355759321 0.0000000000
H 1.9849776453 1.9986808971 0.0000000000
H 2.1492280974 -0.9096841007 1.6818209547
H 2.1492280974 -0.9096841007 -1.6818209547
H -2.0504340036 0.7268536543 -1.5583845544
H -2.0504340036 0.7268536543 1.5583845544
*
The output will contain both the NBO analysis of the SCF density as well as of the MP2 relaxed density. An NBO
analysis of a density generated by the MDCI module can be specified as follows:
%mdci
density linearized
end
*xyz 0 1
C 1.4089705283 0.0210567401 0.0000000000
N -1.3645072652 -0.1355759321 0.0000000000
H 1.9849776453 1.9986808971 0.0000000000
H 2.1492280974 -0.9096841007 1.6818209547
H 2.1492280974 -0.9096841007 -1.6818209547
H -2.0504340036 0.7268536543 -1.5583845544
H -2.0504340036 0.7268536543 1.5583845544
*
Again, the output will contain both the NBO analysis of the SCF density as well es of the CISD linearized density.
NBO H 1 C 2 N 3
--------------- ------- ------- -------
1. C 2(cr) L -0.18 200.26 0.18
NL -0.02 0.02 0.00
2. N 3(cr) L -0.03 -0.12 235.18
NL 0.00 0.01 0.02
3. N 3(lp) L 1.02 -33.00 -151.92
NL -1.04 1.81 12.18
4. H 1- C 2 L 25.75 -49.28 -20.30
NL -1.24 6.10 2.26
5. C 2- N 3 L 2.29 15.40 13.66
NL 0.02 0.00 -0.00
6. C 2- N 3 L 2.29 15.40 13.66
NL 0.02 0.00 -0.00
7. C 2- N 3 L 0.46 -77.94 -151.00
NL 0.05 -4.41 0.95
--------------- ------- ------- -------
Lewis 31.59 70.70 -60.53
non-Lewis -2.21 3.53 15.42
--------------- ------- ------- -------
Total 29.38 74.23 -45.11
%output
PrintLevel Normal
Print[ Flag ] 0 # turn print off
1 # turn print on
n # some flags are more sophisticated
end
The compound key PrintLevel can be used to select certain default settings for the print array. Specifying Print
after PrintLevel can be used to modify these defaults.
%output
PrintLevel Nothing
Mini
Small
Normal
Maxi
Large
Huge
Debug
end
Print has presently the following elements that can be user controlled:
Flag Action
P_InputFile Echo the input file
P_Cartesian Print the cartesian coordinates
P_Internal Print the internal coordinates
P_Basis = 1 : Print the basis set information
= 2 : Also print the primitives in input format
P_OneElec Print of the one electron matrix
P_Overlap Print the overlap matrix
P_KinEn Print the kinetic energy matrix
P_S12 Print the S−1/2 matrix
P_GuessOrb Print the initial guess orbitals
P_OrbEn = 1 : Print orbital energies up to LUMO+9
= 2 : Print all orbital energies
P_MOs Print the MO coefficients on convergence
P_Density Print the converged electron density
P_SpinDensity Print the converged spin density
P_EHTDetails Print initial guess extended Hückel details
P_SCFInfo Print the SCF input flags
P_SCFMemInfo Print the estimated SCF memory requirements
P_SCFIterInfo = 1 : print short iteration information
= 2 : print longer iteration information
continues on next page
therefore:
∫︁ ∑︁ ∫︁
𝜌 (⃗𝑟) 𝑑⃗𝑟 = 𝑃𝜇𝜈 𝜑𝜇 (⃗𝑟) 𝜑𝜈 (⃗𝑟) 𝑑⃗𝑟
𝜇𝜈 ⏟ ⏞ (7.409)
𝑆𝜇𝜈
∑︁
= 𝑃𝜇𝜈 𝑆𝜇𝜈 (7.410)
𝜇𝜈
After assigning each basis function to a given center this can be rewritten:
∑︁ ∑︁ ∑︁ ∑︁
𝐴 𝐵 𝐴𝐵 𝐴𝐵
= 𝑃𝜇𝜈 𝑆𝜇𝜈 (7.411)
𝐴 𝐵 𝜇 𝜈
∑︁ ∑︁ ∑︁ ∑︁ ∑︁ ∑︁ ∑︁
𝐴 𝐴 𝐴𝐴 𝐴𝐴 𝐴 𝐵 𝐴𝐵 𝐴𝐵
= 𝑃𝜇𝜈 𝑆𝜇𝜈 + 2 𝑃𝜇𝜈 𝑆𝜇𝜈 (7.412)
𝐴 𝜇 𝜈 𝐴 𝐵<𝐴 𝜇 𝜈
Mulliken proposed to divide the second term equally between each pair of atoms involved and define the number
of electrons on center 𝐴, 𝑁𝐴 , as:
∑︁ ∑︁ ∑︁ ∑︁ ∑︁
𝐴 𝐴 𝐴𝐴 𝐴𝐴 𝐴 𝐵 𝐴𝐵 𝐴𝐵
𝑁𝐴 = 𝑃𝜇𝜈 𝑆𝜇𝜈 + 𝑃𝜇𝜈 𝑆𝜇𝜈 (7.413)
𝜇 𝜈 𝐵̸=𝐴 𝜇 𝜈
𝑄𝐴 = 𝑍𝐴 − 𝑁𝐴 (7.414)
where 𝑍𝐴 is the core charge of atom 𝐴. The cross terms between pairs of basis functions centered on different
atoms is the overlap charge and is used in ORCA to define the Mulliken bond order:
∑︁ ∑︁
𝐴 𝐵 𝐴𝐵 𝐴𝐵
𝐵𝐴𝐵 = 2 𝑃𝜇𝜈 𝑆𝜇𝜈 (7.415)
𝜇 𝜈
%output
Print[ P_Mulliken ] 1 # default = on
end
A number of additional options can be specified to control the details of the Mulliken population analysis. By
default the Mulliken population analysis is turned on.
%output
Print[ P_AtCharges_M ] 1 # Print atomic charges
Print[ P_OrbCharges_M ] 1 # Print orbital charges
Print[ P_FragCharges_M] 1 # Print fragment charges
Print[ P_BondOrder_M ] 1 # Print bond orders
Print[ P_FragBondOrder_M ] 1# Print fragment b.o.
Print[ P_ReducedOrbPop_M ] 1# Print reduced orb. Charges
Print[ P_AtPopMO_M ] 1 # Print atomic charges in
# each MO
Print[ P_OrbPopMO_M ] 1 # Print orbital populaiton
# for each MO
Print[ P_ReducedOrbPopMO_M] 1 # Print reduced orbital
# pop for each MO
Print[ P_FragPopMO_M ] 1 # Print the fragment
# population for for each MO
end
These options allow to get very detailed information about the computed wavefunctions and is much more conve-
nient than to look at the MOs directly. A “reduced orbital population” is a population per angular momentum type.
For example the sum of populations of each p𝑧 orbital at a given atom is the reduced orbital population of the p𝑧
function.
Note that for finite temperature HF or KS-DFT calculations (SmearTemp > 0 K, fractional occupation numbers or
FOD analysis, see Finite Temperature HF/KS-DFT ), only the Mulliken reduced orbital charges based on 𝜌𝐹 𝑂𝐷 will
be printed. They can be used to get a first impression about the localization of hot electrons in the molecule without
generating the corresponding FOD plot (see FOD plots). The following example shows the corresponding printout
for the first carbon atom of p-benzyne based on a FOD analysis with default settings (see Fractional Occupation
Number Weighted Electron Density (FOD)).
------------------------------------------
FOD BASED MULLIKEN REDUCED ORBITAL CHARGES
------------------------------------------
0 C s : 0.006371 s : 0.006371
pz : 0.016375 p : 0.030785
px : 0.009893
py : 0.004516
dz2 : 0.004248 d : 0.010308
dxz : 0.000254
dyz : 0.004855
dx2y2 : 0.000860
dxy : 0.000091
f0 : 0.000006 f : 0.000378
f+1 : 0.000014
f-1 : 0.000309
f+2 : 0.000002
f-2 : 0.000006
f+3 : 0.000010
f-3 : 0.000032
If other population analysis printouts are wanted the user is referred to the Löwdin analysis (Löwdin Population
Analysis) which is turned on by default using the total SCF density of the calculation, also in the case of finite
electronic temperature.
The bond order is defined from the Wiberg index [889] that was first used in the context of semiempirical methods
(that are formulated in the Löwdin basis right from the start):
𝐿 2
∑︁ ∑︁ (︀
𝐴 𝐵
)︀
𝐵𝐴𝐵 = 𝑃𝜇𝜈 (7.418)
𝜇 𝜈
The output for the Löwdin population analysis (that I personally prefer over the Mulliken analysis) is closely similar.
By default the Löwdin population analysis is turned on and provides some more detail than the Mulliken analysis.
%output
Print[ P_Loewdin ] 1 # default = on
end
%output
Print[ P_AtCharges_L ] 1 # Print atomic charges
Print[ P_OrbCharges_L ] 1 # Print orbital charges
Print[ P_FragCharges_L] 1 # Print fragment charges
Print[ P_BondOrder_L ] 1 # Print bond orders
Print[ P_FragBondOrder_L ] 1# Print fragment b.o.
Print[ P_ReducedOrbPop_L ] 1# Print reduced orb. Charges
Print[ P_AtPopMO_L ] 1 # Print atomic charges in
# each MO
Print[ P_OrbPopMO_L ] 1 # Print orbital population
# for each MO
Print[ P_ReducedOrbPopMO_L] 1 # Print reduced orbital
# pop for each MO
Print[ P_FragPopMO_L ] 1 # Print the fragment
# population for each MO
end
In addition one can set, in the method block, the threshold for the printing of the bond order.
%method
LOEWDIN_BONDORDERTHRESH 0.05
end
Here P is the total electron density matrix and R is the spin-density matrix. These Mayer bond orders are very
useful. Mayer’s total valence for atom 𝐴 is defined as:
∑︁ ∑︁
𝐴 𝐴
𝑉𝐴 = 2𝑁𝐴 − (PS)𝜇𝜈 (PS)𝜈𝜇 (7.420)
𝜇 𝜈
In normal bonding situations and with normal basis sets 𝑉𝐴 should be reasonably close to the valence of atom 𝐴
in a chemical sense (i.e. close to four for a carbon atom). The bonded valence is given by:
∑︁
𝑋𝐴 = 𝑉𝐴 − 𝐵𝐴𝐵 (7.421)
𝐵̸=𝐴
and finally the free valence (a measure of the ability to form further bonds) is given by:
𝐹𝐴 = 𝑉𝐴 − 𝑋𝐴 (7.422)
%output
Print[ P_Mayer ] 1 # default = on
end
The output is rather simple and short and can not be further controlled. By default the Mayer population analysis
is turned on. In addition one can set, in the method block, the threshold for the printing of the bond order.
%method
MAYER_BONDORDERTHRESH 0.1
end
𝑆𝑧 ⃒Ψ𝑆𝑀 = 𝑀 ⃒Ψ𝑆𝑀
⃒ ⟩︀ ⃒ ⟩︀
where ⃒Ψ𝑆𝑀 is an exact eigenfunction of the non-relativistic Hamiltonian or an approximation to it that conserves
⃒ ⟩︀
the total spin as a good quantum number. The total spin itself is given by the sum over the individual electron spins
as:
∑︁
S= s(𝑖)
𝑖
And hence,
∑︁
S2 = s(𝑖)s(𝑗)
𝑖,𝑗
is a two-electron property of the system. It is obviously not trivial to relate the chemically very meaningful concept
of local spin to a rigorous quantum mechanical treatment. While there are various proposals of how to deal with
this problem, we follow here a proposal of Clark and Davidson (Clark, A.E.; Davidson, E.R., J. Chem. Phys. 2001,
115, 7382-7392). The following equations are implemented in the SCF and CASSCF modules of Orca.
Clark and Davidson define fragment projection operators with the property:
𝑃𝐴 𝑃𝐵 = 𝛿𝐴𝐵 𝑃𝐴
and:
∑︁
𝑃𝐴 = 1
𝐴
they show that the local spin operators obey the standard relations for spin operators:
S𝐴 = S†𝐴
S𝐴 × S𝐴 = 𝑖ℏS𝐴
Hence
∑︁ ∑︁
S2 = S𝐴 S𝐵
𝐴 𝐵
∑︁ ∑︁ ∑︁
= 43 𝛿𝐴𝐵 𝑃𝐴 (𝑖) + s(𝑖)s(𝑗){𝑃𝐴 (𝑖)𝑃𝐵 (𝑗) + 𝑃𝐴 (𝑗)𝑃𝐵 (𝑖)}
𝐴 𝑖 𝑗>𝑖
(︂ )︂ ∫︁
′ ′ 𝑁
Γ(x1 , x 1 ; x2 , x 2 ) = Ψ(x1 , x2 , ..., x𝑁 )Ψ* (x′ 1 , x′ 2 , ..., x𝑁 )𝑑x3 ...𝑑x𝑁
2
(with = 21 𝑁 (𝑁 − 1)). Then:
(︀𝑁 )︀
2
In terms of the number of electrons on site ‘A’and the expectation value of 𝑆𝑧𝐴
𝑁 𝐴 = 𝑡𝑟(𝛾 𝛼+𝛽 𝑃𝐴 )
⟨︀ ⟩︀
⟩︀ ∑︁ 𝛼+𝛽
𝑁𝐴 =
⟨︀
𝛾𝑝𝑞 ⟨𝑝|𝑃𝐴 |𝑞⟩
𝑝,𝑞
McWeeny and Kutzelnigg (McWeeny, R.; Kutzelnigg, W. Int. J. Quant. Chem. 1968, 11, 187-203) show that for
the expectation value of s(1)s(2), the relevant irreducible part of the two-body density can be expressed in terms
of the spinless density matrix of second order:
(0)
𝑅0 (1, 1′ ; 2, 2′ ) = − 13 Γ(1, 1′ ; 2, 2′ ) − 32 Γ(2, 1′ ; 1, 2′ )
∑︁
′ ′ ′ ′
= − 13 Γ𝑝𝑞 𝑝𝑞
𝑟𝑠 𝑝(1)𝑞(1 )𝑟(2)𝑠(2 ) + 2Γ𝑟𝑠 𝑝(2)𝑞(1 )𝑟(1)𝑠(2 )
𝑝𝑞𝑟𝑠
∑︁
′ ′
= − 31 (Γ𝑝𝑞 𝑟𝑞
𝑟𝑠 + 2Γ𝑝𝑠 )𝑝(1)𝑞(1 )𝑟(2)𝑠(2 )
𝑝𝑞𝑟𝑠
This is the final and perhaps most compact equation. The projection operator can be defined in very many different
ways. The easiest is to Löwdin orthogonalize the basis set:
⃒ 𝐴 ⟩︀ ∑︁ ⃒ 𝐴 ⟩︀ −1/2
⃒𝜇𝐿 = ⃒𝜈 𝑆𝜇𝜈
𝜈𝐴
where 𝐿 denotes the Löwdin basis. This means that molecular orbitals are expressed in the orthogonal basis as:
c𝐿 = S+1/2 c
P𝐿 = S+1/2 PS+1/2
Clark and Davidson suggest a slightly more elaborate projector in which first, the intra-fragment overlap is elimi-
nated. This happens with a matrix U that for two fragments takes form:
(︃ )︃
−1/2
S𝐴 0
U= −1/2
0 S𝐵
S̄ = U† SU
This contains the unit matrix in the intra-fragment blocks and non-zero elements elsewhere. This overlap matrix is
the finally orthogonalized to obtain the globally orthogonal Löwdin basis. We finally transform the MO coefficients
by the following transformation:
c𝐿 = S+1/2 U−1 c
For the projectors, operating with the two MOs i and j gives:
∑︁ ∑︁ ⟨︀
𝜅𝐵 𝐴
⟩︀ ⟨︀ 𝐴 𝐶 ⟩︀ 𝐿 𝐿
⟨𝑖|𝑃𝐴 |𝑗⟩ = 𝐿 |𝜇𝐿 𝜇𝐿 |𝜏𝐿 𝑐𝜅𝑖 𝑐𝜏 𝑗
𝜇𝐿 ∈𝐴 𝜅𝐵 𝐶
𝐿 𝜏𝐿
∑︁ ∑︁
= 𝛿𝐴𝐵 𝛿𝐴𝐶 𝛿𝜅𝜇 𝛿𝜏 𝜇 𝑐𝐿 𝐿
𝜅𝑖 𝑐𝜏 𝑗
𝜇𝐿 ∈𝐴 𝜅𝐵 𝐶
𝐿 𝜏𝐿
∑︁
= 𝑐𝐿 𝐿
𝜇𝑖 𝑐𝜇𝑗
𝜇𝐿 ∈𝐴
Herrmann et al. (Herrmann, C.; Reiher, M.; Hess, B.A. J. Chem. Phys. 2005, 122, 34102) give the correct
expression of the expectation values for a single spin-unrestricted determinant
{︃ }︃
∑︁ ∑︁
3 𝐴 𝐴
⟨S𝐴 S𝐵 ⟩ = 4 𝛿𝐴𝐵 𝑃𝑖𝑖 + 𝑃¯𝑖¯𝑖
𝑖 ¯𝑖
⎧ ⎫
⎨∑︁ ∑︁ ∑︁ ∑︁ ∑︁ ∑︁ ⎬
+ 1
4 𝑃𝑖𝑖𝐴 𝑃𝑗𝑗
𝐵
+ 𝑃¯𝑖𝐴 𝐵
¯𝑖 𝑃¯𝑗 −
𝑗¯ 𝑃𝑖𝑗𝐴 𝑃𝑖𝑗𝐵 − 𝑃¯𝑖𝐴¯𝑗 𝑃¯𝑖𝐵¯𝑗 − 𝑃¯𝑖𝐴 𝐵
¯𝑖 𝑃𝑗𝑗 − 𝑃𝑖𝑖𝐴 𝑃¯𝑗𝐵¯𝑗
⎩ ¯𝑖¯ ¯𝑖¯ ¯𝑖𝑗
⎭
𝑖𝑗 𝑗 𝑖𝑗 𝑗 𝑖¯
𝑗
∑︁
− 𝑃𝑖𝐴¯𝑗 𝑃𝑖𝐵¯𝑗
𝑖¯
𝑗
* xyz 0 1
N(1) 0 0 0
N(2) 0 0 1094
*
(1) A.E. Clark; E.R. Davison J. Chem. Phys. (2001), 115(16), pp 7382-7392
(2) C. Herrmann, M. Reiher, B.A. Hess J. Chem. Phys. (2005) 122, art 034102-1
Number of fragments = 2
Number of basis functions = 28
Number of atoms = 2
<SA*SB> 1 2
----------------------------------
1 : 3.7568
(continues on next page)
<SzA> Seff(A)
--------------------------
1 : 1.5000 1.5017
2 : -1.5000 1.5017
thus perfectly corresponding to the expectations. The same can be done at the CASSCF level:
* xyz 0 1
N(1) 0 0 0
N(2) 0 0 1094
*
<SA*SB> 1 2
----------------------------------
1 : 3.7500
2 : -3.7500 3.7500
<SzA>* Seff(A)
--------------------------
1 : n.a. 1.5000
2 : n.a. 1.5000
%scf
brokensym 5,5
end
* xyz -2 1
Fe(1) -1.93818 0.53739 -0.00010
Fe(2) 1.06735 0.47031 0.00029
S(3) -0.38935 2.59862 -0.00983
S(3) -0.48170 -1.59050 0.01091
S(1) 2.68798 0.43924 1.99710
S(1) 2.68692 0.42704 -1.99712
S(2) -3.55594 0.56407 -1.99889
S(2) -3.55850 0.58107 1.99646
H(1) 3.91984 0.39462 1.47608
H(1) 3.91940 0.39536 -1.47662
H(2) -4.78410 0.69179 -1.48280
H(2) -4.78991 0.49249 1.47983
*
Where one of the bridging sulfurs was assigned to each site respectively.
<SA*SB> 1 2
----------------------------------
1 : 7.7009
2 : -5.3721 7.7012
<SzA> Seff(A)
--------------------------
1 : 1.7579 2.3197
2 : -1.7579 2.3198
Nice shows the expected results with the local site spins being close to their ideal value 2.5 which would hold for
a high-spin Fe(III) ion.
%output
Print[ P_UNO_OccNum ] = 1; # Occupation numbers
Print[ P_UNO_AtPopMO_M ] = 0; # Mulliken atom pop.
# per UNO
Print[ P_UNO_OrbPopMO_M] = 0; # Mulliken orbital pop.
# per UNO
Print[ P_UNO_ReducedOrbPopMO_M] = 0;
# Mulliken reduced orbital
# pop. per UNO
Print[ P_UNO_AtPopMO_L ] = 0; # Loewdin atom pop.
# per UNO
Print[ P_UNO_OrbPopMO_L] = 0; # Loewdin orbital pop.
# per UNO
Print[ P_UNO_ReducedOrbPopMO_L] = 0;
# Loewdin reduced orbital
# pop. per UNO
end
Here, 𝜌(⃗𝑟) is the total charge density at position ⃗𝑟, and 𝑤𝐴 (⃗𝑟) a weighting function, that within the Hirshfeld
method is equal to:
𝜌0𝐴 (⃗𝑟)
𝑤𝐴 (⃗𝑟) = (7.424)
𝜌0 (⃗𝑟)
where 𝜌0𝐴 (⃗𝑟) is the pro-atomic density of atom 𝐴 and 𝜌0 (⃗𝑟) = 𝐴 𝜌0𝐴 (⃗𝑟) the pro-molecular density. The ratio in
∑︀
eq. (7.423) is known as stockholder. From eqs. (7.423) and (7.424) one can calculate the Hirshfeld charges as:
∫︁
𝑄𝐴Hirsh.
= 𝑍𝐴 − 𝜌𝐴 (⃗𝑟)𝑑⃗𝑟 (7.425)
In ORCA, the pro-atomic density within the Hirshfeld method is calculated via density fitting with a set of Gaussian
s-functions per element.
The calculation of the Hirshfeld charges in ORCA is requested by writing
! Hirshfeld
%output
Print[ P_Hirshfeld ] 1 # default = off
end
%maxcore 4000
* xyz 0 1
O 0.00000006589375 0.00157184228646 0.00000000004493
H 0.77316868532439 -0.58666889665624 -0.00000000000005
H -0.77316876182122 -0.58666895650640 -0.00000000000005
*
ORCA prints the following information at the end of the output file:
------------------
HIRSHFELD ANALYSIS
------------------
Here, 𝑚𝐴 is the number of shells of atom 𝐴. The populations 𝑁𝐴𝑖 , and the widths 𝜎𝐴𝑖 can be written as:
𝜌0 (⃗𝑟)
∫︁
𝑁𝐴𝑖 = 𝜌(⃗𝑟) 𝐴𝑖 𝑑⃗𝑟 (7.428)
𝜌0 (⃗𝑟)
𝜌0 (⃗𝑟) ⃒⃒
∫︁
1 ⃒
𝜎𝐴𝑖 = 𝜌(⃗𝑟) 𝐴𝑖 𝑟 − ⃗𝐴 ⃒⃒ 𝑑⃗𝑟
𝑅 (7.429)
3𝑁𝐴𝑖 𝜌0 (⃗𝑟)
⃒⃗
In order to compute the AIM densities 𝜌𝐴 (⃗𝑟), the MBIS method uses an iterative algorithm where: (1) an initial
guess is generated for the set of 𝑁𝐴𝑖 and 𝜎𝐴𝑖 and the pro-atomic densities are calculated through eqs. (7.426) and
(7.427), (2) the new set of 𝑁𝐴𝑖 and 𝜎𝐴𝑖 are obtained via eqs. (7.428) and (7.429), (3) if convergence is reached
for 𝜌𝐴 (⃗𝑟), the iterative process stops, otherwise we go back to (1) but now one uses the last estimates for 𝑁𝐴𝑖 and
𝜎𝐴𝑖 .
Once, the MBIS iterative process stops, the MBIS charges are calculated as:
∫︁
𝑄MBIS.
𝐴 = 𝑍 𝐴 − 𝜌𝐴 (⃗𝑟)𝑑⃗𝑟 (7.430)
If we request the MBIS charges for a HF calculation at the cc-pvdz level of a chloroform molecule:
!HF cc-pvdz tightscf MBIS
* xyz 0 1
C -0.00000997794639 -0.00091664148112 0.45499807439812
H 0.00000069467312 0.00031189002174 1.53703126401237
Cl 0.00003188789531 1.69433732001280 -0.08420513240263
Cl 1.46635420502892 -0.84684178730039 -0.08421103795485
Cl -1.46637680965097 -0.84689178125304 -0.08420916805301
*
ORCA prints the following information at the end of the output file:
------------------
MBIS ANALYSIS
------------------
The second block corresponds to the valence Slater function, which is caracterized by its population 𝑁𝐴,𝑣 and
width 𝜎𝐴,𝑣 .
The convergence threshold for the MBIS charges is set to 10−6 . However, it can be changed via the tag
MBIS_CHARGETHRESH in the %method block:
%method
MBIS_CHARGETHRESH 0.0001
end
ORCA can also print the following MBIS-related quantities: (1) atomic dipole moments, (2) atomic
quadrupole
(︂ moments, (3) atomic )︂ octupole moments, and (4) third radial moment of the MBIS density
∫︀ ⃒⃒ ⃒3
⟨𝑟 ⟩𝐴 = ⃒⃗𝑟 − 𝑅⃗𝐴 ⃒ 𝜌𝐴 (⃗𝑟)𝑑⃗𝑟 . The printing of these properties is controlled by the tag MBIS_LARGEPRINT,
3 ⃒
If this option is activated, an extra iteration is performed after reaching the convergence threshold for the charges.
The origin for the calculation of the atomic dipole, quadrupole and octupole moments is the center of each
atom (default). However, the user can also define a global origin (independent of the atom) through the tag
MBIS_ORIGIN_MULT in the %method block:
%method
MBIS_ORIGIN_MULT CenterOfCoords # origin of coordinate system (0,0,0)
CenterOfMass # center of mass
CenterOfNucCharge # center of nuclear charge
CenterXYZ # arbitrary position, set coordinates with MBIS_ORIMULT_
˓→ XYZ
CenterOfEachAtom # center of each atom (default)
“true color 32 bit” rather than “high 16 bit”. Thanks to Thomas Brunold!
%output
XYZFile true
end
%plots
dim1 45 # resolution in x-direction
dim2 45 # resolution in y-direction
dim3 45 # resolution in z-direction
min1 -7.0 # x-min value in bohr
max1 7.0 # x-min value in bohr
min2 -7.0 # y-min value in bohr
max2 7.0 # y-max value in bohr
min3 -7.0 # z-min value in bohr
max3 7.0 # z-max value in bohr
Format gOpenMol_bin # binary *.plt file
gOpenMol_ascii # ascii *.plt file
Gaussian_Cube # Gaussian-cube format
# (an ASCII file)
MO("MyOrbital-15.plt",15,0); # orbital to plot
MO("MyOrbital-16.plt",16,0); # orbital to plot
UNO("MyUNO-48.plt",48); # UHF-NO to plot
ElDens("MyElDens.plt"); # Electron density
SpinDens("MySpinDens.plt"); # Spin density
end
NOTE:
• it is admittedly inconvenient to manually input the dimension of the cube that is used for plotting. If you
do nothing such that min1 = max1 = min2 = max2 = min3 = max3=0 then the program will try to be
smart and figure out a good cube size by itself. It will look at the minimum and maximum values of the
coordinates and then add 7 bohrs to each dimension in the hope to properly catch all wavefunction tails.
Sometimes you will want to produce orbital plots after you looked at the output file and decided which orbitals you
are interested in. In this case you can also run the orca_plot program in a crude interactive form by invoking it
as:
orca_plot MyGBWFile.gbw -i
This will provide you with a subset of the capabilities of this program but may already be enough to produce the
plots you want to look at. Note that for the name of the GBW-file you may as well input files that result from natural
orbitals (normally *.uno), corresponding orbitals (normally *.uco) or localized orbitals (normally *.loc). Once
in the interactive program, by entering ‘1’ for ‘Enter type of plot,’ you will access a list of available plot capabilities
relevant to your current calculation file (MyGBWFile.gbw):
-----------------------------------------------------------------------
Plot-Type is presently: 1
-----------------------------------------------------------------------
Searching for Ground State Electron or Spin Densities: ...
-----------------------------------------------------------------------
1 - molecular orbitals
2 - (scf) electron density ...... (scfp ␣
˓→ ) => AVAILABLE
3 - (scf) spin density ...... (scfr ␣
˓→ ) => AVAILABLE
4 - natural orbitals
5 - corresponding orbitals
6 - atomic orbitals
7 - mdci electron density ...... (mdcip ␣
˓→ ) - NOT AVAILABLE
8 - mdci spin density ...... (mdcir ␣
(continues on next page)
FOD plots
The fractional occupation number weighted electron density (𝜌𝐹 𝑂𝐷 , see Fractional Occupation Numbers) can be
plotted in 3D for a pre-defined contour surface value which, after extensive testing, was set to the default value of
𝜎 = 0.005 e/Bohr3 . In order to allow comparison of various systems this value should be kept fix (in critical cases,
one may also check the FOD plot with a a smaller value of 𝜎 = 0.002 e/Bohr3 for comparison). The FOD is strictly
positive in all space and resembles orbital densities (e.g., 𝜋-shape in large polyenes) or the total charge density for
an ideal ‘metal’ with complete orbital degeneracy in trivial cases. FOD plots represent a cost-effective and robust
way to identify the ‘hot’ (strongly correlated) electrons in a molecule and to choose appropriate approximate QC
methods for a subsequent computational study of the systems in question. Based on our experience, the following
rules of thumb can be derived:
• no significant 𝜌𝐹 𝑂𝐷 : use (double)-hybrid functionals or (DLPNO-)CCSD(T) (single-reference electronic
structure)
• significant but rather localized 𝜌𝐹 𝑂𝐷 : use semi-local GGA functionals (or hybrid functional with low Fock-
exchange, avoid HF or MP2; slight multi-reference character)
• significant and delocalized 𝜌𝐹 𝑂𝐷 : use multi-reference methods (or finite temperature DFT; strong multi-
reference character)
Basically, 𝜌𝐹 𝑂𝐷 can be plotted analogously to an electron density calculated with ORCA using Basename.
scfp_fod instead of Basename.scfp. The required Basename.scfp_fod is stored in the Basename.
densities container. To print all available densities use the 9 - List all available densities in
orca_plot:
---------------------
List of density names
---------------------
1: orca.scfp
2: orca.scfr
Note that producing *.cube files with orca_plot (see orca_plot) may take a considerable amount of time for
larger molecules, particularly if high quality plots for publication purposes (i.e., 120x120x120 resolution) are
wanted. An example FOD plot (singlet ground sate of 𝑝-benzyne, see Fractional Occupation Numbers for the
corresponding ORCA input) is shown in Fig. 7.65. It has been produced with the UCSF CHIMERA program (this
program can be obtained free of charge over the internet: https://www.cgl.ucsf.edu/chimera/) using the *.cube
file generated with orca_plot:
orca_plot pbenzyne.gbw -i
user input:
1 (type of plot)
2 (electron density)
n (default name: no)
pbenzyne.scfp_fod (name of the FOD file)
4 (number of grid intervals)
120 (NGrid)
5 (output file format)
7 (cube)
10 (generate plot)
11 (exit)
It is also possible to generate *.cube files from 𝜌𝐹 𝑂𝐷 (analogously to electron density plots) with other programs
that can read ORCABaseName.gbw and electron density files by simply using the Basename.scfp_fod file instead
of the Basename.scfp file.
Fig. 7.65: FOD plot at 𝜎 = 0.005 e/Bohr3 (TPSS/def2-TZVP (T = 5000 K) level) for the 1 𝐴𝑔 ground state of
𝑝-benzyne (FOD depicted in yellow).
The significant and rather delocalized FOD for 𝑝-benzyne (1 𝐴𝑔 ) indicates that multi-reference methods would be
needed for reliable computational study of this molecule (category c)). More examples of FOD plots generated
with the same setup and programs can be found in the original publication and corresponding supplementary
information.[327]
Interface to gOpenMol
Here is a short summary of how to produce these plots with gOpenMol:
• First of all the molecular geometry must be save by choosing XYZFile=true in the [OUTPUT] block. This
will produce a straightforward ascii file containing the molecular geometry (or simply ! XYZFile).
• After having produced the plot files start gOpenMol and choose File-Import-Coords . In the dialog choose
the XYZ format and select the file. Then press apply and dismiss . The molecule should now be displayed in
the graphics window.
• You can change the appearance by choosing View-Atom type .
• The color of the background can be changed with Colour-Background .
• After having done all this choose Plot-Contour and select the Browse button to select the appropriate
file. Then press Import File to read it in. NOTE: you can only directly read files that were produced in
gOpenMol_bin format. If you have chosen gOpenMol_ascii you must first use the gOpenMol file conver-
sion utility under Run-Pltfile (conversion) to produce the binary plt file.
• After having read the plt file choose the appropriate isocontour value (one for the positive and one for the
negative lobes of an orbital) and select suitable colors via Colour(n) to the right of the isocontour value. The
Details button allows you to choose between solid and mesh representation and other things.
• Once the plot looks the way you like, use File-Hardcopy to produce a publication quality postscript or bitmap
picture that can be imported into any word processing or graphics software.
Interface to Molekel
The Molekel program (http://ugovaretto.github.io/molekel/) is another beautiful and easy-to-use graphics tool that
is recommended in combination with ORCA. You may even find it a little easier to use than gOpenMol but this
may be a matter of personal taste. In order to produce plots with Molekel follow the following procedure:
• Produce Gaussian-Cube files (and optionally also an XYZ file) with ORCA as described above.
• Start Molekel and use the right mouse button to obtain the Load menu.
• Choose the format xyz to load your coordinates
• Use the right mouse button again to select the Surface menu
• Choose the format “Gaussian Cube” and click Load Surface
• Click on Both Signs if you visualize an orbital or spin density
• Select a suitable contour value in the Cutoff box.
• Click on Create Surface. That’s it!
• In the Color menu (also available via the right mouse button) you can adjust the colors and in the main menu
the display options for your molecule. Default settings are in a startup file that you can modify to suit your
taste. More details are in the Molekel manual – check it out; it can do many other useful things for you too!
The exact abilities of orca_mapspc can be seen by simply executing the command in a terminal
orca_mapspc
NOTE:
• The input to this program can either be a normal output file from an ORCA calculation or a ORCA .hess file
if IR or Raman spectra are desired
• Unless it is specified otherwise the default lineshape is always assumed to be a Gaussian
• There will be two output files:
– Input-file.spc.dat (spc=abs-like or cd or ir or raman): This file contains the data to be plotted
– Input-file.spc.stk: This file contains the individual transitions (wavenumber and intensity)
• The absorption plot has five columns: The first is the wavenumber in reciprocal centimeters, the second the
total intensity and the third to fifth are the individual polarizations (i.e. assuming that the electric vector of
the incoming beam is parallel to either the input x-, or y- or z-axis respectively). The last three columns are
useful for interpreting polarized single crystal spectra.
• Generation of multiple spectra. When more than one spectra of the same kind are available the program will
try to plot them. For example in the case of a CASSCF calculation with the NEVPT2 flag on, there will be
two Absorption spectra (CASSCF and NEVPT2) that can be ploted
For example:
Mode is SOCABS
Entering SOC-ABS reading
Using eV units
Using Lorentzian shape
Multiple SOCABS (2) spectra detected ...
----------------------------------
Plotting SOCABS Spectrum 0
----------------------------------
Cannot read the paras.inp file ...
taking the line width parameter from the command line
Number of peaks ... 4455
Start energy [eV] ... 7000.00
Stop energy [eV] ... 8000.00
Peak FWHM [eV] ... 2.00
Number of points ... 10000
----------------------------------
Plotting SOCABS Spectrum 1
----------------------------------
Cannot read the paras.inp file ...
taking the line width parameter from the command line
Number of peaks ... 4455
Start energy [eV] ... 7000.00
Stop energy [eV] ... 8000.00
Peak FWHM [eV] ... 2.00
Number of points ... 10000
This will generate two kind of spectra one for the CASSCF and one for the NEVPT2 calculation
CASSCF:
My-CASSCF/NEVPT2-Output.out.0.socabs.dat
My-CASSCF/NEVPT2-Output.out.0.socabs.stk
NEVPT2:
My-CASSCF/NEVPT2-Output.out.1.socabs.dat
My-CASSCF/NEVPT2-Output.out.1.socabs.stk
7.55.2 orca_chelpg
This program calculates CHELPG atomic charges according to Breneman and Wiberg[124]. The atomic charges
are fitted to reproduce the electrostatic potential on a regular grid around the molecule, while constraining the sum
of all atomic charges to the molecule’s total charge. An additional constraint can be added, so the CHELPG charges
also reproduce the total dipole moment of the molecule.
The program works with default values in the following way:
orca_chelpg MyJob.gbw
The program uses three adjustable parameters, which can also be set in a separate chelpg input block
%chelpg
GRID 0.3 # Spacing of the regular grid in Angstroems
RMAX 2.8 # Maximum distance of all atoms to any gridpoint in Angstroems
VDWRADII COSMO # VDW Radii of Atoms, COSMO default
BW # Breneman, Wiberg radii
DIPOLE FALSE # If true, then the charges also reproduce the total dipole moment
end
In this case, ORCA automatically calculates the CHELPG charges at the end of the calculation. Automatic calcu-
lation of CHELPG charges using the default values can also be achieved by specifying
! CHELPG
in the simple input section. By default the program uses the COSMO VDW radii for the exclusion of gridpoints
near the nuclei, as these are defined for all atoms. The BW radii are similar, but only defined for very few atom
types.
The charges may exhibit some dependence on the molecule’s orientation in space, or some artificial variations in
symmetric molecules. These effects can be minimized by increasing the CHELPG grid size, either by setting the
GRID parameter in the CHELPG block, or in the one-liner via
! CHELPG(LARGE)
If one wants that the calculated CHELPG charges reproduce the total dipole moment of the molecule, as well as
the electrostatic potential, then the following tag has to be added to the %chelpg block:
%chelpg
DIPOLE TRUE # The default is set to FALSE
end
In particular, the constraint affects the 𝑥,𝑦,𝑧 components of the total dipole moment, so they reproduce the exact 3
components of the total dipole moment calculated via one-electron integrals.
7.55.3 orca_pltvib
This program is used in conjunction with gOpenMol (or xmol) to produce animations or plots of vibrational modes
following a frequency run. The usage is again simple and described in section Animation of Vibrational Modes
together with a short description of how to produce these plots in gOpenMol.
The program produces 20 frames of animation, where first and last frame correspond to the TS, all others calculated
as 𝑠𝑖𝑛(2𝜋𝑓 𝑟𝑎𝑚𝑒/20 − 1) * 𝑑𝑖𝑠𝑝𝑙𝑎𝑐𝑒𝑚𝑒𝑛𝑡.
7.55.4 orca_vib
This is a small “standalone” program to perform vibrational analysis. The idea is that the user has some control
over things like the atomic masses that enter the prediction of vibrational frequencies but are independent of the
electronic structure calculation as such.
The program takes a “.hess” file as input and produces essentially the same output as follows the frequency
calculation. The point is that the “.hess” is a user-editable textfile that can be manually changed to achieve
isotope shift predictions and the like. The usage together with an example is described in section Isotope Shifts. If
you pipe the output from the screen into a textfile you should also be able to use orca_mapspc to plot the modified
IR, Raman and NRVS spectra.
7.55.5 orca_loc
Localization is a widely used technique nowadays. By defining different functionals, various localization methods
are established. The most favorable localization methods are developed by Foster-Boys and Pipek-Mezey. In
ORCA there are four different localization methods available, the Pipek-Mezey method (PM), the Foster-Boys
method (FB), the intrinsic atomic orbitals (IAO) based PM method and the IAO based FB method.
For Foster-Boys localization there are three different algorithms: first there is the conventional algorithm (FB).
Second, there is an alternative algorithm (NEWBOYS), which is faster and could be used, for example, to localize
the virtual MOs of a large system.
The third Foster-Boys algorithm is based on an augmented Hessian procedure (AHFB). It is particularly suited
to obtain very tightly converged orbitals if an appropriate tolerance is requested (useful for local correlation).
Furthermore, it systematically converges towards a local minimum, rather than a different type of stationary point.
The method proceeds in three stages. An initial set of localized orbitals is obtained through the NEWBOYS method.
This is followed by an augmented Hessian maximization (rational function optimization) either with direct or with
Davidson diagonalization, depending on the number of orbitals. Efficiency is therefore achieved for small and
large systems alike. If the optimization fails to proceed but the augmented Hessian has got the correct eigenvalue
structure, a Newton-Raphson maximization is triggered as the third stage. Currently, the only user-adjustable
parameter of the AHFB method is the tolerance Tol. Convergence is signalled when the eigenvalue structure is
correct, and the largest element of the orbital gradient, 4 ⟨𝑖|r|𝑗⟩ (⟨𝑗|r|𝑗⟩ − ⟨𝑖|r|𝑖⟩), is below Tol. This is different
from the other localization methods, which take the difference in the localization sum between two successive
iterations as the convergence criterion.
The intrinsic atomic orbitals and intrinsic bond orbitals (IAOIBO) localization method is developed by Gerald
Knizia, see Ref. [449]. In IAOIBO method, the occupied MOs are projected to a minimal basis set to get the IAOs,
firstly. In ORCA different from original IAOIBO method, the converged SCF MO of atoms are used instead of
Huzinaga MINI or STO-3G. However, the IAO charges computed by our method are quite similar to original IAO.
Then, Pipek-Mezey functional is employed to localize these IAOs to IBOs. Finally,IBOs will be backtransformed
to their original basis set. The IAO partial charges of canonical MOs for each atom is also printed out before the
IAOIBO localization. But make sure you have included all occupied MOs in the IAOIBO localization. Otherwise,
the IAO charges are meaningless. We further improved the original IAOIBO method by using the FB functional
instead of PM functional. The computational time of the new method named IAOBOYS should be faster than the
standard FB method for large systems. However, the IAO based method can only be used for the localization of
occupied MOs.
There are two ways to do the MO localization in ORCA . The simpler way is to request the localization at the end
of any ORCA calculation input file. Details are set in the %loc block.
%loc
LocMet PM # Localization method e.g. PIPEK-MEZEY
FB # FOSTER-BOYS
IAOIBO # IAOIBO
IAOBOYS # IAOBOYS
NEWBOYS # FOSTER-BOYS
AHFB # Augmented Hessian Foster-Boys
Tol 1e-6 # absolute convergence tolerance for the localization sum
# default value is 1e-6
# In the case of AHFB, however, this is the gradient threshold!
Random 0 # Always take the same seed for start for localization
# (For testing/debug purpose,optional)
1 # Take a random seed for start of localization (default)
PrintLevel 2 # Amount of printing
MaxIter 64 # Max number of iterations
T_Bond 0.85 # Thresh that classifies orbitals in bond-like at the printing
T_Strong 0.95 # Thresh that classifies orbitals into strongly-localized at
# the printing
OCC true # Localize the occupied space
T_CORE -99.9 # The Energy window for the first OCC MO to be localized (in a.u.)
# Here, we localize all occupied MOs including core orbitals.
VIRT true # Localize the virtual space
end
The localized MOs are obtained iteratively. Convergence is achieved when the localization functional value is
self-consistent (contraled by Tol). Setting the flags OCC/VIRT to true will request a localization of the subspace.
If both flags are set, two consecutive localizations are performed. The localized orbitals are stored in the form of a
standard GBW file named .loc. Keep in mind that the localization of the occupied orbitals might change the total
energy depending on what type of calculation you want to perform thereafter. For RHF and UHF there shouldn’t
be any problems, but for CASSCF the keyword OCC is not sufficient. CASSCF is not invariant to rotation of all
the occupied orbitals.
The other way to do the localization is calling the orca_loc program directly from shell, which is more general.
The orca_loc program requires an input of its own. The input is a textfile containing the necessary parameters.
If no input is specified, orca_loc returns a help-file with a description of the necessary input-parameters. You
need to specify in/output gbw-files, along with orbital ranges and the localization method to be used. A source of
confusion is the operator line op (alpha = 0 or beta = 1). For RHF(ROHF) and CASSCF, this should be set to
zero. The input file usually looks like,
Myjob.gbw # input orbitals
Myjob.loc.gbw # output orbitals
(continues on next page)
If the input file is called myloc.inp, running “orca_loc myloc.inp” will produce the Myjob.loc.gbw file containing
the localized orbitals. Please make sure the Myjob.gbw is in the same directory as myloc.inp.
7.55.6 orca_blockf
This utility program allows the canonicalization of orbitals (.gbw file) for arbitrary subspaces. With canonical-
ization we refer to the block diagonalization of the Fock matrix. Note that the necessary Fock matrix must be
generated and be available on disk prior calling orca_blockf. The program is described in section Local Zero-
Field Splitting, where the Local ZFS decomposition is discussed.
7.55.7 orca_plot
Orca_plot is a utility program that can be used to generate 2D and 3D graphics of various types of orbitals and
densities during an ORCA run. It can in principle called in two ways:
1) Within a calculation input via the %block section. This is described in section Orbital and Density Plots. In
this way it can be used to create graphics (2D) or (3D) data for visualization.
2) It is also possible to run this program interactively. The input parameters are:
You will then get a simple, self-explaining menu that will allow you to generate a variety of files (such as .plt
and .cube) directly from the .gbw files without restarting or running a new job. If needed, the -m-option allows
to control the memory usage of your plotting job.
The listed utilities are printed by writing in the terminal
orca_plot my.gbw -i
*xyz 0 1
C 0.690940233 0.417992301 -1.170801378
C 0.690940233 1.616339301 -0.458357378
C 0.690940233 1.560238301 0.936438622
N 0.690940233 0.417992301 1.635468622
C 0.690940233 -0.724253699 0.936438622
C 0.690940233 -0.780354699 -0.458357378
H 0.690940233 0.417992301 -2.257043378
H 0.690940233 2.574997301 -0.967574378
H 0.690940233 2.478336301 1.521602622
H 0.690940233 -1.642351699 1.521602622
H 0.690940233 -1.739012699 -0.967574378
*
We can select to plot the HOMO from the list of Occupied Orbitals
----------------
ORBITAL ENERGIES
----------------
Enter a number: 3
Enter OP: 0
Enter a number: 4
Enter NGRID: 80
Enter a number: 5
File-Format is presently: 7
(7 - 3D Gaussian cube)
Enter a number: 8
Enter 0(MO) or 1(AO): 0
We can now use any visualization software e.g. chimera to plot the generated HOMO 20 orbital:(Figure: Fig. 7.66)
Enter a number: 1
-----------------------------------------------------------------------
Reading Over 2 Saved Densities ...
-----------------------------------------------------------------------
-----------------------------------------------------------------------
Plot-Type is presently: 1
-----------------------------------------------------------------------
Searching for Ground State Electron or Spin Densities: ...
-----------------------------------------------------------------------
1 - molecular orbitals
2 - (scf) electron density ...... (scfp ␣
˓→ ) => AVAILABLE
3 - (scf) spin density ...... (scfr ␣
˓→ ) - NOT AVAILABLE
4 - natural orbitals
5 - corresponding orbitals
6 - atomic orbitals
7 - mdci electron density ...... (mdcip ␣
˓→ ) - NOT AVAILABLE
8 - mdci spin density ...... (mdcir ␣
(continues on next page)
In this case the (scf) electron density is available and can be chosen to be visualized in a similar process as described
above for the orbitals.
Enter Type: 2
The default name of the density would be: pyridine_scf.scfp
Is this the one you want (y/n)?
---------------------
List of density names
---------------------
Following the above steps we can visualize the SCF electron density of pyridine
Enter a number: 10
-----------------------------------------------------------------------
Available Algebraic Operations:
-----------------------------------------------------------------------
1 - Pair Densities Addition
2 - Pair Densities Subtraction
3 - Pair Densities Multiplication
4 - Pair Densities Division
5 - Density Normalization
6 - Make Natural Transition Orbitals
7 - Make Natural Difference Orbitals
8 - Leave Section - Return to Main Menu
The important step to these processes is to make sure that the desired State or Transition State Densities are available
in the Densities file. To achieve this, one should request the desired densities to be stored in the disk after the
calculation is executed by the commands !KeepDens or !KeepTransDensity. Please NOTE that storage of
several hundreds or thousands of these densities need to be done with care from the user’s perspective as they
might occupy several hundreds of GB disk space!
Let us in addition on top of the SCF calculation of pyridine perform a canonical CCSD calculation with the fol-
lowing input:
!CCSD def2-SVP
*xyz 0 1
C 0.690940233 0.417992301 -1.170801378
C 0.690940233 1.616339301 -0.458357378
C 0.690940233 1.560238301 0.936438622
N 0.690940233 0.417992301 1.635468622
C 0.690940233 -0.724253699 0.936438622
C 0.690940233 -0.780354699 -0.458357378
H 0.690940233 0.417992301 -2.257043378
H 0.690940233 2.574997301 -0.967574378
(continues on next page)
Option 1 in the orca_plot menu will now provide us with both the scf and mdci electron densities.
-----------------------------------------------------------------------
Plot-Type is presently: 1
-----------------------------------------------------------------------
Searching for Ground State Electron or Spin Densities: ...
-----------------------------------------------------------------------
1 - molecular orbitals
2 - (scf) electron density ...... (scfp ␣
˓→ ) => AVAILABLE
3 - (scf) spin density ...... (scfr ␣
˓→ ) - NOT AVAILABLE
4 - natural orbitals
5 - corresponding orbitals
6 - atomic orbitals
7 - mdci electron density ...... (mdcip ␣
˓→ ) => AVAILABLE
Hence we can proceed and in option 2 of the Available Algebraic Operations menu take their difference to
produce the respective CCSD - HF electron correlation electron density as:
---------------------
List of density names
---------------------
-----------------------------------------------------------------------
Performing Algebraic Operations Over Densities: => SUBTRACTION
-----------------------------------------------------------------------
Number of Densities to be Processed from the List => 2:
-----------------------------------------------------------------------
Enter FileName for Density[ 0]: pyridine_ccsd.scfp
Provide a Scale Factor for Density[ 0] (Default => 1.00): 1
Enter FileName for Density[ 1]: pyridine_ccsd.mdcip
Provide a Scale Factor for Density[ 1] (Default => 1.00): 1
-----------------------------------------------------------------------
INTERPRETTING EQUATION:
-----------------------------------------------------------------------
1/sqrt(N) * [(1.00) * {pyridine_ccsd.scfp} - (1.00) * {pyridine_ccsd.mdcip}]
-----------------------------------------------------------------------
NOTE: The generated density is stored in the Density Container so that it can be further processed or properly
stored for future use
---------------------
List of density names
---------------------
Another useful utility option of orca_plot is that is able to generate Natural Transition Orbitals (NTOs) of Natural
Difference Orbitals (NDOs) from any theory level available State or Transition Density. Let us show case an
example. We now perform a SA-CASSCF (7,8) calculation on the pyridine molecule according to the input where
we make sure that all relevant densities are kept on disk after the calculation by adding the KeepTransDensity
in the keyword list.
!def2-SVP KeepTransDensity
%casscf
nel 8
norb 7
mult 1
nroots 10
end
*xyz 0 1
C 0.690940233 0.417992301 -1.170801378
C 0.690940233 1.616339301 -0.458357378
C 0.690940233 1.560238301 0.936438622
N 0.690940233 0.417992301 1.635468622
C 0.690940233 -0.724253699 0.936438622
C 0.690940233 -0.780354699 -0.458357378
H 0.690940233 0.417992301 -2.257043378
(continues on next page)
Indeed after the calculation we now have besides the CASSCF electron densities all the relevant CASSCF State
and Transition densities become now available.
-----------------------------------------------------------------------
Plot-Type is presently: 1
-----------------------------------------------------------------------
Searching for Ground State Electron or Spin Densities: ...
-----------------------------------------------------------------------
1 - molecular orbitals
2 - (scf) electron density ...... (scfp ␣
˓→ ) => AVAILABLE
3 - (scf) spin density ...... (scfr ␣
˓→ ) - NOT AVAILABLE
...
-----------------------------------------------------------------------
Searching for State or Transition State AO Electron Densities: ...
-----------------------------------------------------------------------
23 - CIS unrelaxed transition AO density ...... (Tdens-CIS ␣
˓→ ) - NOT AVAILABLE
24 - ROCIS unrelaxed transition AO density ...... (Tdens-ROCIS ␣
˓→ ) - NOT AVAILABLE
25 - CAS unrelaxed transition AO density ...... (Tdens-CAS ␣
˓→ ) => AVAILABLE
...
-----------------------------------------------------------------------
Searching for State or Transition State MO Electron Densities: ...
-----------------------------------------------------------------------
29 - CIS unrelaxed transition MO density ...... (Tdens-CISMO ␣
˓→ ) - NOT AVAILABLE
30 - ROCIS unrelaxed transition MO density ...... (Tdens-ROCISMO ␣
˓→ ) - NOT AVAILABLE
31 - CAS unrelaxed transition MO density ...... (Tdens-CASMO ␣
˓→ ) => AVAILABLE
...
We can now set ourselves to generate the NTOs and NDOs dominating the computed State 1
Hence by using options 6 =>NTOs or 7 =>NDOs of the Available Algebraic Operations menu, and pro-
cessing the respective:
1) AO Transition densities 𝐷01 for NTOs
-----------------------------------------------------------------------
Performing Algebraic Operations Over Densities: => MAKE_NTOS
-----------------------------------------------------------------------
Enter FileName for Density[ 0]: Tdens-CAS-0-0-0-1
Provide a Scale Factor for Density[ 0] (Default => 1.00): 1
-----------------------------------------------------------------------
NATURAL TRANSITION ORBITALS GENERATION:
-----------------------------------------------------------------------
Warning: The one-electron matrix doesn't exist - is recalculated (SHARK)
(continues on next page)
------------------------------------------------
NATURAL TRANSITION ORBITALS FOR STATE 1 1A
------------------------------------------------
0 : n= 1.28519446
1 : n= 0.03997952
2 : n= 0.01505089
3 : n= 0.00336119
-----------------------------------------------------------------------
Performing Algebraic Operations Over Densities: => MAKE_NDOS
-----------------------------------------------------------------------
Enter FileName for Density[ 0]: Tdens-CAS-0-0-0-0
Provide a Scale Factor for Density[ 0] (Default => 1.00): 1
Enter FileName for Density[ 1]: Tdens-CAS-0-0-1-1
Provide a Scale Factor for Density[ 1] (Default => 1.00): 1
-----------------------------------------------------------------------
NATURAL DIFFERENCE ORBITALS GENERATION:
-----------------------------------------------------------------------
Warning: The one-electron matrix doesn't exist - is recalculated (SHARK)
Calculating the overlap matrix ... done!
------------------------------------------------
NATURAL DIFFERENCE ORBITALS FOR STATE 1 1A
------------------------------------------------
0 : n= 0.49881235
1 : n= 0.08492368
(continues on next page)
-----------------------------------------------------------------------
Provide a Number of NDOs to plot (Default => 1): 1
-----------------------------------------------------------------------
-----------------------------------------------------------------------
Reading Donor NDO-file : Tdens-CAS-0-0-0-0-Tdens-CAS-0-0-1-1.1-1A_ndo-donor.gbw
-----------------------------------------------------------------------
Generating cube file for Donor NDO[0]:=> Tdens-CAS-0-0-0-0-Tdens-CAS-0-0-1-1.1-1A_ndo-donor.
˓→gbw.0.cube
-----------------------------------------------------------------------
Reading Acceptor NDO-file : Tdens-CAS-0-0-0-0-Tdens-CAS-0-0-1-1.1-1A_ndo-acceptor.gbw
-----------------------------------------------------------------------
Generating cube file for Acceptor NDO[0]:=> Tdens-CAS-0-0-0-0-Tdens-CAS-0-0-1-1.1-1A_ndo-
˓→acceptor.gbw.0.cube
Current-settings:
It is possible to produce the corresponding Donor and Acceptor NTOs and NDOs orbital pairs which can be readily
visualized in:
(Figure: Fig. 7.69)
Fig. 7.69: Pyridine SA-CASSCF(8,7) NTO/NDO donor/acceptor orbital pairs for State 1
NOTE: It is beneficial and more correct to always process the AO basis Densities. In particular it is not possible
nor is correct to process reduced MO basis Densities.
orca_plot mymol.densities
2) When orca_plot is used for very expensive plots, it even can be called in parallel mode:
3) It is possible to use orca_plot to create difference densities between the ground and excited states from CIS
or TD-DFT calculations directly from the .cis calculation information. This is implemented as an extra in-
teractive menu point that is (hopefully) self-explanatory. Starting from ORCA 6 one can use the Algebraic
Operations utility menu to carry out these operations directly from the generated State and Transition
Densities.
orca_2mkl BaseName
(will produce BaseName.mkl from BaseName.gbw)
orca_2mkl BaseName -molden
(writes a file in molden format)
orca_2mkl BaseName -mkl
(writes a file in MKL format)
We have recently also added the capability to convert any gbw type file into MKL or Molden format. Thus, you
can use this device to vizualize QRO or UNO or UCO orbitals or any type of natural orbitals:
You also have the opportunity to run orca_2mkl backwards in order to produce gbw type files. You can use
this device in order to import orbitals from other sources into ORCA. This is not a frequently used option and
it has limited capabilities. Hence, it is documented here only in a cursory way in order for you to be able to
experiment. Note that the CASSCF tutorial, that supplements the manual, shows how to edit the molecular orbitals
using orca_2mkl.
7.55.9 orca_2aim
This utility program reads a .gbw file and creates a .wfn and .wfx file that can be used for topological analysis of
the electron density by other programs. This works for open-shell and closed-shell wave functions. The usage is
very simple – just type AIM in the simple input line of your input file, or use
orca_2aim BaseName
(will produce BaseName.wfn and BaseName.wfx from BaseName.gbw)
7.55.10 orca_vpot
This program calculates the electrostatic potential at a given set of user defined points. It can be used with either
an input file or in interactive mode. It needs four arguments:
First: The gbw file containing the correct geometry and basis set
Second: The desired density matrix in this basis (perhaps use the KeepDens keyword)
Third: an ASCII file with the target positions in AU, e.g.
6 (number_of_points)
5.0 0.0 0.0 (XYZ coordinates)
-5.0 0.0 0.0
0.0 5.0 0.0
0.0-5.0 0.0
0.0 0.0 5.0
0.0 0.0 -5.0
Fourth: The target file which will then contain the electrostatic potential, e.g.
6 (number of points)
VX1 VY1 VZ1 (potential for first point)
VX2 VY2 VZ2 (potential for second point)
etc.
It should be straightforward for you to read this file and use the potential for whatever purpose.
There are some special ways to call orca_vpot: A call for use in parallel mode
orca_vpot MyJob.densities
7.55.11 orca_euler
This utility program is used to calculate the relative orientation between calculated hyperfine coupling
(HFC)/nuclear quadrupole coupling (NQC) tensors and a reference tensor (the calculated molecular g-/D-tensor).
The orca_euler program is run by default in an ORCA job after the calculation of HFCs or NQCs, if g- or D-
tensor are also calculated in the same job. The utility program can also be run as a stand-alone program. In this
case the .property.txt file of a previous NQC/HFC- and D- or g-tensor calculation must be available.
The orientation between the tensors is calculated in terms of a 3x3 rotational matrix R. This is parametrized by the
three so-called Euler angles 𝛼, 𝛽 and 𝛾. These angles define the relative orientation between two tensors A and
B by three successively applied rotations around different axes in order to align A with B. In the commonly used
z-y-z convention these three rotations are:
• Rotate A𝑥𝑦𝑧 counterclockwise around its 𝑧 axis by 𝛼 to give A𝑥′ 𝑦′ 𝑧′ .
• Rotate A𝑥′ 𝑦′ 𝑧′ counterclockwise around its 𝑦 ′ axis by 𝛽 to give A𝑥′′ 𝑦′′ 𝑧′′ .
• Rotate A𝑥′′ 𝑦′′ 𝑧′′ counterclockwise around its 𝑧 ′′ axis by 𝛾 to align with B.
options
-refg/-refD: Reference tensor (g-tensor or D-tensor, default is -refg)
-conv zyz/-conv zxz: Euler rotation convention (default is zyz)
-order: Ordering of the reference tensor (x, y, z) with respect to
ORCA output (min, mid, max)
-plotA: plot the HFC-tensors
-plotQ: plot the NQC-tensors
-detail: print detailed information
NOTE:
• By default the D-tensor is used as reference tensor only if 𝑆 > 12 and if D>0.3 cm−1 ; in all other cases the
g-tensor is used as reference tensor. The user can manually select the reference tensor – if the information
is available in the prop-file – by using –refg or -refD.
• By default the Euler rotation in the z-y-z convention is used. The z-x-z convention can be selected manually
by using the option –conv zxz.
• By default the axes of the g- or D-tensor are assigned depending on their magnitude. gmin → 𝑔𝑥 , gmid → 𝑔𝑦 ,
gmax → 𝑔𝑧 (similarly for D). This ordering can be modified manually when running the standalone program
as shown in the following examples:
-order 3 2 1: min → z
mid → y
max → x
-order 1 -2 3: min → x
mid → y (flipped in the orientation)
max → z
• The nuclear hyperfine and quadrupole coupling tensors can be plotted (in the xyz-file format) by the
orca_euler program using –plotA or –plotQ. The HFC tensor for atom 3 (counting starts at zero) is
e.g. stored in the file prop-file.3.A.xyz, the respective NQC tensor is stored in prop-file.3.Q.xyz.
In these xyz files the position of four atoms (He, Ne, Ar, Kr) is given. The x-, y- and z-direction of the tensor
are in the direction of the vectors between He-Ne, He-Ar and He-Kr.
• The actual definition of the used rotation matrix and more information on the relative orientation can be
printed by using the option –detail.
7.55.12 orca_exportbasis
A small utility program to print out the basis sets used by ORCA. Its usage requires at least the name of the basis
set, as specified in the simple input line of ORCA. Additional parameters like an ECP basis set, a list of specific
atoms or the name of an ouput file are accepted. The output is stored in ASCII format, it can be inspected and
modified. The user can choose to print the basis sets in either ORCA format, which then can be copied into the input
file, or in GAMESS-US format, which can be read via the %basis block as externally specified basis. NOTE: Basis
set names containing special characters may need a pair of enclosing “ or ‘ to be recognized.
Additional Options:
The output stored in GAMESS-US format can be used in the %basis block of the next ORCA calculation.
%basis
GTOName "mybasis.bas"
GTOAuxJName "myauxjbasis.bas"
GTOAuxJKName "myauxjkbasis.bas"
GTOAuxCName "myauxjcbasis.bas"
end
7.55.13 orca_eca
This utility program makes use of the calculated exchange coupling constants to compute relative energies of all
possible spin states through diagonalization of spin Hamiltonian. The absolute and relative energies of the spin
states are printed in the *.en and *.en0 files respectively. The on-site spin expectation values are also printed
in a *.sp file.The following example calculates the spin ladder for a system with exchange coupling constant of
-152.48 cm**-1 between Mn(III) and Mn(IV).
%sim
ms_bs 0.5 # Arbitrary spin state
end
7.55.14 orca_pnmr
orca_pnmr calculates the paramagnetic contribution to the NMR shielding tensor from EPR 𝑔, 𝐴, and 𝐷 tensors
(see Section Paramagnetic NMR shielding tensors for theoretical background). It is a standalone program which
you can invoke on the command line after the main ORCA calculation has finished. Alternatively, it can read user-
provided 𝑔/𝐴/𝐷 tensors from an input file (option -i). Note that orca_pnmr expects 𝑔 and 𝐴 tensors that conform
to the convention described in Section Cartesian Index Conventions for EPR and NMR Tensors.
When called without options, orca_pnmr will attempt to extract 𝑔, 𝐷, and 𝐴 tensors from the property file
BaseName.property.txt and use these to calculate the paramagnetic shieldings at 298 K. Note that this function-
ality is not sophisticated: it only recognizes EPR tensors calculated by the EPRNMR module. A more flexible way
to use the capabilities of orca_pnmr is to manually edit the textfile BaseName.pnmr.inp and then run orca_pnmr
with the -i option. The file has the following format:
• 𝐷 and 𝑔 tensors are optional: if they are not supplied orca_pnmr will assume the isotropic free-electron
value for 𝑔, and 𝐷 to be zero.
• 𝐴 tensors, however, are not optional; without an 𝐴 tensor for a given nucleus, the pNMR shielding cannot
be calculated for that nucleus.
7.55.15 orca_lft
Starting from ORCA 5.0, ORCA features a standalone multiplet program called orca_lft.
• Orca_lft is dedicated to experimental spectroscopists.
• It is able to run an arbitrary number of spectra simulations with emphasis on X-ray spectroscopies.
In this section we briefly review the main functionalities of orca_lft. For a more detail description and examples
discussion please refer to the orca_lft tutorial.
1. The goal is to be able to compute various spectroscopic properties of a given LFT center (ion) if one can
manually pass the information of 1 and 2 electron integrals in the form of e.g the diagonal elements of the
LFT matrix (LFT orbital energies) and the Slater-Condon parameters of a given LFT problem.
2. This will allow the experimental spectroscopist to perform a massive amount of spectra simulations during
the actual running experiments
Any LFT problem can be parametrized in terms 1-electron 𝐻𝐿𝐹 matrix elements and the Slater-Condon 2-electron
integrals F0, F2, F4, (or the Racah parameters A, B, C, of the d-shell). (Figure: Fig. 7.70)
Fig. 7.70: Definition of an LFT problem in terms of 1-electron energies and Slater Condon parameters (SCPs)
============================================================================================================
Usage: orca_lft BaseName.lft.inp [options]
============================================================================================================
-----------------------------------------------------------------------------------------------
˓→-------------
[Options]:
-----------------------------------------------------------------------------------------------
˓→-------------
************************************************************************************************************
(continues on next page)
============================================================================================================
Usage: orca_lft BaseName [options]
============================================================================================================
-----------------------------------------------------------------------------------------------
˓→-------------
[Options]:
-----------------------------------------------------------------------------------------------
˓→-------------
-Special Cases for known Elements. LFT Parameters are filled from an internal AILFT NEVPT2␣
˓→database
-atnoN -2s2p_case Requests 2s2p-shell case for element with atomic number N (4-9)
-atnoN -3s3p_case Requests 3s3p-shell case for element with atomic number N (12-18)
-atnoN -4s4p_case Requests 4s4p-shell case for element with atomic number N (20,31-
˓→36)
-atnoN -4s4p_case Requests 5s5p-shell case for element with atomic number N (38,49-
˓→54)
-atnoN -3d4s_case Requests 3d4s-shell case for element with atomic number N (22-29)
-atnoN -4d5s_case Requests 4d5s-shell case for element with atomic number N (40-47)
-atnoN -5d6s_case Requests 4d6s-shell case for element with atomic number N (72-79)
-atnoN -4f5d_case Requests 4d5d-shell case for element with atomic number N (59-70)
-atnoN -5f6d_case Requests 5d6d-shell case for element with atomic number N (91-
˓→102)
-atnoN -1s3d_case Requests 1s3d-shell case for element with atomic number N (22-29)
-atnoN -2p3d_case Requests 2p3d-shell case for element with atomic number N (22-29)
-atnoN -3p3d_case Requests 3p3d-shell case for element with atomic number N (22-29)
--------------------------------------Core-Valence XES Cases-----------------------------------
˓→-------------
-atnoN -1s2p3d_case Requests 1s2p3d-shell case for element with atomic number N (22-
˓→29)
-atnoN -1s3p3d_case Requests 1s3p3d-shell case for element with atomic number N (22-
˓→29)
-----------------------------------------------------------------------------------------------
˓→-------------
************************************************************************************************************
Spectra Simulation Options for the BaseName.lft.inp:
************************************************************************************************************
-----------------------------------------------------------------------------------------------
˓→-------------
-----------------------------------------------------------------------------------------------
˓→-------------
-----------------------------------------------------------------------------------------------
˓→------------
-----------------------------------------------------------------------------------------------
˓→-------------
-----------------------------------------------------------------------------------------------
˓→-------------
Magnetic Properties:
-----------------------------------------------------------------------------------------------
˓→-------------
Variable Parameters (if they are not given, default values are used)
-----------------------------------------------------------------------------------------------
˓→-------------
Orca_lft can run standalone by processing an input file (Basename.lft.inp) with orca_lft
orca BaseName.lft.inp
The different benefits of the two runs are provided in the orca_lft tutorial
Orca_lft can also be used to automatically generate initial proper input files. For example, by running
-----------------------------------------------------------------
Initial Input: BaseName.lft_pd.inp for Orca_LFT has been generated:
-----------------------------------------------------------------
This will generate a bare input. One has to fill in the required LFT parameters and the desired spectroscopic
properies and start the simulations like in every common multiplet program.
%lft
#-----Parameters------
NEl= 0
Shell_PQN= 0, 2, 3, 0
Mult= 0
NRoots= -1
#--------------------
#---Slater-Condon Parameters---
#---All Values in eV---
PARAMETERS
F0pp = 0.00
F2pp = 0.00
F0dd = 0.00
F2dd = 0.00
F4dd = 0.00
F0pd = 0.00
F2pd = 0.00
G1pd = 0.00
G3pd = 0.00
end
#--------------------
#---SPECTRA/PROPERTIES---
DoABS true
#---------
end
*xyz 0 0
Atom 0.00 0.00 0.00
*
Special initial inputs based on an internal NEVPT2 data base can also be generated. For the 2p3d LFT case of NiII
this will look like this
------------------------------------------------------------------------------
Creating input for Atom Ni(II) ...
------------------------------------------------------------------------------
-----------------------------------------------------------------
Initial Input: BaseName.lft_pd.inp for Orca_LFT has been generated:
-----------------------------------------------------------------
This will generate the following imput where the LFT parameters are filled in from an internal NEVPT2 database
from precomputed CASCI/NEVPT2 AILFT LFT parameters
In the case of 𝑁 𝑖𝐼𝐼 this will look like this. This is basically a ready to run input.
%lft
#-----Parameters------
NEl= 14
LFTCase 2p3d
Mult= 3, 1
NRoots= 25, 30
#--------------------
#---Slater-Condon Parameters---
#---All Values in eV---
PARAMETERS
F0pp = 85.88
F2pp = 54.77
F0dd = 23.31
F2dd = 13.89
(continues on next page)
#---SPECTRA/PROPERTIES---
DoABS true
#---------
end
*xyz 2 3
Ni 0.00 0.00 0.00
*
Alternatively as discussed in the Abinitio Ligand Field Theory section (1- and 2-shell Abinitio Ligand Field Theory)
one may actually run a 2-shell AILFT calculation and produce the respective *nevpt2.lft.inp file
%method
frozencore fc_none
end
#--------------------
#Rotate Orbitals
#--------------------
%scf
rotate
{2,6,90}
{3,7,90}
{4,8,90}
end
end
#--------------------
#General Options
#--------------------
%casscf
nel 14
norb 8
(continues on next page)
LFTCase 2p3d
rel
dosoc true
end
end
*xyz 2 3
Ni 0.0000000000 0.0000000000 0.0000000000
*
%lft
#-----Parameters------
NEl= 14
LFTCase 2p3d
Mult= 3, 1
NRoots= 25, 30
#--------------------
#---Slater-Condon Parameters---
#---All Values in eV---
(continues on next page)
#---SOC-CONSTANTS---
#---All Values in eV---
PARAMETERS
ZETA_P = 11.341
ZETA_D = 0.085
end
#--------------------
#---SPECTRA/PROPERTIES---
DoABS true
DoSOC true
#---------
end
*xyz 2 3
Ni 0.00 0.00 0.00
*
------------------------------------------------------------------------------
L I G A N D F I E L D T H E O R Y
------------------------------------------------------------------------------
Number of electrons = 14
Multiplicities = 3 1
Roots = 25 30
Shells included = 0 2 3 0
---------------------------------------------------
Atomic calculation : Multiplet analysis (LFT)
(continues on next page)
*************************************
Doing QDPT with ONLY SOC!
*************************************
------------------------------------
NONZERO SOC MATRIX ELEMENTS (cm**-1)
------------------------------------
Bra Ket
<Block Root S Ms | HSOC | Block Root S Ms> = Real-part Imaginary part
--------------------------------------------------------------------------------------
0 1 1.0 1.0 0 0 1.0 1.0 0.000 -685.571
0 3 1.0 1.0 0 2 1.0 1.0 0.000 342.781
0 4 1.0 1.0 0 2 1.0 1.0 0.000 0.134
0 4 1.0 1.0 0 3 1.0 1.0 0.000 -2.946
0 5 1.0 1.0 0 2 1.0 1.0 0.000 0.987
0 5 1.0 1.0 0 3 1.0 1.0 0.000 7.920
0 5 1.0 1.0 0 4 1.0 1.0 0.000 -1022.995
0 6 1.0 1.0 0 2 1.0 1.0 0.000 -3.379
...
Note: In the following the full <I|HBO+SOC|J> are printed in the CI Basis.
I,J are compound indices for |Block/Mult, Ms, Root>, where the states
are ordered first by MultBlock, then Ms and finally Root.
...
STATE 1: 0.0000
0.180266 0.018153 0.424189 : 0 0 1 1
0.180623 -0.424680 0.016424 : 0 1 1 1
0.245822 0.492098 -0.060506 : 0 4 1 0
0.001648 -0.040383 -0.004177 : 0 5 1 0
0.002114 0.045969 -0.001038 : 0 6 1 0
0.195326 0.087330 0.433242 : 0 0 1 -1
0.192550 0.430084 -0.087049 : 0 1 1 -1
...
------------------------------------------------------------------------------------------
SOC CORRECTED ABSORPTION SPECTRUM
------------------------------------------------------------------------------------------
States Energy Wavelength fosc T2 |TX| |TY| |TZ|
(cm-1) (nm) (D**2) (D) (D) (D)
------------------------------------------------------------------------------------------
0 1 0.0 0.0 0.000000000 0.00006 0.00748 0.00248 0.00014
0 2 0.0 0.0 0.000000000 0.08561 0.15114 0.25053 0.00001
0 3 0.0 0.0 0.000000000 0.08072 0.24632 0.14159 0.00001
0 4 0.0 5379590440159.6 0.000000000 0.00010 0.00622 0.00793 0.00050
0 5 0.0 5308337586647.6 0.000000000 0.00021 0.01379 0.00399 0.00008
0 6 0.0 3910043783335.5 0.000000000 0.02400 0.04644 0.14780 0.00056
0 7 0.0 3891062988270.8 0.000000000 0.03327 0.05783 0.17298 0.00064
0 8 0.0 3626963690424.4 0.000000000 0.04657 0.21455 0.02332 0.00029
0 9 1386.7 7211.2 0.000000723 0.00998 0.01613 0.09858 0.00007
0 10 1386.7 7211.2 0.000000741 0.01022 0.09943 0.01828 0.00001
0 11 1386.7 7211.2 0.000000001 0.00002 0.00200 0.00345 0.00006
0 12 1386.7 7211.2 0.000000018 0.00024 0.00512 0.01469 0.00011
0 13 1386.7 7211.2 0.000000006 0.00009 0.00899 0.00263 0.00002
0 14 1386.7 7211.2 0.000000000 0.00000 0.00044 0.00179 0.00001
...
By processing the *.out file as usual with orca_mapspc orca_mapspc the *.dat and *.stk files are generated resulting
in Fig. 7.71.
7.55.16 orca_crystalprep
ORCA 5.0 fetures a utility program that can process crystallographic files (.cif) or .xyz supercell files and produce
proper inputs for the embedded cluster calculations It is named orca_crystalprep tool.
Performing an embedded cluster calculation conventionally or within the Ionic-Crystal-QMMM one needs to define
basically 3 regions
1. The quantum cluster QC that will be treated quantum mechanically
2. The point charges region PC that represents the solids environment
3. A boundary region BR or ECP that is located between the QC and PC with the main role to prevent charge
communication between the QC and PC regions.
This implies that in a first step one needs to generate a SuperCell (.xyz) structure and separate the different regions
according to the calculation design. In a second step one needs to charge balance the system. All this is then need
to be combined into a proper calculation input.
This is clearly a multistep and many times multiplatform process that is
1. Complicated
2. Time consuming
3. Not user friendly
The orca_crystalprep utility is designed to automatically generate proper inputs for ORCA embedded cluster cal-
culations with the aim to allow to a wide range of experienaced and not experienced users the ability to setup an
embedded cluster calculation with a minimal effort.
orca_crystalprep requires its own input. By simply executing it from the terminal
orca_crystalprep
============================================================================================================
Usage: orca_crystalprep [Basename Input] [options]
============================================================================================================
-----------------------------------------------------------------------------------------------
˓→-------------
[Options]:
-----------------------------------------------------------------------------------------------
˓→-------------
************************************************************************************************************
Generate ORCA Embedding Cluster Inputs using the CrystalPrep Utility
************************************************************************************************************
============================================================================================================
Usage: orca_crystalprep [CrystalPrep Input]
============================================================================================================
General Definitions
-----------------------------------------------------------------------------------------------
˓→--------------
ECPAtoms ECP Atoms List Specify the List of the ECP Atoms (e.g.␣
˓→0,1,4,10...
Example Input
NQAtoms= 4
QCAtoms 0,1,4,10
-----------------------------------------------------------------------------------------------
˓→--------------
-----------------------------------------------------------------------------------------------
˓→--------------
Redefine SuperCell Origin. This is for shifting the center origin to a desired atom during the␣
˓→SC Construction
This Helps to automatically construct desired Cluster structures using the Layers Definition
-----------------------------------------------------------------------------------------------
˓→--------------
-----------------------------------------------------------------------------------------------
˓→--------------
ChargePoints the charge points Specify the number of the charge points␣
˓→(default 1000)
ChargeStep the charge points Define the step during the iterations␣
˓→(default 0.01)
Neutralization Schemes:
NeutralizingScheme1 true -> Neutralization is based on All Charges
NeutralizingScheme2 true -> Neutralization is based on different␣
˓→charges
NAtomTypes Number of Atom Types Specify The Atom types that will be␣
˓→defined
Example Input
#-------------------------
#Atom Type Charge Spin
#-------------------------
AtomTypes 2
Co 1 2.0 1.5
Co 2 3.0 0
end
This specifies the local Spin and Charge of a Td HS Co2+ center (Type 1) and a OH Co3+ center␣
˓→(Type 2)
In a first step the orca_crystalprep tool can be used to generate its own input. So by running:
---------------------------------------------------------------------------------
Initial Input: crystalprep.inp for Orca_CrystalPrep has been generated. All Done!
---------------------------------------------------------------------------------
%crystalprep
#************************
#Read CIF/XYZ
#************************
(continues on next page)
#------------------------
#INPUT CIF/XYZ
#------------------------
#InputCIF "CIFName.cif"
#------------------------
#Set Special Tasks
#------------------------
#SpaceGroupNumber 200
#************************
#Generate SuperCell
#************************
DoSuperCell true
SCDimension "1x1x1"
#************************
#Setup Embedding Approach
#************************
DoEmbedding true
DoLayers true
#------------------------
#Atom Type Charge Spin
#------------------------
#NAtomTypes 2
#Co 1 2.0 1.5
#Co 2 3.0 0.0
#************************
#Generate Inputs
#************************
#DoSimpleInput true
#DoICQMMMInput true
#Neutralize true
#QCCharge 0
#QCMult 1
#------------------------
end
By providing names for the *.cif or *.xyz files that are desired to be processed and different options it is possible
to generate a ready to run embedding cluster input as is shown in Fig. 7.72.
For the construction of the embedded cluster structure by default a layers approach is performed in which the
different structural layers are constructed as multiplets of the unitcell or a fraction of the unitcell
The unitcell fractions in terms of volume units are specified by the following keyword
CellVolumeFraction N #by default N=1
#************************
#Read CIF/XYZ
#************************
DoCIF true
#------------------------
#INPUT CIF/XYZ
#------------------------
InputCIF "nacl.cif"
#************************
#Generate SuperCell
#************************
DoSuperCell true
SCDimension "20x20x20"
#************************
#Setup Embedding Approach
#************************
(continues on next page)
#------------------------
#Atom Type Charge Spin
#------------------------
NAtomTypes 2
Na 0 1.0 0.0
Cl 1 -1.0 0.0
#************************
#Generate Inputs
#************************
DoICQMMMInput true
QCCharge 0
QCMult 1
#------------------------
end
In a first step the orca_crystalprep will process the nacl.cif file and will create the unitcell and the requested
20x20x20 supercell
-------------------------------------------------------------
Reading Information from the provided CIF file: nacl.cif
-------------------------------------------------------------
Transformation Matrix:
0 1 2
0 80.480000 0.000000 0.000000
1 0.000000 80.480000 0.000000
2 0.000000 0.000000 80.480000
---------------------------------------------------------------------
Saving xyz file: nacl4.cif_20x20x20.xyz ...Done
---------------------------------------------------------------------
In a following step the costruction of the embedding cluster structure will be initiated
In a next step the center of the .xyz supercell will be assigned to the closest atom:
-------------------------------
The Center of XYZ Coordinates
-------------------------------
41.246, 41.246, 41.246
-------------------------------
Closest Atom to Center
-------------------------------
Na(4630) 40.240, 40.240, 40.240
-------------------------------
Shifting Origin to closest atom
-------------------------------
40.240, 40.240, 40.240
--------------------------------------
Saving Generated Layers PDB File ...
--------------------------------------
Ionic-Crystal QM/MM requires the generation of a simple force field *.prms For details see section: ORCA Mul-
tiscale Implementation The needed information including charge and spin is taken from a *metainfo file. The
orca_crystalprep provides the possibility to externally set chatge and spin in the *.metainfo file
This is acheived by the following process:
At first processing of the .cif files assignes atom types to all the detected atoms in the asymetric unit
In the orca_crystalprep input it is possible to assign specific initial charge and spin to atoms of a paricular atom
type in the following way:
NAtomTypes 2
Na 0 1.0 0.0
Cl 1 -1.0 0.0
18522
# atom nr. - element - atom type - formal charge - formal spin - molecule nr
0 Na 0 1 0 1
1 Na 0 1 0 1
2 Na 0 1 0 1
...
9261 Cl 1 -1 0 1
9262 Cl 1 -1 0 1
9263 Cl 1 -1 0 1
...
Fig. 7.73: Generated Embedded cluster. QC: 𝑁 𝑎4 𝐶𝑙4 , ECP region red dots, PC region small green and purple
dots
!Ionic-Crystal-QMMM
#Include Method
%qmmm
#--------Define the Cluster---------
ORCAFFFilename= ""
Use_QM_InfoFromPDB true
Use_QM3_InfoFromPDB true
ECPLayerECP= "SDD"
#--------Charge Convergence---------
CONV_Charges false
ENFORCETOTALCHARGE true
CHARGE_TOTAL 0
PrintLevel 4
end
#-----------------------------------
*pdbfile 0 1 nacl.cif_20x20x20.pdb
Note: that the information regarding the QC, ECP and PC regions is read from the generated *.pdb file
• Further information regarding the IC-QM/MM and the QM/MM module in general is provided in section
ORCA Multiscale Implementation
• Further information and examples regarding the orca_crystalprep tool and the embedding approach is pro-
vided in the Treating Solids with the Embedding Cluster approach tutorial.
• GetGhostAtoms(G.GetGhostAtoms)
• GetNumOfAtoms(G.GetNumOfAtoms)
• MoveAtomToCenter(G.MoveAtomToCenter)
• Read(G.Read)
• RemoveAtoms(G.RemoveAtoms)
• RemoveElements(G.RemoveElements)
• WriteXYZFile(G.WriteXYZFile)
——————————– GΟΑΤ Related ——————————-
• GOAT(GOAT )
• Get_Energy (Goat.Get_Energy)
• Get_Num_Of_Geometries (Goat.Get_Num_Of_Geometries)
• Parse_ensemble_file (Goat.Parse_Ensemble_File)
• Set_Basename (Goat.Set_Basename)
• Print (Goat.Print)
• WriteXYZFile (Goat.WriteXYZFile)
—————————— If block Related ——————————
• If (If )
—————————- Linear Algebra Related —————————-
• Diagonalize(Diagonalize)
• InvertMatrix(InvertMatrix)
• Mat_p_Mat(Mat_p_Mat)
• Mat_x_Mat(Mat_x_Mat)
• Mat_x_Scal(Mat_x_Scal)
————————— ORCA calculation Related —————————
• Basenames(Basenames)
• ReadMOs(ReadMOs)
—————————– Program flow Related —————————–
• Abort (Abort)
• End (End)
• EndRun (EndRun)
• GoTo (GoTo)
————————— Property File Related —————————-
• GetNumOfInstances(GetNumOfInstances)
• Read(Read)
• ReadProperty(ReadProperty)
————————– String Handling Related ————————–
• GetBasename (S.GetBasename)
• GetChar (S.GetChar)
• GetSuffix (S.GetSuffix)
• Print (Print)
• Write2File (Write2File)
• Write2String (Write2String)
——————————— Step Related ———————————
• & (&)
• Alias (Alias)
—————————– Timer Related ————————————
• Timer (Timer)
• Last (T.Last)
• Reset (T.Reset)
• Start (T.Start)
• Stop (T.Stop)
• Total (T.Total)
————————— Variables Related ———————————-
• Variables (Variables - General)
• Variables - Assignment (Variables - Assignment)
• Variables - Declaration (Variables - Declaration)
• Variables - Functions (Variables - Functions)
• Variable - With (With)
• GetBool() V.GetBool()
• GetDim1() V.GetDim1()
• GetDim2() V.GetDim2()
• GetDouble() V.GetDouble()
• GetInteger() V.GetInteger()
• GetSize() V.GetSize()
• GetString() V.GetString()
• PrintMatrix() V.PrintMatrix()
• Write2File (Write2File)
• Write2String (Write2String)
&
The & symbol has a special meaning in the compound block. Using this symbol inside the New_Step - Step_End
block the user can use variables that are defined outside the block. Both string and numerical variables are allowed.
Syntax:
&{variable}
Example
# --------------------------------------------
# This script checks the options for the
# '&' symbol
# --------------------------------------------
%Compound
(continues on next page)
Abort
Abort is used when the user wants to exit the program instantly. Syntax:
Abort;
or alternatively:
Abort
Example:
%Compound
for i from 0 to 4 do
print("i: %d\n", i);
if (i=2) then
abort;
endif
endfor
End
Alias
Alias is used to replace an integer number with a more representative string. It is useful when one performs more
than one calculations and the step numbers become too complicated to evaluate. In this case using Alias_Step after
the Step_End command will connect the preceeding calculation step number with the provided name.
Syntax:
Alias 𝑛𝑎𝑚𝑒;
or alternatively:
Alias 𝑛𝑎𝑚𝑒
Example:
# ----------------------------------
# This script checks 'alias' keyword
# ----------------------------------
Variable numOfSteps = 20;
Variable Range = 4.0;
(continues on next page)
print("--------------------------------------\n");
print(" Compound Printing \n");
print("%s %12s %16s \n","Step", "Distance", "Energy");
print("--------------------------------------\n");
For index from 0 to numOfSteps - 1 Do
Distance = distStart + index*Step;
print("%4d %12.4lf %16.8lf \n", index, Distance, Energies[index]);
EndFor
End
Basenames
Basenames in a variable that is automatically created in Compound everytime a New_Step is used and it holds the
name of this step. It can be used to recover this name during running of a calculation. It practically is a vector were
value zero corresponds to the main calculation before any new_step command.
Example:
*xyz 0 1
H 0.0 0.0 0.0
H 0.0 0.0 0.8
*
%Compound
new_step
!BP86
step_end
alias lala;
print("Basaenames[0]: %s\n", basenames[0]);
print("Basaenames[1]: %s\n", basenames[lala]);
End
Break
Break can be used inside a For loop (see (see For)) when one needs to break the loop under certain conditions.
The syntax is the following:
Syntax:
For variable From Start value To End value Do
commands
break ;
commands
EndFor;
NOTE both versions break and break; are legal.
What break actually does is to set the running index of the loop to the last allowed value and then jump to the
EndFor (see EndFor)).
Example:
#
# This a script to check Compound 'break' command
#
%Compound
print(" Test for 'break'\n");
print(" It should print 0, 1 and 2\n");
for i from 0 to 6 Do
if (2*i > 4) then
break
endIF
print("index: %d\n", i);
EndFor
End
CloseFile
When a file is opened in Compound using the openFile command (see OpenFile), then it must be closed using the
closeFile command.
Syntax:
closeFile(file);
file is the file pointer created from the openFile command. For an example see paragraph OpenFile.
Continue
Continue can be used inside a For loop (see (see For)) when one needs to skip the current step of the loop and
proceed to the next one. The syntax is the following:
Syntax:
For variable From Start value To End value Do
commands
continue ;
commands
EndFor;
NOTE both versions continue and continue; are legal.
What continue actually does is to jump to the EndFor (see EndFor)).
Example:
# -----------------------------------------------------
# This is a script to check Compound 'continue' command
# ----------------------------------------------------
%Compound
print(" Test for 'continue'\n");
print(" It should print 0, 1, 2 and 4\n");
for i from 0 to 4 Do
if ( i=3) then
(continues on next page)
Dataset
In Compound we have Dataset objects. These objects can be treated like normal variables of type ‘compDataset’.
An important difference between normal variables and Dataset variables is the declaration. Instead of the normal:
Variable x;
we excplicitly have to declare that this is a dataset. So the syntax for a dataset declaration is:
Syntax:
Dataset mySet;
NOTE in the case of datasets we do not allow multiple dataset declarations per line.
Below is a list of functions that work on Dataset.
• MakeReferenceFromDir(D.MakeReferenceFromDir)
• Print(D.Print)
Example:
# ----------------------------------------------------
# This is an example script for dataset definition
# -----------------------------------------------------
%Compound
dataset mySet;
mySet.Print();
End
D.MakeReferenceFromDir
MakeReferenceFromDir command acts on a dataset object (see Dataset). It creates a json reference file based on
the *xyz files of the current folder. NOTE By default all charges and multplicities will be set to 0 and 1 respectively.
Syntax:
mySet.MakeReferenceFromDir(dirName);
Where:
• mySet is a dataset object that is already declared
• dirName The name of a directory that should contain some xyz files.
Example:
%Compound
# ------------------------------------
# This is a compound script that will
# check dataset.MakeReferenceFromDir
# function
# NOTE: The script assumes that some
# xyz files rest in the current
# directory
# ------------------------------------
D.Print
Print command acts on a dataset object (see Dataset). It prints all details of the specific dataset object.
Syntax:
mySet.Print();
Where:
• mySet is a dataset object that is already declared
Example:
# ----------------------------------------------------
# This is an example script for dataset definition
# -----------------------------------------------------
%Compound
dataset mySet;
mySet.Print();
End
Diagonalize
Compound can peform matrix algebraic operations, one of the available algebraic operation is matrix diagonal-
ization. Be carefull that the matrix, that is to be diagonalized, must be a square symmetric matrix. It is also
important to remember that only the upper triangle part of the matrix will be used for the diagonalization. If
everything proceeds smoothly then the function will return the eigenvectors and eigenvalues of the matrix.
Syntax:
A.Diagonalize(eigenValues, eigenVectors);
Where:
• A: The matrix to be diagonalized.
• eigenValues: The vector with the eigenvalues
• eigenVectors: The square matrix with the eigenvectros of the initial matrix.
Example:
# ----------------------------------------------------
# This is an example script for diagonalization
# -----------------------------------------------------
%Compound
Variable Dim=3;
Variable A[Dim][Dim];
Variable eigenVal;
Variable eigenVec;
for i from 0 to Dim-1 Do
for j from 0 to Dim-1 Do
if (i<=j) then
A[i][j] = i+j+1;
else
(continues on next page)
End
End is the final command each compound script must have (unless there is an EndRun command (see EndRun)).
After Compound executes what is written in the script then it passes control again to normal ORCA input reading.
ORCA will continue analyze the input that rests after the Compound part but it will not run any calculation.
EndRun
#EndRun* is an alternative to the End command (see EndRun) for ending the execution of a Compound script. The
difference between end and EndRun is that EndRun ignores everything after the Compound block. This makes it
even easier to use Compound as a full workflow run.
EndFor
All For loops (see For) must finish with EndFor. The syntax and an example is shown in the For section (see For).
NOTE For EndFor both EndFor and EndFor; are possible.
For
For loops are used to perform repetitive tasks. The syntax is the following:
Syntax:
For variable From Start value To End value Do
commands
EndFor or EndFor;
Variable should be a variable name not previously defined. Start value and End value should be integers defining
the start and end value of the variable. Start value and End value can be numbers, predefined variables or functions
of previously defined variables. The only requirement is that they should be integers. Keep in mind that the loop
will be performed from the first value to the End value, including the End value.
Example:
# ---------------------------------------
# This is a script to check 'for' loops
# ---------------------------------------
# ---------------------------------
# Some necessary initial definitions
# ----------------------------------
Variable x = {0.0, 1.0, 2.0, 3.0, 4.0};
Variable f;
Variable loopStart;
Variable upLimit;
# -----------------------------------
# Case 1.
# Constant Start / Constant End
# -----------------------------------
(continues on next page)
loopStart = 0;
upLimit = 4;
print(" -------------- Case 2 --------------\n");
print(" Variable Start / Variable End \n");
print(" f = index*x[index] \n");
print( " for index from loopStart to upLimit Do\n");
print(" -------------------------------------\n");
for index from loopStart to upLimit Do
f = index*x[index];
print("Index: %3d x[index]: %.2lf f: %.2lf\n", index, x[index], f);
EndFor
loopStart = 1;
upLimit = 3;
print(" -------------- Case 3 -------------- \n");
print(" function Start / function End \n");
print(" f = index*x[index] \n");
print( " for index from start-1 to upLimit+1 Do\n");
print(" ------------------------------------- \n");
for index from loopStart-1 to upLimit+1 Do
f = index*x[index];
print("Index: %3d x[index]: %.2lf f: %.2lf\n", index, x[index], f);
EndFor
End
Geometry
In Compound we have Geometry objects. These objects can be treated like normal variables of type ‘compGeom-
etry’. An important difference between normal variables and Geometry variables is the declaration. Instead of the
normal:
Variable myGeom;
we excplicitly have to declare that this is a geometry. So the syntax for a geometry declaration is:
Syntax:
Geometry myGeom;
Using the second definition one can define two geometry objects in the same line.
Below is a list of functions that work on Geometry objects.
• BohrToAngs(G.BohrToAngs)
• CreateBSSE (G.CreateBSSE)
• FollowNormalMode (G.FollowNormalMode)
• GetAtomicNumbers(G.GetAtomicNumbers)
• GetBondDistance(G.GetBondDistance)
• GetCartesians(G.GetCartesians)
• GetGhostAtoms(G.GetGhostAtoms)
• GetNumOfAtoms(G.GetNumOfAtoms)
• MoveAtomToCenter(G.MoveAtomToCenter)
• Read(G.Read)
• RemoveAtoms(G.RemoveAtoms)
• RemoveElements(G.RemoveElements)
• WriteXYZFile(G.WriteXYZFile)
G.BohrToAngs
BohrToAngs command acts on a geometry object (see see Geometry). It will transform the geometry of the
loaded geometry object from Bohr to Angstroms. Practically it will just multiply the coordinates with the fac-
tor 0.529177249.
Syntax:
myGeom.BohrToAngs();
Where:
• myGeom is a geometry object that already contains a geometry
Example:
# ----------------------------------------------------
# This is a script to check the BohrToAngs function
# -----------------------------------------------------
*xyz 0 1
O -1.69296787 -0.05579265 0.00556629
H -2.01296504 0.84704339 -0.01586469
H -0.73325076 0.04238910 0.00084302
*
%Compound
Geometry myGeom;
Variable CC;
New_Step
!BP86
Step_End
myGeom.Read();
myGeom.BohrToAngs();
CC = myGeom.GetCartesians();
CC.PrintMatrix();
End
G.CreateBSSE
CreateBSSE command acts on a geometry object (see see Geometry). In the case that the geometry object contains
ghost atoms then CreateBSSE will create five new files:
• myFilename_FragmentA.xyz
• myFilename_MonomerA.xyz
• myFilename_FragmentB.xyz
• myFilename_MonomerB.xyz
• myFilename_Total.xyz
Syntax:
myGeom.CreateBSSE(filename=myFilename);
Where:
• myGeom is a geometry object that already contains a geometry
• filename is a base filename for the created files.
Example:
# --------------------------------------------------------
# This is a scrtipt to check the geom.CreateBSSE command
# -------------------------------------------------------
*xyz 0 1
o: -1.69296787 -0.05579265 0.00556629
h: -2.01296504 0.84704339 -0.01586469
h: -0.73325076 0.04238910 0.00084302
o 1.23009925 0.02698440 -0.00375550
h 1.60672086 -0.41139567 0.76236888
h 1.60236356 -0.44922858 -0.74915800
*
%Compound
Geometry monomerA;
variable myFilename = "BSSE";
Variable method = "BP86";
# --------------------------------------
# Calculation for Fragment A
# --------------------------------------
New_Step
!&{method}
Step_End
# -------------------------------------
# Read the geometry of Fragment A
# -------------------------------------
monomerA.Read();
# -------------------------------------
# Create the missing xyz files
# -------------------------------------
monomerA.CreateBSSE(filename=myFilename);
End
G.FollowNormalMode
FollowNormalMode command acts on a geometry object (see see Geometry). It will displace the loaded geometry
following a chosen normal mode of vibtation
Syntax:
myGeom.FollowNormalMode(vibrationSN=myVibration, [ScalingFactor=myScalingFactor]);
Where:
• myGeom is a geometry object that already contains a geometry
• vibrationSN is the serial number of the vibration. NOTE Please remember that counting starts with 1.
• scalingFactor is the scaling of the normal mode of vibration. This argument is optional.
Example:
# ----------------------------------------------------
# This is a script to check the followNormalMode function
# -----------------------------------------------------
*xyz 0 1
O -1.69296787 -0.05579265 0.00556629
H -2.01296504 0.84704339 -0.01586469
H -0.73325076 0.04238910 0.00084302
*
%Compound
Geometry myGeom;
Variable CC, normalModes;
Variable res = -1;
New_Step
!BP86 Freq
Step_End
myGeom.Read();
myGeom.FollowNormalMode(vibrationSN=7, scalingFactor=0.8);
CC = myGeom.GetCartesians();
CC.PrintMatrix();
End
G.GetAtomicNumbers
Function GetAtomicNumbers acts on geometry objects and returns and array with the atomic numbers of the ele-
ments in the working geometry.
Syntax: atomNumbers = geom.GetAtomicNumbers()
atomNumbers A variable that will be filled with the values of the atomic numbers
geom A geometry object that should already be loaded.
Example:
*xyz 0 1
O -1.69296787 -0.05579265 0.00556629
H -2.01296504 0.84704339 -0.01586469
H -0.73325076 0.04238910 0.00084302
*
%Compound
Geometry myGeom;
Variable atomicNumbers;
New_Step
!BP86
Step_End
myGeom.Read();
atomicNumbers = myGeom.GetAtomicNumbers();
print("\nCompound \n");
for i from 0 to atomicNumbers.GetSize()-1 Do
print("Atom '%d': atomic number: %d\n", i, atomicNumbers[i]);
EndFor
End
G.GetBondDistance
Function GetBondDistance acts on geometry objects and returns the distance between two atoms in Bohrs.
Syntax:
res = geom.GetBondDistance(atomA, atomB)
Where:
res The distance between atoms atomA and atomB.
geom A geometry object previously loaded.
atomA The index of atomA in the geometry.
atomB The index of atomB in the geometry.
NOTE indices start counting from 0
Example:
# ------------------------------------
# This is to test Geometry function
# GetBondDistance
# ------------------------------------
%Compound
Variable dist;
Geometry myGeom;
New_Step
!BP86
*xyz 0 1
H 0.0 0.0 0.0
H 0.0 0.0 0.8
*
Step_End
myGeom.Read(); #Reads teh geometry of the previous step
print( " -------------------------------------------------------\n");
print( " Compound Geometry functions test (GetBondDistance) \n");
print( " It should print 1.5118\n");
print( " -------------------------------------------------------\n");
print( " The distance between atom %d and atom %d is: %.4lf Bohr\n",
0, 1, myGeom.GetBondDistance(0,1));
End
G.GetCartesians
Function GetCartesians acts on geometry objects (see Geometry) and returns the distance xyz cartesian coordi-
nates. Please remember that it alsways returns the cooridnates in BOHRS.
Syntax:
coords = geom.GetCartesians()
Where:
coords: A (nAtoms,3) array with the cartesian coordinates in BOHRS.
geom: A geometry object previously loaded.
Example:
# ----------------------------------------------------
# This is a script to check the GetCartesians function
# NOTE: It always return it in Bohrs!
# -----------------------------------------------------
*xyz 0 1
O -1.69296787 -0.05579265 0.00556629
H -2.01296504 0.84704339 -0.01586469
H -0.73325076 0.04238910 0.00084302
*
%Compound
(continues on next page)
G.GetGhostAtoms
Function GetGhostAtoms acts on geometry objects (see Geometry). It returns a vector of size nAtoms where for
each atom the value will be -1 if it is a ghost atom, otherwise the atomic number of the element
Syntax:
ghostAtoms = geom.GetGhostAtoms()
Where:
ghostAtoms: A (nAtoms,1) integer vector with values -1 or the atomic number of the atom, in case it is not a ghost
atom.
geom: A geometry object previously loaded.
Example:
# ----------------------------------------------------
# This is a script to check the getGhostAtoms function
# -----------------------------------------------------
*xyz 0 1
o: -1.69296787 -0.05579265 0.00556629
h: -2.01296504 0.84704339 -0.01586469
h: -0.73325076 0.04238910 0.00084302
o 1.23009925 0.02698440 -0.00375550
h 1.60672086 -0.41139567 0.76236888
h 1.60236356 -0.44922858 -0.74915800
*
%Compound
Geometry myGeom;
Variable ghostAtoms;
New_Step
!BP86
Step_End
myGeom.Read();
ghostAtoms = myGeom.GetGhostAtoms();
ghostAtoms.PrintMatrix();
End
G.GetNumOfAtoms
GetNumOfAtoms returns an integer with the number of atoms of the working geometry.
Syntax:
res = geom.GetNumOfAtoms();
Where:
res is the resulting number of atoms
*xyz 0 1
O -1.69296787 -0.05579265 0.00556629
H -2.01296504 0.84704339 -0.01586469
H -0.73325076 0.04238910 0.00084302
*
%Compound
Geometry myGeom;
Variable numOfAtoms = 0;
New_Step
!BP86
Step_End
Alias currStep;
myGeom.Read(currStep);
numOfAtoms = myGeom.GetNumOfAtoms();
print("\nCompound \n");
print("Number of atoms: %d (it should print 3)\n", numOfAtoms);
End
G.MoveAtomToCenter
Function MoveAtomToCenter acts on geometry objects (see Geometry). It will adjust the cartesian coordinates so
that the chosen atom will rest at (0.0 0.0 0.0).
Syntax:
geom.MoveAtomToCenter(atom serial nubmer);
Where:
geom: A geometry object previously loaded.
atom serial number: The serial number of the atom in the geometry.
Example:
# ----------------------------------------------------
# This is a script to check the moveAtomToCenter function
# -----------------------------------------------------
*xyz 0 1
O -1.69296787 -0.05579265 0.00556629
H -2.01296504 0.84704339 -0.01586469
H -0.73325076 0.04238910 0.00084302
*
%Compound
Geometry myGeom;
Variable CC;
New_Step
!BP86
Step_End
myGeom.Read();
myGeom.MoveAtomToCenter(0);
myGeom.BohrToAngs();
CC = myGeom.GetCartesians();
CC.PrintMatrix();
End
NOTE Please remember that counting starts with 0, meaning that the first atom is 0 and not 1!
G.Read
Function Read acts on geometry objects (see Geometry) and reads a geometry from a property file related to a
previous step.
Syntax:
geom.Read([stepID=myStepID], propertySN=myPropertySN)
Where:
geom: A geometry object that will be updated.
stepID: The step from which we are going to read the geometry. If not given the previous step will be used.
propertySN: The serial number the geometry in the property file. If not given the last available geometry will be
used.
Example:
# ----------------------------------------------------
# This is a script to check the Read function for
# geometries
# -----------------------------------------------------
*xyz 0 1
O -1.69296787 -0.05579265 0.00556629
H -2.01296504 0.84704339 -0.01586469
H -0.73325076 0.04238910 0.00084302
*
%Compound
Geometry myGeom;
Variable CC;
New_Step
!BP86 opt
Step_End
myGeom.Read(propertySN=2);
End
G.RemoveAtoms
Function RemoveAtoms acts on geometry objects (see Geometry). It accepts a list of atoms and removes them from
the loaded geometry. In the end the geometry object will be updated.
Syntax:
geom.RemoveAtoms(atom1, atom2, . . . );
Where:
geom: A geometry object previously loaded.
atom1, atom2, . . . : The serial number of the atoms in the geometry.
Example:
# ----------------------------------------------------
# This is a script to check the RemoveAtoms function
# -----------------------------------------------------
*xyz 0 1
O -1.69296787 -0.05579265 0.00556629
H -2.01296504 0.84704339 -0.01586469
H -0.73325076 0.04238910 0.00084302
*
%Compound
Geometry myGeom;
(continues on next page)
NOTE Please remember that counting starts with 0, meaning that the first atom is 0 and not 1!
G.RemoveElements
Function RemoveElements acts on geometry objects (see Geometry). It will remove from the loaded geometry all
atoms with an atomic number given in the list.
Syntax:
geom.RemoveElements(atomNumber1, atomicNumber2, . . . );
Where:
geom: A geometry object previously loaded.
atomicNumber1, atomicNumber2, . . . : The atomic number of elements to be removed from the current geometry.
Example:
# ----------------------------------------------------
# This is a script to check the RemoveElements function
# -----------------------------------------------------
*xyz 0 1
O -1.69296787 -0.05579265 0.00556629
H -2.01296504 0.84704339 -0.01586469
H -0.73325076 0.04238910 0.00084302
*
%Compound
Geometry myGeom;
Variable numOfAtoms;
Variable CC;
New_Step
!BP86
Step_End
myGeom.Read();
numOfAtoms = myGeom.GetNumOfAtoms();
CC = myGeom.GetCartesians();
CC.PrintMatrix();
print("Number of atoms before: %d (It should print 3)\n", numOfAtoms);
myGeom.RemoveElements(8); #Remove the oxygen
numOfAtoms = myGeom.GetNumOfAtoms();
print("Number of atoms after : %d (It should print 2)\n", numOfAtoms);
CC = myGeom.GetCartesians();
CC.PrintMatrix();
End
G.WriteXYZFile
Function WriteXYZFile acts on geometry objects (see Geometry) and writes on disc an xyz file with the coordinates
of the current goemetry object. Please remember that it alsways writes the coordinates in BOHRS.
Syntax:
res = geom.WriteXYZFile(filename=myFilename)
Where:
res: An integer that returns ‘0’ if everything worked smoothly.
myFilename The name of the file that will contain the coordinates.
geom: A geometry object previously loaded.
Example:
# ----------------------------------------------------
# This is a script to check the WriteXYZ function
# NOTE: It always write the coordinates in Bohrs!
# -----------------------------------------------------
*xyz 0 1
O -1.69296787 -0.05579265 0.00556629
H -2.01296504 0.84704339 -0.01586469
H -0.73325076 0.04238910 0.00084302
*
%Compound
Geometry myGeom;
Variable res=-1;
New_Step
!BP86
Step_End
myGeom.Read();
res = myGeom.WriteXYZFile(filename="myGeom.xyz");
End
GOAT
In Compound we have GOAT objects. These objects can be treated like normal variables of type ‘compGOAT ’.
An important difference between normal variables and GOAT variables is the declaration. Instead of the normal:
Variable myGoat;
we excplicitly have to declare that this is a GOAT object. So the syntax for a goat declaration is:
Syntax:
GOAT myGoat;
Goat.Get_Energy
Function Get_Energy acts on goat objects (see GOAT ) and returns a double with the energy of the requested
structure.
Syntax:
res = myGoat.Get_Energy(geomID=myGeomID)
Where:
res: A double with the energy of the requested structure.
myGoat A GOAT object that is already loaded (meaning it has already parse an ensemble file, see (see
Goat.Parse_Ensemble_File).
myGeomID: The geometry ID of the requested structure. Counting starts from 1.
Example:
see example in GOAT
Goat.Get_Num_Of_Geometries
Function Get_Num_Of_Geometries acts on goat objects (see GOAT ) and returns an integer with the number of
structures available in the current GOAT object.
Syntax:
res = myGoat.Get_Num_Of_Geometries()
Where:
res: An integer with the number of geometries in the current GOAT object.
myGoat A GOAT object that is already loaded (meaning it has already parse an ensemble file, see (see
Goat.Parse_Ensemble_File).
Example:
see example in GOAT
Goat.Parse_Ensemble_File
Function Parse_Ensemble_File acts on goat objects (see GOAT ). It will read an ensemble file created by a GOAT
run and then update the object with the geometries and energies of each geometry available in the current GOAT
object.
Syntax:
res = geom.Parse_Enesemble_File(filename=myFilename)
Where:
res: An integer that returns ‘0’ if everything worked smoothly.
myFilename The name of the file that will contain the coordinates.
myGoat: A GOAT object previously loaded.
Example:
see example in GOAT
Goat.Set_Basename
Function Set_Basename acts on goat objects (see GOAT ). It set the basename of the ensemble file created by a
GOAT run. It will automatically add the extension: '.finalensemble.xyz' in the end of the basename.
Syntax:
myGoat.Set_Basename(myFilename)
Where:
myFilename The basename of the GOAT ensemble file (without the extension ‘finalensemble.xyz’).
myGOAT : A GOAT object previously loaded.
Example:
see example in GOAT
Goat.Print
Function Print acts on goat objects (see GOAT ). It will print in the output the geometries of current GOAT object.
Syntax:
myGoat.Print()
Where:
myGoat: A GOAT object previously loaded.
Example:
see example in GOAT
Goat.WriteXYZFile
Function WriteXYZFile acts on goat objects (see GOAT ). It will write the requested geometry to an XYZ file on
disk. It expects two arguments:
1. The geometry ID of the geometry and
2. The filename that it will use to store the geometry
Syntax:
myGoat.WriteXYZFile(geomID=myGeomID, filename=myFilename)
Where:
myFilename: The name that it will be used to store the geometry on the disk.
myGeomID: The geometry ID of the requested structure. Counting starts from 1.
Example:
see example in GOAT
GetNumOfInstances
The GetNumOfInstances returns the number of instances of a specific object in a propertyfile.
Syntax:
[res=] GetNumOfInstances(propertyName=myName, [step=myStep], [filename=myFilename], [baseProp-
erty=true/false])
Where:
res: An integer that returns the number of instances of the required property in the property file.
propertyName: A string alias that defines the variable the user wants to read.
step: The step from which we want to read the property. If not given the property file from the last step will be
read.
filename: A filename of a property file. If a filename and at the same time a step are provided the program will
ignore the step and try to read the property file with the given filename.
NOTE please note that in the end of filename the extension .property.txt will be added.
baseProperty: A true/false boolean. The default value is set to false. If the value is set to true then a generic
property of the type asked will be read. This means if dipole moment is asked, it will return the last dipole moment,
irrelevant if and MP2 or SCF one wad defined.
Example
# ----------------------------------------------------
# This is an example script for readNumOfInstances
# -----------------------------------------------------
%Compound
Variable res = 0;
Variable myProperty="MP2_DIPOLE_TOTAL";
Variable myBaseProperty="DIPOLE_MOMENT_TOTAL";
New_Step
!MP2
#%mp2
# density relaxed
#end
*xyz 0 1
H 0.0 0.0 0.0
H 0.0 0.0 0.8
*
Step_End
# First read the MP2 dipole moment
res = GetNumOfInstances(propertyName=myProperty);
print("Num of MP2 dipole moments : %d\n", res);
res = GetNumOfInstances(propertyName=myBaseProperty, Property_Base=true);
print("Num of total dipole moments : %d\n", res);
End
GoTo
The GoTo command allows the ‘jump’ inside the normal flow of a compound script. The syntax of the command
can be best presented through an example.
Example:
# ----------------------------------------------------
# This is an example script for GoTo
# (It should print only 0,1,2,3)
# -----------------------------------------------------
%Compound
Variable TCut=3;
(continues on next page)
Please note that the variable we use as a label for the GoTo command should be previously defined like a normal
variable.
If
The if block allows the user to make decisions. The syntax in Compound is the following:
Syntax:
If (expression) Then
actions
Else if (expression) Then
actions
Else
actions
Endif
Below is an example of the usage of if block in compound.
# -------------------------------------------------------------
# This is to check all available ways of 'if blocks'
# -------------------------------------------------------------
Variable x1 = 10.0;
Variable y1 = 20.0;
Variable b1 = False;
Variable b2 = True;
Variable s1 = "alpha";
Variable s2 = "beta";
Variable s3 = "alpha";
print( " --------------------------------------------------------- \n");
print( " ---------- SUMMARY OF IF CASES -------------- \n");
print( " --------------------------------------------------------- \n");
# ---------------------------------------------------------------------
# ---------------------------------------------------------------------
print(" ---------------- Strings ---------------------------\n");
print(" -------------------------------------------------------------\n");
print(" -------------------------------------------------------------\n");
print(" Variable/constant / if s1=\"alpha\"\n");
if (s1="alpha") then
print("%s is same as %s \n", s1, "alpha");
else
print("%s is not same as %s \n", s1, "alpha");
EndIf
End
InvertMatrix
Compound can peform matrix algebraic operations, one of the available algebraic operation is the inversion of a
matrix. Be carefull that the matrix, whose the invert we are looking for, must be a real, square matrix.
Syntax:
AInvert = A.InvertMatrix();
Where:
• A: The matrix to be inverted.
• AInvert: The invert of A. It can be A itself and then A will just be updated.
Example:
# ----------------------------------------------------
# This is an example script for matrix inversion
# -----------------------------------------------------
%Compound
Variable Dim=3;
Variable A[Dim][Dim];
Variable invertA, C;
Variable res=-1;
for i from 0 to Dim-1 Do
for j from 0 to Dim-1 Do
if (i=j) then
A[i][j] = i+1;
else
A[i][j] = 0.0;
EndIf
EndFor
EndFor
invertA = A.invertMatrix();
A.PrintMatrix();
invertA.PrintMatrix();
C = Mat_x_Mat(A,invertA,false, false, 1.0, 1.0);
C.PrintMatrix();
End
Mat_p_Mat
Compound can peform matrix algebraic operations, one of the available algebraic operation is matrix addittion. In
order to add two matrices they must have the same dimensions.
Syntax:
C=Mat_p_Mat(alpha, A, beta, B);
Where:
• C: The resulting matrix.
• alpha: The coefficient for matrix A.
• A: The left matrix of the addition.
• beta: The coefficient for matrix B.
• B: The right matrix of the addition.
Example:
# ----------------------------------------------------
# This is an example script for matrix addition
# -----------------------------------------------------
%Compound
Variable Dim=3;
Variable A[Dim][Dim];
Variable B[Dim][Dim];
Variable C;
Variable res=-1;
for i from 0 to Dim-1 Do
for j from 0 to Dim-1 Do
A[i][j] = 1.0;
B[i][j] = 2.0;
EndFor
EndFor
A.PrintMatrix();
B.PrintMatrix();
C = Mat_p_Mat(2.0, A, 3.0, B);
(continues on next page)
Mat_x_Mat
Compound can peform matrix algebraic operations, one of the available algebraic operation is matrix multipli-
cation. In general we can multiply each matrix with constants alpha and beta so that the general multiplication
is:
C=(alphaA)(betaB)
In addition each of matrices A and B are allowed to be transposed.
Syntax:
C=Mat_x_Mat(A, B, [transposeA], [transposeB], [alpha], [beta]);
Where:
• C: The resulting matrix.
• A: The left matrix of the multiplication.
• B: The right matrix of the multiplication.
• transposeA: A boolean to state if matrix A should be transposed before the mutliplication (default: False).
• transposeB: A boolean to state if matrix B should be transposed before the multiplication (default: False).
• alpha: A scalar to multiply matrix A before the mutliplication (default 1.0).
• beta: A scalar to mutliply matrix B before the multiplication (default 1.0).
Example:
# ----------------------------------------------------
# This is an example script for matrix multiplication
# -----------------------------------------------------
%Compound
Variable Dim=3;
Variable A[Dim][Dim];
Variable invertA;
Variable C;
Variable D;
Variable res=-1;
for i from 0 to Dim-1 Do
for j from 0 to Dim-1 Do
if (i=j) then
A[i][j] = i+1;
else
A[i][j] = 0.0;
EndIf
EndFor
EndFor
A.invertMatrix(invertA);
A.PrintMatrix();
invertA.PrintMatrix();
C = Mat_x_Mat(A,invertA,false, false, 1.0, 1.0);
C.PrintMatrix();
C = Mat_x_Mat(A, invertA, true, true, 1.0, 1.0);
C.PrintMatrix();
C = Mat_x_Mat(A, invertA, false, false, 2.0);
C.PrintMatrix();
C = Mat_x_Mat(A, invertA, false, false, 2.0, 3.0);
C.PrintMatrix();
End
Mat_x_Scal
Compound can peform matrix algebraic operations, one of the available algebraic operation is multiplication of
the elements of a matrix with a scalar. The function returns the multiplied matrix that can be the one that we use
as an argument in the parenthesis, meaning it is updated, or a different one.
Syntax:
C=Mat_x_Scal(alpha, A);
Where:
• C: The resulting matrix.
• alpha: A scalar to multiply the elements of matrix A.
• A: The matrix to be mutliplied.
Example:
# ----------------------------------------------------
# This is an example script for matrix times scalar
# -----------------------------------------------------
%Compound
Variable Dim=3;
Variable A[Dim][Dim];
Variable alpha=2.0;
Variable C;
for i from 0 to Dim-1 Do
for j from 0 to Dim-1 Do
A[i][j] = i+j;
EndFor
EndFor
A.PrintMatrix();
C = Mat_x_Scal(alpha,A);
A = Mat_x_Scal(alpha,A);
A.PrintMatrix();
C.PrintMatrix();
End
New_Geom
New_Geom is a platform for geometry manipulation. The basic idea is to have functions that can read a geometry
and then produce one or more new geometries with some characteristics that we need. For the moment under the
umbrella of New_Geom fall 4 different functions, and these are: Displace, Remove_Atom, Remove_Element.
Displace
The idea behind “Displace’” is to have a structure, perform an analytical frequncy calculation on it (currently we
do not store numerical frequencies in the property file) and then read the Hessian from this calculation to adjust
the geometry based on a normal mode of vibration that we choose. The syntax of this command is:
syntax: New_Geom = (Displace, step, hessian, frequency, scaling)
where:
step is the step from which we choose the original geometry
hessian is the hessian read from a property file
frequency defines which normal mode we will use and
scaling is a factor of how severe we want the displacement to be.
We should note that Displace is the only command of the new_geom family of commands that will not store a
geometry on disk but only internally pass the new geometry to the next calculation. An example of the usage of
this command can be found in the script ‘iterativeOptimization’ that is given with ORCA. The relevant part is as
follows: example:
# Define variables
Variable MaxNTries = 25;
Variable CutOff = -50;
Variable displacement = 0.6;
Variable NNegative = 0;
Variable freqs[];
Variable modes[];
Variable NFreq;
Variable limit;
Variable done;
Variable FinalEnergy;
# ===========================================================
# Start a for loop over number of tries
# ===========================================================
For itry From 1 To maxNTries Do
# ----------------------------------
# Run a geometry optimization
# ----------------------------------
New_Step
! tightopt freq verytightscf nopop def2-TZVP xyzfile
Step_End
Read freqs = THERMO_FREQS[itry];
Read modes = HESSIAN_MODES[itry];
Read NFreq = THERMO_NUM_OF_FREQS[itry];
limit = NFreq - 1;
# ----------------------------------
# check for sufficeintly negative
# frequencies
# ----------------------------------
NNegative = 0;
For ifreq From 0 to limit Do
if ( freqs[ifreq] < CutOff ) then
New_Geom = (Displace, itry, modes, ifreq, displacement);
OpenFile
Compound can write text files on disk. In order to write to a file a filepointer must be created. For this in Compound
exists the command OpenFile.
Syntax:
filePtr = OpenFile(Filename, “open mode”);
filePtr is a variable previously declared.
Filename can be a string or a variable of string type and represents the name of the file on disk.
There are two available opening modes:
• ‘w’. In this mode a new file will be created and the user can write on it. If an old file with the same name
exists, it’s contents will be deleted.
• ‘a’. In this mode if a file already exists, the user will append to what already exists in the file.
Example:
%Compound
# -------------------------------------------------------------
# This is to check all available open and close
# file options
# -------------------------------------------------------------
Variable myFilename = "myFile.txt";
(continues on next page)
# ---------------------------
# First open for writing
# ---------------------------
file = openFile(myFilename, "w");
write2File(file, "This is the first time we write.\n");
closeFile(file);
# ---------------------------
# Re-open to append
# ---------------------------
file = openFile(myFilename, "a");
write2File(file, "This is the second time we write.\n");
closeFile(file);
End
Remove_Atom
Remove_atom removes an atom from a geometry given its index. We should point out that counting of atoms in
ORCA starts with 0. After this command is executed it will store on a disk a new geomety in a xyz format where
only the atom with the given index will be missing.
Syntax:
New_Geom = ( Remove_atom, atomIndex, “filename”, stepIndex, [geometry Index]);
where:
atom Index is the number of the atom we want to remove. It can be an integer number or a variable.
filename is the name of the file that we want to use for the new xyz file. It can be a string in quotation marks or
a variable already defined before. In the name the xyz extension will be automatically appended. step Index the
number of the step from which we will get the initial geometry. It has to be an integer number. geometry Index
In case there are more than one geometries in the corresponding property file we can choose one. If no number is
given but default the program will use the last one.
example:
if we use the normal ORCA input file:
*xyz 0 1
O 2.220871067 0.026716792 0.000620476
H 2.597492682 -0.411663274 0.766744858
H 2.593135384 -0.449496183 -0.744782026
*
%Compound "removeAtom.cmp"
New_Step
!BP86
Step_End
end
then the xyz file ‘newGeom.xyz’ will be created that should look like:
where the atom with atomIndex = 0 meaning the first atom, meaning the oxygen is removed.
Remove_Element
Remove_element is similar to the Remove_atom but instead of using the index of the atom we use its atomic
number. Thus the syntax is:
Syntax: New_Geom = ( Remove_Element, atomic number, “filename”, stepIndex, [geometry Index]);
where:
atomic number is the atomic number of the atom we want to remove. It can be an integer number or a variable.
filename is the name of the file that we want to use for the new xyz file. It can be a string in quotation marks or
a variable already defined before. In the name the xyz extension will be automatically appended. step Index the
number of the step from which we will get the initial geometry. It has to be an integer number. geometry Index
In case there are more than one geometries in the corresponding property file we can choose one. If no number is
given but default the program will use the last one.
example:
if we use again the input from paragraph 1.1.7.2 but instead of asking the compound file “removeAtom.cmp” we
ask for the compound file “removeElement.cmp” that looks like:
New_Step
!BP86
Step_End
end
then we will get again the same xyz file that was crated in paragraph Remove_Atom since the atom with atomic
number 8 (meaning the Oxygen) will be removed from the original geometry.
New_Step
New_Step signals the beginning of a new ORCA input.
Syntax:
New_Step
. . . Normal ORCA input commands
Step_End
There is no restriction in the input of ORCA, except of course that it should not include another Compound block.
It is important to remember that a New_Step command should always end with a Step_End command. Below we
show a simple example.
Example:
New_Step
! BP86 def2-SVP
Step_End
There is only a basic fundamental difference with a normal ORCA input. Inside the New_Step block it is not
necessary to include a geometry. ORCA will automatically try to read the geometry from the previous calculation.
Of course a geometry can be given and then ORCA will use it.
Print
Printing in the ORCA outpug can be customized using the print command. The syntax of the print command
closely follows the corresponding printf command from C/C++. So the usage of the print command is:
Syntax:
print(format string, [variables]);
For each variable there can be specifiers and flags for the specifiers. Currently print command supports three
datatypes namely integers, doubles and strings.
A format specifier follows this prototype: %[flags][width][.precision]specifier
where details for the specifiers and flags can be found in table Table 7.33
s strings
d integers
lf doubles
Flags
number width
Example:
# -------------------------------------------------------------
# This is to check all available print defintions
# -------------------------------------------------------------
Variable x1 = 2.0;
Variable x2 = {10.0, 20.0, 30.0, 40.0};
Variable x3 = {10, 20, 30, 40};
Variable x4 = {"ten", "twenty", "thirty", "fourty"};
Variable x5 = "test";
Variable index = 2;
Read
The Read command reads a property from the property file.
NOTE This is the old syntax to read the property file and it will be deprecated in the next version of ORCA. For
the new syntax please use the ReadProperty command (see ReadProperty)
Syntax
Read myVar = propertyName[stepID]
Where:
myVar: The variable that will be updated
propertyName: The alias for the property we need to read
stepID: The step to which we refer.
Example
# ----------------------------------------------------
# This is an example script for readProperty
# -----------------------------------------------------
%Compound
Variable enDirect=0.0;
New_Step
!BP86
*xyz 0 1
H 0.0 0.0 0.0
H 0.0 0.0 0.8
*
Step_End
alias currStep;
# First read the energy directly
Read enDirect = DFT_Total_en[currStep];
print("DFT Energy : %.12lf\n", enDirect);
End
ReadProperty
One of the fundamental features of Compound is the ability to easily read ORCA calculated values from the property
file.
Syntax:
[res=] readProperty(propertyName=myName, [step=myStep], [filename=myFilename], [baseProp-
erty=true/false])
Where: res: An integer that returns the index of the found property if the property was found in the property file,
-1 if the property does not exist. This is not obligatory.
propertyName: A string alias that defines the variable the user wants to read.
step: The step from which we want to read the property. If not given the property file from the last step will be
read.
filename: A filename of a property file. If a filename and at the same time a step are provided the program will
ignore the step and try to read the property file with the given filename.
NOTE please note that in the end of filename the extension .property.txt will be added.
baseProperty: A true/false boolean. The default value is set to false. If the value is set to true then a generic
property of the type asked will be read. This means if dipole moment is asked, it will return the last dipole moment,
irrelevant if and MP2 or SCF one wad defined.
Example
# ----------------------------------------------------
# This is an example script for readProperty
# -----------------------------------------------------
%Compound
Variable enDirect=0.0;
Variable enFilename=0.0;
Variable myProperty="DFT_Total_en";
Variable basename="compound_example_properertFile_readProperty";
Variable newBasename ="newFilename";
Variable res = -1;
New_Step
!BP86
*xyz 0 1
H 0.0 0.0 0.0
H 0.0 0.0 0.8
*
Step_End
# First read the energy directly (returning res)
res = enDirect.ReadProperty(propertyName=myProperty);
print("res : %d\n", res);
# Now read the same energy through filename (not returning res)
sys_cmd("cp %s_Compound_1.property.txt %s.property.txt", basename, newBasename);
enFilename.ReadProperty(propertyName=myProperty, filename=newBasename);
print("Difference between 2 energies : %.12lf\n", enDirect-enFilename);
End
Read_Geom
Read_Geom will read the geometry from a previous step.
Syntax:
Read_Geom 𝑛𝑢𝑚𝑏𝑒𝑟
Here number is the number of the job that we want to read the geometry from. The directive should be positioned
before a New_Step - Step_End block.
Example:
#Compound Job 1
New_Step
!BP86 def2-SVP
Step_End
#Compound Job 2
New_Step
!BP86 def2-SVP opt
Step_End
#Compound Job 3
Read_Geom 1
New_Step
!CCSD def2-SVP
Step_End
In this case the third calculation, through the Read_MGeom 1 command, will read the geometry from the first
calculation.
ReadMOs
ReadMOs reads the molecular orbitals from a previous step.
Syntax:
ReadMOs(stepNumber);
Where:
• stepNumber: is the number of the step from which we want to read the orbitals.
Example:
# ----------------------------------------------------
# This is an example script for ReadMOs
# -----------------------------------------------------
%Compound
Variable step = 1;
New_Step
!BP86
*xyzfile 0 1 h2o.xyz
Step_End
ReadMOs(step);
New_Step
!BP86
Step_End
End
S.GetBasename
In Compound strings have all the functionality of a normal variable. In addition they have some additional functions
that act only on strings. On of these functions is the function GetBasename. This function searches the string and
if it contains a dot it will return the part of the string before the dot.
Syntax:
result = source.GetBasename();
Where:
result is the returned string.
source is the original string.
NOTE If the original string contains no dot then the result string will be a copy of the source one.
Example:
# ------------------------------------------------------
# This is an example script for string related functions:
# - GetBasename
# - GetSuffix
# - GetChar
# ------------------------------------------------------
%Compound
Variable original = "lala.xyz";
Variable basename, suffix;
Variable constructed = "";
basename = original.GetBasename();
suffix = original.GetSuffix();
for i from 0 to original.stringlength()-1 Do
write2String(constructed,"%s%s", constructed, original.GetChar(i));
endfor
print("Original : %s\n", original);
print("Basename : %s\n", basename);
print("Sufix : %s\n", suffix);
print("Constructed : %s\n", constructed);
End
S.GetChar
In Compound strings have all the functionality of a normal variable. In addition they have some additional functions
that act only on strings. On of these functions is the function GetChar. This function searches the string and if it
contains a dot it will return the part of the string after the dot.
Syntax:
result = source.GetChar(index);
Where:
result is the returned string.
index is the index of the curracter in the string. Keep in mind that counting starts with 0 and not 1.
source is the original string.
NOTE If the index is larger than the size of the string or negative then the program will exit.
Example:
# ------------------------------------------------------
# This is an example script for string related functions:
# - GetBasename
# - GetSuffix
# - GetChar
# ------------------------------------------------------
%Compound
Variable original = "lala.xyz";
Variable basename, suffix;
Variable constructed = "";
basename = original.GetBasename();
suffix = original.GetSuffix();
for i from 0 to original.stringlength()-1 Do
write2String(constructed,"%s%s", constructed, original.GetChar(i));
endfor
print("Original : %s\n", original);
print("Basename : %s\n", basename);
print("Sufix : %s\n", suffix);
(continues on next page)
S.GetSuffix
In Compound strings have all the functionality of a normal variable. In addition they have some additional functions
that act only on strings. On of these functions is the function GetSuffix. This function searches the string and if it
contains a dot it will return the part of the string after the dot.
Syntax:
result = source.GetSuffix();
Where:
result is the returned string.
source is the original string.
NOTE If the original string contains no dot then the result string will be an empty string.
Example:
# ------------------------------------------------------
# This is an example script for string related functions:
# - GetBasename
# - GetSuffix
# - GetChar
# ------------------------------------------------------
%Compound
Variable original = "lala.xyz";
Variable basename, suffix;
Variable constructed = "";
basename = original.GetBasename();
suffix = original.GetSuffix();
for i from 0 to original.stringlength()-1 Do
write2String(constructed,"%s%s", constructed, original.GetChar(i));
endfor
print("Original : %s\n", original);
print("Basename : %s\n", basename);
print("Sufix : %s\n", suffix);
print("Constructed : %s\n", constructed);
End
Step_End
Step_End signals the end of an ORCA Input. It should always be the last directive of an ORCA input inside the
compound block that starts with New_Step (see paragraph New_Step)
Sys_cmd
Sys_cmd will read a system command and execute it.
Syntax:
Sys_cmd command
Example:
SYS_CMD "orca_mapspc test.out SOCABS -x0700 -x1900 -w0.5 -eV -n10000 "
Timer
A timer is an object that can keep time for tasks in compound. Before a timer object is used it has to be declared.
The declaration of a timer is slightly different that the rest of variables, because it has to explicitly declare it’s type.
Syntax
timer myTimer;
where
timer is used instead of the normal variable command to explicitly set the variable type to compTimer.
myTimer is a normal instance of the object.
Example:
# -----------------------------------------------
# This is to test timer functions.
# --------------------------------
timer tm;
Variable x = 0.0;
tm.start();
for index from 0 to 100000 Do
x = x + 0.1;
EndFor
tm.stop();
x = tm.Total();
print( "------------------------------\n");
print( " Compound - Timer Results \n");
print( "------------------------------\n");
print( " First total time: %.2lf\n", x);
x = tm.total();
tm.Reset();
tm.Start();
for index from 0 to 200000 Do
x = x + 0.1;
EndFor
tm.Stop();
x = tm.total();
T.Last
Last is a function that works on a timer object. It returns, as a real number, the last value of the timer.
Syntax
myTimer.Last();
Where:
myTimer: is the timer object initialized before.
Example:
# -----------------------------------------------
# This is to test timer functions.
# --------------------------------
timer tm;
Variable x = 0.0;
tm.start();
for index from 0 to 100000 Do
x = x + 0.1;
EndFor
tm.stop();
x = tm.Total();
print( "------------------------------\n");
print( " Compound - Timer Results \n");
print( "------------------------------\n");
print( " First total time: %.2lf\n", x);
x = tm.total();
tm.Reset();
tm.Start();
for index from 0 to 200000 Do
x = x + 0.1;
EndFor
tm.Stop();
x = tm.total();
NOTE Before using last the timer object must, beside defined, be also initializee, using Start (see T.Start)
T.Reset
Reset is a function that works on a timer object. It resets the timer object to its initial state.
Syntax
myTimer.Reset();
Where:
myTimer: is the timer object initialized before.
Example:
# -----------------------------------------------
# This is to test timer functions.
# --------------------------------
timer tm;
Variable x = 0.0;
tm.start();
for index from 0 to 100000 Do
x = x + 0.1;
EndFor
tm.stop();
x = tm.Total();
print( "------------------------------\n");
print( " Compound - Timer Results \n");
print( "------------------------------\n");
print( " First total time: %.2lf\n", x);
x = tm.total();
tm.Reset();
(continues on next page)
T.Start
Start is a function that works on a timer object. It retunrs the timer object to its initial state.
Syntax
myTimer.Start();
Where:
myTimer: is the timer object initialized before.
Example:
# -----------------------------------------------
# This is to test timer functions.
# --------------------------------
timer tm;
Variable x = 0.0;
tm.start();
for index from 0 to 100000 Do
x = x + 0.1;
EndFor
tm.stop();
x = tm.Total();
print( "------------------------------\n");
print( " Compound - Timer Results \n");
print( "------------------------------\n");
print( " First total time: %.2lf\n", x);
x = tm.total();
tm.Reset();
tm.Start();
for index from 0 to 200000 Do
x = x + 0.1;
EndFor
tm.Stop();
x = tm.total();
T.Stop
Stop is a function that works on a timer object. It stops the timer from counting.
Syntax
myTimer.Stop();
Where:
myTimer: is the timer object initialized before.
Example:
# -----------------------------------------------
# This is to test timer functions.
# --------------------------------
timer tm;
Variable x = 0.0;
tm.start();
for index from 0 to 100000 Do
x = x + 0.1;
EndFor
tm.stop();
x = tm.Total();
print( "------------------------------\n");
print( " Compound - Timer Results \n");
print( "------------------------------\n");
print( " First total time: %.2lf\n", x);
x = tm.total();
tm.Reset();
tm.Start();
for index from 0 to 200000 Do
x = x + 0.1;
EndFor
tm.Stop();
x = tm.total();
T.Total
Total is a function that works on a timer object. It returns a real number with the total time.
Syntax
myTimer.Total();
Where:
myTimer: is the timer object initialized before.
Example:
# -----------------------------------------------
# This is to test timer functions.
# --------------------------------
timer tm;
Variable x = 0.0;
tm.start();
for index from 0 to 100000 Do
x = x + 0.1;
EndFor
tm.stop();
x = tm.Total();
print( "------------------------------\n");
print( " Compound - Timer Results \n");
print( "------------------------------\n");
print( " First total time: %.2lf\n", x);
x = tm.total();
tm.Reset();
tm.Start();
for index from 0 to 200000 Do
x = x + 0.1;
(continues on next page)
Variables - General
Everything in the Compound language is based on variables. Their meaning and usage are similar to those in
any programming language: you need to declare a variable and then assign a value to it. Notably, in Compound,
a variable must be declared before it is assigned a value, following the syntax rules of languages like C. This
differs from languages like Python, where you can assign a value to a variable without prior declaration. The only
exception to this rule in Compound is the index in a for loop, which does not require prior declaration.
In Compound we support the following data types for variables:
• Integer
• Double
• String
• Boolean
• File pointer
In addition to these data types Compound supports also variables of type Geometry and Timer but these are treated
separately (see Geometry and Timer).
For each variable in Compound there are 3 major categories of usage:
• The declaration (see Variables - Declaration)
• The assignement (see Variables - Assignment) and
• Variable functions (see Variables - Functions)
Variables - Declaration
There are currently 6 different ways to declare a variable in Compound. Their syntax is the following:
Syntax:
A. Variable name;
B. Variable name1, name2;
C. Variable name=value;
D. Variable name[𝑛];
E. Variable name[𝑛1][𝑛2];
F. Variable name={value1, value2, . . . };
NOTE In previous versions of Compound for variables that were matrices but the size was not known one had to
declare the variable using the following syntax:
Variable name = [];
This is now changed and the empty brackets are no longer needed, so that this variable can be defined like a normal
variable as in case A.
Example
# -------------------------------------------------------------
# This is to check all available ways of
# Variable declaration in Compound
# -------------------------------------------------------------
Variable size = 5;
Variable x1; #caseA
Variable x2,x3; #caseB
Variable x4 = 1.0; #caseC
Variable x5 = 0; #caseC
Variable x6 = "Test"; #caseC
Variable x7 = True; #caseC
Variable x8 = 2*x4; #caseC
Variable x9 = x6; #caseC
Variable x10 = x7; #caseC
Variable x11; #caseA
Variable x12[3]; #caseD
Variable x12b[size-2]; #caseD
Variable x12c[size][size-1]; #caseE
x12b[1] = 4.0;
x12c[2][2] = 7.0;
Variable x13[3][3]; #caseE
Variable x14 = {2.0, 4*x4, 2, "lala"}; #caseF
Variable x15 = {0, 1, 2, 3, 4};
Variable x15b = {0, 1, 2, 3, 4};
Variable x15c[x15[x15b[2]-1]+2];
Variable x16, x17=x10, x18;
Variable x19=2.0, x20, x21[2], x23[size][size];
print( " --------------------------------------------- \n");
print( " ---------- SUMMARY OF DEFINITIONS ----------- \n");
print( " --------------------------------------------- \n");
print( " x4 (1.0) : %.2lf\n", x4);
print( " x5 (0) : %.2d\n", x5);
print( " x6 (\"Test\") : %s\n", x6);
if (x7) then
print(" x7 (True) : TRUE\n");
else
print(" x7 (True) : FALSE\n");
endIf
print(" x8 (2*x4) : %.2lf\n", x8);
print(" x9 (x6) : %s\n", x9);
print(" x12b[1] (4.0) : %lf\n", x12b[1]);
print(" x12c[2][2] (7.0) : %lf\n", x12c[2][2]);
print(" Variable x14 = {2.0, 4*x4, 2, \"lala\"};\n");
print(" x14[0] : %lf\n", x14[0]);
print(" x14[1] : %lf\n", x14[1]);
print(" x14[2] : %d\n", x14[2]);
print(" x14[3] : %s\n", x14[3]);
print(" Variable x15 = {0, 1, 2, 3, 4};\n");
print(" Variable x15b = {0, 1, 2, 3, 4};\n");
print(" Variable x15c[x15[x15b[2]-1]+2];\n");
print(" x15c.GetSize() : %d\n", x15c.GetSize());
print(" ----------------------------------------------\n");
print(" ----------------------------------------------\n");
End
Variables - Assignment
Assigning a value to a variable has a rather straightforward syntax.
Syntax:
VariableName = CustomFunction;
Where:
VariableName is a variable already declared.
CustomFunction a mathematical expression.
Example:
# -------------------------------------------------------------
# This is to check all available ways of variable assignement
# (It does not take care of 'with' we will have a separate
# file for this)
# -------------------------------------------------------------
# -----------------------------------
# Some necessary initial declarations
# -----------------------------------
Variable x1, x2, x3, x4;
Variable y1, y2, y3, y4;
Variable x5[4];
Variable y5[4];
Variable x6[3][3];
Variable y6[3][3];
# -----------------------------------
# Now the assignements
# -----------------------------------
#Scalars doubles
x1 = 1.0;
y1 = 2*x1;
#Scalars integers
x2 = 1;
y2 = 2*x2;
#Scalars strings
x3 = "test";
y3 = x3;
#Scalars bools
x4 = True;
y4 = x4;
#1D Arrays
x5[0] = 2.0;
y5[0] = x5[0];
x5[1] = 1;
y5[1] = 2*x5[1];
x5[2] = "test";
(continues on next page)
NOTE It is important to remember to finish the variable assignment using the ‘;’ symbol.
Variables - Functions
Variables in Compound have a small number of functions that can help exctract information about them. In the
current version of Compound these functions are the following:
Syntax:
VariableName.Function();
where VariableName is a variable that is already declared. Then the function will return a value that depends on
the Function that we used.
Currenlty Compound supports the following functions:
• GetBool() V.GetBool()
• GetDim1() V.GetDim1()
• GetDim2() V.GetDim2()
• GetDouble() V.GetDouble()
• GetInteger() V.GetInteger()
• GetSize() V.GetSize()
• GetString() V.GetString()
• PrintMatrix() V.PrintMatrix()
Example:
# -------------------------------------------------------------
# This is to check all available ways of variable assignement
(continues on next page)
# -----------------------------------
# Some necessary initial declarations
# -----------------------------------
Variable x1, x2, x3, x4;
Variable y1, y2, y3, y4;
Variable x5[4];
Variable y5[4];
Variable x6[3][3];
Variable y6[3][3];
# -----------------------------------
# Now the assignements
# -----------------------------------
#Scalars doubles
x1 = 1.0;
y1 = 2*x1;
#Scalars integers
x2 = 1;
y2 = 2*x2;
#Scalars strings
x3 = "test";
y3 = x3;
#Scalars bools
x4 = True;
y4 = x4;
#1D Arrays
x5[0] = 2.0;
y5[0] = x5[0];
x5[1] = 1;
y5[1] = 2*x5[1];
x5[2] = "test";
y5[2] = x5[2];
x5[3] = True;
y5[3] = x5[3];
#2D Arrays
x6[0][0] = 1.0;
y6[0][0] = 2*x6[0][0];
print( " --------------------------------------------- \n");
print( " ---------- SUMMARY OF ASSIGNMENTS ---------- \n");
print( " --------------------------------------------- \n");
print( " ---------------- Scalars -------------------- \n");
print( " x1 : %.2lf\n", x1);
print( " y1 : %.2lf\n", y1);
print( " x2 : %d\n", x2);
print( " y2 : %d\n", y2);
print( " x3 : %s\n", x3);
print( " y3 : %s\n", y3);
print( " ---------------- 1D - Arrays----------------- \n");
print( " x5[0] : %.2lf\n", x5[0]);
print( " y5[0] : %.2lf\n", y5[0]);
print( " x5[1] : %d\n", x5[1]);
print( " y5[1] : %d\n", y5[1]);
print( " x5[2] : %s\n", x5[2]);
print( " y5[2] : %s\n", y5[2]);
print( " ---------------- 2D - Arrays----------------- \n");
print( " x6[0][0] : %lf\n", x6[0][0]);
print( " y6[0][0] : %lf\n", y6[0][0]);
(continues on next page)
V.GetBool()
This function will return a boolean value in case the variable is boolean or integer. For integers it will return false
for 0 and true for all other integer values. In all other cases the program will crash providing a relevant message.
Syntax:
myVar.GetBool();
where:
myVar is an already initialized variable.
Example
# ----------------------------------------------------
# This is an example script for
# Variable functions
# -----------------------------------------------------
%Compound
Variable double=1.0;
Variable integer=2;
Variable iToBool = integer.GetBool();
Variable boolean=false;
print("----------------------------------------\n");
print(" Results for translation functions \n");
print("Double to integer : %d (it should print 1)\n", double.GetInteger());
print("Integer to double : %.2lf (it should print 2.00)\n", integer.GetDouble());
print("Boolean to string : %s (it should print FALSE)\n", boolean.GetString());
print("Integer to boolean : %s (it should print TRUE)\n", iToBool.GetString());
print("Double to string : %s (it should print 1.00000000000000000000e+00)\n", double.
˓→GetString());
V.GetDim1()
This function works on a variable. It will return the size of the first dimension of an array. If the variable is a scalar
it will return 1.
Syntax:
myVar.GetDim1();
where:
myVar is an already initialized variable.
Example
# ----------------------------------------------------
# This is an example script for
# Variable functions
# -----------------------------------------------------
%Compound
Variable dim1, dim2, size;
Variable A;
Variable B[3];
Variable C[3][2];
(continues on next page)
print("----------------------------------------\n");
print(" Results for scalar \n");
print("Dim1 : %d (it should print 1)\n", A.GetDim1());
print("Dim2 : %d (it should print 1)\n", A.GetDim2());
print("Size : %d (it should print 1)\n", A.GetSize());
print("----------------------------------------\n");
print(" Results for 1D-Array \n");
print("Dim1 : %d (it should print 3)\n", B.GetDim1());
print("Dim2 : %d (it should print 1)\n", B.GetDim2());
print("Size : %d (it should print 3)\n", B.GetSize());
print("----------------------------------------\n");
print(" Results for 2D-Array \n");
print("Dim1 : %d (it should print 3)\n", C.GetDim1());
print("Dim2 : %d (it should print 2)\n", C.GetDim2());
print("Size : %d (it should print 6)\n", C.GetSize());
End
V.GetDim2()
This function works on a variable. It will return the size of the second dimension of an array. If the variable is a
scalar or a 1-Dimensional array it will return 1.
Syntax:
myVar.GetDim2();
where:
myVar is an already initialized variable.
Example
# ----------------------------------------------------
# This is an example script for
# Variable functions
# -----------------------------------------------------
%Compound
Variable dim1, dim2, size;
Variable A;
Variable B[3];
Variable C[3][2];
print("----------------------------------------\n");
print(" Results for scalar \n");
print("Dim1 : %d (it should print 1)\n", A.GetDim1());
print("Dim2 : %d (it should print 1)\n", A.GetDim2());
print("Size : %d (it should print 1)\n", A.GetSize());
print("----------------------------------------\n");
print(" Results for 1D-Array \n");
print("Dim1 : %d (it should print 3)\n", B.GetDim1());
print("Dim2 : %d (it should print 1)\n", B.GetDim2());
print("Size : %d (it should print 3)\n", B.GetSize());
print("----------------------------------------\n");
print(" Results for 2D-Array \n");
print("Dim1 : %d (it should print 3)\n", C.GetDim1());
print("Dim2 : %d (it should print 2)\n", C.GetDim2());
print("Size : %d (it should print 6)\n", C.GetSize());
End
V.GetDouble()
This function works on a variable. It will return a double value in case the variable is integer or double. In all other
cases the program will crash providing a relevant message.
Syntax:
myVar.GetDouble();
where:
myVar is an already initialized variable.
Example
# ----------------------------------------------------
# This is an example script for
# Variable functions
# -----------------------------------------------------
%Compound
Variable double=1.0;
Variable integer=2;
Variable iToBool = integer.GetBool();
Variable boolean=false;
print("----------------------------------------\n");
print(" Results for translation functions \n");
print("Double to integer : %d (it should print 1)\n", double.GetInteger());
print("Integer to double : %.2lf (it should print 2.00)\n", integer.GetDouble());
print("Boolean to string : %s (it should print FALSE)\n", boolean.GetString());
print("Integer to boolean : %s (it should print TRUE)\n", iToBool.GetString());
print("Double to string : %s (it should print 1.00000000000000000000e+00)\n", double.
˓→GetString());
V.GetInteger()
This function works on a variable. It will return an integer value in case the variable is integer or double. In all
other cases the program will crash providing a relevant message.
Syntax:
myVar.GetInteger();
where:
myVar is an already initialized variable.
Example
# ----------------------------------------------------
# This is an example script for
# Variable functions
# -----------------------------------------------------
%Compound
Variable double=1.0;
Variable integer=2;
Variable iToBool = integer.GetBool();
Variable boolean=false;
print("----------------------------------------\n");
print(" Results for translation functions \n");
print("Double to integer : %d (it should print 1)\n", double.GetInteger());
print("Integer to double : %.2lf (it should print 2.00)\n", integer.GetDouble());
print("Boolean to string : %s (it should print FALSE)\n", boolean.GetString());
(continues on next page)
V.GetSize()
This function works on a variable. If the variable is a scalar it will return 1. If the variable is a 1-Dimensional
array it will return the size of the array which is the same with the GetDim1() . If the variable is a 2-Dimensional
array it will return the results Dim1*Dim2.
Syntax:
myVar.GetSize();
where:
myVar is an already initialized variable.
Example
# ----------------------------------------------------
# This is an example script for
# Variable functions
# -----------------------------------------------------
%Compound
Variable dim1, dim2, size;
Variable A;
Variable B[3];
Variable C[3][2];
print("----------------------------------------\n");
print(" Results for scalar \n");
print("Dim1 : %d (it should print 1)\n", A.GetDim1());
print("Dim2 : %d (it should print 1)\n", A.GetDim2());
print("Size : %d (it should print 1)\n", A.GetSize());
print("----------------------------------------\n");
print(" Results for 1D-Array \n");
print("Dim1 : %d (it should print 3)\n", B.GetDim1());
print("Dim2 : %d (it should print 1)\n", B.GetDim2());
print("Size : %d (it should print 3)\n", B.GetSize());
print("----------------------------------------\n");
print(" Results for 2D-Array \n");
print("Dim1 : %d (it should print 3)\n", C.GetDim1());
print("Dim2 : %d (it should print 2)\n", C.GetDim2());
print("Size : %d (it should print 6)\n", C.GetSize());
End
V.GetString()
This function works on a variable. It will return a string of the value of the variable. It works for doubles, integers
and booleans.
Syntax:
myVar.GetString();
where:
myVar is an already initialized variable.
Example
# ----------------------------------------------------
# This is an example script for
# Variable functions
# -----------------------------------------------------
%Compound
Variable double=1.0;
Variable integer=2;
Variable iToBool = integer.GetBool();
Variable boolean=false;
print("----------------------------------------\n");
print(" Results for translation functions \n");
print("Double to integer : %d (it should print 1)\n", double.GetInteger());
print("Integer to double : %.2lf (it should print 2.00)\n", integer.GetDouble());
print("Boolean to string : %s (it should print FALSE)\n", boolean.GetString());
print("Integer to boolean : %s (it should print TRUE)\n", iToBool.GetString());
print("Double to string : %s (it should print 1.00000000000000000000e+00)\n", double.
˓→GetString());
V.PrintMatrix()
This function works on variables. It will print print an array on a format with 8 columns.
Syntax: myVar.PrintMatrix([NCols=numOfColumns]);
where:
myVar is an already initialized variable.
numOfColumns is the desired number of columns for the printing. This is not obligatory and if not used then by
default ORCA will print using 4 columns.
Example
Example:
# ----------------------------------------------
# A script to check PrintMatrix
# ----------------------------------------------
%Compound
Variable Dim1 = 5;
Variable Dim2 = 16;
Variable x[Dim1][Dim2];
for i from 0 to Dim1-1 Do
for j from 0 to Dim2-1 Do
x[i][j] = i+j;
EndFor;
EndFor;
NOTE In case of scalars it will only print the header without any values.
NOTE It only works for arrays of type ‘double’ or type ‘integer’. With all variables of other types the program
will exit providing an error message.
With
The purpose of the “with” command is to add the ability to call compound while adjusting some of the variables
that are already defined in the compound file. This means that if there is a variable defined in the compound file
and a value is assigned to it, we can during the call change the assigned value of this variable.
One can pass numbers, string or boolean variables.
It should be noted that it is not possible to call array variables this way. Beside this restriction, the syntax of the
variable assignment in the case of with is the same with the variable assignment in a normal Compound script.
An important note here is that in case we use the With command the %Compound block should end with an ‘End’
even if we call a Compound script file.
Syntax:
% compound “filename”
With
var1 = val1;
var2 = val2;
End
Example:
# -------------------------------------------------------------
# This is to check all available ways of variable assignement
# in combination with the 'with' calls.
# -------------------------------------------------------------
# ---------------------------------
# Some necessary initial definitions
# ----------------------------------
Variable x1, x2, x3, x4;
# -----------------------------------
# Now the assignments
# -----------------------------------
#Scalars doubles
x1 = 1.0;
#Scalars integers
x2 = 1;
#Scalars strings
x3 = "test";
#Scalars bools
x4 = True;
print( " --------------------------------------------- \n");
print( " ------- SUMMARY OF WITH ASSIGNMENTS --------- \n");
print( " --------------------------------------------- \n");
print( " The calling input:\n");
print("%Compound \"0975.cmp\"\n");
print(" with\n");
print(" x1 = 3.0;\n");
print(" x2 = 2;\n");
print(" x3 = \"with\";\n");
print(" x4 = False;\n");
print("end\n");
print( " ---------------- Scalars -------------------- \n");
print( " x1 (1.0) : %.2lf\n", x1);
print( " x2 (1) : %d\n", x2);
print( " x3 (\"test\") : %s\n", x3);
print( " x4 (True) : %s\n", x4.GetString());
#print( " x6 : %s\n", x6);
#if (x4) then
# print(" x4 : TRUE\n");
#else
# print(" x4 : FALSE\n");
(continues on next page)
Write2File
With the Print command (see Print) one can write in the ORCA output. Nevertheless it might be that one would
prefer to write to a different file. In Compound one can achieve this using the write2File command. The syntax
follows closely the syntax of ‘fprintf’ command of the programming language C. The arguments definition and the
syntax is identical with the syntax of the Compound ‘Print’ command with the addition that one should define a
file object to send the printing.
Syntax:
Write2File(file variable, format string, [variables]);
Where:
file variable: is a predefined variable corresponding to an already open, through the OpenFile command, file.
format string and variables follow exactly the syntax of the Print command, so for more details please refere to
section Print.
NOTE Please remember once everything is writen to the file to close the file, using the CloseFile command (see
CloseFile).
Example:
%Compound
# -------------------------------------------------------------
# This is to check all available write2String and
# write2File options
# -------------------------------------------------------------
Variable xS = "test_";
Variable xI = 1;
Variable final;
Variable fp;
Variable myFilename = "0955.txt";
Write2String
In case one needs to construct a string using some variables, Compound provides the Write2String command. The
syntax of the command is identical with the Write2File (see Write2File) command with the only exception that
instead of a file we should provide the name of a variable that is already declared in the file. The syntax of the
format and the variables used is identical with the Print command (please refer to Print. )
Syntax:
Write2String(variable, format string, [variables]);
where:
variable: is the name of a variable that should already be declared.
format string and variables follow exactly the syntax of the Print command, so for more details please refer to
section Print.
Example:
%Compound
# -------------------------------------------------------------
# This is to check all available write2String and
# write2File options
# -------------------------------------------------------------
Variable xS = "test_";
Variable xI = 1;
Variable final;
Variable fp;
Variable myFilename = "0955.txt";
====================================== ================================================
====================================== ==========================================AUTOC
====================================== ================================================
++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++Energies++++
AUTOCI_REF_ENERGY AutoCI Reference Energy
AUTOCI_CORR_ENERGY AutoCI Correlatioin Energy
AUTOCI_TOTAL_ENERGY AutoCI Total Energy
++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++ ENERGY Gradien
AUTOCI_NUCLEAR_GRADIENT AutoCI Energy nuclear gradient
AUTOCI_NUCLEAR_GRADIENT_NORM AutoCI Norm of the nuclear gradient
AUTOCI_NUCLEAR_GRADIENT_ATOM_NUMBERS AutoCI The atomic numbers of the atoms in the gradient
++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++ Electric Properties (Dipole mom
AUTOCI_DIPOLE_MAGNITUDE AutoCI The value of the dipole moment
AUTOCI_DIPOLE_ELEC_CONTRIB AutoCI The electronic contribution to the dipole moment
AUTOCI_DIPOLE_NUC_CONTRIB AutoCI The nuclear contribution to the dipole moment
AUTOCI_DIPOLE_TOTAL AutoCI The total dipole moment
SCF_ENERGY SCF Energy
++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++ Electric Properties (Polarizability
AUTOCI_POLAR_ISOTROPIC AutoCI The polarizability isotropic value
AUTOCI_POLAR_RAW AutoCI The raw polarizability tensor
AUTOCI_POLAR_DIAG_TENSOR AutoCI The polarizability diagonalized tensor
AUTOCI_POLAR_ORIENTATION AutoCI The polarizability orientation (eigenvectors)
++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++ Electric Properties (Quadrupole mom
AUTOCI_QUADRUPOLE_MOMENT_ISOTROPIC AutoCI The quadrupole moment isotropic value
AUTOCI_QUADRUPOLE_MOMENT_DIAG_TENSOR AutoCI The quadrupole moment diagonalized tensor
AUTOCI_QUADRUPOLE_MOMENT_ELEC_CONTRIB AutoCI The elctronic contribution to the quadrupole moment tensor
AUTOCI_QUADRUPOLE_MOMENT_NUC_CONTRIB AutoCI The nuclear contribution to the quadrupole moment tensor
AUTOCI_QUADRUPOLE_MOMENT_TOTAL AutoCI The total quadrupole moment
++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++ Magnetic Properties (D Tensor
AUTOCI_D_TENSOR_EIGENVALUES AutoCI The D Tensor eigenvalues
AUTOCI_D_TENSOR_EIGENVECTORS AutoCI The D Tensor eigenvectors
AUTOCI_D_TENSOR_RAW AutoCI The Raw D Tensor
AUTOCI_D_TENSOR_D AutoCI The final D value for the D Tensor
AUTOCI_D_TENSOR_E AutoCI The final E value for the D Tensor
AUTOCI_D_TENSOR_MULTIPLICITY AutoCI The spin-multiplicity used for the D Tensor calculation
++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++ Magnetic Properties (G Tensor
AUTOCI_G_TENSOR_RAW AutoCI The Raw G Tensor
AUTOCI_G_TENSOR_ELEC AutoCI The Electronic part of the G Tensor
AUTOCI_G_TENSOR_TOT AutoCI The Total G Tensor
AUTOCI_G_TENSOR_ISO AutoCI The isotropic g value
AUTOCI_G_TENSOR_ORIENTATION AutoCI The G Tensor orientation (eigenvectors)
SCF_ENERGY SCF Energy
VDW_CORRECTION van der Waals correction
DFT
MP2
MDCI
CASSCF
CIPSI
CIS
ROCIS
MRCI
EXTRAPOLATION
THERMOCHEMISTRY
THERMO_TEMPERATURE Temperature (𝑜 𝐾)
THERMO_PRESSURE Pressure (Atm)
THERMO_TOTAL_MASS Total Mass of the molecule (AMU)
THERMO_SPIN_DEGENERACY Electronic degeneracy
THERMO_ELEC_ENERGY Electronic energy (Eh)
THERMO_TRANS_ENERGY Translational energy (Eh)
THERMO_ROT_ENERGY Rotational energy (Eh)
THERMO_VIB_ENERGY Vibrational energy (Eh)
THERMO_NUM_OF_FREQS The number of vibrational frequencies
THERMO_FREQS Frequencies
THERMO_ZPE Zero point energy (Eh)
THERMO_INNER_ENERGY_U Inner Energy (Eh)
THERMO_ENTHALPY_H Enthalpy (Eh)
THERMO_ELEC_ENTROPY (Electronic Entropy)*T (Eh)
THERMO_ROR_ENTROPY (Rotational Entropy)*T (Eh)
THERMO_VIB_ENTROPY (Vibrational Entropy)*T (Eh)
THERMO_TRANS_ENTROPY (Translational Entropy)*T (Eh)
THERMO_ENTROPY_S (Total Entropy)*T (Eh)
THERMO_FREE_ENERGY_G Free Energy (Eh)
Solvation
HESSIAN
Math Functions
Table 7.35: Protocols, known to the simple input line, with short expla
General Printing
Extrapolation Schemes
Wn Protocols
Gn Protocols
ccCA Protocols
Accurate Energies
X-Ray spectroscopy
Solvation
Geometry optimizations
%Compound
print("Hellow World!\n");
EndRun
Comments
From the Compound point of view the syntax in this script is not the most efficient one. It can be rewritten in more
compact, cleaner, general way. Neverteless this is meant only as an exmample of how Compound can replace older
ORCA calculations that used the, to be deprecated, ‘New_Job’ feature.
Comments
It is interesting that in this scheme the total energy is treated and there is not separation in extrapolation between
HF energy and correlation energy.
7.57.5 Scan
Introduction
This is an example script for a 1-Dimensional geometry scan. It is set up for the Ne-Ne bond distance but can be
modified to suit the user’s specific needs.
Filename
scan_1D_1M_1P.cmp
SCRIPT
# Author : Dimitrios G. Liakos
# Date : May of 2024
#
# This is a script that will calculate and potentially
# plot ONE property(1P) along a scan in ONE dimesion (1D)
# using only ONE method (1M)
#
# It is part of a series of scripts for different
# combinations of scans for dimensions, methods,
# and properties
#
# Here as an example we use for:
# - dimension: the Ne-Ne bond (dist)
# - method : "HF" (method)
# - property : the SCF energy (propName)
#
# The script creates a csv file with the absolute energies
# and an additional one with the potential energies in
# kcal/mol. Both will be saved on disk.
#
# If 'DoPython' is set to true it will also create a python
# script that plots the generated values and then run
# it. The python script will be saved on disk and thus one
# can afterwards manipulate it.
#
# NOTE The boolean option plotPotential will choose between
# plotting absolute values or potential.
#
# NOTE The boolean obtion doKcal if set to true multiplies
(continues on next page)
# ---------------------------------------------------
# Open and Write file header for the absolute values
# ---------------------------------------------------
write2String(csvFilename, "%s_absValues.csv", baseFilename);
fPtr = OpenFile(csvFilename, "w");
write2File(fptr, "distance,method,property,calcValue\n");
# ---------------------------------------------------
# Perform the calculations and update the file
# ---------------------------------------------------
for iStep from 0 to NSteps-1 Do
dist = lowerLimit + (iStep)*stepSize;
New_Step
!&{method} &{basis} &{restOfInput}
*xyz &{charge} &{mult}
Ne 0.0 0.0 0.0
Ne 0.0 0.0 &{dist}
(continues on next page)
# ---------------------------------------------------
# Evaluate and write the relative values
# ---------------------------------------------------
write2String(csvFilename, "%s_relValues.csv", baseFilename);
fPtr = OpenFile(csvFilename, "w");
write2File(fPtr, "distance,method,property,calcValue\n");
for iStep from 0 to NSteps-1 Do
dist = lowerLimit + (iStep)*stepSize;
if (DoKcal) then
calcValue = (calcValues[iStep]-calcValues[NSteps-1])*HartreeToKcal;
else
calcValue = calcValues[iStep]-calcValues[NSteps-1];
EndIf
write2File(fPtr, "%.4lf,%20s,%20s,%20.10lf\n", dist, method,myPropName, calcValue);
EndFor
CloseFile(fPtr); # Close the file
if (removeFiles) then
sys_cmd("rm *_Compound_* *.bas*");
EndIf
# ---------------------------------------------------
# Create a python file and run it
# ---------------------------------------------------
if (DoPython) then
if (plotPotential) then
write2String(csvFilename, "%s_relValues.csv", baseFilename);
else
write2String(csvFilename, "%s_absValues.csv", baseFilename);
endIf
End
Comments
This script has some interesing features. It contains two variables removeFiles and DoPython. If the first of them
is set to true then the script will use a system command to remove files that are not needed anymore after the end
of the calculation. The latter, DoPython, if set to true will read the .csv file that is created and write a python file
to make a plot of the results. Then it will run the python script to actually make the plot.
# -----------------------------------------
# Calculation without field
# -----------------------------------------
New_Step
!&{method} &{basis} &{restOfInput}
&{blocksInput}
*xyzfile &{charge} &{mult} &{molecule}
Step_End
EFree.ReadProperty(propertyName=enPropName);
# ------------------------------------------------------------
# Loop over the x, y, z directions
# ------------------------------------------------------------
for i from 0 to 2 Do
for j from 0 to 2 Do
# ----------------------------------------------------------
# Create the appropriate direction oriented field string
# ----------------------------------------------------------
# ---------------------- (++) ------------------------------
for k from 0 to 2 Do
FField[k] = 0.0;
EndFor
FField[i] = FField[i] + E_Field;
FField[j] = FField[j] + E_Field;
write2String(FFieldStringPlusPlus, " %lf, %lf, %lf",
FField[0], FField[1], FField[2]);
#
# --------------------- (+-) ------------------------------
for k from 0 to 2 Do
FField[k] = 0.0;
EndFor
FField[i] = FField[i] + E_Field;
FField[j] = FField[j] - E_Field;
write2String(FFieldStringPlusMinus, " %lf, %lf, %lf",
FField[0], FField[1], FField[2]);
#
# --------------------- (-+) ------------------------------
for k from 0 to 2 Do
FField[k] = 0.0;
EndFor
FField[i] = FField[i] - E_Field;
FField[j] = FField[j] + E_Field;
write2String(FFieldStringMinusPlus, " %lf, %lf, %lf",
FField[0], FField[1], FField[2]);
#
# --------------------- (--) ------------------------------
for k from 0 to 2 Do
FField[k] = 0.0;
EndFor
FField[i] = FField[i] - E_Field;
FField[j] = FField[j] - E_Field;
write2String(FFieldStringMinusMinus, " %lf, %lf, %lf",
FField[0], FField[1], FField[2]);
# ----------------------------------------
# Perform the calculations.
# The plus_plus (++) one
# ----------------------------------------
ReadMOs(1);
New_Step
(continues on next page)
a[i][j] = -(EPlusPlus-EPlusMinus-EMinusPlus+EMinusMinus)/(4*E_Field*E_Field);
EndFor
EndFor
# -----------------------------------------
# Diagonalize
# -----------------------------------------
a.Diagonalize(aEigenValues, aEigenVectors);
# -----------------------------------------
# Do some printing
# -----------------------------------------
print( "\n\n");
print( " -------------------------------------------------------\n");
print( " COMPOUND \n");
print( " Numerical calculation of dipole polarizability\n");
print( " -------------------------------------------------------\n");
(continues on next page)
EndFor
Comments
In this script we also use the linear algebra diagonalize function that is available in Compound.
SCRIPT
# Author: Dimitrios G. Liakos and Franke Neese
# Date : May/June of 2024
#
# *************************************** DESCRIPTION␣
˓→***********************************************
# -----------------------------------------------------------
# Perform a single point calculation. We need it for
# the initial geometry from the property file
# -----------------------------------------------------------
New_Step
!&{method}
Step_End
myGeom.Read();
myGeom.WriteXYZFile(filename=myFilename);
# -----------------------------------------------------------
# Start a for loop over number of tries
# ----------------------------------------------------------
For itry From 1 To maxNTries Do
# --------------------------------------------
# Perform a geometry optimization/Frequency calculation
# --------------------------------------------
New_Step
! &{method} freq Opt
*xyzfile &{charge} &{multiplicity} &{myFilename}
Step_End
res = freqs.readProperty(propertyName = "THERMO_FREQS");
res = modes.readProperty(propertyName = "HESSIAN_MODES");
myGeom.Read();
# ---------------------------------------------
# check for sufficiently negative frequencies
# ---------------------------------------------
NNegative = 0;
(continues on next page)
# -----------------------------------------------------------------
# Either found correct geometry or reached maximum number of tries.
# -----------------------------------------------------------------
OptDone :
if (NNegative > NNegativeTarget) then
print("ERROR The program did not find a structure with the desired\n number of imaginary␣
˓→frequencies.\n There are %9.3lf negative frequencies after %3d steps", NNegative,itry);
else
print("\nSUCCESS optimized structure with (%d) negative\n frequencies found after %3d steps",
˓→ NNegative, itry);
endif
End
# -------------------------------------------------------------------
# Step 1. SCF Calculation with small basis set (X)
# -------------------------------------------------------------------
New_Step
! HF &{LowerBasis} &{restOfInput}
*xyzfile &{charge} &{multiplicity} &{Molecule}
(continues on next page)
# ------------------------------------------------------------------
# Step 2. Initialize rest of the variables
# ------------------------------------------------------------------
Variable corrGradX[3*nAtoms]; # Correlation part of gradient with basis X
Variable corrGradY[3*nAtoms]; # Correlation part of gradient with basis Y
Variable corrGradCBS[3*nAtoms]; # CBS estimation of correlation part of the gradient
Variable scfGradCBS[3*nAtoms]; # CBS estimation of SCF part of the gradient
Variable totalGradCBS[3*nAtoms];# CBS estimation of total gradient
# -------------------------------------------------
# Step3. Correlation Calculation with small basis set (X)
# -------------------------------------------------
if (addCorrelation) then
New_Step
! &{method} &{LowerBasis} &{restOfInput}
Step_end
res = scfEnX.readProperty(propertyName=scfEnPropName);
res = corrEnX.readProperty(propertyName=corrEnPropName);
res = totalGradX.readProperty(propertyName="Nuclear_Gradient", Property_Base=true);
# -------------------------------------------------
# Evaluate correlation gradient with small basis set (X)
# -------------------------------------------------
corrGradX =mat_p_mat(1, totalGradX, -1, scfGradX);
EndIf
# -------------------------------------------------
# Step4. SCF Calculation with large basis set (Y)
# -------------------------------------------------
New_Step
!HF &{UpperBasis} &{restOfInput}
Step_End
res = scfEnY.readProperty(propertyName="SCF_Energy");
res = scfGradY.readProperty(propertyName="Nuclear_Gradient", Property_Base=true);
# -------------------------------------------------
# Step5. Correlation calculation with large basis set (Y)
# -------------------------------------------------
if (addCorrelation) then
New_Step
! &{method} &{UpperBasis} &{restOfInput}
Step_end
res = scfEnY.readProperty(propertyName=scfEnPropName);
res = corrEnY.readProperty(propertyName=corrEnPropName);
res = totalGradY.readProperty(propertyName="Nuclear_Gradient", Property_Base=true);
# -------------------------------------------------
# Evaluate correlation gradient with big basis set Y
# -------------------------------------------------
corrGradY = mat_p_mat(1, totalGradY, -1, scfGradY);
EndIf
# -------------------------------------------------
# Step6. Extrapolate the SCF part of the gradient and energy
# -------------------------------------------------
(continues on next page)
if (addCorrelation) then
# -------------------------------------------------
# Step7. Extrapolate the correlation part of the gradient and energy
# -------------------------------------------------
denominator = LowerCardinal^(beta)-(UpperCardinal)^(beta);
corrEnCBS = (LowerCardinal^(beta)*corrEnX-(UpperCardinal)^(beta)*corrEnY)/denominator;
for i from 0 to scfGradX.GetSize()-1 Do
gradX = corrGradX[i];
gradY = corrGradY[i];
corrGradCBS[i] = (LowerCardinal^(beta)*gradX-(UpperCardinal)^(beta)*gradY)/denominator;
endFor
# -------------------------------------------------
# Add SCF and correlation part to get total CBS extrapolated values
# -------------------------------------------------
totalGradCBS = mat_p_mat( 1, scfGradCBS, 1, corrGradCBS);
EndIf
# -------------------------------------------------
# Step8. Present the results
# -------------------------------------------------
print( "\n\n\n");
print( "--------------------------------------------------------\n");
print( " Compound Extrapolation of Gradient \n");
print( "--------------------------------------------------------\n");
print( "Number of atoms : %d\n", nAtoms);
print( "Lower basis set : %s\n", LowerBasis);
print( "Upper basis set : %s\n", UpperBasis);
print( "Alpha : %.2lf\n", alpha);
print( "Beta : %.2lf\n", beta);
print( "Lower Cardinal number : %d\n", LowerCardinal);
print( "Upper Cardinal number : %d\n", UpperCardinal);
print( "Method : %s\n", method);
print( "AddCorrelation : %s\n", AddCorrelation.GetString());
print( "Produce EnGrad File : %s\n", produceEnGradFile.GetString());
print( "\n\n");
print( "SCF Energy with small basis set : %.12e\n", scfEnX);
print( "SCF Energy with big basis set : %.12e\n", scfEnY);
print( "Extrapolated SCF energy : %.12e\n", scfEnCBS);
print("\n\n");
if (addCorrelation) then
print( "Correlation Energy with small basis set : %.12e\n", corrEnX);
print( "Correlation Energy with big basis set : %.12e\n", corrEnY);
print( "Extrapolated correlation energy : %.12e\n", corrEnCBS);
print("\n\n");
print( "Total Energy with small basis set : %.12e\n", scfEnX + corrEnX);
(continues on next page)
print( "----------------------------------------------------------------\n");
print( "SCF Gradient with basis set: %s\n", LowerBasis );
print( "----------------------------------------------------------------\n");
print( "Atom %20s %20s %20s\n", "X", "Y", "Z");
for i from 0 to nAtoms-1 Do
print("%4d %20lf %20lf %20lf\n", i, scfGradX[3*i], scfGradX[3*i+1],␣
˓→scfGradX[3*i+2]);
EndFor
if (addCorrelation) then
print( "----------------------------------------------------------------\n");
print( "Correlation Gradient with basis set: %s\n", LowerBasis );
print( "----------------------------------------------------------------\n");
print( "Atom %20s %20s %20s\n", "X", "Y", "Z");
for i from 0 to nAtoms-1 Do
print("%4d %20lf %20lf %20lf\n", i, corrGradX[3*i], corrGradX[3*i+1],␣
˓→corrGradX[3*i+2]);
EndFor
print( "----------------------------------------------------------------\n");
print( "Total Gradient with basis set: %s\n", LowerBasis );
print( "----------------------------------------------------------------\n");
print( "Atom %20s %20s %20s\n", "X", "Y", "Z");
for i from 0 to nAtoms-1 Do
print("%4d %20lf %20lf %20lf\n", i, totalGradX[3*i], totalGradX[3*i+1],␣
˓→totalGradX[3*i+2]);
EndFor
EndIf
print( "----------------------------------------------------------------\n");
print( "SCF Gradient with basis set: %s\n", UpperBasis );
print( "----------------------------------------------------------------\n");
print( "Atom %20s %20s %20s\n", "X", "Y", "Z");
for i from 0 to nAtoms-1 Do
print("%4d %20lf %20lf %20lf\n", i, scfGradY[3*i], scfGradY[3*i+1],␣
˓→scfGradY[3*i+2]);
EndFor
if (addCorrelation) then
print( "----------------------------------------------------------------\n");
print( "Correlation gradient with basis set: %s\n", UpperBasis );
print( "----------------------------------------------------------------\n");
print( "Atom %20s %20s %20s\n", "X", "Y", "Z");
for i from 0 to nAtoms-1 Do
print("%4d %20lf %20lf %20lf\n", i, corrGradY[3*i], corrGradY[3*i+1],␣
˓→corrGradY[3*i+2]);
EndFor
print( "----------------------------------------------------------------\n");
print( "Total Gradient with basis set: %s\n", UpperBasis );
print( "----------------------------------------------------------------\n");
print( "Atom %20s %20s %20s\n", "X", "Y", "Z");
for i from 0 to nAtoms-1 Do
(continues on next page)
EndFor
EndIf
print( "----------------------------------------------------------------\n");
print( "Extrapolated SCF part of the Gradient:\n" );
print( "----------------------------------------------------------------\n");
print( "Atom %20s %20s %20s\n", "X", "Y", "Z");
for i from 0 to nAtoms-1 Do
print("%4d %20lf %20lf %20lf\n", i, scfGradCBS[3*i], scfGradCBS[3*i+1],␣
˓→scfGradCBS[3*i+2]);
EndFor
if (addCorrelation) then
print( "----------------------------------------------------------------\n");
print( "Correlation Gradient with basis set:\n" );
print( "----------------------------------------------------------------\n");
print( "Atom %20s %20s %20s\n", "X", "Y", "Z");
for i from 0 to nAtoms-1 Do
print("%4d %20lf %20lf %20lf\n", i, corrGradCBS[3*i], corrGradCBS[3*i+1],␣
˓→corrGradCBS[3*i+2]);
EndFor
print( "----------------------------------------------------------------\n");
print( "Total Gradient with basis set:\n" );
print( "----------------------------------------------------------------\n");
print( "Atom %20s %20s %20s\n", "X", "Y", "Z");
for i from 0 to nAtoms-1 Do
print("%4d %20lf %20lf %20lf\n", i, totalGradCBS[3*i], totalGradCBS[3*i+1],␣
˓→totalGradCBS[3*i+2]);
EndFor
EndIf
print( "----------------------------------------------------------------\n");
if (produceEnGradFile) then
# ------------------------------------------
# Read the geometry of the last calculation
# ------------------------------------------
myGeom.Read();
Cartesians = myGeom.GetCartesians();
atomicNumbers = myGeom.GetAtomicNumbers();
EnGradFile = openFile(enGradFilename, "w");
Write2File(EnGradFile, "\n\n\n");
Write2File(EnGradFile, " %d\n", nAtoms);
Write2File(EnGradFile, "\n\n\n");
if (addCorrelation) then
Write2File(EnGradFile, " %.12lf\n", scfEnCBS + corrEnCBS);
else
Write2File(EnGradFile, " %.12lf\n", scfEnCBS);
EndIf
Write2File(EnGradFile, "\n\n\n");
for i from 0 to 3*nAtoms-1 Do
if (addCorrelation) then
Write2File(EnGradFile, " %20.12lf\n", totalGradCBS[i]);
else
Write2File(EnGradFile, " %20.12lf\n", scfGradCBS[i]);
EndIf
EndFor
Write2File(EnGradFile, "\n\n\n");
for i from 0 to nAtoms-1 Do
(continues on next page)
EndFor
closeFile(EnGradFile);
EndIf
End
Comments
# --------------------------------------------------------
#
# Variables for the ORCA input
Variable createORCAInput = true;
Variable orcaInput; # The ORCA input for the gradient extrapolation
Variable orcaInputName = "runGradient.inp";
# --------------------------------------------------------
# ------------------------------------------------
# 1. Maybe Create the necessary driver script
# for the external optimizer and make it executable
# NOTE: This will depenend on the operating system
# -------------------------------------------------
if (createDriverScript) then
driverScript = openFile(driverScriptName, "w");
write2File(driverScript, "source ~/.bashrc\n");
write2File(driverScript, "%s %s\n", submitCommand, orcaInputName );
write2File(driverScript, "cp %s %s_Compound_1_EXT.engrad\n", engradFilename, baseFilename);
closeFile(driverScript);
sys_cmd("chmod +x %s",driverScriptName);
EndIf
# ------------------------------------------------
# 2. Maybe Create the ORCA input that will run the
# compound script for the gradient extrapolation
# -------------------------------------------------
if (createORCAInput) then
orcaInput = openFile(orcaInputName, "w");
Write2File(orcaInput, "%%Compound \"%s\"\n", gradCreateFile);
Write2File(orcaInput, " with\n");
Write2File(orcaInput, " molecule =\"%s_Compound_1_EXT.xyz\"\;\n", baseFilename);
Write2File(orcaInput, " charge = %d\;\n", charge);
Write2File(orcaInput, " mutliplicity = %d\;\n", mult);
Write2File(orcaInput, " method = \"%s\"\;\n", method);
Write2File(orcaInput, " basis = \"%s\"\;\n", basis);
Write2File(orcaInput, " restOfInput = \"%s\"\;\n", restOfInput);
Write2File(orcaInput, " myPropName = \"%s\"\;\n", myPropName);
Write2File(orcaInput, " myFilename = \"%s\"\;\n", myFilename);
Write2File(orcaInput, " removeFiles = false\;\n");
Write2File(orcaInput, " DoOptimization = %s\;\n", DoOptimization.GetString());
Write2File(orcaInput, " produceEnGradFile = %s\;\n", produceEnGradFile.GetString());
(continues on next page)
# ------------------------------------------------
# 3. Copy the initial XYZ file to the one needed
# for the external optimizer
# -------------------------------------------------
sys_cmd("cp %s %s_Compound_1_EXT.xyz", molecule, baseFilename);
# --------------------------------------------------
# 1. Run the driver ORCA input file that calls the
# External optimizer
# --------------------------------------------------
New_Step
!ExtOpt Opt
*xyzfile &{charge} &{mult} &{baseFilename}_Compound_1_EXT.xyz
%method
ProgExt "./&{driverScriptName}"
End
Step_End
End
Comments
The initial structure should contain some ghost atoms.
Variable angle;
Variable JobStep;
Variable JobStep_m;
variable step;
step = 1.0*(amax-amin)/(nsteps-1);
Step_End
else
New_step
! &{method} &{basis} TightSCF Opt
%base "&{JobName}.step&{JobStep}"
%geom constraints
{A 1 0 2 &{angle} C}
{A 1 0 3 &{angle} C}
{A 1 0 4 &{angle} C}
end
end
* int 0 1
N 0 0 0 0.0 0.0 0.0
DA 1 0 0 2.0 0.0 0.0
H 1 2 0 1.06 &{angle} 0.0
H 1 2 3 1.06 &{angle} 120.0
H 1 2 3 1.06 &{angle} 240.0
*
Step_End
endif
energies[iang].readProperty(propertyName="SCF_ENERGY");
print(" index: %3d Angle %6.2lf Energy: %16.12lf Eh\n", iang, angle, energies[iang]);
EndFor
# FN 07/2024
#
# A compound script to run calculation on free atoms
# in order to generate a library of electron densities
#
%compound
Variable Element = {" ",
"H", "He",
"Li","Be","B" ,"C" ,"N" ,"O" ,"F" ,"Ne"
};
Variable Nact = {" ",
"1" , "0",
"1" ,"0" ,"3" ,"4" ,"5" ,"6" ,"7" ,"0"
};
Variable el;
for el from 1 to Element.GetSize()-1 do
if (HFTyp[el]="CASSCF") then
New_Step
! cc-pVDZ VeryTightSCF Conv
%base "atom_&{Element[el]}_&{Charge[el]}_&{Mult[el]}"
%casscf nel = &{Nact[el]};
norb = &{Norb[el]};
nroots = &{Nroots[el]};
mult = &{Mult[el]};
end
* xyz &{Charge[el]} &{Mult[el]}
&{Element[el]} 0.0 0.0 0.0
*
Step_end
else
New_Step
! &{HFTyp[el]} cc-pVDZ VeryTightSCF Conv
%base "atom_&{Element[el]}_&{Charge[el]}_&{Mult[el]}"
* xyz &{Charge[el]} &{Mult[el]}
&{Element[el]} 0.0 0.0 0.0
*
Step_end
endif
endfor
endrun;
Comments
Here, it’s interesting to note that depending on the selected atom, the script either performs a CASSCF calculation,
which provides details such as the number of electrons and number of roots, among other parameters, or it carries
out a simple Hartree-Fock calculation.
7.57.12 GoTo
Introduction
This is a brief example demonstrating how the GoTo command can be used in Compound.
Filename
goTo_Example.inp
SCRIPT
# Compound Example on GoTo usage
# Efficient ON/OFF switch
%Compound
Variable switch="OFF";
(continues on next page)
7.58 orca_2json
This utility program supports the exchange of external ORCA data like geometry, orbitals and basisets but also of
internal ORCA data like 1-electron and 2-electron integals with other programs.
The following ASCII and binary JSON-formats are available as command line options. It is possible to specify
more than one format option.
In addition two more options are availble. The first of them is used to translate a basename.property.txt file to a
corresponding one in JSON format (see Property File).
Finally, orca_2json has the ability to create a .gbw file from a json file. For this one needs to use the ‘-gbw’ option
(see Import JSON data into ORCA).
BaseName.json.conf
orca.json.conf
Most keywords in the configuration file can be activated or deactivated with true or false but some keywords like
densities or output formats have more options and require a list of values. If an option is not specifically selected
it is omitted.
Structure of the configuration file:
{
"keyword": true/false,
...
"keyword": true/false,
"keyword": ["option",...."option"]
...
}
Example
{
"MOCoefficients":false,
"BasisSet":false
}
Using the above configuration file in the working directory, orca_2json will not export the molecular coefficients
and the basis set information.
Example
Here is an example configuration file with most available keywords where everything is disabled except for the
basis set information and the specified Integrals, all densities stored in the density file are requested and the output
format should be ascii json and binary json.
{
"MOCoefficients": false,
"Basisset": true,
"1elPropertyIntegrals": ["dipole", "quadrupole", "velocity", "printLinMom", "angular_
˓→momentum", "higherMoment"],
Where
basename is the name of the property file without the extension property.txt.
Example
If we use the following ORCA input (with the name test.inp):
!HF
*xyz 0 1
H 0.0 0.0 0.0
H 0.0 0.0 0.8
*
ORCA will create and store on disk, a file named “test.property.txt”. The start of the file will look like this:
*************************************************
******************* ORCA 6.0 *******************
*************************************************
$Calculation_Status
&GeometryIndex 1
&ListStatus OUT
&VERSION [&Type "String"] "6.0"
&PROGNAME [&Type "String"] "LeanSCF"
&STATUS [&Type "String"] "NORMAL TERMINATION"
$End
$Geometry
&GeometryIndex 1
&ListStatus OUT
&NATOMS [&Type "Integer"] 2
&NCORELESSECP [&Type "Integer"] 0
&NGHOSTATOMS [&Type "Integer"] 0
&CartesianCoordinates [&Type "Coordinates", &Dim(2,4), &Units "Bohr"]
H 0.000000000000 0.000000000000 0.000000000000
H 0.000000000000 0.000000000000 1.511780907137
$End
$SCF_Energy
&GeometryIndex 1
&ListStatus OUT
&SCF_ENERGY [&Type "Double"] -1.1271129220233238e+00
$End
ORCA will create a new file on disk, named “test.property.json”. The start of this file will look like this:
{
"Calculation_Status" : {
"PropertyName" : "Calculation_Status",
"GeometryIndex" : 1,
"VERSION" : "6.0" ,
"PROGNAME" : "LeanSCF" ,
"STATUS" : "NORMAL TERMINATION"
},
"Geometry_1" : {
"Geometry" : {
"PropertyName" : "Geometry",
"GeometryIndex" : 1,
"NATOMS" : 2 ,
"NCORELESSECP" : 0 ,
"NGHOSTATOMS" : 0 ,
"Coordinates" : {
"Type": "Cartesians",
"Units": "Bohr",
"Cartesians": [
["H ", 0.000000000000, 0.000000000000, 0.000000000000],
["H ", 0.000000000000, 0.000000000000, 1.511780907137]
]
}
},
"SCF_Energy" : {
"PropertyName" : "SCF_Energy",
"GeometryIndex" : 1,
"SCF_ENERGY" : -1.1271129220233238e+00
},
Basic Information
Some basic information will always be written into the JSON-file as
- ElementNumber
- Idx
- NuclearCharge
- CoordinateUnits
- HFTyp
- Multiplicity
- PointGroup
For example using the following configuration file where we set everything to false:
{
"MOCoefficients": false,
"Basisset": false,
"MullikenCharge": false,
"LoewdinCharge": false,
"JSONFormats": ["json"]
}
will still produce a json file which for the case of a H2 molecule should look like:
{
"Molecule": {
"Atoms": [
{
"Coords": [
0.0,
0.0,
0.0
],
"ElementLabel": "H",
"ElementNumber": 1,
"Idx": 0,
"NuclearCharge": 1.0
},
{
"Coords": [
0.0,
0.0,
0.8
],
"ElementLabel": "H",
"ElementNumber": 1,
"Idx": 1,
"NuclearCharge": 1.0
}
],
"BaseName": "test",
"Charge": 0,
"CoordinateUnits": "Angs",
"HFTyp": "RHF",
"Multiplicity": 1,
"PointGroup": "C1"
},
"ORCA Header": {
"Date": "2024-06-03 00:06:37 +0200",
"Git": "548015a5a0",
"Version": " Program Version 6.0 - CURRENT -\n"
}
}
Densities
orca_2json can also export calculated densities in json format.
NOTE By default densities, due to their potential size, are not exported to a json file.
NOTE An empty bracket syntax (“Densities” : []) will cause the program to crash.
NOTE There is the string “All” available where the program will export all available densities.
Electron Integrals
The list of available electron integrals is shown in the next table.
1-electron integrals
Example
{
"1elIntegrals": ["H", "S"],
"JSONFormats": ["json"]
}
will produce a json file were only the H-Matrix and the Overlap matrix are printed (beside the basic information).
Please note that for the one electron relativistic integrals there is a separate variable (see 1-electron relativistic
integrals)
Example
{
"1elPropertyIntegrals": ["dipole", "quadrupole"],
"JSONFormats": ["json"]
}
1-electron relativistic integrals follow the same notation as the corresponding non-relativistic ones (see 1-electron
integrals).
Example
{
"1elIntegralsRel":["H", "T", "V"],
"JSONFormats": ["json"]
}
This example will produce and store in the corresponding json file the X2C-transformed H-Matrix, as well as
the separate potential and kinetic contributions. Note that while the “relativistic” overlap matrix is available for
completeness, in X2C it is identical to the non-relativistic overlap by construction.
Also available are 1-electron relativistic (X2C) property integrals similar to the non-relativistic ones but with
reduced options.
Example
{
"1elPropertyRelIntegrals": ["dipole","quadrupole","angular_momentum"]
}
Origin setting
The origin of the electric property is per default the Cartesian origin but also the center of mass and the center of
nuclear charges can be selected. Additionally an arbitrary position can be given as x,y,z coordinates when ori_el =
3 is chosen. Currently the following options are valid:
- 3 - arbitrary position
Example
{
"1elPropertyIntegrals": ["dipole","quadrupole"],
"ori_el": 3,
"ori_el_xyz": [0.0, 1.0, 1.0]
}
2-electron integrals
ORCA_2json can produce and write on disk three main categories of 2-electron integrals.
1. Two-electron integrals in atomic basis (2-electron integrals in AO basis)
2. Two-electron integrals in molecular basis (2-electron integrals in MO basis)
3. Two-electron integrals using the resolution of identity approximation (RI). (RI 2-electron integrals)
In atomic basis the two-electron integrals can be saved in Coulomb order or in Exchange order. The keywords for
the two options are shown in the next table.
In molecular basis, ORCA follows the accepted notation where by I,J,K and L we specify “internal” orbitals, mean-
ing occupied in the reference wavefunction while by A,B,C and D we specify “external” orbitals, meaning orbitals
that are empty in the reference wavefunction. With P,Q,R and S we specify all possible orbitals, meaning both
“internal” and “external”. The available keywords in “orca_2json” for the two-electron integrals in the molecular
basis are the ones shown in the table below:
Example
{
"2elIntegrals":["MO_IJKL", "MO_ABCD"],
"Thresh": 1e-8
}
RI 2-electron integrals
Using the Resolution of Identity (RI) one can create the integrals in a more efficient way. There are two main
categories of RI integrals: the 3-index integrals, where only only half of the transformation has taken place, and
the 4-index integrlas where the integrals are totally transformed in the molecular basis. The notation of the integrals
follows the one we just described for the two-electron integrals in the molecular basis.
In addition to the integrals in case of RI integrals also the used RI Metric is available through the option Vaux:
Vaux - true/false
Example
{
"2elIntegrals":["RI_IJKL", "RI_IJV"],
"Vaux":true
}
The full transformation integrals can be selected via the FullTrafo keyword.
FullTrafo - true/false
Also the non-redundant 2-electron integrals are available for the RI and the nonRI case. Therefore the options
2elNonRedIntegrals or 2elNonRedRIIntegrals must be specified.
2elNonRedIntegrals - true/false
2elNonRedRIIntegrals - true/false
The orbital window can either be selected automatically by the transformation routine or given by the user via the
OrbWin keyword. The internal and external space (i0,i1,a0,a1) is defined via an integer list.
for example:
OrbWin - [0,8,9,15]
- [0,12,13,30,0,12,13,30]
The default AUX basis type is AuxC but can be changed with the keyword AuxBasisType. Please keep in mind
that only those basis types used during the ORCA run can be selected.
AuxBasisType - AuxJ
- AuxJK
- AuxC
To reduce the number of the integrals the keyword Thresh can be used to decrease the selected integrals to save disk
space. This effects ONLY the printing and not the accuracy of the generated integrals. The default print threshold
is 1.e-15.
Example
{
"OrbWin": [0,7,8,85,0,0,0,0],
"Thresh": 1e-8,
"AuxBasisType": "AuxC",
"Vaux": true,
"2elIntegrals": ["RI_IJKL"]
}
Example
{
"CIS": true,
"CISNRoots": false,
"CISRoot": [1,4,7,12]
}
Example
{
"CIS": true,
"CISNRoots": true
}
JSON Format
The JSON Format that is created can also be defined in the configuration file through the JSONFormats variable.
Example
{
"JSONFormats":["json","bson","ubjson","msgpck"]
}
MO Coefficients
Example
{
"MOCoefficients": true
}
Basic Information
In order to create a functional gbw-file the following information must be provided:
- ElementNumber
- NuclearCharge
- HFTyp
- Multiplicity
- MolecularOrbitals
NOTE
Please keep in mind that MolecularOrbitals is a composite of 2 different components, namely “EnergyUnit” and
“MOs”. Then “MOs” contains “MOCoefficients”, “Occupancy”, “OrbitalEnergy”, “OrbitalSymLabel”* and
“OrbitalSymmetry”*.
Example
The following file (let’s call it filename.json) is a json file for H_2 molecule with STO-3G basis set.
{
"Molecule": {
"Atoms": [
{"Basis": [
{"Coefficients": [ 0.1543289707029839,
0.5353281424384732,0.44463454202535485],
"Exponents": [3.42525091,0.62391373,0.1688554],
"Shell": "s"}],
"Coords": [0.0,0.0,0.0],
"ElementNumber": 1,
"NuclearCharge": 1.0},
{"Basis": [
{"Coefficients": [0.1543289707029839,
0.5353281424384732,0.44463454202535485],
"Exponents": [3.42525091,0.62391373,0.1688554],
"Shell": "s"}],
"Coords": [0.0,0.0,0.8],
"ElementNumber": 1,
"NuclearCharge": 1.0}],
"Charge": 0,
"CoordinateUnits": "Angs",
"HFTyp": "RHF",
"MolecularOrbitals": {
"EnergyUnit": "Eh",
"MOs": [{"MOCoefficients": [
-0.5554171364661243,-0.5554171364661241],
"Occupancy": 2.0,
"OrbitalEnergy": -0.5544958795933514,
"OrbitalSymLabel": "A",
"OrbitalSymmetry": 0},
{"MOCoefficients": [
(continues on next page)
𝑅ℓ (𝑟) is the common radial part of a shell with angular momentum ℓ that consists of a specific basis set dependent
linear combination of Gaussian primitives. It is normalized independently:
∫︁ ∞
𝑟2ℓ+2 𝑅ℓ2 (𝑟) 𝑑𝑟 = 1
0
The factors 𝑟 and sin 𝜗 in these integrals arise from the volume element in spherical polar coordinates:
2
𝑥 = 𝑟 sin 𝜗 cos 𝜙
𝑦 = 𝑟 sin 𝜗 sin 𝜙
𝑧 = 𝑟 cos 𝜗
𝑑𝑥 𝑑𝑦 𝑑𝑧 = 𝑟2 sin 𝜗 𝑑𝑟 𝑑𝜗 𝑑𝜙
Angular momentum 𝑠 (ℓ = 0)
1
𝑠 = √ 𝑅𝑠 (𝑟)
2 𝜋
Angular momentum 𝑝 (ℓ = 1)
√︂
1 3
𝑁𝑝 =
2 𝜋
𝑝(0) = 𝑝0 = 𝑁𝑝 𝑧 𝑅𝑝 (𝑟)
𝑝(1) = 𝑝+1 = 𝑁𝑝 𝑥 𝑅𝑝 (𝑟)
𝑝(2) = 𝑝−1 = 𝑁𝑝 𝑦 𝑅𝑝 (𝑟)
Angular momentum 𝑑 (ℓ = 2)
√︂
1 15
𝑁𝑑 =
2 𝜋
√
3
𝑑(0) 𝑁𝑑 3𝑧 2 − 𝑟2 𝑅𝑑 (𝑟)
(︀ )︀
= 𝑑0 =
6
𝑑(1) = 𝑑+1 = 𝑁𝑑 𝑥𝑧 𝑅𝑑 (𝑟)
𝑑(2) = 𝑑−1 = 𝑁𝑑 𝑦𝑧 𝑅𝑑 (𝑟)
𝑥2 − 𝑦 2
𝑑(3) = 𝑑+2 = 𝑁𝑑 𝑅𝑑 (𝑟)
2
𝑑(4) = 𝑑−2 = 𝑁𝑑 𝑥𝑦 𝑅𝑑 (𝑟)
Angular momentum 𝑓 (ℓ = 3)
√︂
1 105
𝑁𝑓 =
2 𝜋
√
15
𝑓 (0) 𝑁𝑓 𝑧 5𝑧 2 − 3𝑟2 𝑅𝑓 (𝑟)
(︀ )︀
= 𝑓0 =
√30
10
𝑓 (1) 𝑁𝑓 𝑥 5𝑧 2 − 𝑟2 𝑅𝑓 (𝑟)
(︀ )︀
= 𝑓+1 =
√20
10
𝑓 (2) 𝑁𝑓 𝑦 5𝑧 2 − 𝑟2 𝑅𝑓 (𝑟)
(︀ )︀
= 𝑓−1 =
20
1
𝑓 (3) = 𝑓+2 = 𝑁𝑓 𝑥2 − 𝑦 2 𝑧 𝑅𝑓 (𝑟)
(︀ )︀
2
𝑓 (4) = 𝑓−2 = 𝑁𝑓 𝑥𝑦𝑧 𝑅𝑓 (𝑟)
√
6
𝑓 (5) 𝑁𝑓 𝑥 𝑥2 − 3𝑦 2 𝑅𝑓 (𝑟)
(︀ )︀
= 𝑓+3 = −
√12
6
𝑓 (6) 𝑁𝑓 𝑦 3𝑥2 − 𝑦 2 𝑅𝑓 (𝑟)
(︀ )︀
= 𝑓−3 = −
12
Angular momentum 𝑔 (ℓ = 4)
√︂
3 35
𝑁𝑔 =
2 𝜋
√
35
𝑔 (0) 𝑁𝑔 35𝑧 4 − 30𝑧 2 𝑟2 + 3𝑟4 𝑅𝑔 (𝑟)
(︀ )︀
= 𝑔0 =
280
√
14
𝑔 (1) 𝑁𝑔 𝑥𝑧 7𝑧 2 − 3𝑟2 𝑅𝑔 (𝑟)
(︀ )︀
= 𝑔+1 =
√28
14
𝑔 (2) 𝑁𝑔 𝑦𝑧 7𝑧 2 − 3𝑟2 𝑅𝑔 (𝑟)
(︀ )︀
= 𝑔−1 =
√28
7
𝑔 (3) 𝑁𝑔 𝑥2 − 𝑦 2 7𝑧 2 − 𝑟2 𝑅𝑔 (𝑟)
(︀ )︀ (︀ )︀
= 𝑔+2 =
28
√
7
𝑔 (4) 𝑁𝑔 𝑥𝑦 7𝑧 2 − 𝑟2 𝑅𝑔 (𝑟)
(︀ )︀
= 𝑔−2 =
14√
2
𝑔 (5) 𝑁𝑔 𝑥 𝑥2 − 3𝑦 2 𝑧 𝑅𝑔 (𝑟)
(︀ )︀
= 𝑔+3 = −
√4
2
𝑔 (6) 𝑁𝑔 𝑦 3𝑥2 − 𝑦 2 𝑧 𝑅𝑔 (𝑟)
(︀ )︀
= 𝑔−3 = −
4
1
𝑔 (7) = 𝑔+4 = − 𝑁𝑔 𝑥4 − 6𝑥2 𝑦 2 + 𝑦 4 𝑅𝑔 (𝑟)
(︀ )︀
8
1
𝑔 (8) = 𝑔−4 = − 𝑁𝑔 𝑥𝑦 𝑥2 − 𝑦 2 𝑅𝑔 (𝑟)
(︀ )︀
2
Angular momentum ℎ (ℓ = 5)
√︂
1 11
𝑁ℎ =
2 𝜋
1
ℎ(0) = ℎ0 = 𝑁ℎ 𝑧 63𝑧 4 − 70𝑧 2 𝑟2 + 15𝑟4 𝑅ℎ (𝑟)
(︀ )︀
8√
15
ℎ(1) = ℎ+1 𝑁ℎ 𝑥 21𝑧 4 − 14𝑧 2 𝑟2 + 𝑟4 𝑅ℎ (𝑟)
(︀ )︀
=
√8
15
ℎ(2) = ℎ−1 𝑁ℎ 𝑦 21𝑧 4 − 14𝑧 2 𝑟2 + 𝑟4 𝑅ℎ (𝑟)
(︀ )︀
=
√8
105
ℎ(3) = ℎ+2 𝑁ℎ 𝑥2 − 𝑦 2 𝑧 3𝑧 2 − 𝑟2 𝑅ℎ (𝑟)
(︀ )︀ (︀ )︀
=
√ 4
105
ℎ(4) = ℎ−2 𝑁ℎ 𝑥𝑦𝑧 3𝑧 2 − 𝑟2 𝑅ℎ (𝑟)
(︀ )︀
=
√2
70
ℎ(5) = ℎ+3 𝑁ℎ 𝑥 𝑥2 − 3𝑦 2 9𝑧 2 − 𝑟2 𝑅ℎ (𝑟)
(︀ )︀ (︀ )︀
=−
√16
70
ℎ(6) = ℎ−3 𝑁ℎ 𝑦 3𝑥2 − 𝑦 2 9𝑧 2 − 𝑟2 𝑅ℎ (𝑟)
(︀ )︀ (︀ )︀
=−
16
√
3 35
ℎ(7) = ℎ+4 𝑁ℎ 𝑥4 − 6𝑥2 𝑦 2 + 𝑦 4 𝑧 𝑅ℎ (𝑟)
(︀ )︀
=−
√8
3 35
ℎ(8) = ℎ−4 𝑁ℎ 𝑥𝑦 𝑥2 − 𝑦 2 𝑧 𝑅ℎ (𝑟)
(︀ )︀
=−
√2
3 14
ℎ(9) = ℎ+5 𝑁ℎ 𝑥 𝑥4 − 10𝑥2 𝑦 2 + 5𝑦 4 𝑅ℎ (𝑟)
(︀ )︀
=
16
√
3 14
ℎ(10) = ℎ−5 𝑁ℎ 𝑦 5𝑥4 − 10𝑥2 𝑦 2 + 𝑦 4 𝑅ℎ (𝑟)
(︀ )︀
=
16
Angular momentum 𝑖 (ℓ = 6)
√︂
1 13
𝑁𝑖 =
2 𝜋
1
𝑖(0) 𝑁𝑖 231𝑧 6 − 315𝑧 4 𝑟2 + 105𝑧 2 𝑟4 − 5𝑟6 𝑅𝑖 (𝑟)
(︀ )︀
= 𝑖0 =
16
√
21
𝑖(1) 𝑁𝑖 𝑥𝑧 33𝑧 4 − 30𝑧 2 𝑟2 + 5𝑟4 𝑅𝑖 (𝑟)
(︀ )︀
= 𝑖+1 =
√8
21
𝑖(2) 𝑁𝑖 𝑦𝑧 33𝑧 4 − 30𝑧 2 𝑟2 + 5𝑟4 𝑅𝑖 (𝑟)
(︀ )︀
= 𝑖−1 =
√8
210
𝑖(3) 𝑁𝑖 𝑥2 − 𝑦 2 33𝑧 4 − 18𝑧 2 𝑟2 + 𝑟4 𝑅𝑖 (𝑟)
(︀ )︀ (︀ )︀
= 𝑖+2 =
√ 32
210
𝑖(4) 𝑁𝑖 𝑥𝑦 33𝑧 4 − 18𝑧 2 𝑟2 + 𝑟4 𝑅𝑖 (𝑟)
(︀ )︀
= 𝑖−2 =
16
√
210
𝑖(5) 𝑁𝑖 𝑥 𝑥2 − 3𝑦 2 𝑧 11𝑧 2 − 3𝑟2 𝑅𝑖 (𝑟)
(︀ )︀ (︀ )︀
= 𝑖+3 = −
√16
210
𝑖(6) 𝑁𝑖 𝑦 3𝑥2 − 𝑦 2 𝑧 11𝑧 2 − 3𝑟2 𝑅𝑖 (𝑟)
(︀ )︀ (︀ )︀
= 𝑖−3 = −
√16
3 7
𝑖(7) 𝑁𝑖 𝑥4 − 6𝑥2 𝑦 2 + 𝑦 4 11𝑧 2 − 𝑟2 𝑅𝑖 (𝑟)
(︀ )︀ (︀ )︀
= 𝑖+4 = −
16
√
3 7
𝑖(8) 𝑁𝑖 𝑥𝑦 𝑥2 − 𝑦 2 11𝑧 2 − 𝑟2 𝑅𝑖 (𝑟)
(︀ )︀ (︀ )︀
= 𝑖−4 = −
√ 4
3 154
𝑖(9) 𝑁𝑖 𝑥 𝑥4 − 10𝑥2 𝑦 2 + 5𝑦 4 𝑧 𝑅𝑖 (𝑟)
(︀ )︀
= 𝑖+5 =
√16
3 154
𝑖(10) 𝑁𝑖 𝑦 5𝑥4 − 10𝑥2 𝑦 2 + 𝑦 4 𝑧 𝑅𝑖 (𝑟)
(︀ )︀
= 𝑖−5 =
√ 16
462
𝑖(11) 𝑁𝑖 𝑥2 − 𝑦 2 𝑥4 − 14𝑥2 𝑦 2 + 𝑦 4 𝑅𝑖 (𝑟)
(︀ )︀ (︀ )︀
= 𝑖+6 =
√ 32
462
𝑖(12) 𝑁𝑖 𝑥𝑦 3𝑥4 − 10𝑥2 𝑦 2 + 3𝑦 4 𝑅𝑖 (𝑟)
(︀ )︀
= 𝑖−6 =
16
Angular momentum 𝑗 (ℓ = 7)
√︂
1 15
𝑁𝑗 =
2 𝜋
1
𝑗 (0) 𝑁𝑗 𝑧 429𝑧 6 − 693𝑧 4 𝑟2 + 315𝑧 2 𝑟4 − 35𝑟6 𝑅𝑗 (𝑟)
(︀ )︀
= 𝑗0 =
16
√
7
𝑗 (1) 𝑁𝑗 𝑥 429𝑧 6 − 495𝑧 4 𝑟2 + 135𝑧 2 𝑟4 − 5𝑟6 𝑅𝑗 (𝑟)
(︀ )︀
= 𝑗+1 =
32
√
7
𝑗 (2) 𝑁𝑗 𝑦 429𝑧 6 − 495𝑧 4 𝑟2 + 135𝑧 2 𝑟4 − 5𝑟6 𝑅𝑗 (𝑟)
(︀ )︀
= 𝑗−1 =
32
√
42
𝑗 (3) 𝑁𝑗 𝑥2 − 𝑦 2 𝑧 143𝑧 4 − 110𝑧 2 𝑟2 + 15𝑟4 𝑅𝑗 (𝑟)
(︀ )︀ (︀ )︀
= 𝑗+2 =
√32
42
𝑗 (4) 𝑁𝑗 𝑥𝑦𝑧 143𝑧 4 − 110𝑧 2 𝑟2 + 15𝑟4 𝑅𝑗 (𝑟)
(︀ )︀
= 𝑗−2 =
16
√
21
𝑗 (5) 𝑁𝑗 𝑥 𝑥2 − 3𝑦 2 143𝑧 4 − 66𝑧 2 𝑟2 + 3𝑟4 𝑅𝑗 (𝑟)
(︀ )︀ (︀ )︀
= 𝑗+3 = −
√32
21
𝑗 (6) 𝑁𝑗 𝑦 3𝑥2 − 𝑦 2 143𝑧 4 − 66𝑧 2 𝑟2 + 3𝑟4 𝑅𝑗 (𝑟)
(︀ )︀ (︀ )︀
= 𝑗−3 = −
√32
231
𝑗 (7) 𝑁𝑗 𝑥4 − 6𝑥2 𝑦 2 + 𝑦 4 𝑧 13𝑧 2 − 3𝑟2 𝑅𝑗 (𝑟)
(︀ )︀ (︀ )︀
= 𝑗+4 = −
√16
231
𝑗 (8) 𝑁𝑗 𝑥𝑦 𝑥2 − 𝑦 2 𝑧 13𝑧 2 − 3𝑟2 𝑅𝑗 (𝑟)
(︀ )︀ (︀ )︀
= 𝑗−4 = −
√ 4
231
𝑗 (9) 𝑁𝑗 𝑥 𝑥4 − 10𝑥2 𝑦 2 + 5𝑦 4 13𝑧 2 − 𝑟2 𝑅𝑗 (𝑟)
(︀ )︀ (︀ )︀
= 𝑗+5 =
√32
231
𝑗 (10) 𝑁𝑗 𝑦 5𝑥4 − 10𝑥2 𝑦 2 + 𝑦 4 13𝑧 2 − 𝑟2 𝑅𝑗 (𝑟)
(︀ )︀ (︀ )︀
= 𝑗−5 =
√32
6006
𝑗 (11) 𝑁𝑗 𝑥2 − 𝑦 2 𝑥4 − 14𝑥2 𝑦 2 + 𝑦 4 𝑧 𝑅𝑗 (𝑟)
(︀ )︀ (︀ )︀
= 𝑗+6 =
√ 32
6006
𝑗 (12) 𝑁𝑗 𝑥𝑦 3𝑥2 − 𝑦 2 𝑥2 − 3𝑦 2 𝑧 𝑅𝑗 (𝑟)
(︀ )︀ (︀ )︀
= 𝑗−6 =
16
√
429
𝑗 (13) 𝑁𝑗 𝑥 𝑥6 − 21𝑥4 𝑦 2 + 35𝑥2 𝑦 4 − 7𝑦 6 𝑅𝑗 (𝑟)
(︀ )︀
= 𝑗+7 = −
√32
429
𝑗 (14) 𝑁𝑗 𝑦 7𝑥6 − 35𝑥4 𝑦 2 + 21𝑥2 𝑦 4 − 𝑦 6 𝑅𝑗 (𝑟)
(︀ )︀
= 𝑗−7 = −
32
Angular momentum 𝑘 (ℓ = 8)
√︂
1 17
𝑁𝑘 =
2 𝜋
1
𝑘 (0) = 𝑘0 = 𝑁𝑘 6435𝑧 8 − 12012𝑧 6 𝑟2 + 6930𝑧 4 𝑟4 − 1260𝑧 2 𝑟6 + 35𝑟8 𝑅𝑘 (𝑟)
(︀ )︀
128
3
𝑘 (1) = 𝑘+1 𝑁𝑘 𝑥𝑧 715𝑧 6 − 1001𝑧 4 𝑟2 + 385𝑧 2 𝑟4 − 35𝑟6 𝑅𝑘 (𝑟)
(︀ )︀
=
32
3
𝑘 (2) = 𝑘−1 𝑁𝑘 𝑦𝑧 715𝑧 6 − 1001𝑧 4 𝑟2 + 385𝑧 2 𝑟4 − 35𝑟6 𝑅𝑘 (𝑟)
(︀ )︀
=
32√
3 70
𝑘 (3) = 𝑘+2 𝑁𝑘 𝑥2 − 𝑦 2 143𝑧 6 − 143𝑧 4 𝑟2 + 33𝑧 2 𝑟4 − 𝑟6 𝑅𝑘 (𝑟)
(︀ )︀ (︀ )︀
=
64
√
3 70
𝑘 (4) = 𝑘−2 𝑁𝑘 𝑥𝑦 143𝑧 6 − 143𝑧 4 𝑟2 + 33𝑧 2 𝑟4 − 𝑟6 𝑅𝑘 (𝑟)
(︀ )︀
=
32
√
1155
𝑘 (5) = 𝑘+3 𝑁𝑘 𝑥 𝑥2 − 3𝑦 2 𝑧 39𝑧 4 − 26𝑧 2 𝑟2 + 3𝑟4 𝑅𝑘 (𝑟)
(︀ )︀ (︀ )︀
=−
√ 32
1155
𝑘 (6) = 𝑘−3 𝑁𝑘 𝑦 3𝑥2 − 𝑦 2 𝑧 39𝑧 4 − 26𝑧 2 𝑟2 + 3𝑟4 𝑅𝑘 (𝑟)
(︀ )︀ (︀ )︀
=−
√32
3 77
𝑘 (7) = 𝑘+4 𝑁𝑘 𝑥4 − 6𝑥2 𝑦 2 + 𝑦 4 65𝑧 4 − 26𝑧 2 𝑟2 + 𝑟4 𝑅𝑘 (𝑟)
(︀ )︀ (︀ )︀
=−
√64
3 77
𝑘 (8) = 𝑘−4 𝑁𝑘 𝑥𝑦 𝑥2 − 𝑦 2 65𝑧 4 − 26𝑧 2 𝑟2 + 𝑟4 𝑅𝑘 (𝑟)
(︀ )︀ (︀ )︀
=−
√ 16
3 1001
𝑘 (9) = 𝑘+5 𝑁𝑘 𝑥 𝑥4 − 10𝑥2 𝑦 2 + 5𝑦 4 𝑧 5𝑧 2 − 𝑟2 𝑅𝑘 (𝑟)
(︀ )︀ (︀ )︀
=
√32
3 1001
𝑘 (10) = 𝑘−5 𝑁𝑘 𝑦 5𝑥4 − 10𝑥2 𝑦 2 + 𝑦 4 𝑧 5𝑧 2 − 𝑟2 𝑅𝑘 (𝑟)
(︀ )︀ (︀ )︀
=
√ 32
858
𝑘 (11) = 𝑘+6 𝑁𝑘 𝑥2 − 𝑦 2 𝑥4 − 14𝑥2 𝑦 2 + 𝑦 4 15𝑧 2 − 𝑟2 𝑅𝑘 (𝑟)
(︀ )︀ (︀ )︀ (︀ )︀
=
√64
858
𝑘 (12) = 𝑘−6 𝑁𝑘 𝑥𝑦 𝑥2 − 3𝑦 2 3𝑥2 − 𝑦 2 15𝑧 2 − 𝑟2 𝑅𝑘 (𝑟)
(︀ )︀ (︀ )︀ (︀ )︀
=
32√
3 715
𝑘 (13) = 𝑘+7 𝑁𝑘 𝑥 𝑥6 − 21𝑥4 𝑦 2 + 35𝑥2 𝑦 4 − 7𝑦 6 𝑧 𝑅𝑘 (𝑟)
(︀ )︀
=−
√32
3 715
𝑘 (14) = 𝑘−7 𝑁𝑘 𝑦 7𝑥6 − 35𝑥4 𝑦 2 + 21𝑥2 𝑦 4 − 𝑦 6 𝑧 𝑅𝑘 (𝑟)
(︀ )︀
=−
√32
3 715
𝑘 (15) = 𝑘+8 𝑁𝑘 𝑥8 − 28𝑥6 𝑦 2 + 70𝑥4 𝑦 4 − 28𝑥2 𝑦 6 + 𝑦 8 𝑅𝑘 (𝑟)
(︀ )︀
=−
√128
3 715
𝑘 (16) = 𝑘−8 𝑁𝑘 𝑥𝑦 𝑥2 − 𝑦 2 𝑥4 − 6𝑥2 𝑦 2 + 𝑦 4 𝑅𝑘 (𝑟)
(︀ )︀ (︀ )︀
=−
16
*************************************************
******************* ORCA 6.0.x ******************
*************************************************
$SCF_Energy
&GeometryIndex 1
&ListStatus OUT
&SCF_ENERGY [&Type "Double"] -1.1271129230772137e+00
$End
Each property consists of components. Each component starts with the symbol “&” and has not ending symbol.
For example:
Before proceeding to details about the property specific components, there are two components that exist in every
property and always in the same order.
The first one is the GeometryIndex component. The syntax for this is quite simple, the normal “&” component
start symbol, followed by “GeometryIndex” and then an integer.
For example:
&GeometryIndex 1
This is an easy way to know the geometry that the current property belongs to.
Then for all properties follows the ListStatus component. The syntax for this component is again the “&” component
start symbol, followed by “ListStatus” follow by one the following 5 options:
1. “IN” when the property is inside a list properties
2. “OUT ” when the property is not inside a list of properties
3. “FIRST ” when the property is the first in a list of properties
4. “LAST ” when the property is the last in a list of properties
5. “UNIQUE” when the property is the only one in a list of properties
For example:
&ListStatus OUT
Then for each property follows a series of components. Each component has the following syntax:
First the start of component symbol “&”.
Then follows the name of the component.
Then a bracket opens with various bracket information about the component. For details on the syntax of the
bracket information please check Bracket information.
After the bracket there are different options.
If the type is a “Double” or an “Integer” then a number of the appropriate type is expected.
For example:
If the type is a “String” then a string is expected starting with quotation marks.
For example:
Finally if the type is a kind or Array then, unless there is a comment, that is enclosed inside quotation marks, an
array is written starting from the next line. We should note here that after the column header there is an empty line.
In addition there is always a first column with an integer giving just the row of the array.
For example:
0 0.0000000000000000e+00
1 0.0000000000000000e+00
2 -5.1833121128553384e-12
Bracket information
Bracket information is a list of information separated with ‘,’. The first and most important bracket component is
the “Type”. Type can be one of the following:
1. “Double”
2. “Integer
3. “Boolean”
4. “String”
5. “ArrayOfDoubles”
6. “ArrayOfIntegers”
7. “ArrayOfBooleans”
8. “MixedMatrix”
9. “Coordinates”
For example:
Then in case the “Type” is a kind of array the bracket must contain the dimension of the array, using the “Dim”
component.
For example:
%Method
WriteJSONPropertyfile True
End
EIGHT
8.1 Input
For calculations on open-shell systems we recommend to use the keywords !UNO !UCO in the input line. This
will generate quasi-restricted molecular orbitals QRO, unrestricted natural spin-orbitals UNSO, unrestricted natural
orbitals UNO and unrestricted corresponding orbitals UCO. Moreover, it will print the UCO overlaps in the output,
which can provide very clear information about the spin-coupling in the system. Below an example of the input
and section of the output is provided.
!B3LYP def2-SVP UNO UCO TightSCF
----------------------
Orbital Overlap(*)
----------------------
.
.
.
96: 0.99968
97: 0.99955
98: 0.99947
99: 0.99910
100: 0.99873
101: 0.99563
102: 0.74329
103: 0.00000
The overlap corresponds to a value usually less than 0.85 denotes a spin-coupled pair. Whereas, values close to
1.00 and 0.00 refers to the doubly occupied and singly occupied orbitals respectively.
1209
ORCA Manual, Release 6.0
• Def2-TZVP is different from the old TZVP. It has been realized that if one invests into an accurate triple-
zeta description of the valence region it makes limited sense to only employ a single polarization function.
The accuracy is then limited by the polarization set and is not much better than what one gets from SV(P).
Hence, def2-TZVP contains a single p-set for hydrogens but is otherwise very similar to the old TZVPP
basis set, e.g. it contains 2d1f polarization for main group elements and much more extensive polarization
sets for transition metals. The highest polarization function (f for main group) does add substantially to the
computational effort. Hence, we often use def2-TZVP without the f polarization function. In order to do
that one can use the keyword def2-TZVP(-f). Together with RI or RIJCOSX this is still computationally
economic enough for most studies.
• Def2-TZVPP is a fully consistent triple-zeta basis set that provides excellent accuracy for SCF calculations
(HF and DFT) and is still pretty good for correlated calculations. It is a good basis set to provide final single
point energies.
• Def2-QZVPP is a high accuracy basis set for all kinds of calculations. It provides SCF energies near the
basis set limit and correlation energies that are also excellent. It is computationally expensive but with RI
and RIJCOSX in conjunction with parallelization it can often still be applied for final single-point energy
calculations. In conjunction with such large basis sets one should also increase the accuracy of the integra-
tion grids in DFT and RIJCOSX — it would be a shame to limit the accuracy of otherwise very accurate
calculations by numerical noise due to the grid.
• Correlation consistent basis sets provide good correlation energies but poor to very poor SCF energies. For
the same size, the ano-pVDZ basis sets are much more accurate but are also computationally more expensive.
Except for systematic basis set extrapolation we see little reason to use the cc bases.
• Pople basis sets are somewhat old fashioned and also much less consistent across the periodic table than the
basis from the Karlsruhe group. Hence, we generally prefer the latter.
• For scalar relativistic calculations (ZORA and DKH) we strongly recommend to use the SARC bases in
conjunction with the ZORA or DKH recontractions of the Karlsruhe bases. They are also flexible enough in
the core region for general purpose and spectroscopic applications.
• Effective core potentials lead to some savings (but not necessarily spectacular ones) compared to all-electron
relativistic calculations. For accurate results, small core ECPs should be used. They are generally available
for the def2 Karlsruhe type basis sets for elements past krypton. In general we prefer Stuttgart–Dresden
ECPs over LANL ones. For the first transition row, the choices are more meager. Here Karlsruhe basis sets
do not exist in conjunction with ECPs and you are bound to either SDD or LANL of which we recommend
the former. Geometries and energies are usually good from ECPs, but for property calculations we strongly
recommend to switch to all electron scalar relativistic calculations using ZORA (magnetic properties) or
DKH (electric properties).
• You can take advantage of a built-in basis set (printed using !PrintBasis or orca_exportbasis) and then
modify it by uncontracting primitives, adding steeper functions etc. (fully uncontracted bases are generated
via uncontract in %basis) Alternatively, some basis sets exist that are of at least double-zeta quality in
the core region including the DZP and Dunning basis sets. For higher accuracy you may want to consider
the aug- series of basis sets. See section Choice of Basis Set for more about basis set input.
• Likewise, if you are doing calculations on anions in the gas phase it is advisable to include diffuse functions
in the basis set. Having these diffuse functions, however, makes things much more difficult as the locality of
the basis set is significantly reduced. If these functions are included it is advisable to choose a small value
for Thresh (10−12 or lower). This is automatically done if the smallest eigenvalue of the overlap matrix
is below DiffSThresh (which is 1e-6 by default). Also, diffuse functions tend to introduce basis set linear
dependency issues, which can be solved by setting Sthresh to a larger value than the default 10−7 (see
Section Linear Dependence). Any value of Sthresh beyond 1e-6 has to be used carefully, specially if one
is running geometry optimizations, were different basis might be cut off during different geometry steps, or
when comparing different conformers since there could be some discontinuity on the final basis set.
• The integration grids used in DFT should be viewed together with the basis set. If large basis set calculations
are converged to high accuracy it is advisable to also use large DFT integration grids (like ! DEFGRID3).
For “unlimited” accuracy (i.e. benchmark calculations) it is probably best to use product grids (Grid=0)
with a large value for IntAcc (perhaps around 6.0). The default grids have been chosen such that they
provide adequate accuracy at the lowest possible computational cost, but for all-electron calculations on
heavy elements in conjunction with scalar relativistic Hamiltonians you should examine the grid dependency
very carefully and adjust these parameters accordingly to minimize errors. You should be aware that for large
molecules the exchange-correlation integration is usually not the dominating factor (not even in combination
with RI-J).
• Similarly important is the value of Thresh that will largely determine the tunaround time for direct SCF
calculations. It may be possible to go to values of 10−6 –10−8 which will result in large speed-ups. However,
the error in the final energy may then be 3 orders of magnitude larger than the cutoff or, sometimes, your
calculation will fail to converge, due to the limited integral accuracy. In general it will not be possible to
converge a direct SCF calculation to better than Thresh (the program will also not allow this). For higher
accuracy values of maybe 10−10 –10−12 may be used with larger molecules requiring smaller cutoffs. In cases
where the SCF is almost converged but then fails to finally converge (which is very annoying) decreasing
Thresh and switch to TRAH SCF is recommended. In general, TCut should be around 0.01 ×Thresh in
order to be on the safe side.
• DFT calculations have many good features and in many cases they produce reliable results. In particular if
you study organic molecules it is nevertheless a good idea to check on your DFT results using MP2. MP2 in
the form of RI-MP2 is usually affordable and produces reliable results (in particular for weaker interactions
where DFT is less accurate). In case of a large mismatch between the MP2 and DFT results the alarm rings
— in many such cases MP2 is the better choice, but in others (e.g. for redox processes or transition metal
systems) it is not. Remember that SCS-MP2 (RI-SCS-MP2) and double hybrid functionals will usually
produce more accurate results than MP2 itself.
• Coupled-cluster calculations become more and more feasible and should be used whenever possible. The
LPNO-CCSD, DLPNO-CCSD and DLPNO-CCSD(T) calculations are available for single-point calculations
and provide accurate results. However, a coupled-cluster study does require careful study of basis set effects
because convergence to the basis set limit is very slow. The established basis set extrapolation schemes may
be very helpful here. For open-shell molecules and in particular for transition metals one cannot be careful
enough with the reference. You have to carefully check that the Hartree-Fock calculation converged to the
desired state in order to get coupled-cluster results that are meaningful. Orbital optimized MP2, CASSCF
or DFT orbitals may help but we have often encountered convergence difficulties in the coupled-cluster
equations with such choices.
• Generally speaking, CEPA is often better than CCSD and approaches the quality of CCSD(T). It is, however,
also a little less robust than CC methods because of the less rigorous treatment of the single excitations in
relation to electronic relaxation.
• Don’t forget: “Computers don’t solve problems – people do”. Not denying the importance and desire to
obtain accurate numbers: don’t forget that in the end it is the molecule and its chemistry or spectroscopy that
we want to learn something about. The fact that you may be able to compute one or the other number a little
more accurate doesn’t mean that this helps us understanding the physics and chemistry of our target system
any better. The danger of getting locked into technicalities and miss the desired insight is real!
• Use the target functional, grid etc. to get the final calculation converged. In many cases this should converge
fairly well now.
Here are a few other things that can be tried:
• Try to start from the orbitals of a related closed-shell species. In general closed-shell MO calculations tend
to converge better. You then hope to reach the convergence radius of another converger for the open-shell
case.
• Try to start from the orbitals of a more positive cation. Cation calculations tend to converge better.
• Try to start from a calculation with a smaller basis set. Smaller basis sets converge better. Then you have
the choice of GuessMode=CMatrix or GuessMode=FMatrix which will affect the convergence behavior.
• Use large level shifts. This increases the number of iterations but stabilizes the converger. (shift shift
0.5 erroff 0 end)
• If you are doing DFT calculations try to start from a Hartree-Fock solution for your molecule. HF calcula-
tions tend to converge somewhat better because they have a larger HOMO-LUMO gap (there are of course
exceptions).
• Carefully look at the starting orbitals (Print[P_GuessOrb]=1) and see if they make sense for your
molecule. Perhaps you have to reorder them (using Rotate) to obtain smooth convergence.
• Most of the time the convergence problems come from “unreasonable” structures. Did you make sure that
your coordinates are in the correct units (Angström or Bohrs?) and have been correctly recognized as such
by the program?
• If you have trouble with UHF calculations try ROHF (especially SAHF or CAHF) first and then go to the
UHF calculation.
• Fool around with Guess=Hueckel, PAtom or even HCore.
• It may sometimes be better to converge to an undesired state and then take the orbitals of this state, reorder
them (using Rotate) and try to converge to the desired state.
• Similarly, bad orbitals may be manipulated using the SCF stability analysis (section SCF Stability Analysis)
to provide a new guess.
• Try to start the calculation with a large damping factor (DampFac=0.90; or even larger) and specify a rela-
tively small DIIS error to turn damping off (say DampErr=0.02;). This will increase the number of cycles
but may guide you into a regime were the calculation actually converges.
• The advices above mostly apply to Hartree-Fock and DFT. For CASSCF, the available options and how they
can aid to overcome convergence problems are described in the CASSCF manual section. In many cases
modifying the initial guess or adding a level shift will help. Do not hesitate to use large level-shifts (e.g 2.0
or even 3.0). The manual is accompanied by CASSCF tutorial that goes through many details of the process
including practical advices on convergence. The choice of initial guess is crucial. Some guesses work better
for organic molecules while others excel for transition-metal complexes. The tutorial therefore discusses
various initial guess options available in ORCA.
• If nothing else helps, stop, grab a friend and go to the next pub (you can also send me an unfriendly e-mail
but this will likely not make your calculation converge any quicker; ⌣).
¨
molecules. The various gradient corrected functionals (GGA functionals) are generally similar in their behavior.
The BP functional is probably the most widely used in transition metal chemistry. The BLYP, PBE or PW91
functionals may also be considered. PWP has been shown to be rather good for hyperfine coupling predictions of
light nuclei in radicals. In addition, since no Hartree-Fock exchange is used you have the ability to speed up the
calculation by a factor of 4–40 if the RI approximation is employed. This approximation is really advisable for the
LSD and GGA functionals since it leads to very little or no loss in accuracy while giving large speedups. It is, in
fact, automatically chosen to be operative when you use pure functionals.
In addition, meta-GGAs (TPSS) are available in ORCA and may provide superior results for certain properties
compared to standard GGAs. They are somewhat but not much more expensive to evaluate than standard GGAs.
For many properties (but not necessarily for geometries), more accurate results are usually given by the hybrid
density functionals that incorporate part of the HF exchange. The computational effort for these is higher than for
the GGA functionals because the HF exchange needs to be computed exactly. Very large speedups result if this is
done via the RIJCOSX approximation. Nevertheless for energetics, properties and for predictions of charge and
spin densities the hybrids appear to be the best choice. The prototype functional of this kind is B3LYP, which has
been very widely used throughout chemistry and is successful for a wide range of molecular properties. Other
hybrids have been less well tested but maybe a good choice in specific situations, for example the PBE0 functional
has been advertised for NMR chemical shift predictions and other properties. From my personal experience I can
also recommend PBE0 and PWP1 as two functionals that give good predictions for EPR g-values and hyperfine
couplings. The TPSSh meta-GGA hybrid is also very succesful in this area.1
Together with DFT, it is often observed that the atom-pairwise dispersion correction of Stefan Grimme (DFT-D3,
and especially the newer DFT-D4) substantially improves the results at no extra cost.
Don’t forget that in present days the MP2 method becomes affordable for molecules of significant size and there
are quite a number of instances where MP2 (and particularly SCS-MP2) will do significantly better than DFT even
if it takes a little longer (the RI approximation is also highly recommended here). The perturbatively corrected
functionals (B2PLYP) may also be a very good choice for many problems (at comparable cost to MP2; note that
even for large molecules with more than 1000 basis functions the MP2 correction only takes about 10-20% of the
time required for the preceding SCF calculation if the RI approximation is invoked. For even larger molecules one
has the option of speeding up the MP2 part even further by the DLPNO approximation).
Beyond DFT and (SCS-)MP2 there are coupled-cluster methods and their implementation in ORCA is efficient.
With the local pair natural orbital methods you can even study molecules of substantial size and with appealing
turnaround times.
When to go to multireference methods is a more complicated question. Typically, this will be the case if multiplets
are desired, pure spin functions for systems with several unpaired electrons, in bond breaking situations or for
certain classes of excited states (loosely speaking: whenever there are weakly interacting electrons in the system).
However, whenever you decide to do so, please be aware that this require substantial insight into the physics and
chemistry of the problem at hand. An uneducated use of CASSCF or MRCI/MRPT method likely yields numbers
that are nonsensical and that at tremendous computational cost. Here, there is no substitute for experience (and
patience ⌣).
¨
1 Some researchers like to adjust the amount of Hartree-Fock exchange according to their needs or what they think is “better” than the
standard. This increases the semiempirical character of the calculations and may represent fixes that only work for a given class of compounds
and/or properties while worsening the results for others. With this caveat in mind it is one of the things that you are free to try if you like it.
However, we do not recommend it since it will deteriorate the comparability of your results with those of other workers the vast majority of
which use standard functionals. An alternative to changing the amount of HF exchange could be to simply construct a linear regression for a
number of known cases and then use the linear regression.
TD-DFT
• Ground state gradient for TDDFT calculations with sgradlist was wrong.
• DCORR 2/3 with DoSCS giving wrong results in parallel.
• (D)-Correction not available for full TDDFT.
• Fix for memory estimates for Hessian/TDDFT when running without COSX.
• FollowIRoot was not supposed to do anything if the overlap was to small, was still updating.
• Fixed interface to BHP22 solver in CIS.
MP2
• Crash in conventional U-MP2.
• Parallel crash in RI-MP2 density.
• Crash in (RI-)MP2 gradient with SMD.
• Crash in (RI-)MP2 density with PGC and RIJK.
1215
ORCA Manual, Release 6.0
MDCI
• SemiCore was not applied correctly if ECP is present.
• ECP-related crashes.
• Fixed redundant integral generation for specific problems.
• Restored old CITrafos to address reported performance issues.
• Added missing 4th-order doubles term in (T) for RKS reference (already present in UKS-(T), RKS-DLPNO-
(T), and UKS-DLPNO-(T) and zero for RHF/UHF reference).
• UHF CIS/STEOM calculation with UseCISUpdate is set to false.
• RHF STEOM: TD-DFT initial guess.
AutoCI
• Fixed large stack allocation, e.g., in MRCC.
• Fixed runtime behavior for !Moread Noiter (falsely reporting “not converged”).
• Fixed !UseSym falsely aborting.
• AutoCI gradients: abort at start of a calculation when RI is requested instead of after coupled cluster itera-
tions.
CASSCF/NEVPT2/QD-NEVPT2
• Issue running LR over SA-CASSCF solution.
• Incorrect setting of gauge origin in CASSCF QDPT led to misleading output and in some cases complained
about not being able to find densities for the origin evaluation.
• Canonicalize the inactive and virtual spaces of AVAS guesses, to avoid spurious warnings about core orbitals
in the following CASSCF calculation.
• AVAS: fixed wrong number of occupied orbitals in case no occupied orbitals should have been selected.
• TRAH-CASSCF: compute generalized Fock matrix which is needed for the CASSCF nuclear gradient.
• Fixed redundant generation of coupling coefficients in the CI guess.
• Fixed ABS/CD spectra in calculation with !UseSym and QD-NEVPT2: The wrong densities were picked
for the CASSCF transition moments.
• Fixed ABS/CD when the NEVPT/QD-NEVPT2 ground state differs from CASSCF. Respecitve transition
were missing.
• Fixed MCD spectra not using transition densities from QD-NEVPT2 for the flag
DoFullSemiclassical=true.
• Updated manual: Reported D4TPre are updated to the new default value 1e-12. ORCA 5 used
D4TPre=1e-10.
• Fixed closed-shell case, e.g. CAS(6,3), crashing in NEVPT2.
• Fixed NEVPT2/FIC-NEVPT2 wrong energies or crashing for the Vija class to wrong addressing.
• Fixed ICE densities not stored in density container.
ANISO
• Fixed T and L matrices passed to the single-aniso.
• Fixed wrong number of non-relativistic states passed to single-aniso.
QDPT
• Corrected QDPT transition density for excitations beyond “none”.
• Information added to QDPT AMatrix.
• Issues in QDPT properties in orca_lft have been addressed.
QM/MM
• Speed issue for QMMM optimizations.
• Crystal-QMMM and compound crashed.
• Removed leftover files from QMMM-IRC amd QMMM-NEB.
Relativity
• Crash for F12 + X2C/ZORA/DKH.
• Unnecessary abort in AutoCI gradients with X2C/DKH/ZORA.
• Disabled X2C+GIAO+FiniteNuc (not yet implemented).
• 2nd-order PC correction to DKH gDSO now skipped when fpFWtrafo==false due to numerical instability.
Solvation
• Disabled analytical gradient and Hessian for XTB calculations requesting CPCMX (not implemented).
• FINAL SINGLE POINT ENERGY for calculations requesting CPCMX was wrong.
• Crash for calculations requesting Freq + CPCM + dummy atoms.
• Crash for QM/QM2 calculations with CPCM requesting excited states.
• Crash for multiple XYZ File Scans for DRACO.
• Crash with CPCM + NoIter + Pal + open-shell.
• Fix for GC and CPCM.
Optimization
• Multi-XYZ optimization crash.
• Random possible break when using GFN-xTB Hessian.
• Random crashes for RECALC_HESS=TRUE.
• COPT was saving wrong Cartesian Hessian under certain conditions, would break.
• Maximum number of angles that can be included is fixed + better error message.
• Analytic Hessian as initial Hessian option crashed with IRC.
• Crash in NEB-TS with subsequent Hessian, caused by change of number of parallel processes for NEB (max
32).
• NEB parallelization (will - again - automatically start in parallel, if enough processes are available).
GOAT
• GOAT/DOCKER/SOLVATOR now running on Windows.
• WorkerRandomStart fixed and working as intended.
• -REACT and -EXPLORE were (by mistake) not included sqrt(NFrag) to number of opts.
• Missing timings for GOAT.
DOCKER
• Abort if all final optimizations fail, was ending normally.
• Do not switch to COPT if constraints are given.
Stability analysis
• Stability analysis + closed-shell systems + post-processing (Hirshfeld, NBO, . . . ).
• SkipSecondSTAB was still checking for energy differences between steps. Now will move on regardless.
orca_2json
• Exported relativistic integrals were wrong in, HMO and angular momentum were missing.
• Choice of origin corrected.
• Empty [] and [""] are no longer crashing but disabling the options.
• Invalid property JSON syntax in the following cases:
– multiple geometries (e.g. optimizations);
– some jobs with multiple properties of the same kind;
– CIPSI energies;
– MDCI EOM energies;
– XTB jobs;
– energy extrapolation.
orca_mapspc
• XAS/XES broadening functions satisfy FWHM.
• Adjusted .stk files normalization to report band integrals.
Compound
• MORead with same type and number of atoms but different arrangement.
• Bugs in statistical functions.
Miscellaneous
• SOMF(1X) parallel bug in semi-numeric Coulomb.
• Dummy/ghost atoms lead to crash in Hessian (partial fix).
• Fixed bug of Fermi smearing calculations of two-electron systems.
• Hangup in leanscf_aftermath when using F12 and ECPs.
• Issues in RIXSSOC, XESSOC spectra in ROCIS have been addressed.
• Issues in computing RI-SSC Integrals have been addressed. This property is now turned on in CASSCF,
LFT and MRCI modules.
• Fixed a crash in MD and L-OPT when the input file name was “orca”.
• Default COSX algorithm is set to AUTO everywhere, as originally intended.
• Disable frozen-core approximation when no frozen-core electrons are present.
• orca_vib was not able to read hess file from AnFreq run.
• For very small systems restart Hessian could crash.
• Small deviations between the Guess CI Matrix and the Sigma Vector in GS-ROCIS.
• DCD-CAS: Removed left-over files.
• Uncontracted MRCI: Fixed partial general contraction calls in the MRCI integral transformation (crashed
before).
• Crash for geometry optimization followed by a vibrational frequency calculation with fixed point group Ci.
• Removal of posix_memalign, due to glibc/kernel bug.
• NBO communication fixed.
• Fixes a crash in the integral transformation.
• Crash in orca_vpot due to missing prescreening matrix.
A.1.2 Improvements
Output
• Print all orbital energies for !PrintMOs and !LargePrint.
• Removed redundant warning when using gCP for elements Z > 36 (Kr).
• Added citations for wr2SCAN and DFT-D4 extension.
• Better printing of the spin coupling situation of the states resulting from GS-ROCIS calculations.
• Prepended a counter to irrep labels when printing vibrational frequencies.
orca_2json
• Citations added to json output file.
• Absolute path in basename possible.
orca_mapspc
• Added support for VCD, XASSOCV and XESSOCV spectrum processing.
Symmetry
• Ensured correctness of gradient cleanup, geometry optimizations with fixed point groups and calculations
of vibrational frequencies (for point groups with real irreps using pure Hartree-Fock).
• Ensured correctness of the petite-list algorithm for SCF energy and gradient.
Compound
• Implemented automatic knowledge of basenames.
• Added GOAT interface.
Miscellaneous
• Added ASCII checker to input file.
• Add the possibility to read multi-XYZ files with no ‘>’.
• QDPT in CASSCF now uses the magnetic origin as defined in %eprnmr (if not set, defaults to CenterOfNuc-
Charge for backwards compatibility).
• Reduced disk usage and optimized performance for CASSCF (transition) densities in density container.
• Keep topology in initial IDPP path generation.
• Add CIS Gradient in property file.
A.2.3 Solvation
• New charge correction / compensation algorithm (corrected charges printed in an additional file)
• C-PCM/B scheme for QM/MM calculations
• DDCOSMO and CPCM/X available for XTB calculations and QM/MM calculations
• Generalization of names within all solvation models (C-PCM/SMD/ALPB/DDCOSMO/CPCM-X)
• New discretization scheme for the cavity (C-PCM) based on a constant number of charges per unit of area
A.2.4 DFT
• Allow LibXC functional customization via external parameters
• Simple input keywords added for some LibXC functionals
• Added wB97M(2) functional parameters: must be used with wB97M-V orbitals in a two-step job (compound
script available)
• D4 for elements 87 (Fr) - 103 (Lr)
A.2.6 Relativity
• Enabled NumGrad with relativistic methods
• Second order DKH picture-change correction of contact density
• Minor fixes in DKH picture-change corrections of magnetic properties
• Picture change corrections are activated automatically
A.2.7 Multiscale
• Reading PDB files for 10k+ atoms with HETATMs now possible
• Enabled correct FlipSpin behavior with QMMM
• More efficient MM Module
• Implemented wall potential
A.2.9 MP2
• Corrected memory estimates and batching in response and gradient
• Removed the slow and limited analytic (RI-)MP2 Hessian code
• Removed non-default Gamma-in-core option for RI-MP2 response
• Disabled single-precision calculations
• Disabled SemiDirect option in AO-MP2
• Enabled range-separated DHDFT gradients with RIJDX
A.2.10 NEB
• Improved IDPP initial path
• More efficient GFN-xTB runs for NEB
A.2.11 COSX
• Improvements to numerical integration grids, both for DFT and COSX
• Faster grid step
• Improved performance and accuracy in COSX, also for the gradient and Hessian
A.2.12 Properties
• NMR spin-spin coupling:
– Added SpinSpinElemPairs and SpinSpinAtomPairs keywords to limit which couplings are com-
puted
– Reduced the number of CP-SCF perturbations necessary via a stochastic selection
– DSO term was transposed.
– Off-diagonal PSO elements had the wrong sign
– Efficiency improvement: solve SD/FC CP-SCF equations in restricted mode for RHF, instead of always
using UHF
• Optimized numeric integration for HFC gauge correction
• Removed RITRAFO option for CP-SCF
• Switched to tau=Dobson as default handling of the kinetic energy density in meta-GGA magnetic properties
with GIAOs
A.2.13 Hessian
• Improvements to the Hessian to avoid accumulation on numerical noise and reduce the number of spurious
negative frequencies.
A.2.15 Miscellaneous
• CHELPG charges that reproduce the ESP together with the molecular dipole moment
• Fixed issues with constraints in multi-step jobs
• Molden output: store ECP info in [Pseudo] block, set point charge atomic number to 0, handling of ghost
atoms
• Made the ExtOpt interface easier to use
• Store energy from NEB and IRC in the XYZ file
1223
ORCA Manual, Release 6.0
9. Sebastian Mai, Felix Plasser, Mathias Pabst, Frank Neese, Andreas Köhn, and Leticia González. Surface
hopping dynamics including intersystem crossing using the algebraic diagrammatic construction method. J.
Chem. Phys., 147(18):184109, 2017.
10. Shubhrodeep Pathak, Lucas Lang, and Frank Neese. A dynamic correlation dressed complete active space
method: Theory, implementation, and preliminary applications. J. Chem. Phys., 147:234109, 2017.
11. Fabijan Pavošević, Chong Peng, Peter Pinski, Christoph Riplinger, Frank Neese, and Edward F Valeev.
Sparsemaps—a systematic infrastructure for reduced scaling electronic structure methods. v. linear scal-
ing explicitly correlated coupled-cluster method with pair natural orbitals. J. Chem. Phys., 146(17):174108,
2017.
12. M. Saitow, U. Becker, C. Riplinger, E. F. Valeev, and F. Neese. J. Chem. Phys., 146:164105, 2017.
13. Manuel Sparta, Marius Retegan, Peter Pinski, Christoph Riplinger, Ute Becker, and Frank Neese.
Multilevel approaches within the local pair natural orbital framework. J. Chem. Theory Comput.,
13(7):3198–3207, 07 2017. URL: https://pubs.acs.org/doi/10.1021/acs.jctc.7b00260, arXiv:28590754,
doi:10.1021/acs.jctc.7b00260.
14. Georgi L. Stoychev, Alexander A. Auer, and Frank Neese. Automatic generation of auxiliary basis sets.
J. Chem. Theory Comput., 13(2):554, 2017. URL: https://pubs.acs.org/doi/abs/10.1021/acs.jctc.6b01041,
doi:https://doi.org/10.1021/acs.jctc.6b01041.
15. Libor Veis, Andrej Antalík, Jiri Brabec, Frank Neese, Ors Legeza, and Jiri Pittner. Coupled cluster method
with single and double excitations tailored by matrix product state wave functions. J. Phys. Chem. Lett.,
7(20):4072–4078, 2016.
B.1.2 2018
1. G. Bistoni, I. Polyak, M. Sparta, W. Thiel, and F. Neese. Toward accurate QM/MM reaction barriers with
large QM regions using domain based pair natural orbital coupled cluster theory. J. Chem. Theory Com-
put., 14(7):3524–3531, 2018. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000438654500015,
doi:https://doi.org/10.1021/acs.jctc.8b00348.
2. J. Brabec, J. Lang, M. Saitow, J. Pittner, F. Neese, and O. Demel. Domain-based local pair nat-
ural orbital version of mukherjee's state-specific coupled cluster method. J. Chem. Theory Com-
put., 14(3):1370–1382, 2018. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000427661400021,
doi:10.1021/acs.jctc.7b01184.
3. Bernardo de Souza, Frank Neese, and Robert Izsak. On the theoretical prediction of fluorescence rates
from first principles using the path integral approach. J. Chem. Phys., 148(3):034104, 2018. URL: http:
//aip.scitation.org/doi/abs/10.1063/1.5010895 (visited on 2018-01-31), doi:10.1063/1.5010895.
4. A. K. Dutta, F. Neese, and R. Izsak. Accelerating the coupled-cluster singles and doubles method using the
chain-of-sphere approximation. Mol. Phys., 116(11):1428–1434, 2018. URL: \T1\textless{}GotoISI\T1\
textgreater{}://WOS:000431017000002, doi:10.1080/00268976.2017.1416201.
5. A. K. Dutta, M. Nooijen, F. Neese, and R. Izsak. Exploring the accuracy of a low scaling sim-
ilarity transformed equation of motion method for vertical excitation energies. J. Chem. Theory
Comput., 14(1):72–91, 2018. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000419998300008,
doi:10.1021/acs.jctc.7b00802.
6. A. K. Dutta, M. Saitow, C. Riplinger, F. Neese, and R. Izsak. A nearlinear scaling equation of motion
coupled cluster method for ionized states. J. Chem. Phys., 148(24):13, 2018. URL: \T1\textless{}GotoISI\
T1\textgreater{}://WOS:000437190300049, doi:10.1063/1.5029470.
7. Yang Guo, Ute Becker, and Frank Neese. Comparison and combination of “direct” and fragment based
local correlation methods: Cluster in molecules and domain based local pair natural orbital perturbation and
coupled cluster theories. J. Chem. Phys., 148(12):124117, 2018. doi:10.1063/1.5021898.
8. Yang Guo, Christoph Riplinger, Ute Becker, Dimitrios G. Liakos, Yury Minenkov, Luigi Cavallo, and Frank
Neese. Communication: An improved linear scaling perturbative triples correction for the domain based
local pair-natural orbital based singles and doubles coupled cluster method [DLPNO-CCSD(T)]. J. Chem.
Phys., 148(1):011101, 2018. doi:10.1063/1.5011798.
9. D. Maganas, S. DeBeer, and F. Neese. Pair natural orbital restricted open-shell configuration inter-
action (PNO-ROCIS) approach for calculating x-ray absorption spectra of large chemical systems. J.
Phys. Chem. A, 122(5):1215–1227, 2018. URL: https://pubs.acs.org/doi/abs/10.1021/acs.jpca.7b10880,
doi:https://doi.org/10.1021/acs.jpca.7b10880.
10. M. C. R. Melo, R. C. Bernardi, T. Rudack, M. Scheurer, C. Riplinger, J. C. Phillips, J. D. C. Maia, G. B.
Rocha, J. V. Ribeiro, J. E. Stone, F. Neese, K. Schulten, and Z. Luthey-Schulten. NAMD goes quantum: an
integrative suite for hybrid simulations. Nat. Methods, 15(5):351–+, 2018. URL: \T1\textless{}GotoISI\
T1\textgreater{}://WOS:000431372700019, doi:10.1038/nmeth.4638.
11. Frank Neese. Software update: the orca program system, version 4.0. Wiley Interdiscip. Rev. Comput. Mol.
Sci., 8(1):e1327, 2018. doi:http://doi.wiley.com/10.1002/wcms.1327.
12. Peter Pinski and Frank Neese. Communication: Exact analytical derivatives for the domain-based local pair
natural orbital MP2 method (DLPNO-MP2). J. Chem. Phys., 148:031101, 2018. doi:10.1063/1.5011204.
13. Masaaki Saitow and Frank Neese. Accurate spin-densities based on the domain-based local pair-natural
orbital coupled-cluster theory. J. Chem. Phys., 149:034104, 2018. doi:10.1063/1.5027114.
14. Avijit Sen, Bernardo de Souza, Lee M. J. Huntington, Martin Krupička, Frank Neese, and Róbert Izsák.
An efficient pair natural orbital based configuration interaction scheme for the calculation of open-shell
ionization potentials. J. Chem. Phys., 149(11):114108, 2018.
15. Georgi L Stoychev, Alexander A Auer, Róbert Izsák, and Frank Neese. Self-consistent field calcula-
tion of nuclear magnetic resonance chemical shielding constants using gauge-including atomic orbitals
and approximate two-electron integrals. J. Chem. Theory Comput., 14(2):619–637, 2018. URL: http:
//pubs.acs.org/doi/10.1021/acs.jctc.7b01006, doi:10.1021/acs.jctc.7b01006.
16. Georgi L. Stoychev, Alexander A. Auer, and Frank Neese. Efficient and accurate prediction of nu-
clear magnetic resonance shielding tensors with double-hybrid density functional theory. J. Chem.
Theory Comput., 14(9):4756–4771, 09 2018. URL: http://pubs.acs.org/doi/10.1021/acs.jctc.8b00624,
doi:10.1021/acs.jctc.8b00624.
B.1.3 2019
1. A. Altun, F. Neese, and G. Bistoni. Open-shell variant of the london dispersion-corrected hartree-fock
method hfld for the quantification and analysis of noncovalent interaction energies. J. Chem. Theory Com-
put., 18(4):2292–2307, 2022. doi:10.1021/acs.jctc.1c01295.
2. Ahmet Altun, Frank Neese, and Giovanni Bistoni. HFLD: A nonempirical london dispersion-corrected
Hartree–Fock method for the quantification and analysis of noncovalent interaction energies of large molec-
ular systems. J. Chem. Theory Comput., 15(11):5894–5907, 2019. URL: https://doi.org/10.1021/acs.jctc.
9b00425, arXiv:https://doi.org/10.1021/acs.jctc.9b00425, doi:10.1021/acs.jctc.9b00425.
3. Bernardo de Souza, Giliandro Farias, Frank Neese, and Robert Izsak. Efficient simulation of overtones
and combination bands in Resonant Raman spectra. J. Chem. Phys., 150(21):accepted – still waiting for
publication, 2019. URL: https://aip.scitation.org/doi/10.1063/1.5099247, doi:10.1063/1.5099247.
4. A. K. Dutta, M. Saitow, B. Demoulin, F. Neese, and R. Izsak. A domain-based local pair natural orbital im-
plementation of the equation of motion coupled cluster method for electron attached states. J. Chem. Phys.,
2019. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000466698700028, doi:10.1063/1.5089637.
5. M. Garcia-Ratés and F. Neese. Efficient implementation of the analytical second derivatives of hartree-fock
and hybrid dft energies within the framework of the conductor-like polarizable continuum model. J. Comput.
Chem., 40(20):1816–1828, 2019. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000470923100002,
doi:10.1002/jcc.25833.
6. S. Haldar, C. Riplinger, B. Demoulin, F. Neese, R. Izsak, and A. K. Dutta. Multilayer approach
to the ip-eom-dlpno-ccsd method: theory, implementation, and application. J. Chem. Theory Com-
put., 15(4):2265–2277, 2019. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000464475500015,
doi:10.1021/acs.jctc.8b01263.
7. Benjamin Helmich-Paris. CASSCF linear response calculations for large open-shell molecules. J. Chem.
Phys., 150(17):174121, 2019. URL: https://doi.org/10.1063/1.5092613, doi:10.1063/1.5092613.
8. Christian Kollmar, Kantharuban Sivalingam, Benjamin Helmich-Paris, Celestino Angeli, and Frank Neese.
A perturbation-based super-CI approach for the orbital optimization of a CASSCF wave function. J.
Comput. Chem., 40:1463–1470, 2019. URL: https://onlinelibrary.wiley.com/doi/abs/10.1002/jcc.25801,
doi:10.1002/jcc.25801.
9. A. Kumar, F. Neese, and E. Valeev. Near-linear scaling explicitly correlated coupled cluster singles and
doubles method based on an open-shell domain-based local pair natural orbitals. Abstr. Pap. Am. Chem.
Soc., 2019. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000525061504143.
10. J. Lang, J. Brabec, M. Saitow, J. Pittner, F. Neese, and O. Demel. Perturbative triples correction to
domain-based local pair natural orbital variants of mukherjee's state specific coupled cluster method. Phys.
Chem. Chem. Phys., 21(9):5022–5038, 2019. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:
000461722700029, doi:10.1039/c8cp03577f.
11. Lucas Lang and Frank Neese. Spin-dependent properties in the framework of the dynamic correlation
dressed complete active space method. J. Chem. Phys., 150:104104, 2019.
12. Dimitrios Maganas, Joanna K. Kowalska, Marcel Nooijen, Serena DeBeer, and Frank Neese. Compari-
son of multireference ab initio wavefunction methodologies for X-ray absorption edges: A case study on
[Fe(II/III)Cl4]2–/1– molecules. J. Chem. Phys., 150(10):104106, 2019. URL: https://pubs.aip.org/aip/jcp/
article-abstract/150/10/104106/1058894/, doi:https://doi.org/10.1063/1.5051613.
13. Peter Pinski and Frank Neese. Analytical gradient for the domain-based local pair natural orbital second
order Møller-Plesset perturbation theory method (DLPNO-MP2). J. Chem. Phys., 150:164102, 2019.
14. M. Saitow, A. K. Dutta, and F. Neese. Accurate ionization potentials, electron affinities and electroneg-
ativities of single-walled carbon nanotubes by state-of-the-art local coupled-cluster theory. Bull. Chem.
Soc. Jpn., 92(1):170–174, 2019. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000455409900003,
doi:10.1246/bcsj.20180254.
B.1.4 2020
1. A. Altun, F. Neese, and G. Bistoni. Extrapolation to the limit of a complete pair nat-
ural orbital space in local coupled-cluster calculations. J. Chem. Theory Comput.,
16(10):6142–6149, 2020. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000580954000015,
doi:https://doi.org/10.1021/acs.jctc.0c00344.
2. A. A. Auer, V. A. Tran, B. Sharma, G. L. Stoychev, D. Marx, and F. Neese. A case study of den-
sity functional theory and domain-based local pair natural orbital coupled cluster for vibrational effects
on epr hyperfine coupling constants: vibrational perturbation theory versus ab-initio molecular dynamics.
Mol. Phys., 118:16, 2020. URL: https://www.tandfonline.com/doi/full/10.1080/00268976.2020.1797916,
doi:https://doi.org/10.1080/00268976.2020.1797916.
3. D. Datta, M. Saitow, B. Sandhofer, and F. Neese. Fe-57 mossbauer parameters from domain based local pair-
natural orbital coupled-cluster theory. J. Chem. Phys., 2020. URL: \T1\textless{}GotoISI\T1\textgreater{}:
//WOS:000596027300001, doi:10.1063/5.0022215.
4. A. Dittmer, G. L. Stoychev, D. Maganas, A. A. Auer, and F. Neese. Computation of nmr shielding constants
for solids using an embedded cluster approach with dft, double-hybrid dft, and mp2. J. Chem. Theory Com-
put., 16(11):6950–6967, 2020. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000592392800018,
doi:10.1021/acs.jctc.0c00067.
5. M. Garcia-Ratés and F. Neese. Effect of the solute cavity on the solvation energy and its derivatives
within the framework of the gaussian charge scheme. J. Comput. Chem., 41(9):922–939, 2020. URL:
\T1\textless{}GotoISI\T1\textgreater{}://WOS:000504862400001, doi:10.1002/jcc.26139.
6. Y. Guo, C. Riplinger, D. G. Liakos, U. Becker, M. Saitow, and F. Neese. Linear scaling perturbative triples
correction approximations for open-shell domain-based local pair natural orbital coupled cluster singles and
doubles theory dlpno-ccsd(t-0/t). J. Chem. Phys., 2020. URL: \T1\textless{}GotoISI\T1\textgreater{}:
//WOS:000519813300005, doi:10.1063/1.5127550.
7. Christian Kollmar, Kantharuban Sivalingam, and Frank Neese. An alternative choice of the zeroth-order
Hamiltonian in CASPT2 theory. J. Chem. Phys., 152(21):214110, 06 2020. doi:10.1063/5.0010019.
8. A. Kumar, F. Neese, and E. F. Valeev. Explicitly correlated coupled cluster method for accurate treat-
ment of open-shell molecules with hundreds of atoms. J. Chem. Phys., 153(9):17, 2020. URL: \T1\
textless{}GotoISI\T1\textgreater{}://WOS:000570176400001, doi:10.1063/5.0012753.
9. Lucas Lang, Mihail Atanasov, and Frank Neese. Improvement of Ab Initio Ligand Field Theory
by Means of Multistate Perturbation Theory. J. Phys. Chem. A, 124(5):1025–1037, 02 2020.
doi:10.1021/acs.jpca.9b11227.
10. Lucas Lang, Enrico Ravera, Giacomo Parigi, Claudio Luchinat, and Frank Neese. Solution of a puzzle:
High-level quantum-chemical treatment of pseudocontact chemical shifts confirms classic semiempirical
theory. J. Phys. Chem. Lett., 11(20):8735–8744, 2020.
11. Lucas Lang, Kantharuban Sivalingam, and Frank Neese. The combination of multipartitioning of the Hamil-
tonian with canonical Van Vleck perturbation theory leads to a Hermitian variant of quasidegenerate N-
electron valence perturbation theory. J. Chem. Phys., 152(1):014109, 01 2020. doi:10.1063/1.5133746.
12. D. G. Liakos, Y. Guo, and F. Neese. Comprehensive benchmark results for the domain based local
pair natural orbital coupled cluster method (dlpno-ccsd(t)) for closed- and open-shell systems. J. Phys.
Chem. A, 124(1):90–100, 2020. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000507151000012,
doi:10.1021/acs.jpca.9b05734.
13. Frank Neese, Frank Wennmohs, Ute Becker, and Christoph Riplinger. The orca quantum chemistry program
package. J. Chem. Phys., 152(22):224108, 2020. doi:https://aip.scitation.org/doi/10.1063/5.0004608.
14. Julian D. Rolfes, Frank Neese, and Dimitrios A. Pantazis. All-electron scalar relativistic basis sets for the
elements Rb–Xe. J. Comput. Chem., 41:1842–1849, 2020. doi:10.1002/jcc.26355.
15. Van Anh Tran and Frank Neese. Double-hybrid density functional theory for g-tensor calculations using
gauge including atomic orbitals. J. Chem. Phys., 153(5):054105, 08 2020. URL: https://doi.org/10.1063/5.
0013799, doi:10.1063/5.0013799.
B.1.5 2021
1. Vijay Gopal Chilkuri and Frank Neese. Comparison of many-particle representations for selected-CI I: A
tree based approach. J. Comput. Chem., 42(14):982–1005, 2021. doi:10.1002/jcc.26518.
2. Vijay Gopal Chilkuri and Frank Neese. Comparison of Many-Particle Representations for Selected Config-
uration Interaction: II. Numerical Benchmark Calculations. J. Chem. Theory Comput., 17(5):2868–2885,
05 2021. doi:10.1021/acs.jctc.1c00081.
3. M. Garcia-Ratés, U. Becker, and F. Neese. Implicit solvation in domain based pair natural orbital coupled
cluster (dlpno-ccsd) theory. J. Comput. Chem., 42(27):1959–1973, 2021. URL: https://onlinelibrary.wiley.
com/doi/full/10.1002/jcc.26726, doi:10.1002/jcc.26726.
4. Y. Guo, W. Li, and S. Li. Improved cluster-in-molecule local correlation approach for elec-
tron correlation calculation of large systems. J. Phys. Chem. A, 118(39):8996–9004, 2014.
doi:https://doi.org/10.1021/jp501976x.
5. Benjamin Helmich-Paris. A trust-region augmented Hessian implementation for restricted and unrestricted
Hartree–Fock and Kohn–Sham methods. J. Chem. Phys., 154(16):164104, 2021. URL: https://doi.org/10.
1063/5.0040798, doi:10.1063/5.0040798.
6. Benjamin Helmich-Paris, Bernardo de Souza, Frank Neese, and Róbert Izsák. An improved chain of spheres
for exchange algorithm. J. Chem. Phys., 155(10):104109, 2021. doi:10.1063/5.0058766.
7. Georgi L. Stoychev, Alexander A. Auer, Jürgen Gauss, and Frank Neese. DLPNO-MP2 second derivatives
for the computation of polarizabilities and NMR shieldings. J. Chem. Phys., 154(16):164110, 2021. URL:
https://aip.scitation.org/doi/10.1063/5.0047125, doi:10.1063/5.0047125.
B.2.2 2018
1. A. Altun, F. Neese, and G. Bistoni. Local energy decomposition analysis of hydrogen-bonded dimers within
a domain-based pair natural orbital coupled cluster study. Beilstein J. Org. Chem., 14:919–929, 2018. URL:
\T1\textless{}GotoISI\T1\textgreater{}://WOS:000430878300002, doi:10.3762/bjoc.14.79.
2. G. Bistoni, I. Polyak, M. Sparta, W. Thiel, and F. Neese. Toward accurate QM/MM reaction barriers with
large QM regions using domain based pair natural orbital coupled cluster theory. J. Chem. Theory Com-
put., 14(7):3524–3531, 2018. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000438654500015,
doi:https://doi.org/10.1021/acs.jctc.8b00348.
3. P. C. Bunting, M. Atanasov, E. Damgaard-Moller, M. Perfetti, I. Crassee, M. Orlita, J. Overgaard, J. van
Slageren, F. Neese, and J. R. Long. A linear cobalt(II) complex with maximal orbital angular momen-
tum from a non-Aufbau ground state. Science, 362(6421):1378–+, 2018. URL: \T1\textless{}GotoISI\T1\
textgreater{}://WOS:000453845000052, doi:10.1126/science.aat7319.
4. A. Chantzis, J. K. Kowalska, D. Maganas, S. DeBeer, and F. Neese. Ab initio wave function-based deter-
mination of element specific shifts for the efficient calculation of x-ray absorption spectra of main group
elements and first row transition metals. J. Chem. Theory Comput., 14(7):3686–3702, 2018. URL:
\T1\textless{}GotoISI\T1\textgreater{}://WOS:000438654500028, doi:10.1021/acs.jctc.8b00249.
5. L. R. Collins, M. van Gastel, F. Neese, and A. Furstner. Enhanced electrophilicity of heterobimetallic bi-
rh paddlewheel carbene complexes: A combined experimental, spectroscopic, and computational study.
J. Am. Chem. Soc., 140(40):13042–13055, 2018. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:
000447354800056, doi:10.1021/jacs.8b08384.
6. G. David, F. Wennmohs, F. Neese, and N. Ferre. Chemical tuning of magnetic exchange couplings
using broken-symmetry density functional theory. Inorg. Chem., 57(20):12769–12776, 2018. URL:
\T1\textless{}GotoISI\T1\textgreater{}://WOS:000447680400039, doi:10.1021/acs.inorgchem.8b01970.
7. T. Gatzenmeier, M. Turberg, D. Yepes, Y. W. Xie, F. Neese, G. Bistoni, and B. List. Scalable and highly
diastereo- and enantioselective catalytic diels-alder reaction of alpha,beta-Unsaturated methyl esters. J.
Am. Chem. Soc., 140(40):12671–12676, 2018. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:
000447354800004, doi:10.1021/jacs.8b07092.
8. H. C. Gottschalk, A. Poblotzki, M. A. Suhm, M. M. Al-Mogren, J. Antony, A. A. Auer, L. Baptista, D. M.
Benoit, G. Bistoni, F. Bohle, R. Dahmani, D. Firaha, S. Grimme, A. Hansen, M. E. Harding, M. Hochlaf,
C. Holzer, G. Jansen, W. Klopper, W. A. Kopp, L. C. Kroger, K. Leonhard, H. Mouhib, F. Neese, M. N.
Pereira, I. S. Ulusoy, A. Wuttke, and R. A. Mata. The furan microsolvation blind challenge for quan-
tum chemical methods: First steps. J. Chem. Phys., 148(1):13, 2018. URL: \T1\textless{}GotoISI\T1\
textgreater{}://WOS:000419394500013, doi:10.1063/1.5009011.
9. Adam Kubas, Max Verkamp, Josh Vura-Weis, Frank Neese, and Dimitrios Maganas. Restricted open-shell
configuration interaction singles study on m-and l-edge x-ray absorption spectroscopy of solid chemical
systems. J. Chem. Theory Comput., 14(8):4320–4334, 2018.
10. Q. Lu, F. Neese, and G. Bistoni. Formation of agostic structures driven by london dispersion. Angew.
Chem. Int. Ed., 57(17):4760–4764, 2018. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:
000430165700058, doi:10.1002/anie.201801531.
11. B. Mondal, F. Neese, E. Bill, and S. F. Ye. Electronic structure contributions of non-herne oxo-iron(v)
complexes to the reactivity. J. Am. Chem. Soc., 140(30):9531–9544, 2018. URL: \T1\textless{}GotoISI\
T1\textgreater{}://WOS:000440877000033, doi:10.1021/jacs.8b04275.
12. D. H. Moseley, S. E. Stavretis, K. Thirunavukkuarasu, M. Ozerov, Y. Q. Cheng, L. L. Daemen, J. Lud-
wig, Z. G. Lu, D. Smirnov, C. M. Brown, A. Pandey, A. J. Ramirez-Cuesta, A. C. Lamb, M. Atanasov,
E. Bill, F. Neese, and Z. L. Xue. Spin-phonon couplings in transition metal complexes with slow
magnetic relaxation. Nature Comm., 9:11, 2018. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:
000437101700002, doi:10.1038/s41467-018-04896-0.
13. C. Romelt, S. F. Ye, E. Bill, T. Weyhermuller, M. van Gastel, and F. Neese. Electronic structure and
spin multiplicity of iron tetraphenylporphyrins in their reduced states as determined by a combination of
resonance raman spectroscopy and quantum chemistry. Inorg. Chem., 57(4):2141–2148, 2018. URL:
\T1\textless{}GotoISI\T1\textgreater{}://WOS:000426014800048, doi:10.1021/acs.inorgchem.7b03018.
B.2.3 2019
1. Ahmet Altun, Frank Neese, and Giovanni Bistoni. Effect of electron correlation on intermolec-
ular interactions: A pair natural orbitals coupled cluster based local energy decomposition study.
J. Chem. Theory Comput., 15(1):215–228, 2019. URL: https://doi.org/10.1021/acs.jctc.8b00915,
doi:https://doi.org/10.1021/acs.jctc.8b00915.
2. R. Berraud-Pache, F. Neese, G. Bistoni, and R. Izsak. Computational design of near-infrared
fluorescent organic dyes using an accurate new wave function approach. J. Phys. Chem.
Lett., 10(17):4822–4828, 2019. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000484884300010,
doi:https://doi.org/10.1021/acs.jpclett.9b02240.
3. H. C. Chang, Y. H. Lin, C. Werle, F. Neese, W. Z. Lee, E. Bill, and S. F. Ye. Conversion of a fleeting
open-shell iron nitride into an iron nitrosyl. Angew. Chem. Int. Ed., 58(49):17589–17593, 2019. URL:
\T1\textless{}GotoISI\T1\textgreater{}://WOS:000491791300001, doi:10.1002/anie.201908689.
4. H. C. Chang, B. Mondal, H. Y. Fang, F. Neese, E. Bill, and S. F. Ye. Electron paramagnetic resonance
signature of tetragonal low spin Iron(V)-Nitrido and -Oxo complexes derived from the electronic structure
analysis of heme and non-heme archetypes. J. Am. Chem. Soc., 141(6):2421–2434, 2019. URL: \T1\
textless{}GotoISI\T1\textgreater{}://WOS:000459222100035, doi:10.1021/jacs.8b11429.
5. Anneke Dittmer, Róbert Izsák, Frank Neese, and Dimitrios Maganas. Accurate band gap predictions
of semiconductors in the framework of the similarity transformed equation of motion coupled cluster
theory. Inorg. Chem., 58(14):9303–9315, 2019. URL: https://doi.org/10.1021/acs.inorgchem.9b00994,
doi:10.1021/acs.inorgchem.9b00994.
6. Benjamin Helmich-Paris. Benchmarks for electronically excited states with CASSCF methods. J.
Chem. Theory Comput., 15(7):4170–4179, 2019. URL: https://doi.org/10.1021/acs.jctc.9b00325,
doi:10.1021/acs.jctc.9b00325.
7. M. Keilwerth, J. Hohenberger, F. W. Heinemann, J. Sutter, A. Scheurer, H. Y. Fang, E. Bill, F. Neese, S. F.
Ye, and K. Meyer. A series of iron nitrosyl complexes Fe-NO(6-9) and a fleeting Fe-NO(10) intermediate
en route to a metalacyclic iron nitrosoalkane. J. Am. Chem. Soc., 141(43):17217–17235, 2019. URL:
\T1\textless{}GotoISI\T1\textgreater{}://WOS:000493866300028, doi:10.1021/jacs.9b08053.
8. V. Krewald, F. Neese, and D. A. Pantazis. Implications of structural heterogeneity for the electronic
structure of the final oxygen-evolving intermediate in photosystem II. J. Inorg. Biochem., 2019. URL:
\T1\textless{}GotoISI\T1\textgreater{}://WOS:000488146900034, doi:10.1016/j.jinorgbio.2019.110797.
9. Q. Lu, F. Neese, and G. Bistoni. London dispersion effects in the coordination and activation of alkanes in
sigma-complexes: a local energy decomposition study. Phys. Chem. Chem. Phys., 21(22):11569–11577,
2019. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000472218500051, doi:10.1039/c9cp01309a.
10. Dimitrios Maganas, Joanna K. Kowalska, Marcel Nooijen, Serena DeBeer, and Frank Neese. Compari-
son of multireference ab initio wavefunction methodologies for X-ray absorption edges: A case study on
[Fe(II/III)Cl4]2–/1– molecules. J. Chem. Phys., 150(10):104106, 2019. URL: https://pubs.aip.org/aip/jcp/
article-abstract/150/10/104106/1058894/, doi:https://doi.org/10.1063/1.5051613.
11. F. Neese, M. Atanasov, G. Bistoni, D. Maganas, and S. F. Ye. Chemistry and quantum mechanics in 2019:
Give us insight and numbers. J. Am. Chem. Soc., 141(7):2814–2824, 2019. URL: \T1\textless{}GotoISI\
T1\textgreater{}://WOS:000459642000006, doi:10.1021/jacs.8b13313.
12. M. Saitow, A. K. Dutta, and F. Neese. Accurate ionization potentials, electron affinities and electroneg-
ativities of single-walled carbon nanotubes by state-of-the-art local coupled-cluster theory. Bull. Chem.
Soc. Jpn., 92(1):170–174, 2019. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000455409900003,
doi:10.1246/bcsj.20180254.
13. C. A. M. Salla, J. T. dos Santos, G. Farias, A. J. Bortoluzi, S. F. Curcio, T. Cazati, R. Izsak, F. Neese,
B. de Souza, and I. H. Bechtold. New Boron(III) blue emitters for all-solution processed OLEDs: Molec-
ular design assisted by theoretical modeling. Eur. J. Inorg. Chem., pages 2247–2257, 2019. URL:
\T1\textless{}GotoISI\T1\textgreater{}://WOS:000471302400001, doi:10.1002/ejic.201900265.
14. R. G. Shirazi, F. Neese, D. A. Pantazis, and G. Bistoni. Physical nature of differential spin-state stabiliza-
tion of carbenes by hydrogen and halogen bonding: A domain-based pair natural orbital coupled cluster
study. J. Phys. Chem. A, 123(24):5081–5090, 2019. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:
000472800600009, doi:10.1021/acs.jpca.9b01051.
15. A. Sirohiwal, F. Neese, and D. A. Pantazis. Microsolvation of the redox-active tyrosine-d in photosystem
II: Correlation of energetics with EPR spectroscopy and oxidation-induced proton transfer. J. Am. Chem.
Soc., 141(7):3217–3231, 2019. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000459642000056,
doi:10.1021/jacs.8b13123.
16. S. E. Stavretis, Y. Q. Cheng, L. L. Daemen, C. M. Brown, D. H. Moseley, E. Bill, M. Atanasov, A. J.
Ramirez-Cuesta, F. Neese, and Z. L. Xue. Probing magnetic excitations in co-ii single-molecule magnets by
inelastic neutron scattering. Eur. J. Inorg. Chem., pages 1119–1127, 2019. URL: \T1\textless{}GotoISI\
T1\textgreater{}://WOS:000459919200008, doi:10.1002/ejic.201801088.
17. M. K. Thomsen, A. Nyvang, J. P. S. Walsh, P. C. Bunting, J. R. Long, F. Neese, M. Atanasov, A. Genoni,
and J. Oyergaard. Insights into single-molecule-magnet behavior from the experimental electron density of
linear two-coordinate iron complexes. Inorg. Chem., 58(5):3211–3218, 2019. URL: \T1\textless{}GotoISI\
T1\textgreater{}://WOS:000460600300035, doi:10.1021/acs.inorgchem.8b03301.
B.2.4 2020
1. K. Chakarawet, M. Atanasov, J. Marbey, P. C. Bunting, F. Neese, S. Hill, and J. R. Long. Strong elec-
tronic and magnetic coupling in m-4 (m = ni, cu) clusters via direct orbital interactions between low-
coordinate metal centers. J. Am. Chem. Soc., 142(45):19161–19169, 2020. URL: \T1\textless{}GotoISI\
T1\textgreater{}://WOS:000588273900023, doi:10.1021/jacs.0c08460.
2. Vijay Gopal Chilkuri, Serena DeBeer, and Frank Neese. Ligand Field Theory and Angular Overlap
Model Based Analysis of the Electronic Structure of Homovalent Iron–Sulfur Dimers. Inorg. Chem.,
59(2):984–995, 01 2020. doi:10.1021/acs.inorgchem.9b00974.
3. A. Dittmer, G. L. Stoychev, D. Maganas, A. A. Auer, and F. Neese. Computation of nmr shielding constants
for solids using an embedded cluster approach with dft, double-hybrid dft, and mp2. J. Chem. Theory Com-
put., 16(11):6950–6967, 2020. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000592392800018,
doi:10.1021/acs.jctc.0c00067.
4. B. M. Floser, Y. Guo, C. Riplinger, F. Tuczek, and F. Neese. Detailed pair natural orbital-based coupled
cluster studies of spin crossover energetics. J. Chem. Theory Comput., 16(4):2224–2235, 2020. URL:
\T1\textless{}GotoISI\T1\textgreater{}://WOS:000526313000020, doi:10.1021/acs.jctc.9b01109.
5. H. C. Gottschalk, A. Poblotzki, M. Fatima, D. A. Obenchain, C. Perez, J. Antony, A. A. Auer, L. Bap-
tista, D. M. Benoit, G. Bistoni, F. Bohle, R. Dahmani, D. Firaha, S. Grimme, A. Hansen, M. E. Hard-
ing, M. Hochlaf, C. Holzer, G. Jansen, W. Klopper, W. A. Kopp, L. C. Kroger, K. Leonhard, M. M. Al-
Mogren, H. Mouhib, F. Neese, X. N. Pereira, M. Prakash, I. S. Ulusoy, R. A. Mata, M. A. Suhm, and
M. Schnell. The first microsolvation step for furans: New experiments and benchmarking strategies. J.
B.2.5 2021
1. M. E. Beck, C. Riplinger, F. Neese, and G. Bistoni. Unraveling individual host-guest interactions in molec-
ular recognition from first principles quantum mechanics: Insights into the nature of nicotinic acetylcholine
receptor agonist binding. J. Comput. Chem., 42(5):293–302, 2021. URL: \T1\textless{}GotoISI\T1\
textgreater{}://WOS:000591776900001, doi:https://doi.org/10.1002/jcc.26454.
2. R. Berraud-Pache, E. Santamaria-Aranda, B. de Souza, G. Bistoni, F. Neese, D. Sampedro, and R. Izsak.
Redesigning donor-acceptor Stenhouse adduct photoswitches through a joint experimental and computa-
tional study. Chem. Sci., 12(8):2916–2924, 2021. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:
000625958900018, doi:https://doi.org/10.1039/d0sc06575g.
3. C. Daniel, L. Gonzalez, and F. Neese. Quantum theory: The challenge of transition metal complexes.
Phys. Chem. Chem. Phys., 23(4):2533–2534, 2021. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:
000614634000001, doi:10.1039/d0cp90278k.
4. C. E. Schulz, R. G. Castillo, D. A. Pantazis, S. DeBeer, and F. Neese. Structure-spectroscopy correlations
for intermediate q of soluble methane monooxygenase: Insights from QM/MM calculations. J. Am. Chem.
B.3.5 Applications
1. Mondal, B.; Neese, F.; Ye, S. F. (2016) Toward Rational Design of 3d Transition Metal Catalysts for CO2
Hydrogenation Based on Insights into Hydricity-Controlled Rate-Determining Steps, Inorg. Chem., 55,
5438-5444.
2. Mondal, B.; Neese, F.; Ye, S. F. (2015) Control in the Rate-Determining Step Provides a Promising Strategy
To Develop New Catalysts for CO2 Hydrogenation: A Local Pair Natural Orbital Coupled Cluster Theory
Study, Inorg. Chem., 54, 7192-7198.
3. Krewald, V.; Retegan, M.; Cox, N.; Messinger, J.; Lubitz, W.; DeBeer, S.; Neese, F.; Pantazis, D. A. (2015)
Metal oxidation states in biological water splitting, Chem. Sci., 6, 1676-1695.
4. Kochem, A.; Weyhermuller, T.; Neese, F.; van Gastel, M. (2015) EPR and Quantum Chemical Investiga-
tion of a Bioinspired Hydrogenase Model with a Redox-Active Ligand in the First Coordination Sphere,
Organometallics, 34, 995-1000.
5. Kochem, A.; Bill, E.; Neese, F.; van Gastel, M. (2015) Mossbauer and computational investigation of a
functional NiFe hydrogenase model complex, Chem. Comm., 51, 2099-2102.
B.3.10 COSX
1. Dutta, A. K.; Neese, F.; Izsak, R. (2016) Speeding up equation of motion coupled cluster theory with the
chain of spheres approximation, J. Chem. Phys., 144, 034102.
2. Christian, G. J.; Neese, F.; Ye, S. F. (2016) Unravelling the Molecular Origin of the Regiospecificity in
Extradiol Catechol Dioxygenases, Inorg. Chem., 55, 3853-3864.
B.3.12 EPR/NMR
1. Schulz, C. E.; van Gastel, M.; Pantazis, D. A.; Neese, F. (2021) Converged Structural and Spectroscopic
Properties for Refined QM/MM Models of Azurin, Inorg. Chem., 60, 7399-7412.
2.
3. Stoychev, G. L., Auer, A. A., Gauss, J. and Neese, F. (2021) DLPNO-MP2 second derivatives for the com-
putation of polarizabilities and NMR shieldings, J. Chem. Phys., 154, 164110.
4.
5. Tran, V. A.; Neese, F. (2020) Double-hybrid density functional theory for g-tensor calculations using gauge
including atomic orbitals, J. Chem. Phys., 153, 13.
6. Dittmer, A.; Stoychev, G. L.; Maganas, D.; Auer, A. A.; Neese, F. (2020) Computation of NMR Shielding
Constants for Solids Using an Embedded Cluster Approach with DFT, Double-Hybrid DFT, and MP2, J.
Chem. Theo. Comp., 16, 6950-6967.
7. Auer, A. A.; Tran, V. A.; Sharma, B.; Stoychev, G. L.; Marx, D.; Neese, F. (2020) A case study of den-
sity functional theory and domain-based local pair natural orbital coupled cluster for vibrational effects on
EPR hyperfine coupling constants: vibrational perturbation theory versusab initiomolecular dynamics, Mol.
Phys., 16.
8. Lang, L.; Ravera, E.; Parigi, G.; Luchinat, C.; Neese, F. (2020) Solution of a Puzzle: High-Level Quantum-
Chemical Treatment of Pseudocontact Chemical Shifts Confirms Classic Semiempirical Theory, J. Phys.
Chem. Lett., 11, 8735-8744.
9. Sirohiwal, A.; Neese, F.; Pantazis, D. A. (2019) Microsolvation of the Redox-Active Tyrosine-D in Photo-
system II: Correlation of Energetics with EPR Spectroscopy and Oxidation-Induced Proton Transfer, J. Am.
Chem. Soc., 141, 3217-3231.
Phosphorescence
1. de Souza, B.; Farias, G.; Neese F.; Izsak (2019) Predicting Phosphorescence Rates of Light Organic
Molecules Using Time-Dependent Density Functional Theory and the Path Integral Approach to Dynamics,
J. Chem. Theo. Comp., 15, 1896.
Resonance Raman
1. De Souza, B.; Farias, G.; Neese, F.; Izsak, R. (2019) Efficient simulation of overtones and combination bands
in Resonant Raman spectra, J. Chem. Phys., accepted - waiting for publication.
14. Neese, F.; Wolf, A.; Reiher, M.; Fleig, T.; Hess, B.A. (2005) Higher Order Douglas-Kroll Calculation of
Electric Field Gradients, J. Chem. Phys., 122, 204107.
15. Neese, F. (2005) Efficient and Accurate Approximations to the Molecular Spin-Orbit Coupling Operator and
their use in Molecular g-Tensor Calculations, J. Chem. Phys., 122, 034107.
16. Ray, K.; Begum, A; Weyhermüller, T.; Piligkos, S.; van Slageren, J.; Neese, F.; Wieghardt, K. (2005) The
Electronic Structure of the Isoelectronic, Square Planar Complexes [FeII (L)2 ]2− and [CoIII (L𝐵𝑢 )2 ]− (L2−
and (L𝐵𝑢 )2− = benzene-1,2-dithiolates): an Experimental and Density Functional Theoretical Study, J. Am.
Chem. Soc., 127, 4403–4415.
17. Neese, F. (2003) Metal and Ligand Hyperfine Couplings in Transition Metal Complexes. The Effect of
Spin-Orbit Coupling as Studied by Coupled Perturbed Kohn-Sham Theory and Hybrid Density Functionals,
J. Chem. Phys., 117, 3939–3948.
18. Neese, F. (2001) Prediction of Electron Paramagnetic Resonance g-values by Coupled Perturbed Hartree-
Fock and Kohn-Sham Theory. J. Chem. Phys., 115, 11080–11096.
19. Neese, F. (2001) Theoretical Study of Ligand Superhyperfine Structure. Application to Cu(II) Complexes.
J. Phys. Chem. A, 105, 4290–4299.
B.3.16 DLPNO
1. Stoychev, G. L., Auer, A. A., Gauss, J. and Neese, F. (2021) DLPNO-MP2 second derivatives for the com-
putation of polarizabilities and NMR shieldings, J. Chem. Phys., 154, 164110.
2. Ni, Z. G.; Guo, Y.; Neese, F.; Li, W.; Li, S. H. (2021) Cluster-in-Molecule Local Correlation Method with
an Accurate Distant Pair Correction for Large Systems, J. Chem. Theo. Comp., 17, 756-766.
3. Liakos, D. G.; Guo, Y.; Neese, F. (2020) Comprehensive Benchmark Results for the Domain Based Local
Pair Natural Orbital Coupled Cluster Method (DLPNO-CCSD(T)) for Closed- and Open-Shell Systems, J.
Phys. Chem. A, 124, 90-100.
4. Guo, Y.; Riplinger, C.; Liakos, D. G.; Becker, U.; Saitow, M.; Neese, F. (2020) Linear scaling perturba-
tive triples correction approximations for open-shell domain-based local pair natural orbital coupled cluster
singles and doubles theory DLPNO-CCSD(T-0/T), J. Chem. Phys., 152.
5. Altun, A.; Neese, F.; Bistoni, G. (2020) Extrapolation to the Limit of a Complete Pair Natural Orbital Space
in Local Coupled-Cluster Calculations, J. Chem. Theo. Comp., 16, 6142-6149.
6. Pinski, P.; Neese, F. (2019) Analytical gradient for the domain-based local pair natural orbital second order
Møller-Plesset perturbation theory method (DLPNO-MP2), J. Chem. Phys., 150, 164102.
7. Pinski, P.; Neese, F. (2018) Communication: Exact analytical derivatives for the domain-based local pair
natural orbital MP2 method (DLPNO-MP2), J. Chem. Phys., 148, 031101.
8. Sparta, M.; Retegan, M.; Pinski, P.; Riplinger, C.; Becker, U.; Neese, F. (2017) Multilevel Approaches within
the Local Pair Natural Orbital Framework, J. Chem. Theory Comput., 13, 3198-3207.
9. Pavosevic, F; Peng, C.; Pinski, P.; Riplinger, C.; Neese, F.; Valeev, E.F. (2017) SparseMaps-A system-
atic infrastructure for reduced scaling electronic structure methods. V. Linear scaling explicitly correlated
coupled-cluster method with pair natural orbitals, J. Chem. Phys., 146, 174108.
10. Schneider, W. B.; Bistoni, G.; Sparta, M.; Saitow, M.; Riplinger, C.; Auer, A. A.; Neese, F. (2016) De-
composition of Intermolecular Interaction Energies within the Local Pair Natural Orbital Coupled Cluster
Framework, J. Chem. Theory Comput., 12, 4778-4792.
11. Riplinger, C.; Pinski, P.; Becker, U.; Valeev, E. F.; Neese, F. (2016) Sparse maps-A systematic infrastructure
for reduced-scaling electronic structure methods. II. Linear scaling domain based pair natural orbital coupled
cluster theory, J. Chem. Phys., 144, 024109.
12. Pavosevic, F.; Pinski, P.; Riplinger, C.; Neese, F.; Valeev, E. F. (2016) SparseMaps-A systematic infrastruc-
ture for reduced-scaling electronic structure methods. IV. Linear-scaling second-order explicitly correlated
energy with pair natural orbitals, J. Chem. Phys., 144, 144109.
13. Kubas, A.; Berger, D.; Oberhofer, H.; Maganas, D.; Reuter, K.; Neese, F. (2016) Surface Adsorption Ener-
getics Studied with “Gold Standard” Wave Function-Based Ab Initio Methods: Small-Molecule Binding to
TiO2(110), J. Phys. Chem. Lett., 7, 4207-4212.
14. Isegawa, M.; Neese, F.; Pantazis, D. A. (2016) Ionization Energies and Aqueous Redox Potentials of Organic
Molecules: Comparison of DFT, Correlated ab Initio Theory and Pair Natural Orbital Approaches, J. Chem.
Theory Comput., 12, 2272-2284.
15. Guo, Y.; Sivalingam, K.; Valeev, E. F.; Neese, F. (2016) SparseMaps-A systematic infrastructure for reduced-
scaling electronic structure methods. III. Linear-scaling multireference domain-based pair natural orbital
N-electron valence perturbation theory, J. Chem. Phys., 144, 094111.
16. Dutta, A. K.; Neese, F.; Izsak, R. (2016) Towards a pair natural orbital coupled cluster method for excited
states, J. Chem. Phys., 145, 034102.
17. Datta, D.; Kossmann, S.; Neese, F. (2016) Analytic energy derivatives for the calculation of the first-order
molecular properties using the domain-based local pair-natural orbital coupled-cluster theory, J. Chem.
Phys., 145, 114101.
18. Pinski, P.; Riplinger, C.; Valeev, E. F.; Neese, F. (2016) Sparse maps-A systematic infrastructure for reduced-
scaling electronic structure methods. I. An efficient and simple linear scaling local MP2 method that uses
an intermediate basis of pair natural orbitals, J. Chem. Phys., 143, 034108.
19. Mondal, B.; Neese, F.; Ye, S. F. (2015) Control in the Rate-Determining Step Provides a Promising Strategy
To Develop New Catalysts for CO2 Hydrogenation: A Local Pair Natural Orbital Coupled Cluster Theory
Study, Inorg. Chem., 54, 7192-7198.
20. Liakos, D. G.; Sparta, M.; Kesharwani, M. K.; Martin, J. M. L.; Neese, F. (2015) Exploring the Accuracy
Limits of Local Pair Natural Orbital Coupled-Cluster Theory, J. Chem. Theory Comput., 11, 1525-1539.
21. Liakos, D. G.; Neese, F. (2015) Domain Based Pair Natural Orbital Coupled Cluster Studies on Linear and
Folded Alkane Chains, J. Chem. Theory Comput., 11, 2137-2143.
22. Liakos, D. G.; Neese, F. (2015) Is It Possible To Obtain Coupled Cluster Quality Energies at near Density
Functional Theory Cost? Domain-Based Local Pair Natural Orbital Coupled Cluster vs Modern Density
Functional Theory, J. Chem. Theory Comput., 11, 4054-4063.
23. Demel, O.; Pittner, J.; Neese, F. (2015) A Local Pair Natural Orbital-Based Multireference Mukherjee’s
Coupled Cluster Method, J. Chem. Theory Comput., 11, 3104-3114.
B.3.19 F12
1. Pavosevic, F.; Pinski, P.; Riplinger, C.; Neese, F.; Valeev, E. F. (2016) SparseMaps-A systematic infrastruc-
ture for reduced-scaling electronic structure methods. IV. Linear-scaling second-order explicitly correlated
energy with pair natural orbitals, J. Chem. Phys., 144, 144109.
2. Guo, Y.; Sivalingam, K.; Valeev, E.F.and Neese, F. (2017), Explicitly correlated N-electron valence state
perturbation theory (NEVPT2-F12), J. Chem. Phys., 147, 064110.
3. Liakos D. G.; Izsák R.; F.; Valeev, E. F.; Neese, F. (2013) What is the most efficient way to reach the canonical
MP2 basis set limit?, Mol. Phys., 111, 2653
B.3.26 MCD
1. Ye, S. F.; Kupper, C.; Meyer, S.; Andris, E.; Navratil, R.; Krahe, O.; Mondal, B.; Atanasov, M.; Bill, E.;
Roithova, J.; Meyer, F.; Neese, F. (2016) Magnetic Circular Dichroism Evidence for an Unusual Electronic
Structure of a Tetracarbene-Oxoiron(IV) Complex, J. Am. Chem. Soc., 138, 14312-14325.
2. Ye, S. F.; Xue, G. Q.; Krivokapic, I.; Petrenko, T.; Bill, E.; Que, L.; Neese, F. (2015) Magnetic circular
dichroism and computational study of mononuclear and dinuclear iron(IV) complexes, Chem. Sci., 6, 2909-
2921.
B.3.27 MDCI
1. Veis, L.; Antalik, A.; Brabec, J.; Neese, F.; Legeza, O.; Pittner, J. (2016) Coupled Cluster Method with
Single and Double Excitations Tailored by Matrix Product State Wave Functions, J. Phys. Chem. Lett., 7,
4072-4078.
2. Dutta, A. K.; Neese, F.; Izsak, R. (2016) Speeding up equation of motion coupled cluster theory with the
chain of spheres approximation, J. Chem. Phys., 144, 034102.
B.3.29 Multireference CI Module and its application to EPR properties and opti-
cal spectra
1. Lang, L.; Sivalingam, K.; Neese, F. (2020) The combination of multipartitioning of the Hamiltonian with
canonical Van Vleck perturbation theory leads to a Hermitian variant of quasidegenerate N-electron valence
perturbation theory, J. Chem. Phys., 152.
2. Demel, O.; Pittner, J.; Neese, F. (2015) A Local Pair Natural Orbital-Based Multireference Mukherjee’s
Coupled Cluster Method, J. Chem. Theory Comput., 11, 3104.
3. Nooijen, M.; Demel, O.; Datta, D.; Kong, L.; Shamasundar K. R.; Lotrich, V.; Huntington, L. M.; Neese, F.
(2014), J. Chem. Phys., 140, 081102.
4. Ganyushin, D.; Neese, F. (2013) A fully variational spin-orbit coupled complete active space self-consistent
field approach: Application to electron paramagnetic resonance g-tensors, J. Chem. Phys., 138, 104113.
5. Atanasov, M.; Zadrozny, J. M.; Long, J. R.; Neese, F. (2013) A theoretical analysis of chemical bonding, vi-
bronic coupling, and magnetic anisotropy in linear iron(II) complexes with single-molecule magnet behavior,
Chem. Sci., 4, 139–156.
6. Atanasov, M.; Ganyushin, D.; Pantazis, D. A.; Sivalingam, K.; Neese, F. (2011) Detailed Ab Initio First-
Principles Study of the Magnetic Anisotropy in a Family of Trigonal Pyramidal Iron(II) Pyrrolide Complexes,
Inorg. Chem, 50, 7460–7477.
7. Neese, F.; Pantazis, D. A. (2011) What is not required to make a single molecule magnet, Faraday Discus-
sions, 148, 229–238.
8. Duboc, C.; Ganyushin, D.; Sivalingam, K.; Collomb, M. N.; Neese, F. (2010) Systematic Theoretical Study
of the Zero-Field Splitting in Coordination Complexes of Mn(III). Density Functional Theory versus Mul-
tireference Wave Function Approaches, J. Phys. Chem. A, 114, 10750–10758.
9. Sundararajan, M.; Ganyushin, D.; Ye, S.; Neese, F. (2009) Multireference ab initio studies of Zero-Field
Splitting and Magnetic Circular Dichroism Spectra of Tetrahedral Co(II) Complexes, Dalton Trans., 30,
6021–6036.
10. Ganyushin, D.; Neese, F. (2008) First principles calculation of magnetic circular dichroism spectra, J. Chem.
Phys., 128, 114117.
11. Petrenko, T.; Neese, F. (2007) A general efficient quantum chemical method for predicting absorption band-
shapes, resonance Raman spectra and excitation profiles for larger molecules. J. Chem. Phys., 127, 164319.
12. Neese, F. (2007) Analytic Derivative Calculation of Electronic g-Tensors based on Multireference Configu-
ration Interaction Wavefunctions. Mol. Phys. (honorary issue for Prof. Peter Pulay), 105, 2507–2514.
13. Neese, F.; Petrenko, T.; Ganyushin, D.; Olbrich, G. (2007) Advanced Aspects of ab initio Theoretical Spec-
troscopy of Open-Shell Transition Metal Ions. Coord. Chem. Rev., 205, 288–327.
14. Neese, F. (2006) Importance of Direct Spin-Spin Coupling and Spin-Flip Excitations for the Zero-Field
Splittings of Transition Metal Complexes: A Case Study, J. Am. Chem. Soc., 128, 10213–10222.
15. Chalupský, J.; Neese, F.; Solomon, E.I.; Ryde, U.; Rulíšek, L. (2006) Identification of intermediates in the
reaction cycle of multicopper oxidases by quantum chemical calculations of spectroscopic parameters, Inorg.
Chem., 45, 11051–11059.
16. Neese, F. (2006) Theoretical spectroscopy of model-nonheme [FeIV O(NH3 )5 ]2+ complexes with triplet
and quintet ground states using multireference ab initio and density functional theory methods. J. Inorg.
Biochem. (special issue on high-valent Fe(IV)), 716–726.
17. Ganyushin, D.; Neese, F. (2006) First Principle Calculation of Zero-Field Splittings, J. Chem. Phys., 125,
024103.
18. Ray, K.; Weyhermüller, T.; Neese, F.; Wieghardt, K. (2005) Electronic Structure of Square-Planar
Bis(benzene-1,2-dithiolate)metal Complexes [M(L)2 ]𝑧 (𝑧 = 2−, 1−, 0; M = Ni, Pd, Pt, Cu, Au): An exper-
imental, Density Functional and Correlated ab initio Study. Inorg. Chem., 44, 5345–5360.
19. Schöneboom, J.; Neese, F.; Thiel, W. (2005) Towards Identification of the Compound I Reactive Intermediate
in Cytochrome P450 Chemistry: A QM/MM Study of its EPR and Mössbauer Parameters, J. Am. Chem.
Soc., 127, 5840–5853.
20. Wanko, M.; Hoffmann, M.; Strodel, P.; Thiel, W.; Neese, F.; Frauenheim, T.; Elstner, M. (2005) Calculating
Absorption Shifts for Retinal Proteins: Computational Challenges J. Phys. Chem. B, 109, 3606–3615.
21. Neese, F. (2004) Sum Over States Based Multireference ab initio Calculation of EPR Spin Hamiltonian
Parameters for Transition Metal Complexes. A Case Study Mag. Res. Chem., 42, S187–S198.
22. Neese, F. (2003) Correlated ab Initio Calculation of Electronic g-Tensors Using a Sum Over States Formu-
lation. Chem. Phys. Lett., 380/5–6, 721–728.
23. Neese, F. (2003) A Spectroscopy Oriented Configuration Interaction Procedure, J. Chem. Phys., 119,
9428–9443.
24. Neese, F. (2001) Configuration Interaction Calculation of Electronic g-Tensors in Transition Metal Com-
plexes, Int. J. Quant. Chem., 83, 104–114.
25. Neese, F.; Solomon, E.I. (1998) Calculation of Zero-Field Splittings, 𝑔-values and the Relativistic
Nephelauxetic Effect in Transition Metal Complexes. Application to High Spin Ferric Complexes. Inorg.
Chem., 37, 6568–6582.
B.3.30 NRVS
1. Ogata, H.; Kramer, T.; Wang, H. X.; Schilter, D.; Pelmenschikov, V.; van Gastel, M.; Neese, F.; Rauchfuss,
T. B.; Gee, L. B.; Scott, A. D.; Yoda, Y.; Tanaka, Y.; Lubitz, W.; Cramer, S. P. (2015) Hydride bridge in
NiFe -hydrogenase observed by nuclear resonance vibrational spectroscopy, Nat. Commun., 6, 7890.
6. Liakos, D. G.; Hansen, A.; Neese, F. (2011) Weak Molecular Interactions Studied with Parallel Implemen-
tations of the Local Pair Natural Orbital Coupled Pair and Coupled Cluster Methods, J. Chem. Theory
Comput., 7, 76–87.
7. Hansen, A.; Liakos, D. G.; Neese, F. (2011) Efficient and accurate local single reference correlation methods
for high-spin open-shell molecules using pair natural orbitals, J. Chem. Phys., 135, 214102.
8. Kollmar, C.; Neese, F. (2011) An orbital-invariant and strictly size extensive post-Hartree-Fock correlation
functional, J. Chem. Phys., 135, 084102.
9. Kollmar, C.; Neese, F. (2011) The relationship between double excitation amplitudes and Z vector compo-
nents in some post-Hartree-Fock correlation methods, J. Chem. Phys., 135, 064103.
10. Neese, F.; Liakos, D.; Hansen, A. (2009) Efficient and accurate local approximations to the coupled cluster
singles and doubles method using a truncated pair natural orbital basis J. Chem. Phys., 131, 064103.
11. Neese, F.; Wennmohs, F.; Hansen, A. (2009) Efficient and accurate local approximations to coupled electron
pair approaches. An attempt to revive the pair-natural orbital method J. Chem. Phys., 130, 114108.
B.3.35 QM/MM
1. Rokhsana, D.; Large, T. A. G.; Dienst, M. C.; Retegan, M.; Neese, F. (2016) A realistic in silico model for
structure/function studies of molybdenum-copper CO dehydrogenase Journal of Biological, Inorg. Chem.,
21, 491-499.
2. Retegan, M.; Krewald, V.; Mamedov, F.; Neese, F.; Lubitz, W.; Cox, N.; Pantazis, D. A. (2016) A five-
coordinate Mn(IV) intermediate in biological water oxidation: spectroscopic signature and a pivot mecha-
nism for water binding, Chem. Sci., 7, 72-84.
3. Sundararajan, M.; Neese, F. Distal (2015) Histidine Modulates the Unusual O-Binding of Nitrite to Myo-
globin: Evidence from the Quantum Chemical Analysis of EPR Parameters, Inorg. Chem., 54, 7209-7217.
9. Chalupský, J.; Neese, F.; Solomon, E.I.; Ryde, U.; Rulíšek, L. (2006) Identification of intermediates in the
reaction cycle of multicopper oxidases by quantum chemical calculations of spectroscopic parameters, Inorg.
Chem., 45, 11051–11059.
10. Sinnecker, S.; Neese, F. (2006) QM/MM Calculations with DFT for Taking into Account Protein Effects on
the EPR and Optical Spectra of Metalloproteins. Plastocyanin as a Case Study. J. Comp. Chem. (Special
issue on Theoretical Bioinorganic Chemistry), 27, 1463–1475.
11. Wanko, M.; Hoffmann, M.; Strodel, P.; Thiel, W.; Neese, F.; Frauenheim, T.; Elstner, M. (2005) Calculating
Absorption Shifts for Retinal Proteins: Computational Challenges J. Phys. Chem. B, 109, 3606–3615.
12. Schöneboom, J.; Neese, F.; Thiel, W. (2005) Towards Identification of the Compound I Reactive Intermediate
in Cytochrome P450 Chemistry: A QM/MM Study of its EPR and Mössbauer Parameters, J. Am. Chem.
Soc., 127, 5840–5853.
3. Kossmann, S.; Neese, F. (2010) Efficient Structure Optimization with Second-Order Many-Body Perturba-
tion Theory: The RIJCOSX-MP2 Method, J. Chem. Theory Comput., 6, 2325-2338.
4. Kossmann, S.; Neese, F. (2009) Comparison of Two Efficient Approximate Hartree–Fock Approaches.
Chem. Phys. Lett., 481, 240-243.
5. Neese, F.; Wennmohs, F.; Hansen, A.; Becker, U. (2009) Efficient, approximate and parallel Hartree–Fock
and hybrid DFT calculations. A ‘chain-of-spheres’ algorithm for the Hartree–Fock exchange, Chem. Phys.,
356, 98–109.
6. Neese, F. (2003) An Improvement of the Resolution of the Identity Approximation for the Calculation of the
Coulomb Matrix, J. Comp. Chem., 24, 1740–1747.
B.3.43 XAS/XES
1. Van Kuiken, B. E.; Hahn, A. W.; Maganas, D.; DeBeer, S. (2016) Measuring Spin-Allowed and Spin-
Forbidden d-d Excitations in Vanadium Complexes with 2p3d Resonant Inelastic X-ray Scattering, Inorg.
Chem., 55, 11497-11501.
2. Rees, J. A.; Wandzilak, A.; Maganas, D.; Wurster, N. I. C.; Hugenbruch, S.; Kowalska, J. K.; Pollock, C.
J.; Lima, F. A.; Finkelstein, K. D.; DeBeer, S. (2016) Experimental and theoretical correlations between
vanadium K-edge X-ray absorption and K emission spectra, J. Biol. Inorg. Chem., 21, 793-805.
3. Martin-Diaconescu, V.; Chacon, K. N.; Delgado-Jaime, M. U.; Sokaras, D.; Weng, T. C.; DeBeer, S.; Black-
burn, N. J. (2016) K beta Valence to Core X-ray Emission Studies of Cu(I) Binding Proteins with Mixed
Methionine - Histidine Coordination. Relevance to the Reactivity of the M- and H-sites of Peptidylglycine
Monooxygenase, Inorg. Chem., 55, 3431-3439.
4. Maganas, D.; Trunschke, A.; Schlogl, R.; Neese, F. (2016) A unified view on heterogeneous and homo-
geneous catalysts through a combination of spectroscopy and quantum chemistry, Farad. Discuss., 188,
181-197.
5. Kowalska, J. K.; Hahn, A. W.; Albers, A.; Schiewer, C. E.; Bjornsson, R.; Lima, F. A.; Meyer, F.; De-
Beer, S. (2016) X-ray Absorption and Emission Spectroscopic Studies of L2Fe2S2 (n) Model Complexes:
Implications for the Experimental Evaluation of Redox States in Iron-Sulfur Clusters, Inorg. Chem., 55,
4485-4497.
6. Rees, J. A.; Martin-Diaconescu, V.; Kovacs, J. A.; DeBeer, S. (2015) X-ray Absorption and Emission Study
of Dioxygen Activation by a Small-Molecule Manganese Complex, Inorg. Chem., 54, 6410-6422.
7. Rees, J. A.; Bjornsson, R.; Schlesier, J.; Sippel, D.; Einsle, O.; DeBeer, S. (2015) The Fe-V Cofactor of
Vanadium Nitrogenase Contains an Interstitial Carbon Atom, Angew. Chem. Int. Ed., 54, 13249-13252.
4. Beckwith, M. A.; Roemelt, M.; Collomb, M. N.; Duboc, C.; Weng, T. C.; Bergmann, U.; Glatzel, P.; Neese,
F.; DeBeer, S. (2011) Manganese K beta X-ray Emission Spectroscopy As a Probe of Metal-Ligand Interac-
tions, Inorg. Chem, 50, 8397–8409.
5. Lee, N.; Petrenko, T.; Bergmann, U.; Neese, F.; DeBeer, S. (2010) Probing Valence Orbital Composition
with Iron K beta X-ray Emission Spectroscopy, J. Am. Chem. Soc., 132, 9715–9727.
6. DeBeer-George, S.; Neese, F. (2010) Calibration of Scalar Relativistic Density Functional Theory for the
Calculation of Sulfur K-Edge X-ray Absorption Spectra, Inorg. Chem, 49, 1849–1853.
7. DeBeer-George, S.; Petrenko, T.; Neese, F. (2008) Prediction of Iron- K-edge Absorption Spectra using
Time-Dependent Density Functional Theory, J. Phys. Chem. A., 112, 12936–12943.
8. DeBeer-George, S.; Petrenko, T.; Neese, F. (2008) Time-dependent density functional calculations of ligand
K-edge X-ray absorption spectra, Inorg. Chim. Acta (60𝑡ℎ birthday issue of Prof. E.I. Solomon), 361,
965–972.
13. Shafaat, H. S.; Weber, K.; Petrenko, T.; Neese, F.; Lubitz, W. (2012) Key Hydride Vibrational Modes in
[NiFe] Hydrogenase Model Compounds Studied by Resonance Raman Spectroscopy and Density Functional
Calculations, Inorg. Chem., 51, 11787–11797.
14. Argirevic, T.; Riplinger, C.; Stubbe, J.; Neese, F.; Bennati, M. (2012) ENDOR Spectroscopy and DFT
Calculations: Evidence for the Hydrogen-Bond Network Within 𝛼2 in the PCET of E. coli Ribonucleotide
Reductase, J. Am. Chem. Soc., 134, 17661–17670.
15. Albrecht, C.; Shi, L. L.; Perez, J. M.; van Gastel, M.; Schwieger, S.; Neese, F.; Streubel, R. (2012) Deoxy-
genation of Coordinated Oxaphosphiranes: A New Route to P=C Double-Bond Systems, Chem. Eur. J., 18,
9780–9783.
16. Maganas, D.; Krzystek, J.; Ferentinos, E.; Whyte, A. M.; Robertson, N.; Psycharis, V.; Terzis, A.;
Neese, F.; Kyritsis, P. (2012) Investigating Magnetostructural Correlations in the Pseudooctahedral trans-
[NiII {(OPPh2 ) (EPPh2 )N}2 (sol)2 ] Complexes (E = S, Se; sol = DMF, THF) by Magnetometry, HFEPR,
and ab Initio Quantum Chemistry, Inorg. Chem., 51, 7218–7231.
17. Ye, S. F.; Neese, F. (2012) How Do Heavier Halide Ligands Affect the Signs and Magnitudes of the Zero-
Field Splittings in Halogenonickel(II) Scorpionate Complexes? A Theoretical Investigation Coupled to
Ligand-Field Analysis, J. Chem. Theory Comput., 8, 2344–2351.
18. Nesterov, V.; Ozbolat-Schon, A.; Schnakenburg, G.; Shi, L. L.; Cangonul, A.; van Gastel, M.; Neese, F.;
Streubel, R. (2012) An Unusal Case of Facile Non-Degenerate P-C Bond Making and Breaking, Chem. Asian
J., 7, 1708–1712.
19. Bykov, D.; Neese, F. (2012) Reductive activation of the heme iron-nitrosyl intermediate in the reaction
mechanism of cytochrome c nitrite reductase: a theoretical study, J. Biol. Inorg. Chem., 17, 741–760.
20. Lancaster, K. M.; Zaballa, M.E.; Sproules, S.; Sundararajan, M.; DeBeer, S.; Richards, J. H.; Vila, A. J.;
Neese, F.; Gray, H. B. (2012) Outer-Sphere Contributions to the Electronic Structure of Type Zero Copper
Proteins, J. Am. Chem. Soc., 134, 8241–8253.
21. Benkhauser-Schunk, C.; Wezisla, B.; Urbahn, K.; Kiehne, U.; Daniels, J.; Schnakenburg, G.; Neese, F.;
Lutzen, A. (2012) Synthesis, Chiral Resolution, and Absolute Configuration of Functionalized Troger’s Base
Derivatives: Part II, ChemPlusChem, 77, 396–403.
22. Ye, S. F.; Riplinger, C.; Hansen, A.; Krebs, C.; Bollinger, J. M.; Neese, F. (2012) Electronic Structure Anal-
ysis of the Oxygen-Activation Mechanism by FeII - and 𝛼-Ketoglutarate (𝛼KG)-Dependent Dioxygenases,
Chem. Eur. J., 18, 6555–6567.
23. Desrochers, P. J.; Sutton, C. A.; Abrams, M. L.; Ye, S. F.; Neese, F.; Telser, J.; Ozarowski, A.; Krzystek, J.
(2012) Electronic Structure of Nickel(II) and Zinc(II) Borohydrides from Spectroscopic Measurements and
Computational Modeling, Inorg. Chem., 51, 2793–2805.
24. Torres-Alacan, J.; Krahe, O.; Filippou, A. C.; Neese, F.; Schwarzer, D.; Vöhringer, P. (2012) The Photo-
chemistry of [FeIII N3 (cyclam-ac)]PF6 at 266 nm, Chem. Eur. J., 18, 3043–3055.
25. Maekawa, M.; Römelt, M.; Daniliuc, C. G.; Jones, P. G.; White, P. S.; Neese, F.; Walter, M. D. (2012) Reac-
tivity studies on [Cp′ MnX(thf)]2 : manganese amide and polyhydride synthesis Chem. Sci., 3, 2972–2979.
26. Pantazis, D. A.; Ames, W.; Cox, N.; Lubitz, W.; Neese, F. (2012) Two interconvertible structures that explain
the spectroscopic properties of the oxygen-evolving complex of photosystem II in the S2 state, Angew. Chem.
Int. Ed., 51, 9935–9940. (selected as cover article and VIP paper)
27. Vennekate, H.; Schwarzer, D.; Torres-Alacan, J.; Krahe, O.; Filippou, A. C.; Neese, F.; Vöhringer, P. (2012)
Ultrafast primary processes of an iron-(III) azido complex in solution induced with 266 nm light, Phys.
Chem. Chem. Phys., 14, 6165–6172.
28. Christian, G. J.; Ye, S.; Neese, F. (2012) Oxygen activation in extradiol catecholate dioxygenases – a density
functional study, Chem. Sci., 3, 1600–1611.
29. Cowley, R. E.; Christian, G. J.; Brennessel, W. W.; Neese, F.; Holland, P. L. (2012) A Reduced (beta-
Diketiminato)iron Complex with End-On and Side-On Nitriles: Strong Backbonding or Ligand Non-
Innocence? Eur. J. Inorg. Chem., 479–483.
30. Thiessen, A.; Wettach, H.; Meerholz, K.; Neese, F.; Hoger, S.; Hertel, D. (2012) Control of electronic
properties of triphenylene by substitution, Organic Electronics, 13, 71–83.
31. Lancaster, K. M.; Roemelt, M.; Ettenhuber, P.; Hu, Y. L.; Ribbe, M. W.; Neese, F.; Bergmann, U.; DeBeer,
S. (2011) X-ray Emission Spectroscopy Evidences a Central Carbon in the Nitrogenase Iron-Molybdenum
Cofactor, Science, 334, 974–977.
32. Ames, W.; Pantazis, D. A.; Krewald, V.; Cox, N.; Messinger, J.; Lubitz, W.; Neese, F. (2011) Theoreti-
cal Evaluation of Structural Models of the S2 State in the Oxygen Evolving Complex of Photosystem II:
Protonation States and Magnetic Interactions, J. Am. Chem. Soc., 133, 19743–19757.
33. Antony, J.; Grimme, S.; Liakos, D. G.; Neese, F. (2011) Protein-Ligand Interaction Energies with Dispersion
Corrected Density Functional Theory and High-Level Wave Function Based Methods, J. Phys. Chem. A,
115, 11210–11220.
34. Radoul, M.; Bykov, D.; Rinaldo, S.; Cutruzzola, F.; Neese, F.; Goldfarb, D. (2011) Dynamic Hydrogen-
Bonding Network in the Distal Pocket of the Nitrosyl Complex of Pseudomonas aeruginosa cd(1) Nitrite
Reductase, J. Am. Chem. Soc., 133, 3043–3055.
35. Liakos, D. G.; Neese, F. (2011) Interplay of Correlation and Relativistic Effects in Correlated Calculations
on Transition-Metal Complexes: The Cu2 O2+ 2 Core Revisited, J. Chem. Theory Comput., 7, 1511–1523.
36. Riplinger, C.; Neese, F. (2011) The Reaction Mechanism of Cytochrome P450 NO Reductase: A Detailed
Quantum Mechanics/Molecular Mechanics Study, ChemPhysChem, 12, 3192–3203.
37. Maganas, D.; Sottini, S.; Kyritsis, P.; Groenen, E. J. J.; Neese, F. (2011) Theoretical Analysis of the Spin
Hamiltonian Parameters in CoII S4 Complexes, Using Density Functional Theory and Correlated ab initio
Methods, Inorg. Chem, 50, 8741–8754.
38. Surawatanawong, P.; Sproules, S.; Neese, F.; Wieghardt, K. (2011) Electronic Structures and Spectroscopy
of the Electron Transfer Series Fe(NO)L𝑧2 (𝑧 = 1+, 0, 1−, 2−, 3−; L = Dithiolene), Inorg. Chem, 50,
12064–12074.
39. Cox, N.; Ames, W.; Epel, B.; Kulik, L. V.; Rapatskiy, L.; Neese, F.; Messinger, J.; Wieghardt, K.; Lubitz,
W. (2011) Electronic Structure of a Weakly Antiferromagnetically Coupled Mn(II)Mn(III) Model Relevant
to Manganese Proteins: A Combined EPR, 55 Mn-ENDOR, and DFT Study, Inorg. Chem, 50, 8238–8251.
40. Rota, J. B.; Knecht, S.; Fleig, T.; Ganyushin, D.; Saue, T.; Neese, F.; Bolvin, H. (2011) Zero field splitting of
the chalcogen diatomics using relativistic correlated wave-function methods, J. Chem. Phys., 135, 114106.
41. Atanasov, M.; Ganyushin, D.; Pantazis, D. A.; Sivalingam, K.; Neese, F. (2011) Detailed Ab Initio First-
Principles Study of the Magnetic Anisotropy in a Family of Trigonal Pyramidal Iron(II) Pyrrolide Complexes,
Inorg. Chem, 50, 7460–7477.
42. Cox, N.; Rapatskiy, L.; Su, J. H.; Pantazis, D. A.; Sugiura, M.; Kulik, L.; Dorlet, P.; Rutherford, A. W.;
Neese, F.; Boussac, A.; Lubitz, W.; Messinger, J. (2011) Effect of Ca2+ /Sr2+ Substitution on the Electronic
Structure of the Oxygen-Evolving Complex of Photosystem II: A Combined Multifrequency EPR, 55 Mn-
ENDOR, and DFT Study of the S2 State, J. Am. Chem. Soc., 133, 3635–3648.
43. Maurice, R.; Sivalingam, K.; Ganyushin, D.; Guihery, N.; de Graaf, C.; Neese, F. (2011) Theoretical Deter-
mination of the Zero-Field Splitting in Copper Acetate Monohydrate, Inorg. Chem, 50, 6229–6236.
44. Su, J. H.; Cox, N.; Ames, W.; Pantazis, D. A.; Rapatskiy, L.; Lohmiller, T.; Kulik, L. V.; Dorlet, P.; Ruther-
ford, A. W.; Neese, F.; Boussac, A.; Lubitz, W.; Messinger, J. (2011) The electronic structures of the S2
states of the oxygen-evolving complexes of photosystem II in plants and cyanobacteria in the presence and
absence of methanol, Biochim. Biophys. Acta-Bioenergetics, 1807, 829–840.
45. Bykov, D.; Neese, F. (2011) Substrate binding and activation in the active site of cytochrome c nitrite reduc-
tase: a density functional study, J. Biol. Inorg. Chem, 16, 417–430.
46. Gennari, M.; Orio, M.; Pecaut, J.; Bothe, E.; Neese, F.; Collomb, M. N.; Duboc, C. (2011) Influence of
Mixed Thiolate/Thioether versus Dithiolate Coordination on the Accessibility of the Uncommon +I and
+III Oxidation States for the Nickel Ion: An Experimental and Computational Study, Inorg. Chem, 50,
3707–3716.
47. Ye, S. F.; Neese, F. (2011) Nonheme oxo-iron(IV) intermediates form an oxyl radical upon approaching the
C-H bond activation transition state, Proc. Natl. Acad. Sci. USA, 108, 1228–1233.
48. Gennari, M.; Pecaut, J.; DeBeer, S.; Neese, F.; Collomb, M. N.; Duboc, C. (2011) A Fully Delocalized
Mixed-Valence Bis-𝜇-(Thiolato) Dicopper Complex: A Structural and Functional Model of the Biological
Cu(A) Center, Angew. Chem., Int. Ed., 50, 5661–5665.
49. Gennari, M.; Retegan, M.; DeBeer, S.; Pecaut, J.; Neese, F.; Collomb, M. N.; Duboc, C. (2011) Experimental
and Computational Investigation of Thiolate Alkylation in Ni(II) and Zn(II) Complexes: Role of the Metal
on the Sulfur Nucleophilicity, Inorg. Chem, 50, 10047–10055.
50. Atanasov, M.; Delley, B.; Neese, F.; Tregenna-Piggott, P. L.; Sigrist, M. (2011) Theoretical Insights into the
Magnetostructural Correlations in Mn(3)-Based Single-Molecule Magnets, Inorg. Chem, 50, 2112–2124.
51. Neese, F.; Pantazis, D. A. (2011) What is not required to make a single molecule magnet, Faraday Discus-
sions, 148, 229–238.
52. Lassalle-Kaiser, B.; Hureau, C.; Pantazis, D. A.; Pushkar, Y.; Guillot, R.; Yachandra, V. K.; Yano, J.; Neese,
F.; Anxolabéhère-Mallart, E. (2010) Activation of a water molecule using a mononuclear Mn complex: from
Mn-aquo, to Mn-hydroxo, to Mn-oxyl via charge compensation, Energy Environ. Sci., 3, 924–938.
53. Pantazis, D. A.; Krewald, V.; Orio, M.; Neese, F. (2010) Theoretical magnetochemistry of dinuclear man-
ganese complexes: broken symmetry density functional theory investigation on the influence of bridging
motifs on structure and magnetism, Dalton Trans., 39, 4959–4967.
54. Woertink, J. S.; Tian, L.; Maiti, D.; Lucas, H. R.; Himes, R. A.; Karlin, K. D.; Neese, F.; Wurtele, C.;
Holthausen, M. C.; Bill, E.; Sundermeyer, J.; Schindler, S.; Solomon, E. I. (2010) Spectroscopic and Com-
putational Studies of an End-on Bound Superoxo-Cu(II) Complex: Geometric and Electronic Factors That
Determine the Ground State, Inorg. Chem, 49, 9450–9459.
55. McNaughton, R. L.; Roemelt, M.; Chin, J. M.; Schrock, R. R.; Neese, F.; Hoffman, B. M. (2010) Experi-
mental and Theoretical EPR Study of Jahn–Teller-Active HIPTN(3)N MoL Complexes (L = N2 , CO, NH3 ),
J. Am. Chem. Soc., 132, 8645–8656.
56. Geng, C. Y.; Ye, S. F.; Neese, F. (2010) Analysis of Reaction Channels for Alkane Hydroxylation by Non-
heme Iron(IV)-Oxo Complexes, Angew. Chem., Int. Ed., 49, 5717–5720.
57. Orio, M.; Jarjayes, O.; Kanso, H.; Philouze, C.; Neese, F.; Thomas, F. (2010) X-Ray Structures of Cop-
per(II) and Nickel(II) Radical Salen Complexes: The Preference of Galactose Oxidase for Copper(II), Angew.
Chem., Int. Ed., 49, 4989–4992.
58. Gennari, M.; Orio, M.; Pecaut, J.; Neese, F.; Collomb, M. N.; Duboc, C. (2010) Reversible Apical Coor-
dination of Imidazole between the Ni(III) and Ni(II) Oxidation States of a Dithiolate Complex: A Process
Related to the Ni Superoxide Dismutase, Inorg. Chem, 49, 6399–6401.
59. Ye, S. F.; Price, J. C.; Barr, E. W.; Green, M. T.; Bollinger, J. M.; Krebs, C.; Neese, F. (2010) Cryoreduction
of the NO-Adduct of Taurine:alpha-Ketoglutarate Dioxygenase (TauD) Yields an Elusive FeNO Species, J.
Am. Chem. Soc., 132, 4739–4751.
60. Maganas, D.; Grigoropoulos, A.; Staniland, S. S.; Chatziefthimiou, S. D.; Harrison, A.; Robertson, N.;
Kyritsis, P.; Neese, F. (2010) Tetrahedral and Square Planar Ni(SPR2 )2 N2 complexes, R = Ph & 𝑖Pr Revis-
ited: Experimental and Theoretical Analysis of Interconversion Pathways, Structural Preferences, and Spin
Delocalization, Inorg. Chem, 49, 5079–5093.
61. Anoop, A.; Thiel, W.; Neese, F. (2010) A Local Pair Natural Orbital Coupled Cluster Study of Rh Catalyzed
Asymmetric Olefin Hydrogenation, J. Chem. Theory Comput., 6, 3137–3144.
62. Duboc, C.; Collomb, M. N.; Neese, F. (2010) Understanding the Zero-Field Splitting of Mononuclear Man-
ganese(II) Complexes from Combined EPR Spectroscopy and Quantum Chemistry, Appl. Magn. Res., 37,
229–245.
63. Ye, S. F.; Neese, F. (2010) The Unusual Electronic Structure of Dinitrosyl Iron Complexes, J. Am. Chem.
Soc., 132, 3646–3647.
64. Kochem, A.; Orio, M.; Jarjayes, O.; Neese, F.; Thomas, F. (2010) Unsymmetrical one-electron oxidized
Ni(II)-bis(salicylidene) complexes: a protonation-induced shift of the oxidation site, Chem. Commun., 46,
6765–6767.
65. Ozbolat-Schon, A.; Bode, M.; Schnakenburg, G.; Anoop, A.; van Gastel, M.; Neese, F.; Streubel, R. (2010)
Insights into the Chemistry of Transient P-Chlorophosphanyl Complexes, Angew. Chem., Int. Ed., 49,
6894–6898.
66. Vancoillie, S.; Chalupsky, J.; Ryde, U.; Solomon, E. I.; Pierloot, K.; Neese, F.; Rulisek, L. (2010) Multiref-
erence Ab Initio Calculations of g tensors for Trinuclear Copper Clusters in Multicopper Oxidases, J. Phys.
Chem. B, 114, 7692–7702.
67. Grote, D.; Finke, C.; Kossmann, S.; Neese, F.; Sander, W. (2010) 3,4,5,6-Tetrafluorophenylnitren-2-yl: A
Ground-State Quartet Triradical, Chem. Eur. J., 16, 4496–4506.
68. Ye, S. F.; Neese, F.; Ozarowski, A.; Smirnov, D.; Krzystek, J.; Telser, J.; Liao, J. H.; Hung, C. H.; Chu,
W. C.; Tsai, Y. F.; Wang, R. C.; Chen, K. Y.; Hsu, H. F. (2010) Family of V(III)-Tristhiolato Complexes
Relevant to Functional Models of Vanadium Nitrogenase: Synthesis and Electronic Structure Investigations
by Means of High-Frequency and -Field Electron Paramagnetic Resonance Coupled to Quantum Chemical
Computations, Inorg. Chem, 49, 977–988.
69. Hegele, P.; Santhamma, B.; Schnakenburg, G.; Frohlich, R.; Kataeva, O.; Nieger, M.; Kotsis, K.; Neese,
F.; Dotz, K. H. (2010) Hydroquinoid Chromium Complexes Bearing an Acyclic Conjugated Bridge:
Chromium-Templated Synthesis, Molecular Structure, and Haptotropic Metal Migration, Organometallics,
29, 6172–6185.
70. Ye, S. F.; Neese, F. (2010) Accurate Modeling of Spin-State Energetics in Spin-Crossover Systems with
Modern Density Functional Theory, Inorg. Chem, 49, 772–774.
71. Orio, M.; Philouze, C.; Jarjayes, O.; Neese, F.; Thomas, F. (2010) Spin Interaction in Octahedral Zinc
Complexes of Mono- and Diradical Schiff and Mannich Bases, Inorg. Chem, 49, 646–658.
72. Pantazis, D. A.; Orio, M.; Petrenko, T.; Zein, S.; Lubitz, W.; Messinger, J.; Neese, F. (2009) Structure of
the Oxygen-Evolving Complex of Photosystem II: Information on the S2 state through Quantum Chemical
Calculation of its Magnetic Properties. Phys. Chem. Chem. Phys., 11, 6788–6798.
73. Baffert, C.; Orio, M.; Pantazis, D. A.; Duboc, C.; Blackman, A.G.; Blondin, G.; Neese, F.; Deronzier,A.;
Collomb, M-N. (2009) A trinuclear terpyridine frustrated spin system with a MnIV 3 O4 core: synthesis,
physical characterization and quantum chemical modeling of its magnetic properties. Inorg. Chem., 48,
10281–10288.
74. Liakos, D.; Neese, F. (2009) A multiconfigurational ab initio study of the zero-field splitting in the di- and
trivalent hexaquo-chromium complexes. Inorg. Chem., 48, 10572–10580.
75. Astashkin, A.V.; Klein, E.C.; Ganyushin, D.; Johnson.Winters, K.; Neese, F.; Kappler, U.; Enemark, J.H.
(2009) Exchangeable oxygens in the vicinity of the molybdenum center of the high-pH form of sulfite oxidase
and sulfite dehydrogenase. Phys. Chem. Chem. Phys., 11, 6733–6742.
76. Orio, M.; Pantazis, D. A.; Petrenko, T.; Neese, F. (2009) Magnetic and spectroscopic properties of mixed
valence manganese(III,IV) dimers: a systematic study using broken symmetry density functional theory,
Inorg. Chem., 48, 7251–7260.
77. Klein, E.L.; Astashkin, A.V.; Ganyushin, D.; Johnson-Winters, K.; Wilson, H.L.; Rajagopalan, K. V.; Neese,
F.; Enemark, J.H. (2009) Direct Detection and Characterization of Chloride in the Active Site of the Low-
pH Form of Sulfite Oxidase Using ESEEM Spectroscopy, Isotopic Labeling, and DFT Calculations, Inorg.
Chem., 48(11), 4743–4752.
78. Vancoillie, S.; Rulisek, L.; Neese, F.; Pierloot, K. (2009) Theoretical description of the structure and mag-
netic properties of nitroxide-Cu(II)-nitroxide spin triads, J. Phys. Chem., 113, 6149–6157.
79. Cowley, R.E.; Bill, E.; Neese, F.; Brennessel,W.W.; Holland, P.L. (2009) Iron(II) Complexes With Redox-
Active Tetrazene (RNNNNR) Ligands, Inorg. Chem., 48, 4828–4836.
80. Gansäuer, A.; Fleckhaus, A.; Lafon, A.; Okkel, M.; Anakuthil, A.; Kotsis, K.; Neese, F. (2009) Catalysis
via Homolytic Substitutions with C-O and Ti-O Bonds: Oxidative Additions and Reductive Eliminations in
Single Electron Steps. J. Am. Chem. Soc., 131, 16989–16999.
81. Ye, S.; Neese, F. (2009) Quantum Chemical Studies of C-H Activation Reactions by High-Valent Nonheme
Iron Centers Curr. Op. Chem. Biol., 13(1), 89–98.
82. Krahe, O.; Neese, F.; Streubel, R. (2009) The quest for ring-opening of oxaphosphirane complexes: a coupled
cluster and density functional study of CH3 PO isomers and their Cr(CO)5 complexes Chem. Eur. J., 15,
2594–2601.
83. Romain, S.; Duboc, C.; Neese, F.; Riviere, E.; Hanton, L. R.; Blackman, A. G.; Philouze, C.; Lepretre, J. C.;
Deronzier, A.; Collomb, M. N. (2009) An Unusual Stable Mononuclear Mn(III) Bis-terpyridine Complex
Exhibiting Jahn-Teller Compression: Electrochemical Synthesis, Physical Characterisation and Theoretical
Study, Chem. Eur. J., 15, 980–988
84. Zein, S.; Neese, F. (2008) Ab initio and Coupled Perturbed DFT Calculation of Zero-Field Splittings in
Mn(II) Transition Metal complexes. J. Phys. Chem. A, 112, 7976–7983.
85. Ye, S.; Tuttle, T.; Bill, E.; Gross, Z.; Thiel, W.; Neese, F. (2008) The Noninnocence of Iron Corroles: A
combined Experimental and Quantum Chemical Study. Chem. Eur. J. (selected as very important paper),
34, 10839–10851.
86. Duboc, C.; Collomb, M.-N.; Pecaut, J.; Deronzier, A.; Neese, F. (2008) Definition of Magneto-Structural
Correlations for the Mn(II) Ion. Chem. Eur. J., 21, 6498–6509.
87. Berry, J.F.; DeBeer-George, S.; Neese, F. (2008) Electronic Structure and Spectroscopy of “Superoxidized”
Iron Centers in Model Systems: Theoretical and Experimental Trends. Phys. Chem. Chem. Phys., 10,
4361–4374.
88. Sander, W.; Grote, D.; Kossmann, S.; Neese, F. (2008) 2.3.5.6-Tetrafluorophenylnitren-4-yl: EPR Spectro-
scopic Characterization of a Quartet Ground State Nitreno Radical, J. Am. Chem. Soc., 130, 4396–4403.
89. Scheifele, Q.; Riplinger, C.; Neese, F.; Weihe, H.; Barra, A.L.; Jurany, F.; Podlesnyak, A.; Tregenna-Piggot,
P.W.L. (2008) Spectroscopic and Theoretical Study of a Mononuclear Mn(III) Bioinorganic Complex Ex-
hibiting a Compressed Jahn-Teller Octahedron, Inorg. Chem., 47, 439–447.
90. Zein, S.; Kulik, L.V.; Yano, J.; Kern, J.; Zouni, A.; Yachandra, V.K.; Lubitz, W.; Neese, F.; Messinger,
J. (2008) Focussing the View on Nature’s Water Splitting Catalyst Phil. Trans. Roy. Soc. London B, 363,
1167–1177.
91. Zein, S.; Duboc, C.; Lubitz, W.; Neese, F. (2008) Theoretical Characterization of zero-Field Splittings in
Mn(II) Complexes. Inorg. Chem., 47, 134–142.
92. Parker, D.J.; Hammond, D.; Davies, E.S.; Garner, C.D.; Benisvy, L.; McMaster, J.; Wilson, C.; Neese, F.;
Bothe, E.; Bittl, R.; Teutloff, C. (2007) A stable H-bonded ortho-Thioether Phenoxyl-Radical: A Chemi-
cal and Spectroscopic Analogue of ∙ Tyr272 in apo-Galactose Oxidase, J. Biol. Inorg. Chem. (Ed Stiefel
memorial issue), 101, 1859–1864.
93. Chlopek, K.; Muresan, N.; Neese, F.; Wieghardt, K. (2007) Electronic Structures of Five-Coordinate Com-
plexes of Iron Containing Zero, One, or Two 𝜋 Radical Ligands: A Broken Symmetry Density Functional
Theoretical Study, Chem. Eur. J., 13, 8391–8403.
94. Muresan, N.; Chlopek, K.; Weyhermüller, T.; Neese, F.; Wieghardt, K. (2007) Bis(𝛼-diimine)nickel Com-
plexes: Molecular and Electronic Structure of Three Members of the Electron-Transfer Series [Ni(L)2 ]𝑧
(𝑧 = 0, 1+, 2+) (L = 2-Phenyl-1,4-bis(isopropyl)-1,4-diazabutadiene). A Combined Experimental and
Theoretical Study, Inorg. Chem., 46, 4905–4916.
95. Ray, K.; Petrenko, T.; Wieghardt, K.; Neese, F. (2007) Joint Spectroscopic and Theoretical Investigations
of Transition Metal Complexes Involving Non-Innocent Ligands. Dalton Trans., 1552 (selected for cover
picture).
96. Sinnecker, S.; Svensen, N.; Barr, E.W.; Ye, S.; Bollinger, J.M.; Neese, F.; Krebs, C. (2007) Spectro-
scopic and Theoretical Evaluation of the Structure of the High-Spin Fe(IV)-Oxo Intermediates in Taurine:𝛼-
Ketoglutarate Dioxygenase from Escherichia coli and its His99Ala Ligand Variant J. Am. Chem. Soc., 129,
6168–6179.
97. Duboc, C.; Phoeung, T; Zein, S.; Pécaut, J.; Collomb, M.-N.; Neese. F. (2007) Origin of the zero field
splitting in mononuclear dihalide Mn(II) complexes: an investigation by multifrequency high-field EPR and
density functional theory (DFT), Inorg. Chem., 46, 4905–4916.
98. DeBeer-George, S.; Petrenko, T.; Aliaga-Alcade, N.; Bill, E.; Mienert, B.; Sturhan, W.; Ming, Y.; Wieghardt,
K.; Neese, F. (2007) Characterization of a Genuine Iron(V)Nitrido Species by Nuclear Resonant Vibrational
Spectroscopy Coupled to Density Functional Calculations, J. Am. Chem. Soc., 129, 11053–11060.
99. Lehnert, N.M; Cornelissen, U.; Neese, F.; Ono, T.; Noguchi, Y.; Okamoto, K.-I.; Fujisawa, K. (2007) Syn-
thesis and Spectroscopic Characterization of Cu(II)-Nitrite Complexes with Hydrotris(pyrazolyl)borate and
Related Ligands. Inorg. Chem., 46, 3916–3933.
100. Carmieli, R.; Larsen, T.; Reed, G.H.; Zein, S.; Neese, F.; Goldfarb, D. (2007) The Catalytic Mn2+ Sites in
the Enolase-Inhibitor Complex - Crystallography, Single Crystal EPR and DFT calculations. J. Am. Chem.
Soc., 129, 4240–4252.
101. Kokatam, S.; Ray, K.; Pap, J.; Bill, E.; Geiger, W.E.; LeSuer, R.J.; Rieger, P.H.; Weyhermüller, T.; Neese,
F.; Wieghardt, K. (2007) Molecular and Electronic Structure of Square Planar Gold Complexes Containing
Two 1,2-di(4-tert-butylphenyl)ethylene-1,2-dithiolato Ligands: [Au(L)2 ]1+/0/1−/2− . A Combined Experi-
mental and Computational Study, Inorg. Chem., 46, 1100–1111.
102. Ray, K.; DeBeer-George, S.; Solomon, E.I.; Wieghardt, K.; Neese, F. (2007) Description of the Ground State
Covalencies of the Bis(dithiolato)Transition Metal Complexes Using X-ray Absorption Spectral and Time-
Dependent-Density-Functional Studies. Chem. Eur. Journal, 13(10), 2753 (selected for cover picture).
103. Chalupský, J.; Neese, F.; Solomon, E.I.; Ryde, U.; Rulíšek, L. (2006) Identification of intermediates in the
reaction cycle of multicopper oxidases by quantum chemical calculations of spectroscopic parameters, Inorg.
Chem., 45, 11051–11059.
104. Bart, S.C.; Chłopek, K.; Bill, E., Bouwkamp, B.W.; Lobkovsky, E.; Neese, F.; Wieghardt, K.; Chirik,
P.J. (2006) Electronic Structure of Bis(imino)pyridine Iron Dichloride, Monochloride and Neutral Ligand
Complexes: A Combined Structural, Spectroscopic and Computational Study, J. Am. Chem. Soc., 128,
13901–13912.
105. Patra, A.K.; Bill, E.; Bothe, E.; Chlopek, K.; Neese, F.; Weyhermüller, T.; Stobie, K.; Ward, M.D.;
McCleverty, J.A.; Wieghardt, K. (2006) The Electronic Structure of Mononuclear Bis(1,2-diaryl-1,2-
ethylenedithiolate)iron Complexes Containing a Fifth Cyanide or Phosphite Ligand: A Combined Exper-
imental and Computational Study, Inorg. Chem., 45, 7877–7890.
106. Berry, J.F.; Bill, E.; Bothe, E.; DeBeer-George, S.; Mienert, B.; Neese, F.; Wieghardt, K. (2006) An Octa-
hedral Coordination Complex of Iron(VI) – One Step Ahead of Nature?, Science, 312, 1937–1941.
107. Petrenko, T.; Ray, K.; Wieghardt, K.; Neese, F. (2006) Vibrational Markers for the Open-Shell Character of
Metal bis-Dithiolenes: An Infrared, resonance Raman and Quantum Chemical Study. J. Am. Chem. Soc.,
128, 4422–4436.
108. Chłopek, K.; Bothe, E.; Neese, F.; Weyhermüller, T.; Wieghardt, K. (2006) The Molecular and Elec-
tronic Structures of Tetrahedral Complexes of Nickel and Cobalt Containing 𝑁, 𝑁 ′ -Disubstituted, Bulky
𝑜-Diiminobenzosemiquinonate(1-) 𝜋-Radical Ligands, Inorg. Chem., 45, 6298–6307.
109. Kababya, S.; Nelson. J.; Calle, C.; Neese, F.; Goldfarb, D. (2006) The electronic structure of bi-nuclear
mixed valent copper azacryptates derived from integrated advanced EPR and DFT calculations. J. Am.
Chem. Soc., 128, 2017–2029.
110. Berry, J.F.; Bill, E.; Neese, F.; Garcia-Serres, R.; Weyhermüller, T.; Wieghardt, K. (2006) Effect of N-
Methylation of Macrocyclic Amine Ligands on the Spin State of Fe(III): A Tale of Two Fluoro Complexes.
Inorg. Chem., 45, 2027–2037.
111. Kapre, R.; Ray, K.; Sylvestre, I.; Weyhermüller, T.; DeBeer-George, S.; Neese, F.; Wieghardt, K. (2006)
The Molecular and Electronic Structure of Oxo-bis(benzene-1,2-dithiolato)chromate(V) Monoanions. A
Combined Experimental and Density Functional Study. Inorg. Chem., 45, 3499–3509.
112. Zhu, W.; Marr, A.C.; Wang, Q.; Neese, F.; Spencer, J.E.; Blake, A.J.; Cooke, P.A.; Wilson, C.; Schröder, M.
(2005) Modulation of the Electronic Structure and the Ni-Fe Distance in Heterobimetallic Models for the
Active Site in [NiFe]Hydrogenase: Is there a Ni-Fe Bond? Proc. Natl. Acad. Sci. (USA), 102, 18280–18285.
113. Astashkin, A.V.; Neese, F.; Raitsimaring, A.M.; Cooney, J.J.A.; Bultman, E.; Enemark, J.H. (2005) Pulsed
EPR investigation of systems modelling molybdenum enzymes: hyperfine and quadrupole parameters of
oxo-17 O in [Mo17 O(SPh)4 ]− , J. Am. Chem. Soc., 127, 16713–16722.
114. Benisvy, L.; Bittl, R.; Bothe, E.; Garner, C.D.; McMaster, J.; Ross, S.; Teutloff, C.; Neese, F. (2005) Phenoxyl
Radicals Hydrogen-Bonded to Imidazolium – Analogues of Tyrosyl D∙ of Photosystem II: High-Field EPR
and DFT Studies. Angew. Chem. Int. Ed., 44, 5314–5317.
115. Praneeth, V.K.K.; Neese, F.; Lehnert, N. (2005) Spin Density Distribution in Five- and Six-Coordinate
Iron(II)-Porphyrin NO Complexes Evidenced by Magnetic Circular Dichroism Spectroscopy. Inorg. Chem.,
44, 2570–2572.
116. Sinnecker, S.; Neese, F.; Lubitz, W. (2005) Dimanganese Catalase – Spectroscopic Parameters from Broken
Symmetry Density Functional Theory of the Superoxidized MnIII /MnIV state, J. Biol. Inorg. Chem., 10,
231–238.
117. Blanchard, S.; Neese, F.; Bothe, E.; Bill, E.; Weyhermüller, T.; Wieghardt, K. (2005) Square Planar vs. Tetra-
hedral Coordination in Diamagnetic Complexes of Nickel(II) Containing Two Bidentate 𝜋 Radical Monoan-
ions, Inorg. Chem., 44, 3636–3656.
118. Mader-Cosper, M.; Neese, F.; Astashkin, A.V.; Carducci, M.A.; Raitsimring, A.M.; Enemark, J.H. (2005)
Determination of the Magnitude and Orientation of the g-Tensors for cis,trans-(L-N2 S2 )MoV OX (X=Cl,
SCH2 Ph) by Single Crystal EPR and Molecular Orbital Calculations, Inorg. Chem., 44, 1290–1301.
119. Fouqeau, A.; Casida, M.E.; Lawson, L.M.; Hauser, A.; Neese, F. (2005) Comparison of Density Functionals
for Energy and Structural Differences Between the High-[5 T2𝑔 : (t42𝑔 )(e2𝑔 )] and Low-[1 A1𝑔 : (t62𝑔 )(e0𝑔 )] Spin
States of Iron(II) Coordination Compounds: II. Comparison of Results for More than Ten Modern Func-
tionals with Ligand Field Theory and Ab Initio Results for Hexaquoferrous Dication, [Fe(H2 O)6 ]2+ and
Hexaminoferrous Dication [Fe(NH3 )6 ]2+ , J. Chem. Phys., 122, 044110.
120. Aliaga-Alcade, N.; DeBeer George, S.; Bill, E.; Wieghardt, K.; Neese, F. (2005) The Geometric and Elec-
tronic Structure of [(Cyclam-acetato)Fe(N)]+: a Genuine Iron(V) Species with Ground State Spin 𝑆 = 1/2.
Angew. Chem. Int. Ed., 44, 2908–2912.
121. Bill, E.; Bothe, E.; Chaudhuri, P.; Chlopek, K.; Herebian, D.; Kokatam, S.; Ray, K. Weyhermüller, T.;
Neese, F.; Wieghardt, K. (2004) Molecular and Electronic Structure of Four- and Five-Coordinate Cobalt
Complexes Containing Two 𝑜-Phenylendiamine- or Two 𝑜-Aminophenol-Type Ligands at Various Oxidation
Levels: An Experimental, Density Functional and Correlated ab initio Study. Chem. Eur. J., 11, 204–224.
122. Paine, T.; Bothe, W.; Bill, E.; Weyhermüller, T.; Slep, L.; Neese, F.; Chaudhuri, P. (2004) Nonoxo Vana-
dium(IV) and Vanadyl(V) Complexes with Mixed O,X,O-Donor Ligand (X = S, Se, P, PO), Inorg. Chem.,
43, 7324–7338.
123. Baute, D.; Arieli, D.; Zimmermann, H.; Neese, F.; Weckhuysen, B.; Goldfarb, D. (2004) The Structure of
Copper Histidine Complexes in Solution and in Zeolite Y: A Combined X- and W-Band Pulsed EPR/ENDOR
and DFT Study, J. Am. Chem. Soc., 126, 11733–11745.
124. Garcia Serres R.; Grapperhaus, C.A.; Bothe, E.; Bill, E.; Weyhermüller, T.; Neese, F.; Wieghardt, K.
(2004) Structural, Spectroscopic and Computational Study of an Octahedral, Non-heme FeNO6,7,8 Series:
[Fe(NO)(cyclam-ac)]2+/1+/0 , J. Am. Chem. Soc., 126, 5138–5153.
125. Sinnecker, S.; Noodleman, L.; Neese, F.; Lubitz, W. (2004) Calculation of the EPR Parameters of a Mixed
Valence Mn(III)/Mn(IV) Model Complex with Broken Symmetry Density Functional Theory. J. Am. Chem.
Soc., 126, 2613–2622.
126. Sinnecker, S.; Neese, F.; Lubitz, W. (2004) Benzosemichinone Solvent Interactions. A Density Functional
Study of Electric and Magnetic Properties for Probing Hydrogen Bond Strengths and Geometries. J. Am.
Chem. Soc., 126, 3280–3290.
127. van Gastel, M.; Fichtner, C.; Neese, F.; Lubitz, W. (2005) EPR Experiments to Elucidate the Structure of the
Ready and Unready States of the [NiFe] Hydrogenase of Desulfovibrio vulgaris Miyazaki F. Biochem. Soc.
Trans., 33, 7–11.
128. van Gastel, M.; Lassman, G.; Lubitz, W.; Neese, F. (2004) The unusual EPR parameters of the cysteine
radical: a DFT and correlated ab initio study J. Am. Chem. Soc., 126, 2237–2246.
129. Fouqueau, A.; Mer, S.; Casida, M.E.; Daku, L.M.L.; Hauser, A.; Mieva, T.; Neese, F. (2004) Comparison of
Density Functionals for Energy and Structural Differences between the High [5 T2𝑔 : t42𝑔 e2𝑔 ] and Low [1 A1𝑔 :
t62𝑔 ] Spin States of the Hexaquo-Ferrous Ion, [Fe(H2 O)6 ]2+ , J. Chem. Phys., 120, 9473–9486.
130. Slep, L.D.; Mijovilovich, A.; Meyer-Klaucke, W.; Weyhermüller, T.; Bill, E.; Bothe, E.; Neese, F.;
Wieghardt, K. (2003) The Mixed-valent FeIV (𝜇-O)(𝜇-carboxylato)2 FeIII3+ Core. J. Am. Chem. Soc., 125,
15554–15570.
131. Herebian, D.; Wieghardt, K.; Neese, F. (2003) Analysis and Interpretation of Metal-Radical Coupling in
a Series of Square Planar Nickel Complexes. Correlated Ab Initio and Density Functional Investigation of
[Ni(LISQ )2 ] (LISQ =3,5-di-tert-butyl-𝑜diiminobenzosemquinone). J. Am. Chem. Soc., 125, 10997–11005.
132. Herebian, D.; Bothe, E.; Neese, F.; Weyhermüller, T.; Wieghardt, K. (2003) The Molecular and Electronic
Structures of Bis(𝑜-diiminobenzosemiquinonato)metal(II) Complexes (Ni, Pd, Pt), their Monocations and
Anions, and their Dimeric Dications Containing Weak Metal-Metal Bonds. J. Am. Chem. Soc., 125,
9116–9128.
133. Ghosh, P.; Bill, E.; Weyhermüller, T.; Neese, F.; Wieghardt, K. (2003) The non-Innocence of
the Ligand Glyoxal-bis (2-mercaptoanil). The Electronic Structures of [Fe(gma)]2 , [Fe(gma)(py)]∙ py,
[Fe(gma)(CN)]1−/0 , [Fe(gma)I], [Fe(gma)(PR3 )𝑛 ] (𝑛 = 1, 2). Experimental and Theoretical Evidence for
‘Excited State’ Coordination. J. Am. Chem. Soc., 125, 1293–1308.
134. Einsle, O.; Messerschmidt, A.; Huber, R.; Kroneck, P.M.H.; Neese, F. (2002) Mechanism of the Six Electron
Reduction of Nitrite to Ammonia by Cytochrome 𝑐 Nitrite Reductase (CCNIR). J. Am. Chem. Soc., 124,
11737–11745.
135. Sun, X.; Chun, H.; Hildenbrand, K.; Bothe, E.; Weyhermüller, T.; Neese, F.; Wieghardt, K. (2002) 𝑜-
Iminobenzosemiquinonato(1-) and 𝑜-Amidophenolato(2-) Complexes of Palladium(II) and Plantinum(II):
A Combined Experimental and Density Functional Theoretical Study, Inorg. Chem., 41, 4295–4303.
136. Li, M.; Bonnet, D.; Bill, E.; Neese, F.; Weyhermüller, T.; Blum, N.; Sellmann, D.; Wieghardt, K. (2002)
Tuning the Electronic Structure of Octahedral Iron Complexes [FeL(X)] (L = 1-alkyl-4,7-bis(4-tert-butyl-
2-mercaptobenzyl)-1,4,7-triazacyclo-nonane, X = Cl, CH3 O, CN, CO). The 𝑆 = 1/2 ⇔ 𝑆 = 3/2 Spin-
Equilibrium of [FeL𝑃 𝑟 (NO)]. Inorg. Chem., 41, 3444–3456.
137. Lehnert, N.; Neese, F.; Ho, R.Y.N.; Que Jr., L.; Solomon, E.I. (2002) Electronic Structure and Reactivity of
Low-Spin Fe(III)-Hydroperoxo Complexes: Comparison to Activated Bleomycin. J. Am. Chem. Soc., 124,
10810–10822.
138. Grapperhaus, C.A.; Bill, E.; Weyhermüller, T.; Neese, F.; Wieghardt, K. (2001) Electronic and Geometric
Structure and Spectroscopy of a High Valent Manganese(V) Nitrido Complex. An Experimental and DFT
Study. Inorg. Chem., 41, 4191–4198.
139. Neese, F., Solomon, E.I. (1998) Detailed Spectroscopic and Theoretical Studies on [Fe(EDTA)(O2 )]3− : the
Electronic Structure of the Side-On Ferric Peroxide Bond and its Relevance to Reactivity. J. Am. Chem.
Soc., 120, 12829–12848.
7. Neese, F. (2009) Spin Hamiltonian Parameters from First Principle Calculations: Theory and Application.
In: Hanseon, G.; Berliner, L. (Eds.) Biological Magnetic Resonance. Vol 28, pp 175–232.
8. Ray, K.; Petrenko, T.; Wieghardt, K.; Neese, F. (2007) Joint Spectroscopic and Theoretical Investigations
of Transition Metal Complexes Involving Non-Innocent Ligands. Dalton Trans., 1552. (selected for cover
picture)
9. Kirchner, B.; Wennmohs, F.; Ye, S.; Neese, F. (2007) Theoretical Bioinorganic Chemistry: Electronic Struc-
ture Makes a Difference, Curr. Op. Chem. Biol., 11, 131–141.
10. Neese, F.; Petrenko, T.; Ganyushin, D.; Olbrich, G. (2007) Advanced Aspects of ab initio Theoretical Spec-
troscopy of Open-Shell Transition Metal Ions. Coord. Chem. Rev., 205, 288–327.
11. Ye, S.; Neese, F. (2006) Combined Quantum Chemical and Spectroscopic Studies on Transition Metal Com-
plexes with Coordinating Radicals. Chemtracts (Special Volume on Computational Inorganic Chemistry),
19, 77–86.
12. Sinnecker, S.; Neese, F. (2006) Theoretical Bioinorganic Spectroscopy, Invited Chapter in the Series Current
Topics in Chemistry, Editor M. Reiher, Springer, Heidelberg.
13. Neese, F. (2006) Quantum Chemical Approaches to Spin-Hamiltonian Parameters. Specialist Periodical
Reports on EPR Spectroscopy Vol. 20, (Ed. B. Gilbert) Royal Scoiety Press.
14. Neese, F. (2006) A Critical Evaluation of DFT, including Time-Dependent DFT, Applied to Bioinorganic
Chemistry. J. Biol. Inorg. Chem., (commentary on invitation), 11, 702–711.
15. Neese, F.; Munzarova, M.L. (2004) Historical Aspects of EPR Parameter Calculations. In: Kaupp, M.; Bühl,
M.; Malkin, V. (Eds) Calculation of NMR and EPR Parameters. Theory and Applications. Wiley-VCH, pp
21–32.
16. Neese, F. (2004) Zero-Field Splitting. In: Kaupp, M.; Bühl, M.; Malkin, V. (Eds) Calculation of NMR and
EPR Parameters. Theory and Applications. Wiley-VCH, pp 541–564.
17. Neese, F. (2004) Application of EPR Parameter Calculations in Bioinorganic Chemistry. In: Kaupp, M.;
Bühl, M.; Malkin, V. (Eds) Calculation of NMR and EPR Parameters. Theory and Applications. Wiley-
VCH, pp 581–591.
18. Neese, F. (2003) Quantum Chemical Calculations of Spectroscopic Properties of Metalloproteins and Model
Compounds: EPR and Mössbauer Properties. Curr. Op. Chem. Biol., 7, 125–135.
19. Neese, F.; Solomon, E.I. (2003) Calculation and Interpretation of Spin-Hamiltonian Parameters in Transition
Metal Complexes. Invited review, (Wiley series: Magnetoscience – From Molecules to Materials edited by
J.S. Miller and M. Drillon), Volume IV, p 345–466.
BIBLIOGRAPHY
1257
ORCA Manual, Release 6.0
[1] National institute of standards and technology (NIST) atomic spectra database.
[2] https://sites.google.com/site/orcainputlibrary/.
[3] V. Ásgeirsson. Development and Evaluation of Computational Methods for Studies of Chemical Reactions.
University of Iceland, 2021.
[4] V. Ásgeirsson, Birgirsson B.O., R. Bjornsson, U. Becker, C. Riplinger, F. Neese, and H. Jónssson. Nudged
elastic band method for molecular reactions using energy-weighted springs combined with eigenvector
following. J. Chem. Theory Comput., 17:4929, 2021. URL: https://pubs.acs.org/doi/abs/10.1021/acs.jctc.
1c00462, doi:https://doi.org/10.1021/acs.jctc.1c00462.
[5] Vilhjálmur Ásgeirsson, Andri Arnaldsson, and Hannes Jónsson. Efficient evaluation of atom tunneling com-
bined with electronic structure calculations. J. Chem. Phys., 148(10):102334, 2018. URL: https://doi.org/
10.1063/1.5007180, doi:10.1063/1.5007180.
[6] J. Ŕezáč, K. E. Riley, and P. Hobza. J. Chem. Theory Comput., 7:2427, 2011.
[7] C. Adamo and V. Barone. Exchange functionals with improved long-range behavior and adi-
abatic connection methods without adjustable parameters: the mpw and mpw1pw models. J.
Chem. Phys., 108:664, 1998. URL: https://pubs.aip.org/aip/jcp/article-abstract/108/2/664/182704/,
doi:https://doi.org/10.1063/1.475428.
[8] C. Adamo and V. Barone. Toward reliable density functional methods without adjustable parameters: the
pbe0 model. J. Chem. Phys., 110:6158, 1999. URL: https://pubs.aip.org/aip/jcp/article-abstract/110/13/
6158/476177/, doi:https://doi.org/10.1063/1.478522.
[9] C. Adamo, A. di Matteo, and V. Barone. From classical density functionals to adiabatic connection methods.
the state of the art. Adv. Quant. Chem., 36:45, 2000. URL: https://www.sciencedirect.com/science/article/
abs/pii/S0065327608604785, doi:https://doi.org/10.1016/S0065-3276(08)60478-5.
[10] R Ahlrichs, H Lischka, V Staemmler, and W Kutzelnigg. Pno–ci (pair natural orbital configuration interac-
tion) and cepa–pno (coupled electron pair approximation with pair natural orbitals) calculations of molecular
systems. i. outline of the method for closed-shell states. The Journal of Chemical Physics, 62(4):1225–1234,
1975.
[11] R. Ahlrichs. Many body perturbation calculations and coupled electron pair models. Comp. Phys.
Comm., 17:31, 1979. URL: https://www.sciencedirect.com/science/article/abs/pii/0010465579900675,
doi:https://doi.org/10.1016/0010-4655(79)90067-5.
[12] R. Ahlrichs. In P. v. R. Schleyer, editor, Encyclopedia of Computational Chemistry, pages 3123. John
Wiley and Sons, 1998. URL: https://onlinelibrary.wiley.com/page/book/10.1002/0470845015/homepage/
editorscontributors.html, doi:https://doi.org/10.1002/0470845015.
[13] R. Ahlrichs, M. Bär, H. P. Baron, R. Bauernschmitt, S. Böcker, M. Ehrig, K. Eichkorn, S. Elliott, F. Furche,
F. Haase, M. Häser, H. Horn, C. Huber, U. Huniar, M. Kattanek, C. Kölmel, M. Kollwitz, K. May, C. Ochsen-
feld, H. Öhm, A. Schäfer, U. Schneider, O. Treutler, M. von Arnim, F. Weigend, P. Weis, and H. Weiss.
TurboMole - Program System for Ab Initio Electronic Structure Calculations, Version 5.2. Universität Karl-
sruhe, Karlsruhe, Germany, 2000. URL: https://www.turbomole.org/.
1259
ORCA Manual, Release 6.0
[14] R. Ahlrichs, M. Bär, M. Häser, H. Horn, and C. Kölmel. Electronic structure calculations on work-
station computers: the program system turbomole. Chem. Phys. Lett., 162:165, 1989. URL: https:
//www.sciencedirect.com/science/article/abs/pii/0009261489851188, doi:https://doi.org/10.1016/0009-
2614(89)85118-8.
[15] R. Ahlrichs and P. Scharf. In K. P. Lawley, editor, Advances in Chemical Physics: Ab Initio Methods in
Quantum Chemistry, Part I, Advances in Chemical Physics. Wiley, 1987.
[16] R. Ahlrichs, P. Scharf, and C. Ehrhardt. The coupled pair functional (cpf). a size consistent modification of
the ci(sd) based on an energy functional. J. Chem. Phys., 82:890, 1985. URL: https://pubs.aip.org/aip/jcp/
article-abstract/82/2/890/153875, doi:https://doi.org/10.1063/1.448517.
[17] R. Ahlrichs and coworkers. Unpublished.
[18] D. R. Alcoba, L. Lain, A. Torre, and R. C. Bochicchio. Local spin: a treatment beyond single determinant
wave functions. Chem. Phys. Lett., 470:136, 2009. URL: https://www.sciencedirect.com/science/article/
abs/pii/S000926140900044X, doi:https://doi.org/10.1016/j.cplett.2009.01.034.
[19] J. Almlöf. Direct Methods in Electronic Structure Theory. In D. R. Yarkony, editor, Modern Electronic
Structure Theory, pages 110. World Scientific, 1995. URL: https://www.worldscientific.com/worldscibooks/
10.1142/1957#t=aboutBook, doi:https://doi.org/10.1142/1957.
[20] J. Almlöf and P. R. Taylor. Computational Aspects of Direct SCF and MCSCF Methods. In C. E. Dyk-
stra, editor, Advanced Theories and Computational Approaches to the Electronic Structure of Molecules,
pages 107. Springer, 1984. URL: https://link.springer.com/content/pdf/10.1007/978-94-009-6451-8.pdf#
page=115, doi:https://doi.org/10.1007/97S-94-009-6451-S.
[21] K. Almlöf, J. Faegri and K. Korsell. Principles for a direct scf approach to licao\textendashmoab -initio
calculations. J. Comput. Chem., 3:385, 1982. URL: https://onlinelibrary.wiley.com/doi/abs/10.1002/jcc.
540030314, doi:https://doi.org/10.1002/jcc.540030314.
[22] A. Altun, F. Neese, and G. Bistoni. Local energy decomposition analysis of hydrogen-bonded dimers within
a domain-based pair natural orbital coupled cluster study. Beilstein J. Org. Chem., 14:919–929, 2018. URL:
\T1\textless{}GotoISI\T1\textgreater{}://WOS:000430878300002, doi:10.3762/bjoc.14.79.
[23] A. Altun, F. Neese, and G. Bistoni. Extrapolation to the limit of a complete pair
natural orbital space in local coupled-cluster calculations. J. Chem. Theory Comput.,
16(10):6142–6149, 2020. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000580954000015,
doi:https://doi.org/10.1021/acs.jctc.0c00344.
[24] A. Altun, F. Neese, and G. Bistoni. Open-shell variant of the london dispersion-corrected hartree-fock
method hfld for the quantification and analysis of noncovalent interaction energies. J. Chem. Theory Com-
put., 18(4):2292–2307, 2022. doi:10.1021/acs.jctc.1c01295.
[25] Ahmet Altun, Miquel Garcia-Ratés, Frank Neese, and Giovanni Bistoni. Unveiling the complex pat-
tern of intermolecular interactions responsible for the stability of the dna duplex. Chemical Sci-
ence, 12(38):12785–12793, 2021. URL: https://pubs.rsc.org/en/content/articlehtml/2021/sc/d1sc03868k,
doi:https://doi.org/10.1039/D1SC03868K.
[26] Ahmet Altun, Soumen Ghosh, Christoph Riplinger, Frank Neese, and Giovanni Bistoni. Addressing the
system-size dependence of the local approximation error in coupled-cluster calculations. The Journal
of Physical Chemistry A, 125(45):9932–9939, 2021. URL: https://pubs.acs.org/doi/full/10.1021/acs.jpca.
1c09106, doi:https://doi.org/10.1021/acs.jpca.1c09106.
[27] Ahmet Altun, Róbert Izsák, and Giovanni Bistoni. Local energy decomposition of coupled-cluster inter-
action energies: Interpretation, benchmarks, and comparison with symmetry-adapted perturbation theory.
Int. J. Quantum Chem., 121(3):e26339, 2021. URL: https://onlinelibrary.wiley.com/doi/abs/10.1002/qua.
26339, arXiv:https://onlinelibrary.wiley.com/doi/pdf/10.1002/qua.26339, doi:10.1002/qua.26339.
[28] Ahmet Altun, Frank Neese, and Giovanni Bistoni. Local energy decomposition analysis of
hydrogen-bonded dimers within a domain-based pair natural orbital coupled cluster study. Beil-
stein J. Org. Chem., 14:919, 2018. URL: https://pubs.acs.org/doi/full/10.1021/acs.jctc.8b01145,
doi:https://doi.org/10.1021/acs.jctc.8b01145.
[29] Ahmet Altun, Frank Neese, and Giovanni Bistoni. Effect of electron correlation on intermolecu-
lar interactions: A pair natural orbitals coupled cluster based local energy decomposition study.
1260 Bibliography
ORCA Manual, Release 6.0
Bibliography 1261
ORCA Manual, Release 6.0
[44] C. Angeli, R. Cimiraglia, S. Evangelisti, T. Leininger, and J.P. Malrieu. Introduction of n-electron valence
states for multireference perturbation theory. J. Chem. Phys., 114:10252–10264, 2001. URL: https://pubs.
aip.org/aip/jcp/article-abstract/114/23/10252/183833/, doi:https://doi.org/10.1063/1.1361246.
[45] C. Angeli, R. Cimiraglia, and J.P. Malrieu. N-electron valence state perturbation theory: a fast im-
plementation of the strongly contracted variant. Chem. Phys. Lett., 350:297–305, 2001. URL: https:
//www.sciencedirect.com/science/article/abs/pii/S0009261401013033, doi:https://doi.org/10.1016/S0009-
2614(01)01303-3.
[46] C. Angeli, R. Cimiraglia, and J.P. Malrieu. N-electron valence state perturbation theory: a spinless for-
mulation and an efficient implementation of the strongly contracted and of the partially contracted vari-
ants. J. Chem. Phys., 117:9138–9153, 2002. URL: https://pubs.aip.org/aip/jcp/article-abstract/117/20/
9138/464690/, doi:https://doi.org/10.1063/1.1515317.
[47] Celestino Angeli. On the nature of the π \textrightarrow π* ionic excited states: The V state of ethene as a
prototype. J. Comput. Chem., 30:1319–1333, 2009. URL: https://onlinelibrary.wiley.com/doi/abs/10.1002/
jcc.21155, doi:https://doi.org/10.1002/jcc.21155.
[48] Celestino Angeli, Stefano Borini, Mirko Cestari, and Renzo Cimiraglia. A quasidegenerate for-
mulation of the second order n-electron valence state perturbation theory approach. J. Chem.
Phys., 121:4043–4049, 08 2004. URL: https://pubs.aip.org/aip/jcp/article-abstract/121/9/4043/186965/,
doi:https://doi.org/10.1063/1.1778711.
[49] Victor Anisimov and James JP Stewart. Introduction to the Fast Multipole Method: Topics in Computational
Biophysics, Theory, and Implementation. CRC Press, 2019.
[50] Francesco Aquilante, Per-Å ke Malmqvist, Thomas Bondo Pedersen, Abhik Ghosh, and Björn Olof Roos.
Cholesky Decomposition-Based Multiconfiguration Second-Order Perturbation Theory (CD-CASPT2):
Application to the Spin-State Energetics of CoIII(diiminato)(NPh). J. Chem. Theory Comput., 4:694–702,
05 2008. URL: https://pubs.acs.org/doi/abs/10.1021/ct700263h, doi:https://doi.org/10.1021/ct700263h.
[51] Juan Arago, Enrique Orti, and Juan C. Sancho-Garcia. Nonlocal van der Waals Approach Merged with
Double-Hybrid Density Functionals: Toward the Accurate Treatment of Noncovalent Interactions. J. Chem.
Theory Comput., 9(8):3437–3443, 08 2013. URL: https://doi.org/10.1021/ct4003527 (visited on 2020-09-
15), doi:10.1021/ct4003527.
[52] D. Aravena, F. Neese, and Dimitrios A. Pantazis. Improved segmented all-electron relativistically contracted
basis sets for the lanthanides. J. Chem. Theory Comput., 12:1148–1156, 2016. URL: https://pubs.acs.org/
doi/abs/10.1021/acs.jctc.5b01048, doi:https://doi.org/10.1021/acs.jctc.5b01048.
[53] Daniel Aravena, Mihail Atanasov, and Frank Neese. Periodic Trends in Lanthanide Compounds through the
Eyes of Multireference ab Initio Theory. Inorg. Chem., 55(9):4457–4469, 05 2016. URL: https://pubs.acs.
org/doi/abs/10.1021/acs.inorgchem.6b00244, doi:10.1021/acs.inorgchem.6b00244.
[54] Behnam Assadollahzadeh and Peter Schwerdtfeger. A systematic search for minimum structures of
small gold clusters Aun (n=2–20) and their electronic properties. The Journal of Chemical Physics,
131(6):064306, August 2009. Publisher: American Institute of Physics. URL: https://aip.scitation.org/doi/
full/10.1063/1.3204488 (visited on 2022-04-22), doi:https://doi.org/10.1063/1.3204488.
[55] X. Assfeld and J.-L. Rivail. Quantum chemical computations on parts of large molecules: the ab initio local
self consistent field method. Chem. Phys. Lett., 263:100–106, 12 1996. doi:10.1016/S0009-2614(96)01165-
7.
[56] Mihail Atanasov, Dmitry Ganyushin, Dimitrios A. Pantazis, Kantharuban Sivalingam, and Frank Neese.
Detailed Ab Initio First-Principles Study of the Magnetic Anisotropy in a Family of Trigonal Pyramidal
Iron(II) Pyrrolide Complexes. Inorg. Chem., 50(16):7460–7477, 08 2011. URL: https://pubs.acs.org/doi/
abs/10.1021/ic200196k, doi:10.1021/ic200196k.
[57] Mihail Atanasov, Dmitry Ganyushin, Kantharuban Sivalingam, and Frank Neese. A Modern First-
Principles View on Ligand Field Theory Through the Eyes of Correlated Multireference Wavefunc-
tions. In David Michael P. Mingos, Peter Day, and Jens Peder Dahl, editors, Molecular Elec-
tronic Structures of Transition Metal Complexes II, number 143 in Structure and Bonding, pages
149–220. Springer Berlin Heidelberg, 2011. URL: https://link.springer.com/chapter/10.1007/430_2011_
57, doi:https://doi.org/10.1007/430_2011_57.
1262 Bibliography
ORCA Manual, Release 6.0
[58] J. E. Atkins, E. G. Boman, and B. Hendrickson. A spectral algorithm for seriation and the consecutive
ones problem. SIAM J. Computing., 28(1):297–310, 1998. URL: https://epubs.siam.org/doi/abs/10.1137/
S0097539795285771, doi:https://doi.org/10.1137/S0097539795285771.
[59] A. A. Auer and Stanton J. F. Gauss, J. Quantitative prediction of gas-phase $^13$c nuclear magnetic shield-
ing constants. J. Chem. Phys., 118:10407, 2003. URL: https://pubs.aip.org/aip/jcp/article-abstract/118/23/
10407/844083/, doi:https://doi.org/10.1063/1.1574314.
[60] A. A. Auer, V. A. Tran, B. Sharma, G. L. Stoychev, D. Marx, and F. Neese. A case study of density
functional theory and domain-based local pair natural orbital coupled cluster for vibrational effects on
epr hyperfine coupling constants: vibrational perturbation theory versus ab-initio molecular dynamics.
Mol. Phys., 118:16, 2020. URL: https://www.tandfonline.com/doi/full/10.1080/00268976.2020.1797916,
doi:https://doi.org/10.1080/00268976.2020.1797916.
[61] M. C. Böhm and R. Gleiter. A cndo/indo molecular orbital formalism for the elements h to br. the-
ory. Theor. Chim. Acta, 59:127 & 153, 1981. URL: https://link.springer.com/article/10.1007/BF00552536,
doi:https://doi.org/10.1007/BF00552536.
[62] M. Bühl, C. Reimann, D. A. Pantazis, T. Bredow, and F. Neese. Geometries of third-row transition-metal
complexes from density-functional theory. J. Chem. Theory Comput., 4:1449–1459, 2008. URL: https://
pubs.acs.org/doi/abs/10.1021/ct800172j, doi:https://doi.org/10.1021/ct800172j.
[63] A. D. Bacon and M. C. Zerner. An intermediate neglect of differential overlap theory for transition metal
complexes: fe, co and cu chlorides. Theor. Chim. Acta, 53:21, 1979. URL: https://link.springer.com/article/
10.1007/BF00547605, doi:https://doi.org/10.1007/BF00547605.
[64] George B. Bacskay. A quadratically convergent Hartree–Fock (QC-SCF) method. Application to closed shell
systems. Chem. Phys., 61(3):385–404, 1981. URL: https://www.sciencedirect.com/science/article/abs/pii/
0301010481851567, doi:https://doi.org/10.1016/0301-0104(81)85156-7.
[65] E. J. Baerends, D. E. Ellis, and P. Ros. Self-consistent molecular hartree—fock—slater calculations i. the
computational procedure. Chem. Phys., 2:41, 1973. URL: https://www.sciencedirect.com/science/article/
abs/pii/030101047380059X, doi:https://doi.org/10.1016/0301-0104(73)80059-X.
[66] Alberto Baiardi, Julien Bloino, and Vincenzo Barone. A general time-dependent route to
Resonance-Raman spectroscopy including Franck-Condon, Herzberg-Teller and Duschinsky effects.
J. Chem. Phys., 141(11):114108, 09 2014. URL: http://aip.scitation.org/doi/10.1063/1.4895534,
doi:https://doi.org/10.1063/1.4895534.
[67] J. Baker. An algorithm for the location of transition states. J. Comput. Chem., 7:385, 1986. URL: https:
//onlinelibrary.wiley.com/doi/abs/10.1002/jcc.540070402, doi:https://doi.org/10.1002/jcc.540070402.
[68] Jon Baker. Constrained optimization in delocalized internal coordinates. J. Comput. Chem.,
18(8):1079–1095, 06 1997. URL: http://onlinelibrary.wiley.com/doi/10.1002/(SICI)1096-987X(199706)
18:8\T1\textless{}1079::AID-JCC12\T1\textgreater{}3.0.CO;2-8/abstract, doi:10.1002/(SICI)1096-
987X(199706)18:8<1079::AID-JCC12>3.0.CO;2-8.
[69] C. Bannwarth and S. Grimme. A simplified time-dependent density functional theory approach for elec-
tronic ultraviolet and circular dichroism spectra of very large molecules. Comp. Theor. Chem., 1040
–1041:45–53, 2014. URL: https://www.sciencedirect.com/science/article/abs/pii/S2210271X14000942,
doi:https://doi.org/10.1016/j.comptc.2014.02.023.
[70] Christoph Bannwarth, Sebastian Ehlert, and Stefan Grimme. GFN2-xTB—An accurate and broadly
parametrized self-consistent tight-binding quantum chemical method with multipole electrostatics
and density-dependent dispersion contributions. J. Chem. Theory Comput., 15(3):1652–1671, 2019.
doi:10.1021/acs.jctc.8b01176.
[71] Giuseppe M. J. Barca, Andrew T. B. Gilbert, and Peter M. W. Gill. Simple Models for Difficult Electronic Ex-
citations. Journal of Chemical Theory and Computation, 14(3):1501–1509, March 2018. Publisher: Amer-
ican Chemical Society. doi:10.1021/acs.jctc.7b00994.
[72] G. Barcza, Ö. Legeza, K. H. Marti, and M. Reiher. Quantum-information analysis of electronic states
of different molecular structures. Phys. Rev. A, 83:012508, 2011. URL: https://link.aps.org/doi/10.1103/
PhysRevA.83.012508, doi:https://doi.org/10.1103/PhysRevA.83.012508.
Bibliography 1263
ORCA Manual, Release 6.0
[73] Alessandro Barducci, Giovanni Bussi, and Michele Parrinello. Well-tempered metadynamics: A smoothly
converging and tunable free-energy method. Phys. Rev. Lett., 100(2):020603, 2008. URL: https://link.aps.
org/doi/10.1103/PhysRevLett.100.020603, doi:10.1103/PhysRevLett.100.020603.
[74] Loïc Barnes, Baptiste Schindler, Isabelle Compagnon, and Abdul-Rahman Allouche. Fast and accu-
rate hybrid QM//MM approach for computing anharmonic corrections to vibrational frequencies. J. Mol.
Model., 22(11):285, 11 2016. URL: https://doi.org/10.1007/s00894-016-3135-5 (visited on 2020-04-14),
doi:10.1007/s00894-016-3135-5.
[75] V. Barone. In D. P. Chong, editor, Recent Advances in Density Functional Methods, Part I. World Scientific,
1996. URL: https://books.google.com/books?hl=en&lr=&id=Uu7sCgAAQBAJ&oi=fnd&pg=PR5&dq=
Recent+Advances+in+Density+Functional+Methods,+Part+%7B%7BI%7D%7D&ots=Lo2ioOfVLp&
sig=XRnsD7SEqIHDUQYPrb7GH2jizE4.
[76] V. Barone and M. Cossi. Quantum calculation of molecular energies and energy gradients in solution by a
conductor solvent model. J. Phys. Chem. A, 102:1995–2001, 1998. URL: https://pubs.acs.org/doi/abs/10.
1021/jp9716997, doi:https://doi.org/10.1021/jp9716997.
[77] Vincenzo Barone, Malgorzata Biczysko, and Julien Bloino. Fully anharmonic IR and Raman spectra of
medium-size molecular systems: accuracy and interpretation. Phys. Chem. Chem. Phys., 16(5):1759–1787,
2014. URL: http://dx.doi.org/10.1039/C3CP53413H, doi:10.1039/C3CP53413H.
[78] Albert P Bartók and Jonathan R Yates. Regularized SCAN functional. J. Chem. Phys., 150(16):161101,
2019. URL: https://aip.scitation.org/doi/abs/10.1063/1.5094646, doi:https://doi.org/10.1063/1.5094646.
[79] Jefferson E. Bates and Filipp Furche. Harnessing the meta-generalized gradient approximation for time-
dependent density functional theory. J. Chem. Phys., 137(16):164105, 10 2012. URL: http://aip.scitation.
org/doi/10.1063/1.4759080, arXiv:23126693, doi:https:/doi.org/10.1063/1.4759080.
[80] R. Bauernschmitt and R. Ahlrichs. Stability analysis for solutions of the closed shell kohn\textendashsham
equation. J. Chem. Phys., 104:9047, 1996. URL: https://pubs.aip.org/aip/jcp/article-abstract/104/22/9047/
180688/, doi:https://doi.org/10.1063/1.471637.
[81] C. W. Jr. Bauschlicher, S. R. Langhoff, and L. A. Barnes. Theoretical studies of the first and second –row
transition –metal methyls and their positive ions. J. Chem. Phys., 91:2399, 1989. URL: https://pubs.aip.org/
aip/jcp/article-abstract/91/4/2399/223082/, doi:https://doi.org/10.1063/1.456998.
[82] Krzysztof B. Bec and Christian W. Huck. Breakthrough Potential in Near-Infrared Spec-
troscopy: Spectra Simulation. A Review of Recent Developments. Front. Chem., 7:48, 02 2019.
URL: https://www.frontiersin.org/article/10.3389/fchem.2019.00048/full (visited on 2020-04-14),
doi:https://doi.org/10.3389/fchem.2019.00048.
[83] M. E. Beck, C. Riplinger, F. Neese, and G. Bistoni. Unraveling individual host-guest interactions in molec-
ular recognition from first principles quantum mechanics: Insights into the nature of nicotinic acetyl-
choline receptor agonist binding. J. Comput. Chem., 42(5):293–302, 2021. URL: \T1\textless{}GotoISI\
T1\textgreater{}://WOS:000591776900001, doi:https://doi.org/10.1002/jcc.26454.
[84] Michael Edmund Beck, Christoph Riplinger, Frank Neese, and Giovanni Bistoni. Unraveling
individual host–guest interactions in molecular recognition from first principles quantum me-
chanics: Insights into the nature of nicotinic acetylcholine receptor agonist binding. J. Com-
put. Chem., 42(5):293–302, 2021. URL: https://onlinelibrary.wiley.com/doi/abs/10.1002/jcc.26454,
arXiv:https://onlinelibrary.wiley.com/doi/pdf/10.1002/jcc.26454, doi:10.1002/jcc.26454.
[85] A. D. Becke. A multicenter numerical integration scheme for polyatomic molecules. J. Chem.
Phys., 88:2547, 1988. URL: https://pubs.aip.org/aip/jcp/article-abstract/88/4/2547/91134/,
doi:https://doi.org/10.1063/1.454033.
[86] A. D. Becke. Density-functional exchange-energy approximation with correct asymptotic behavior.
Phys. Rev. A, 38:3098, 1988. URL: https://journals.aps.org/pra/abstract/10.1103/PhysRevA.38.3098,
doi:https://doi.org/10.1103/PhysRevA.38.3098.
[87] A. D. Becke. A new mixing of hartree-fock and local density-functional theories. J. Chem.
Phys., 98:1372, 1993. URL: https://pubs.aip.org/aip/jcp/article-abstract/98/2/1372/821432/,
doi:https://doi.org/10.1063/1.464304.
1264 Bibliography
ORCA Manual, Release 6.0
[88] A. D. Becke. Density-functional thermochemistry. iii. the role of exact exchange. J. Chem.
Phys., 98:5648, 1993. URL: https://ui.adsabs.harvard.edu/abs/1993JChPh..98.5648B/abstract,
doi:https://doi.org/10.1063/1.464913.
[89] A. D. Becke. Density-functional thermochemistry. v. systematic optimization of exchange-correlation func-
tionals. J. Chem. Phys., 107:8554, 1997. URL: https://pubs.aip.org/aip/jcp/article-abstract/107/20/8554/
478232/, doi:https://doi.org/10.1063/1.475007.
[90] A. D. Becke and E. R. Johnson. A density-functional model of the dispersion interaction. J. Chem.
Phys., 123:154101, 2005. URL: https://pubs.aip.org/aip/jcp/article-abstract/123/15/154101/347819/,
doi:https://doi.org/10.1063/1.2065267.
[91] A. Bencini and D. Gatteschi. X.alpha.-sw calculations of the electronic structure and magnetic properties of
weakly coupled transition-metal clusters. the [cu2cl6]2- dimers. J. Am. Chem. Soc., 108:5763, 1980. URL:
https://pubs.acs.org/doi/pdf/10.1021/ja00279a017, doi:https://doi.org/10.1021/ja00279a017.
[92] H. J. C. Berendsen, J. P. M. Postma, W. F. van Gunsteren, A. DiNola, and J. R. Haak. Molecular dynamics
with coupling to an external bath. J. Chem. Phys., 81(8):3684–3690, 1984. URL: https://pubs.aip.org/aip/
jcp/article-abstract/81/8/3684/565473/, doi:https://doi.org/10.1063/1.448118.
[93] G. Berghold, J. Hutter, and M. Parinello. Grid-free dft implementation of local and gradient-
corrected xc functionals. Theor. Chem. Acc., 99:344, 1998. URL: https://link.springer.com/article/10.1007/
s002140050344, doi:https://doi.org/10.1007/s002140050344.
[94] A. Bergner, M. Dolg, W. Küchle, H. Stoll, and H. Preuss. Ab initio energy-adjusted pseudopotentials for
elements of groups 13–17. Mol. Phys., 80:1431–1441, 1993. URL: https://www.tandfonline.com/doi/abs/
10.1080/00268979300103121, doi:https://doi.org/10.1080/00268979300103121.
[95] S. Bernadotte, A. J. Atkins, and C. R. Jacob. J. Chem. Phys., 137:204106, 2012.
[96] D. E. Bernholdt and R. J. Harrison. Large-scale correlated electronic structure calculations: the ri-mp2
method on parallel computers. Chem. Phys. Lett., 250:477, 1996. URL: https://www.sciencedirect.com/
science/article/abs/pii/0009261496000541, doi:https://doi.org/10.1016/0009-2614(96)00054-1.
[97] A. Berning, M. Schweizer, H.J. Werner, P. J. Knowles, and P. Palmieri. Spin-orbit matrix ele-
ments for internally contracted multireference configuration interaction wavefunctions. Mol. Phys.,
98:1823–1833, 2000. URL: https://www.tandfonline.com/doi/abs/10.1080/00268970009483386,
doi:https://doi.org/10.1080/00268970009483386.
[98] R. Berraud-Pache, F. Neese, G. Bistoni, and R. Izsak. Computational design of near-infrared
fluorescent organic dyes using an accurate new wave function approach. J. Phys. Chem. Lett.,
10(17):4822–4828, 2019. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000484884300010,
doi:https://doi.org/10.1021/acs.jpclett.9b02240.
[99] R. Berraud-Pache, E. Santamaria-Aranda, B. de Souza, G. Bistoni, F. Neese, D. Sampedro, and R. Izsak.
Redesigning donor-acceptor Stenhouse adduct photoswitches through a joint experimental and computa-
tional study. Chem. Sci., 12(8):2916–2924, 2021. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:
000625958900018, doi:https://doi.org/10.1039/d0sc06575g.
[100] Romain Berraud-Pache, Frank Neese, Giovanni Bistoni, and Róbert Izsák. Unveiling the photophys-
ical properties of boron-dipyrromethene dyes using a new accurate excited state coupled cluster
method. J. Chem. Theory Comput., 16(1):564–575, 2020. URL: https://doi.org/10.1021/acs.jctc.9b00559,
doi:https://doi.org/10.1021/acs.jctc.9b00559.
[101] K. Bhaskaran-Nair, O. Demel, J. Šmydke, and J. Pittner. J. Chem. Phys., 134:154106, 2011.
[102] J. S. Binkley, J. A. Pople, and P. A. Dobosh. The calculation of spin-restricted single-determinant
wavefunctions. Mol. Phys., 28:1423, 1974. URL: https://www.tandfonline.com/doi/abs/10.1080/
00268977400102701, doi:https://doi.org/10.1080/00268977400102701.
[103] J. S. Binkley, J. A. Pople, and W. J. Hehre. Self-consistent molecular orbital methods. 21. small split-valence
basis sets for first-row elements. J. Am. Chem. Soc., 102:939, 1980. URL: https://pubs.acs.org/doi/pdf/10.
1021/ja00523a008, doi:https://doi.org/10.1021/ja00523a008.
[104] G. Bistoni, I. Polyak, M. Sparta, W. Thiel, and F. Neese. Toward accurate QM/MM reaction barriers with
large QM regions using domain based pair natural orbital coupled cluster theory. J. Chem. Theory Com-
Bibliography 1265
ORCA Manual, Release 6.0
1266 Bibliography
ORCA Manual, Release 6.0
[121] J. G. Brandenburg, C. Bannwarth, A. Hansen, and S. Grimme. B97-3c: A revised low-cost variant of the
B97-D density functional method. J. Chem. Phys., 148(6):064104, 2018.
[122] Jan Gerit Brandenburg, Christoph Bannwarth, Andreas Hansen, and Stefan Grimme. B97-3c: A re-
vised low-cost variant of the B97-D density functional method. J. Chem. Phys., 148(6):064104, 2018.
doi:10.1063/1.5012601.
[123] B.H." Brandow. Effective Interactions and Operators in Nuclei. Volume 40. Springer, 1974.
[124] C. M. Breneman and K. B. Wiberg. Determining atom-centered monopoles from molecular electro-
static potentials. the need for high sampling density in formamide conformational analysis. J. Com-
put. Chem., 11:361–373, 1990. URL: https://onlinelibrary.wiley.com/doi/abs/10.1002/jcc.540110311,
doi:https://doi.org/10.1002/jcc.540110311.
[125] F. W. Brobowicz and W. A. Goddard. In H. F. Schaefer III, editor, Methods of Electronic Structure Theory,
pages 79. Plenum Press, 1977.
[126] P. Bunting, M. Atanasov, E. Damgaard-Moller, M. Perfetti, I. Crassee, M. Orlita, J. Oyergaard, J. van
Slageren, F. Neese, and J. Long. Linear cobalt(II) dialkyl complex with a non-Aufbau ground state and very
large magnetic anisotropy. Abstr. Pap. Am. Chem. Soc., 2019. URL: \T1\textless{}GotoISI\T1\textgreater{}:
//WOS:000525061501422.
[127] P. C. Bunting, M. Atanasov, E. Damgaard-Moller, M. Perfetti, I. Crassee, M. Orlita, J. Overgaard, J. van
Slageren, F. Neese, and J. R. Long. A linear cobalt(II) complex with maximal orbital angular momen-
tum from a non-Aufbau ground state. Science, 362(6421):1378–+, 2018. URL: \T1\textless{}GotoISI\T1\
textgreater{}://WOS:000453845000052, doi:10.1126/science.aat7319.
[128] Markus Bursch, Hagen Neugebauer, Sebastian Ehlert, and Stefan Grimme. Dispersion corrected
r2 SCAN based global hybrid functionals: r2 SCANh, r2 SCAN0, and r2 SCAN50. J. Chem. Phys.,
156(13):134105, 2022. URL: https://pubs.aip.org/aip/jcp/article-abstract/156/13/134105/2840951/,
doi:https://doi.org/10.1063/5.0086040.
[129] Giovanni Bussi, Davide Donadio, and Michele Parrinello. Canonical sampling through velocity rescaling.
J. Chem. Phys., 126(1):014101, 2007. URL: https://doi.org/10.1063/1.2408420, doi:10.1063/1.2408420.
[130] Octav Caldararu, Martin A Olsson, Christoph Riplinger, Frank Neese, and Ulf Ryde. Binding free en-
ergies in the sampl5 octa-acid host–guest challenge calculated with dft-d3 and ccsd (t). J. Comput.-
Aided Mol. Des., 31(1):87–106, 2017. URL: https://link.springer.com/article/10.1007/s10822-016-9957-5,
doi:https://doi.org/10.1007/s10822-016-9957-5.
[131] Eike Caldeweyher, Christoph Bannwarth, and Stefan Grimme. Extension of the D3 dispersion coeffi-
cient model. J. Chem. Phys., 147(3):034112, 2017. URL: https://pubs.aip.org/aip/jcp/article-abstract/147/
3/034112/595235/, doi:https://doi.org/10.1063/1.4993215.
[132] Eike Caldeweyher, Sebastian Ehlert, Andreas Hansen, Hagen Neugebauer, Sebastian Spicher, Christoph
Bannwarth, and Stefan Grimme. A generally applicable atomic-charge dependent London disper-
sion correction. J. Chem. Phys., 150(15):154122, 2019. URL: https://doi.org/10.1063/1.5090222,
arXiv:https://doi.org/10.1063/1.5090222, doi:https://doi.org/10.1063/1.5090222.
[133] R. Cammi. Quantum cluster theory for the polarizable continuum model. i. the ccsd level with analyt-
ical first and second derivatives. J. Chem. Phys, 131:164104, 2009. URL: https://pubs.aip.org/aip/jcp/
article-abstract/131/16/164104/71420/, doi:https://doi.org/10.1063/1.3245400.
[134] Roberto Cammi, Benedetta Mennucci, and Jacopo Tomasi. Fast Evaluation of Geometries and Properties of
Excited Molecules in Solution: A Tamm-Dancoff Model with Application to 4-Dimethylaminobenzonitrile.
J. of Phys. Chem. A, 104(23):5631–5637, 06 2000. URL: https://doi.org/10.1021/jp000156l (visited on
2020-05-12), doi:10.1021/jp000156l.
[135] Marco Campetella and Juan Sanz García. Following the evolution of excited states along photochemical reac-
tion pathways. Journal of Computational Chemistry, 41(12):1156–1164, 2020. URL: https://onlinelibrary.
wiley.com/doi/abs/10.1002/jcc.26162, doi:10.1002/jcc.26162.
[136] E. Cancès, Y. Maday, and B. Stamm. Domain decomposition for implicit solvation models. J. Chem. Phys,
139:054111, 2013. doi:https://doi.org/10.1063/1.4816767.
Bibliography 1267
ORCA Manual, Release 6.0
[137] X. Cao and M. Dolg. Valence basis sets for relativistic energy-consistent small-core lanthanide pseudopo-
tentials. J. Chem. Phys., 115:7348, 2001. URL: https://pubs.aip.org/aip/jcp/article-abstract/115/16/7348/
458396/, doi:https://doi.org/10.1063/1.1406535.
[138] X. Cao and M. Dolg. Segmented contraction scheme for small-core lanthanide pseudopotential basis sets.
J. Mol. Struct.: THEOCHEM, 581:139, 2002. doi:https://doi.org/10.1016/S0166-1280(01)00751-5.
[139] X. Cao and M. Dolg. Segmented contraction scheme for small-core actinide pseudopotential basis sets. J.
Mol. Struct.: THEOCHEM, 673:203, 2004. doi:https://doi.org/10.1016/j.theochem.2003.12.015.
[140] X. Cao, M. Dolg, and H. Stoll. Valence basis sets for relativistic energy-consistent small-core actinide pseu-
dopotentials. J. Chem. Phys., 118:487, 2003. doi:https://doi.org/10.1063/1.1521431.
[141] R. Carbo and J. M. Riera. A General SCF Theory. Lecture Notes in Chemistry. Springer Verlag, 1978.
[142] M. Caricato. Ccsd-pcm: improving upon the reference reaction field approximation at no cost. J. Chem.
Phys, 135:074113, 2011. doi:https://doi.org/10.1063/1.3624373.
[143] Kevin Carter-Fenk and John M. Herbert. State-Targeted Energy Projection: A Simple and Robust Approach
to Orbital Relaxation of Non-Aufbau Self-Consistent Field Solutions. Journal of Chemical Theory and Com-
putation, 16(8):5067–5082, 2020. Publisher: American Chemical Society. doi:10.1021/acs.jctc.0c00502.
[144] David Casanova and Anna I. Krylov. Spin-flip methods in quantum chemistry. Phys. Chem. Chem. Phys.,
22(8):4326–4342, 02 2020. URL: https://pubs.rsc.org/en/content/articlelanding/2020/cp/c9cp06507e (vis-
ited on 2020-10-20), doi:10.1039/C9CP06507E.
[145] M. Casanova-Páez and L. Goerigk. Assessing the tamm–dancoff approximation, singlet–singlet, and sin-
glet–triplet excitations with the latest long-range corrected double-hybrid density functionals. J. Chem.
Phys., 153:064106, 2020.
[146] Marcos Casanova-Páez, Michael B. Dardis, and Lars Goerigk. ωB2PLYP & ωB2GPPLYP: the
first two double-hybrid density functionals with long-range correction optimized for excitation en-
ergies. J. Chem. Theory Comput., 15:4735, 2019. URL: http://dx.doi.org/10.1021/acs.jctc.9b00013,
doi:10.1021/acs.jctc.9b00013.
[147] Marcos Casanova-Páez and Lars Goerigk. Time-dependent long-range-corrected double-hybrid den-
sity functionals with spin-component and spin-opposite scaling: A comprehensive analysis of singlet-
singlet and singlet-triplet excitation energies. J. Chem. Theory Comput., 17(8):5165–5186, 2021.
doi:10.1021/acs.jctc.1c00535.
[148] M. E. Casida. Time-dependent density functional response theory for molecules. In D. P. Chong, editor,
Recent Advances in Density Functional Methods, volume 1, pages 155–192. World Scientific, 1995.
[149] Javier Cerezo, José Zuniga, Alberto Requena, Francisco J. Avila Ferrer, and Fabrizio Santoro. Harmonic
Models in Cartesian and Internal Coordinates to Simulate the Absorption Spectra of Carotenoids at Fi-
nite Temperatures. J. Chem. Theory Comput., 9(11):4947–4958, 11 2013. URL: http://dx.doi.org/10.1021/
ct4005849, doi:10.1021/ct4005849.
[150] G. Chaban, M. W. Schmidt, and M. S. Gordon. Approximate second order method for or-
bital optimization of scf and mcscf wavefunctions. Theor. Chem. Acc., 97:88–95, 1997.
doi:https://doi.org/10.1007/s002140050241.
[151] J.-D. Chai and M. Head-Gordon. J. Chem. Phys., 128:084106, 2008.
[152] Jeng-Da Chai and Martin Head-Gordon. Long-range corrected double-hybrid density functionals. J. Chem.
Phys., 131(17):174105, 2009. URL: https://doi.org/10.1063/1.3244209, doi:10.1063/1.3244209.
[153] K. Chakarawet, M. Atanasov, J. Marbey, P. C. Bunting, F. Neese, S. Hill, and J. R. Long. Strong elec-
tronic and magnetic coupling in m-4 (m = ni, cu) clusters via direct orbital interactions between low-
coordinate metal centers. J. Am. Chem. Soc., 142(45):19161–19169, 2020. URL: \T1\textless{}GotoISI\
T1\textgreater{}://WOS:000588273900023, doi:10.1021/jacs.0c08460.
[154] Uttam Chakraborty, Serhiy Demeshko, Franc Meyer, Christophe Rebreyend, Bas de Bruin, Mihail Atanasov,
Frank Neese, Bernd Mühldorf, and Robert Wolf. Electronic Structure and Magnetic Anisotropy of
an Unsaturated Cyclopentadienyl Iron(I) Complex with 15 Valence Electrons. Angew. Chem. Int. Ed.,
56(27):7995–7999, 06 2017. doi:10.1002/anie.201702454.
1268 Bibliography
ORCA Manual, Release 6.0
Bibliography 1269
ORCA Manual, Release 6.0
[172] Vijay Gopal Chilkuri and Frank Neese. Comparison of Many-Particle Representations for Selected Config-
uration Interaction: II. Numerical Benchmark Calculations. J. Chem. Theory Comput., 17(5):2868–2885,
05 2021. doi:10.1021/acs.jctc.1c00081.
[173] D. P. Chong and S. R. Langhoff. A modified coupled pair functional approach. J. Chem. Phys.,
84:5606–5610, 1986. doi:https://doi.org/10.1063/1.449920.
[174] Ove Christiansen, Poul Jø rgensen, and Christof Hättig. Response functions from Fourier component vari-
ational perturbation theory applied to a time-averaged quasienergy. Int. J. Quantum Chem., 68:1–52, 1998.
doi:https://doi.org/10.1002/(SICI)1097-461X(1998)68:1%3C1::AID-QUA1%3E3.0.CO;2-Z.
[175] D. W. Clack. Indo mo calculations for first row transition metal complexes. Mol. Phys., 27:1513–1519, 1974.
doi:https://doi.org/10.1080/00268977400101281.
[176] D. W. Clack, N. S. Hush, and J. R. Yandle. All\textendashvalence electron cndo calculations on transition
metal complexes. J. Chem. Phys., 57:3503, 1972. URL: https://pubs.aip.org/aip/jcp/article-abstract/57/8/
3503/778222/, doi:https://doi.org/10.1063/1.1678785.
[177] D. W. Clack and W. Smith. Clack, d.w., smith, w. molecular orbital calculations on transition metal com-
plexes. Theor. Chim. Acta, 36:87–92, 1974. doi:https://doi.org/10.1007/BF00554339.
[178] Aurora E. Clark and Ernest R. Davidson. P-Benzyne Derivatives That Have Exceptionally Small Singlet-
Triplet Gaps and Even a Triplet Ground State. J. Org. Chem., 68(9):3387–3396, 05 2003. URL: https:
//doi.org/10.1021/jo026824b (visited on 2020-10-20), doi:10.1021/jo026824b.
[179] T. Clark, J. Chandrasekhar, Spltznagel W. G., and P. v. R. Schleyer. Efficient diffuse function-augmented
basis sets for anion calculations. iii. the 3-21+g basis set for first-row elements, li\textendashf . J. Comput.
Chem., 4:294, 1983. doi:https://doi.org/10.1002/jcc.540040303.
[180] P. Claverie, J. P. Daudey, J. Langlet, B. Pullman, D. Plazzola, and M. J. Huron. Studies of solvent ef-
fects. 1. discrete, continuum, and discrete –continuum models and their comparison for some simple cases:
ammonium(1+) ion, methanol, and substituted ammonium(1+) ion. J. Phys. Chem., 82:405–418, 1978.
doi:https://doi.org/10.1021/j100493a008.
[181] E. Clementi and D. Raimondi. IBM Res. Note, 1963.
[182] L. R. Collins, M. van Gastel, F. Neese, and A. Furstner. Enhanced electrophilicity of heterobimetallic bi-
rh paddlewheel carbene complexes: A combined experimental, spectroscopic, and computational study.
J. Am. Chem. Soc., 140(40):13042–13055, 2018. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:
000447354800056, doi:10.1021/jacs.8b08384.
[183] M. G. Cory and M. C. Zerner. Metal-ligand exchange coupling in transition-metal complexes. Chem. Rev.,
91:813, 1991. doi:https://doi.org/10.1021/cr00005a009.
[184] Hector H. Corzo, Ali Abou Taka, Aurora Pribram-Jones, and Hrant P. Hratchian. Using projection oper-
ators with maximum overlap methods to simplify challenging self-consistent field optimization. Journal
of Computational Chemistry, 43(6):382–390, 2022. URL: https://onlinelibrary.wiley.com/doi/abs/10.1002/
jcc.26797, doi:10.1002/jcc.26797.
[185] E. Coulaud, J.-P. Malrieu, N. Guihéry, and N. Ferré. Additive decomposition of the physical components
of the magnetic coupling from broken symmetry density functional theory calculations. J. Chem. Theory
Comput., 9(8):3429–3436, 2013. doi:10.1021/ct400305h.
[186] Jeanne Crassous. Circularly Polarized Luminescence in Helicene and Helicenoid Derivatives, pages
53–97. Springer Singapore, Singapore, 2020. URL: https://doi.org/10.1007/978-981-15-2309-0_4,
doi:10.1007/978-981-15-2309-0_4.
[187] D. Cremer. In P. v. R. Schleyer, editor, Encyclopedia of Computational Chemistry, pages 1706. John Wiley
and Sons, 1998.
[188] L. A. Curtiss, M. P. McGrath, J.-P. Blandeau, N. E. Davis, R. C. Binning Jr., and L. Radom. Extension of
gaussian –2 theory to molecules containing third –row atoms ga –kr. J. Chem. Phys., 103:6104–6113, 1995.
doi:https://doi.org/10.1063/1.470438.
[189] Larry A. Curtiss, Krishnan Raghavachari, and John A. Pople. Gaussian-2 theory using reduced møller-
plesset orders. J. Chem. Phys., 98(2):1293–1298, 1993. URL: https://ui.adsabs.harvard.edu/abs/1993JChPh.
.98.1293C/abstract, doi:10.1063/1.464297.
1270 Bibliography
ORCA Manual, Release 6.0
[190] C. Daniel, L. Gonzalez, and F. Neese. Quantum theory: The challenge of transition metal complexes.
Phys. Chem. Chem. Phys., 23(4):2533–2534, 2021. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:
000614634000001, doi:10.1039/d0cp90278k.
[191] D. Datta, S. Kossmann, and F. Neese. Analytic energy derivatives for the calculation of the first-order molec-
ular properties using the domain-based local pair-natural orbital coupled-cluster theory. J. Chem. Phys.,
175:114101, 2016. doi:https://doi.org/10.1063/1.4962369.
[192] D. Datta, M. Saitow, B. Sandhofer, and F. Neese. Fe-57 mossbauer parameters from domain based local pair-
natural orbital coupled-cluster theory. J. Chem. Phys., 2020. URL: \T1\textless{}GotoISI\T1\textgreater{}:
//WOS:000596027300001, doi:10.1063/5.0022215.
[193] Dipayan Datta, Liguo Kong, and Marcel Nooijen. A state-specific partially internally con-
tracted multireference coupled cluster approach. J. Chem. Phys., 134(21):214116, 2011.
doi:https://doi.org/10.1063/1.3592494.
[194] Dipayan Datta and Marcel Nooijen. Multireference equation-of-motion coupled cluster theory. J. Chem.
Phys., 137(20):204107, 2012. doi:https://doi.org/10.1063/1.4766361.
[195] G. David, F. Wennmohs, F. Neese, and N. Ferre. Chemical tuning of magnetic exchange couplings us-
ing broken-symmetry density functional theory. Inorg. Chem., 57(20):12769–12776, 2018. URL: \T1\
textless{}GotoISI\T1\textgreater{}://WOS:000447680400039, doi:10.1021/acs.inorgchem.8b01970.
[196] E. R. Davidson and A. E. Clark. Analysis of wave functions for open-shell molecules. Phys. Chem. Chem.
Phys., 9:1881–1894, 2007. doi:https://doi.org/10.1039/B616481C.
[197] Bernardo de Souza, Giliandro Farias, Frank Neese, and Robert Izsak. Efficient simulation of overtones
and combination bands in Resonant Raman spectra. J. Chem. Phys., 150(21):accepted – still waiting for
publication, 2019. URL: https://aip.scitation.org/doi/10.1063/1.5099247, doi:10.1063/1.5099247.
[198] Bernardo de Souza, Giliandro Farias, Frank Neese, and Robert Izsak. Predicting phosphorescence rates of
light organic molecules using time-dependent density functional theory and the path integral approach to
dynamics. J. Chem. Theory Comput., 15(3):1896–1904, 2019. URL: https://pubs.acs.org/doi/abs/10.1021/
acs.jctc.8b00841, doi:10.1021/acs.jctc.8b00841.
[199] Bernardo de Souza, Frank Neese, and Robert Izsak. On the theoretical prediction of fluorescence rates
from first principles using the path integral approach. J. Chem. Phys., 148(3):034104, 2018. URL: http:
//aip.scitation.org/doi/abs/10.1063/1.5010895 (visited on 2018-01-31), doi:10.1063/1.5010895.
[200] S. DeBeer-George, T. Petrenko, and F. Neese. J. Phys. Chem. A, 112:12936, 2008.
[201] S. DeBeer-George, T. Petrenko, and F. Neese. Inorg. Chim. Acta, 361:965, 2008.
[202] O. Demel and J. Pittner. J. Chem. Phys., 124:144112, 2006.
[203] Ondrej Demel, Dipayan Datta, and Marcel Nooijen. Additional global internal contraction in variations of
multireference equation of motion coupled cluster theory. J. Chem. Phys., 138(13):134108, 2013.
[204] J. des Cloizeaux. Extension d'une formule de lagrange \a des probl\emes de valeurs propres. Nucl. Phys.,
20:321–346, 1960. doi:https://doi.org/10.1016/0029-5582(60)90177-2.
[205] M. J. S. Dewar, J. A. Hashmall, and C. G. Venier. J. Am. Chem. Soc., 90:1953, 1968.
[206] M. J. S. Dewar and W. Thiel. Theor. Chim. Acta, 46:89, 1977.
[207] M. J. S. Dewar and W. Thiel. J. Am. Chem. Soc., 99:4899, 1977.
[208] M. J. S. Dewar, E. G. Zoebisch, E. F. Healy, and J. P. Stewart. J. Am. Chem. Soc., 107:3902, 1985.
[209] J. D. Dill and J. A. Pople. J. Chem. Phys., 62:2921, 1975.
[210] P. A. M. Dirac. Proc. Camb. Phil. Soc., 26:376, 1930.
[211] R. Ditchfield. J. Chem. Phys., 56:5688, 1972.
[212] A. Dittmer, G. L. Stoychev, D. Maganas, A. A. Auer, and F. Neese. Computation of nmr shielding constants
for solids using an embedded cluster approach with dft, double-hybrid dft, and mp2. J. Chem. Theory Com-
put., 16(11):6950–6967, 2020. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000592392800018,
doi:10.1021/acs.jctc.0c00067.
Bibliography 1271
ORCA Manual, Release 6.0
[213] Anneke Dittmer, Róbert Izsák, Frank Neese, and Dimitrios Maganas. Accurate band gap predictions
of semiconductors in the framework of the similarity transformed equation of motion coupled clus-
ter theory. Inorg. Chem., 58(14):9303–9315, 2019. URL: https://doi.org/10.1021/acs.inorgchem.9b00994,
doi:10.1021/acs.inorgchem.9b00994.
[214] K. D. Dobbs and W. J. Hehre. J. Comput. Chem., 7:359, 1986.
[215] K. D. Dobbs and W. J. Hehre. J. Comput. Chem., 8:861 & 880, 1987.
[216] John F Dobson. Alternative expressions for the Fermi hole curvature. J. Chem. Phys., 98(11):8870–8872,
06 1993. URL: https://doi.org/10.1063/1.464444, doi:10.1063/1.464444.
[217] M. Dolg, P. Fulde, W. Küchle, C.-S. Neumann, and H. Stoll. J. Chem. Phys., 94:3011–3017, 1991.
[218] M. Dolg, H. Stoll, H.-J. Flad, and H. Preuss. J. Chem. Phys., 97:1162–1173, 1992.
[219] M. Dolg, H. Stoll, and H. Preuss. J. Chem. Phys., 90:1730–1734, 1989.
[220] M. Dolg, H. Stoll, and H. Preuss. Theor. Chim. Acta, 85:441–450, 1993.
[221] M. Dolg, H. Stoll, H. Preuss, and R. M. Pitzer. J. Phys. Chem., 97:5852–5859, 1993.
[222] M. Dolg, H. Stoll, A. Savin, and H. Preuss. Theor. Chim. Acta, 75:173–194, 1989.
[223] M. Dolg, U. Wedig, H. Stoll, and H. Preuss. J. Chem. Phys., 86:866–872, 1987.
[224] A. Domingo, M.-A. Carvajal, C. de Graaf, K. Sivalingam, F. Neese, and C. Angeli. Theor. Chem. Acc.,
131(9):1264, 2012.
[225] B. I. Dunlap, J. W. D. Connolly, and J. R. Sabin. J. Chem. Phys., 71:3396, 1979.
[226] T. H. Dunning Jr. J. Chem. Phys., 90:1007, 1989.
[227] M. Dupuis and H. F. King. Molecular symmetry and closed-shell scf calculations. i. Int. J. Quantum Chem.,
XI(4):613–625, 1977. URL: https://doi.org/10.1002/qua.560110408.
[228] F. Duschisnky. Acta Physicochim. URSS, 7:551, 1937.
[229] A. K. Dutta, F. Neese, and R. Izsak. Accelerating the coupled-cluster singles and doubles method using
the chain-of-sphere approximation. Mol. Phys., 116(11):1428–1434, 2018. URL: \T1\textless{}GotoISI\
T1\textgreater{}://WOS:000431017000002, doi:10.1080/00268976.2017.1416201.
[230] A. K. Dutta, M. Nooijen, F. Neese, and R. Izsak. Exploring the accuracy of a low scaling sim-
ilarity transformed equation of motion method for vertical excitation energies. J. Chem. Theory
Comput., 14(1):72–91, 2018. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000419998300008,
doi:10.1021/acs.jctc.7b00802.
[231] A. K. Dutta, M. Saitow, B. Demoulin, F. Neese, and R. Izsak. A domain-based local pair natural orbital
implementation of the equation of motion coupled cluster method for electron attached states. J. Chem. Phys.,
2019. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000466698700028, doi:10.1063/1.5089637.
[232] A. K. Dutta, M. Saitow, C. Riplinger, F. Neese, and R. Izsak. A nearlinear scaling equation of motion
coupled cluster method for ionized states. J. Chem. Phys., 148(24):13, 2018. URL: \T1\textless{}GotoISI\
T1\textgreater{}://WOS:000437190300049, doi:10.1063/1.5029470.
[233] Achintya Kumar Dutta, Frank Neese, and Róbert Izsák. Speeding up equation of motion coupled cluster
theory with the chain of spheres approximation. J. Chem. Phys., 144(3):034102, 2016.
[234] Achintya Kumar Dutta, Frank Neese, and Róbert Izsák. Towards a pair natural orbital coupled cluster method
for excited states. J. Chem. Phys., 145(3):034102, 2016.
[235] Achintya Kumar Dutta, Frank Neese, and Róbert Izsák. A simple scheme for calculating approximate transi-
tion moments within the equation of motion expectation value formalism. J. Chem. Phys., 146(21):214111,
2017.
[236] Achintya Kumar Dutta, Marcel Nooijen, Frank Neese, and Róbert Izsák. Towards a pair natural orbital
coupled cluster method for excited states. J. Chem. Phys., 2017.
1272 Bibliography
ORCA Manual, Release 6.0
[237] Achintya Kumar Dutta, Marcel Nooijen, Frank Neese, and Róbert Izsák. Automatic active space selection
for the similarity transformed equations of motion coupled cluster method. J. Chem. Phys., 146(7):074103,
2017.
[238] K. G. Dyall. J. Chem. Phys., 102:4909–4918, 1995.
[239] Anatoly Y. Dymarsky and Konstantin N. Kudin. Computation of the pseudorotation matrix to satisfy the
Eckart axis conditions. J. Chem. Phys., 122(12):124103, 03 2005. URL: http://scitation.aip.org/content/
aip/journal/jcp/122/12/10.1063/1.1864872, doi:10.1063/1.1864872.
[240] Weinan E, Weiqing Ren, and Eric Vanden-Eijnden. String method for the study of rare events. Phys. Rev.
B, 66(5):052301, 08 2002. URL: https://link.aps.org/doi/10.1103/PhysRevB.66.052301, arXiv:0205527
[cond-mat], doi:10.1103/PhysRevB.66.052301.
[241] F. Eckert, P. Pulay, and H. J. Werner. J. Comput. Chem., 12:1473, 1997.
[242] M. Eden and M. H. Levitt. J. Magn. Res., 132:220, 1998.
[243] W. D. Edwards and M. C. Zerner. Theor. Chim. Acta, 72:347, 1987.
[244] Sebastian Ehlert, Uwe Huniar, Jinliang Ning, James W. Furness, Jianwei Sun, Aaron D. Kaplan, John P.
Perdew, and Jan Gerit Brandenburg. r2SCAN-D4: Dispersion corrected meta-generalized gradient approx-
imation for general chemical applications. J. Chem. Phys., 154(6):061101, 2021. URL: https://doi.org/10.
1063/5.0041008, arXiv:https://doi.org/10.1063/5.0041008, doi:10.1063/5.0041008.
[245] K. Eichkorn, O. Treutler, H. Öhm, M. Häser, and R. Ahlrichs. Chem. Phys. Lett., 240:283, 1995.
[246] K. Eichkorn, F. Weigend, O. Treutler, and R. Ahlrichs. Theor. Chem. Acc., 97:119, 1997.
[247] Dennis M. Elking, Lalith Perera, Robert Duke, Thomas Darden, and Lee G. Pedersen. A finite field method
for calculating molecular polarizability tensors for arbitrary multipole rank. Journal of Computational
Chemistry, 32(15):3283–3295, 2011. URL: https://onlinelibrary.wiley.com/doi/abs/10.1002/jcc.21914,
arXiv:https://onlinelibrary.wiley.com/doi/pdf/10.1002/jcc.21914, doi:https://doi.org/10.1002/jcc.21914.
[248] M. Ernzerhof. In D. P. Joubert, editor, Density Functionals: Theory and Applications. Springer Verlag,
1998.
[249] Francesco A. Evangelista and Jürgen Gauss. An orbital-invariant internally contracted multireference cou-
pled cluster approach. J. Chem. Phys., 134(11):114102, 03 2011. doi:10.1063/1.3559149.
[250] W. Förner, J. Ladik, P. Otto, and J. Čížek. Coupled-cluster studies. II. The role of localization in correla-
tion calculations on extended systems. Chem. Phys., 97:251–262, 1985. doi:https://doi.org/10.1016/0301-
0104(85)87035-X.
[251] Molecular Science Computing Facility. Extensible computational chemistry environment basis set database.
2000. URL: http://www.emsl.pnl.gov:2080/forms/basisform.html.
[252] Shervin Fatehi, Ethan Alguire, Yihan Shao, and Joseph E. Subotnik. Analytic derivative couplings between
configuration-interaction-singles states with built-in electron-translation factors for translational invariance.
J. Chem. Phys., 135(23):234105, 12 2011. URL: https://aip.scitation.org/doi/10.1063/1.3665031 (visited
on 2020-06-08), doi:10.1063/1.3665031.
[253] Ignacio Fdez. Galván, Morgane Vacher, Ali Alavi, Celestino Angeli, Francesco Aquilante, Jochen
Autschbach, Jie J. Bao, Sergey I. Bokarev, Nikolay A. Bogdanov, Rebecca K. Carlson, Liviu F. Chibotaru,
Joel Creutzberg, Nike Dattani, Mickaël G. Delcey, Sijia S. Dong, Andreas Dreuw, Leon Freitag, Luis Manuel
Frutos, Laura Gagliardi, Frédéric Gendron, Angelo Giussani, Leticia González, Gilbert Grell, Meiyuan Guo,
Chad E. Hoyer, Marcus Johansson, Sebastian Keller, Stefan Knecht, Goran Kovačević, Erik Källman, Gio-
vanni Li Manni, Marcus Lundberg, Yingjin Ma, Sebastian Mai, João Pedro Malhado, Per Åke Malmqvist,
Philipp Marquetand, Stefanie A. Mewes, Jesper Norell, Massimo Olivucci, Markus Oppel, Quan Manh
Phung, Kristine Pierloot, Felix Plasser, Markus Reiher, Andrew M. Sand, Igor Schapiro, Prachi Sharma,
Christopher J. Stein, Lasse Kragh Sørensen, Donald G. Truhlar, Mihkel Ugandi, Liviu Ungur, Alessio
Valentini, Steven Vancoillie, Valera Veryazov, Oskar Weser, Tomasz A. Wesołowski, Per-Olof Widmark,
Sebastian Wouters, Alexander Zech, J. Patrick Zobel, and Roland Lindh. OpenMolcas: From Source Code
to Insight. J. Chem. Theory Comput., 15(11):5925–5964, 2019.
[254] J. Fernandez-Rico, J. M. Garcia de la Vega, and J. I. Fernandez Alonso. J. Comput. Chem., 1:33, 1983.
Bibliography 1273
ORCA Manual, Release 6.0
[255] J. Fernandez-Rico, R. Lopez, A. Aguado, I. Ema, and G. Ramirez. J. Comput. Chem., 11:1284, 1998.
[256] J. Fernandez-Rico, M. Paniagua, J. I. Fernandez Alonso, and P. Fantucci. J. Comput. Chem., 1:41, 1983.
[257] N. Ferre, N. Guihery, and J.-P. Malrieu. Spin decontamination of broken-symmetry density functional theory
calculations: deeper insight and new formulations. Phys. Chem. Chem. Phys., 17(22):14375–14382, 2015.
doi:10.1039/C4CP05531D.
[258] M. Feyereisen, G. Fitzerald, and A. Komornicki. Chem. Phys. Lett., 208:359, 1993.
[259] M. Fiedler. Czech. Math. J., 23:298, 1973.
[260] M. Fiedler. Czech. Math. J., 25:619, 1975.
[261] D. Figgen, K. A. Peterson, M. Dolg, and H. Stoll. J. Chem. Phys., 130:164108, 2009.
[262] D. Figgen, G. Rauhut, M. Dolg, and H. Stoll. Chem. Phys., 311:227, 2005.
[263] J. Finley, P.-A. Malmqvist, B. O. Roos, and L. Serrano-Andres. Chem. Phys. Lett., 288:299, 1998.
[264] T. H. Fischer and J. Almlöf. J. Phys. Chem., 96:9768, 1992.
[265] D. Flaig, M. Maurer, M. Hanni, K. Braunger, L. Kick, M. Thubauville, and C. Ochsenfeld. J. Chem. Theory
Comput., 10:572, 2014.
[266] R. Flores-Moreno, R. J. Alvares-Mendez, A. Vela, and A. M. Köster. J. Comput. Chem., 27:1009, 2006.
[267] B. M. Floser, Y. Guo, C. Riplinger, F. Tuczek, and F. Neese. Detailed pair natural orbital-based coupled
cluster studies of spin crossover energetics. J. Chem. Theory Comput., 16(4):2224–2235, 2020. URL: \T1\
textless{}GotoISI\T1\textgreater{}://WOS:000526313000020, doi:10.1021/acs.jctc.9b01109.
[268] Nicolás Foglia, Bernardo De Souza, Dimitrios Maganas, and Frank Neese. Including vibrational effects in
magnetic circular dichroism spectrum calculations in the framework of excited state dynamics. J. Chem.
Phys., 158(15):154108, 04 2023. URL: https://doi.org/10.1063/5.0144845, doi:10.1063/5.0144845.
[269] Nicolás O. Foglia, Dimitrios Maganas, and Frank Neese. Going beyond the electric-dipole approximation
in the calculation of absorption and (magnetic) circular dichroism spectra including scalar relativistic and
spin–orbit coupling effects. J. Chem. Phys., 157(8):084120, 2022. URL: https://doi.org/10.1063/5.0094709,
arXiv:https://doi.org/10.1063/5.0094709, doi:10.1063/5.0094709.
[270] Niclas Forsberg and Per-Å ke Malmqvist. Multiconfiguration perturbation theory with imaginary level shift.
Chem. Phys. Lett., 274:196–204, 08 1997. doi:https://doi.org/10.1016/S0009-2614(97)00669-6.
[271] M. M. Francl, W. J. Petro, W. J. Hehre, J. S. Binkley, M. S. Gordon, D. J. DeFrees, and J. A. Pople. J. Chem.
Phys., 77:3654, 1982.
[272] Yannick J Franzke and Florian Weigend. NMR Shielding Tensors and Chemical Shifts in Scalar-
Relativistic Local Exact Two-Component Theory. J. Chem. Theory Comput., 15(2):1028–1043,
feb 2019. URL: https://pubs.acs.org/sharingguidelineshttps://pubs.acs.org/doi/10.1021/acs.jctc.8b01084,
doi:10.1021/acs.jctc.8b01084.
[273] Yannick J. Franzke, Fabian Mack, and Florian Weigend. NMR Indirect Spin–Spin Coupling Constants in
a Modern Quasi-Relativistic Density Functional Framework. J. Chem. Theory Comput., 17(7):3974–3994,
jul 2021. URL: https://doi.org/10.1021/acs.jctc.1c00167https://pubs.acs.org/doi/10.1021/acs.jctc.1c00167,
doi:10.1021/acs.jctc.1c00167.
[274] Yannick J. Franzke, Nils Middendorf, and Florian Weigend. Efficient implementation of one-
and two-component analytical energy gradients in exact two-component theory. J. Chem. Phys.,
148(10):104110, mar 2018. URL: https://doi.org/10.1063/1.5022153http://aip.scitation.org/doi/10.1063/1.
5022153, doi:10.1063/1.5022153.
[275] Yannick J. Franzke, Robert Treß, Tobias M. Pazdera, and Florian Weigend. Error-consistent segmented con-
tracted all-electron relativistic basis sets of double- and triple-zeta quality for NMR shielding constants.
Phys. Chem. Chem. Phys., 21(30):16658–16664, 2019. URL: http://dx.doi.org/10.1039/C9CP02382H,
doi:10.1039/C9CP02382H.
[276] Yannick J. Franzke and Jason M. Yu. Hyperfine Coupling Constants in Local Exact Two-Component The-
ory. J. Chem. Theory Comput., 18(1):323–343, jan 2022. URL: https://pubs.acs.org/doi/10.1021/acs.jctc.
1c01027, doi:10.1021/acs.jctc.1c01027.
1274 Bibliography
ORCA Manual, Release 6.0
Bibliography 1275
ORCA Manual, Release 6.0
[296] D. Ghosh, J. Hachmann, T. Yanai, and G. K.-L. Chan. J. Chem. Phys., 128:144117, 2008.
[297] Soumen Ghosh, Achintya Kumar Dutta, Bernardo de Souza, Romain Berraud-Pache, and Róbert Izsák. A
new density for transition properties within the similarity transformed equation of motion approach. Mol.
Phys., 118(19-20):e1818858, 10 2020. URL: https://doi.org/10.1080/00268976.2020.1818858 (visited on
2021-03-01), doi:10.1080/00268976.2020.1818858.
[298] Soumen Ghosh, Achintya Kumar Dutta, Bernardo de Souza, Romain Berraud-Pache, and Róbert
Izsák. A new density for transition properties within the similarity transformed equation of mo-
tion approach. Mol. Phys., 0(0):e1818858, 2020. URL: https://doi.org/10.1080/00268976.2020.1818858,
doi:10.1080/00268976.2020.1818858.
[299] Andrew T. B. Gilbert, Nicholas A. Besley, and Peter M. W. Gill. Self-Consistent Field Calculations
of Excited States Using the Maximum Overlap Method (MOM). The Journal of Physical Chemistry A,
112(50):13164–13171, December 2008. Publisher: American Chemical Society. URL: https://doi.org/10.
1021/jp801738f, doi:10.1021/jp801738f.
[300] P. M. W. Gill. Mol. Phys., 89:433, 1996.
[301] P. M. W. Gill, B. G. Johnson, and J. A. Pople. Chem. Phys. Lett., 209:506, 1993.
[302] M. K. Gilson and K. K. Irikura. J. Phys. Chem., pages 16304–16317, 2010. doi:10.1021/jp110434s.
[303] A. P. Ginsberg. J. Am. Chem. Soc., 102:111, 1980.
[304] L. Giordano, G. Pacchioni, T. Bredow, and J. F. Sanz. Surf. Sci., 471:21, 2001.
[305] N. Godbout, D. R. Salahub, J. Andzelm, and E. Wimmer. Can. J. Chem., 70:560, 1992.
[306] Stefan Goedecker. Minima hopping: An efficient search method for the global minimum of the potential
energy surface of complex molecular systems. The Journal of Chemical Physics, 120(21):9911–9917, June
2004. Publisher: American Institute of Physics. URL: https://aip.scitation.org/doi/10.1063/1.1724816 (vis-
ited on 2022-04-22), doi:10.1063/1.1724816.
[307] L. Goerigk and S. Grimme. J. Chem. Theory Comput., 6:107, 2010.
[308] L. Goerigk and S. Grimme. J. Chem. Theory Comput., 7:291–309, 2011.
[309] L. Goerigk and S. Grimme. Phys. Chem. Chem. Phys., 13:6670, 2011.
[310] L. Moellmann Goerigk and S. Grimme. Phys. Chem. Chem. Phys., 11:4611, 2009.
[311] Lars Goerigk and Stefan Grimme. J. Chem. Phys., 132:184103, 2010.
[312] Lars Goerigk, Andreas Hansen, Christoph Bauer, Stephan Ehrlich, Asim Najibi, and Stefan Grimme. A
look at the density functional theory zoo with the advanced GMTKN55 database for general main group
thermochemistry, kinetics and noncovalent interactions. Phys. Chem. Chem. Phys., 19(48):32184–32215,
2017. doi:10.1039/C7CP04913G.
[313] M. S. Gordon, J. S. Binkley, J. A. Pople, W. J. Pietro, and W. J. Hehre. J. Am. Chem. Soc., 104:2797, 1983.
[314] H. C. Gottschalk, A. Poblotzki, M. Fatima, D. A. Obenchain, C. Perez, J. Antony, A. A. Auer, L. Bap-
tista, D. M. Benoit, G. Bistoni, F. Bohle, R. Dahmani, D. Firaha, S. Grimme, A. Hansen, M. E. Hard-
ing, M. Hochlaf, C. Holzer, G. Jansen, W. Klopper, W. A. Kopp, L. C. Kroger, K. Leonhard, M. M. Al-
Mogren, H. Mouhib, F. Neese, X. N. Pereira, M. Prakash, I. S. Ulusoy, R. A. Mata, M. A. Suhm, and
M. Schnell. The first microsolvation step for furans: New experiments and benchmarking strategies. J.
Chem. Phys., 152(16):17, 2020. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000531832400001,
doi:10.1063/5.0004465.
[315] H. C. Gottschalk, A. Poblotzki, M. A. Suhm, M. M. Al-Mogren, J. Antony, A. A. Auer, L. Baptista, D. M.
Benoit, G. Bistoni, F. Bohle, R. Dahmani, D. Firaha, S. Grimme, A. Hansen, M. E. Harding, M. Hochlaf,
C. Holzer, G. Jansen, W. Klopper, W. A. Kopp, L. C. Kroger, K. Leonhard, H. Mouhib, F. Neese, M. N.
Pereira, I. S. Ulusoy, A. Wuttke, and R. A. Mata. The furan microsolvation blind challenge for quan-
tum chemical methods: First steps. J. Chem. Phys., 148(1):13, 2018. URL: \T1\textless{}GotoISI\T1\
textgreater{}://WOS:000419394500013, doi:10.1063/1.5009011.
[316] M. Grüning, O. V. Gritsenko, S. J. A. Gisbergen, and E. J. Baerends. J. Chem. Phys., 114:652, 2001.
1276 Bibliography
ORCA Manual, Release 6.0
[317] L Greengard and V Rokhlin. A fast algorithm for particle simulations. Journal of Computational Physics,
73(2):325–348, 1987. URL: https://www.sciencedirect.com/science/article/pii/0021999187901409,
doi:https://doi.org/10.1016/0021-9991(87)90140-9.
[318] S. Grimme. J. Chem. Phys., 118:9095–9102, 2003.
[319] S. Grimme. J. Comput. Chem., 25:1463, 2004.
[320] S. Grimme. J. Chem. Phys., 124:034108, 2006.
[321] S. Grimme. J. Comput. Chem., 27:1787, 2006.
[322] S. Grimme. Chem. Eur. J., 18:9955–9964, 2012.
[323] S. Grimme. J. Chem. Phys., 138:244104, 2013.
[324] S. Grimme, J. Antony, S. Ehrlich, and H. Krieg. J. Chem. Phys., 132:154104, 2010.
[325] S. Grimme, J. G. Brandenburg, C. Bannwarth, and A. Hansen. J. Chem. Phys., 143:054107, 2015.
[326] S. Grimme, S. Ehrlich, and L. Goerigk. J. Comput. Chem., 32:1456, 2011.
[327] S. Grimme and A. Hansen. A practicable real-space measure and visualization of static electron-correlation
effects. Angew. Chem. Int. Ed., 54:12308–12313, 2015.
[328] S. Grimme and F. Neese. J. Phys. Chem., 127:154116, 2007.
[329] Stefan Grimme. AK Grimme homepage. URL: http://www.thch.uni-bonn.de/tc/grimme.
[330] Stefan Grimme. Exploration of chemical compound, conformer, and reaction space with meta-
dynamics simulations based on tight-binding quantum chemical calculations. J. Chem. Theory Comput.,
15(5):2847–2862, 2019. doi:10.1021/acs.jctc.9b00143.
[331] Stefan Grimme, Christoph Bannwarth, Sebastian Dohm, Andreas Hansen, Jana Pisarek, Philipp Pracht,
Jakob Seibert, and Frank Neese. Fully automated quantum-chemistry-based computation of Spin–Spin-
Coupled nuclear magnetic resonance spectra. Angew. Chem. Int. Ed., 56(46):14763–14769, 2017.
doi:10.1002/anie.201708266.
[332] Stefan Grimme, Christoph Bannwarth, and Philip Shushkov. A robust and accurate tight-binding quantum
chemical method for structures, vibrational frequencies, and noncovalent interactions of large molecular
systems parametrized for all spd-Block elements (z = 1-86). J. Chem. Theory Comput., 13(5):1989–2009,
2017. doi:10.1021/acs.jctc.7b00118.
[333] Stefan Grimme, Andreas Hansen, Sebastian Ehlert, and Jan-Michael Mewes. r2SCAN-3c: A “Swiss army
knife” composite electronic-structure method. J. Chem. Phys., 154(6):064103, 2021. URL: https://doi.org/
10.1063/5.0040021, arXiv:https://doi.org/10.1063/5.0040021, doi:10.1063/5.0040021.
[334] Quantum Chemistry Group. TurboMole basis sets. ftp.chemie.uni-karlsruhe.de/pub, since 1988.
[335] M. F. Guest and V. R. Saunders. Mol. Phys., 28:819, 1974.
[336] Sheng Guo, Mark A. Watson, Weifeng Hu, Qiming Sun, and Garnet Kin-Lic Chan. N-Electron Valence
State Perturbation Theory Based on a Density Matrix Renormalization Group Reference Function, with
Applications to the Chromium Dimer and a Trimer Model of Poly(p-Phenylenevinylene). J. Chem. Theory
Comput., 12(4):1583–1591, 04 2016. doi:10.1021/acs.jctc.5b01225.
[337] Y. Guo, W. Li, and S. Li. Improved cluster-in-molecule local correlation approach for elec-
tron correlation calculation of large systems. J. Phys. Chem. A, 118(39):8996–9004, 2014.
doi:https://doi.org/10.1021/jp501976x.
[338] Y. Guo, F. Pavošević, K. Sivalingam, U. Becker, E. F. Valeev, and F. Neese. Sparsemaps—a systematic
infrastructure for reduced-scaling electronic structure methods. vi. linear-scaling explicitly correlated n-
electron valence state perturbation theory with pair natural orbital. J. Chem. Phys., 2023.
[339] Y. Guo, C. Riplinger, D. G. Liakos, U. Becker, M. Saitow, and F. Neese. Linear scaling perturbative triples
correction approximations for open-shell domain-based local pair natural orbital coupled cluster singles
and doubles theory dlpno-ccsd(t-0/t). J. Chem. Phys., 2020. URL: \T1\textless{}GotoISI\T1\textgreater{}:
//WOS:000519813300005, doi:10.1063/1.5127550.
Bibliography 1277
ORCA Manual, Release 6.0
[340] Yang Guo, Ute Becker, and Frank Neese. Comparison and combination of “direct” and fragment based
local correlation methods: Cluster in molecules and domain based local pair natural orbital perturbation
and coupled cluster theories. J. Chem. Phys., 148(12):124117, 2018. doi:10.1063/1.5021898.
[341] Yang Guo, Christoph Riplinger, Ute Becker, Dimitrios G. Liakos, Yury Minenkov, Luigi Cavallo, and Frank
Neese. Communication: An improved linear scaling perturbative triples correction for the domain based
local pair-natural orbital based singles and doubles coupled cluster method [DLPNO-CCSD(T)]. J. Chem.
Phys., 148(1):011101, 2018. doi:10.1063/1.5011798.
[342] Yang Guo, Kantharuban Sivalingam, Christian Kollmar, and Frank Neese. Approximations of density ma-
trices in N-electron valence state second-order perturbation theory (NEVPT2). II. The full rank NEVPT2
(FR-NEVPT2) formulation. J. Chem. Phys., 154(21):214113, 06 2021. doi:10.1063/5.0051218.
[343] Yang Guo, Kantharuban Sivalingam, and Frank Neese. Approximations of density matrices in N-electron
valence state second-order perturbation theory (NEVPT2). I. Revisiting the NEVPT2 construction. J. Chem.
Phys., 154(21):214111, 06 2021. doi:10.1063/5.0051211.
[344] Yang Guo, Kantharuban Sivalingam, Edward F. Valeev, and Frank Neese. SparseMaps—A systematic in-
frastructure for reduced-scaling electronic structure methods. III. Linear-scaling multireference domain-
based pair natural orbital N-electron valence perturbation theory. J. Chem. Phys., 144(9):094111, 03 2016.
doi:10.1063/1.4942769.
[345] Yang Guo, Kantharuban Sivalingam, Edward F. Valeev, and Frank Neese. Explicitly correlated N-
electron valence state perturbation theory (NEVPT2-F12). J. Chem. Phys., 147(6):064110, 08 2017.
doi:10.1063/1.4996560.
[346] M. Häser and R. Ahlrichs. J. Comput. Chem., 10:104, 1989.
[347] U. Häuß ermann, M. Dolg, H. Stoll, and H. Preuss. Mol. Phys., 78:1211–1224, 1993.
[348] M. Hülsen, A. Weigand, and M. Dolg. Theor. Chem. Acc., 122:23, 2009.
[349] Ida-Marie Hø yvik, Branislav Jansik, and Poul Jø rgensen. Trust region minimization of orbital localization
functions. J. Chem. Theory Comput., 8(9):3137–3146, 2012. doi:10.1021/ct300473g.
[350] J. Hachmann, W. Cardoen, and G. K.-L. Chan. J. Chem. Phys., 125:144101, 2006.
[351] Diptarka Hait and Martin Head-Gordon. Orbital optimized density functional theory for electronic excited
states. J. Phys. Chem. Lett., 12:4517–4529, 5 2021. doi:10.1021/acs.jpclett.1c00744.
[352] S. Haldar, C. Riplinger, B. Demoulin, F. Neese, R. Izsak, and A. K. Dutta. Multilayer approach
to the ip-eom-dlpno-ccsd method: theory, implementation, and application. J. Chem. Theory Com-
put., 15(4):2265–2277, 2019. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000464475500015,
doi:10.1021/acs.jctc.8b01263.
[353] T. P. Hamilton and P. Pulay. J. Chem. Phys., 84:5728, 1986.
[354] B. Hammer, L. B. Hansen, and J. K. Nø rskov. Phys. Rev. B, 59:7413, 1999.
[355] C. Hampel, K. A. Peterson, and H. J. Werner. Chem. Phys. Lett., 190:1, 1992.
[356] C. Hampel and H. J. Werner. J. Chem. Phys., 104:6286, 1996.
[357] Matthias Hanauer and Andreas Köhn. Pilot applications of internally contracted multireference coupled
cluster theory, and how to choose the cluster operator properly. J. Chem. Phys., 134(20):204111, 05 2011.
doi:10.1063/1.3592786.
[358] N. C. Handy and A. J. Cohen. Mol. Phys., 99:403, 2001.
[359] N. C. Handy, P. J. Knowles, and K. Somasundram. Theor. Chem. Acc., 68:87, 1985.
[360] N. C. Handy, J. A. Pople, M. Head-Gordon, K. Raghavachari, and G. W. Trucks. Chem. Phys. Lett., 164:185,
1989.
[361] A. Hansen, D. G. Liakos, and F. Neese. J. Chem. Phys., 135:214102, 2011.
[362] D. J. Harding, P. Gruene, M. Haertelt, G. Meijer, A. Fielicke, S. M. Hamilton, W. S. Hopkins, S. R. Macken-
zie, S. P. Neville, and T. R. Walsh. Probing the structures of gas-phase rhodium cluster cations by far-infrared
spectroscopy. J. Chem. Phys., 133(21):214304, 2010. doi:10.1063/1.3509778.
1278 Bibliography
ORCA Manual, Release 6.0
Bibliography 1279
ORCA Manual, Release 6.0
[389] B. Hess, C. Kutzner, D. van der Spoel, and E. Lindahl. J. Chem. Theory Comput., 4:435, 2008.
[390] Bernd A. Hess, Christel M. Marian, Ulf Wahlgren, and Odd Gropen. Chem. Phys. Lett., 251:365–371, 1996.
[391] J. L. Heully and J.-P. Malrieu. J. Mol. Struct.: THEOCHEM, 768:53, 2006.
[392] J. Hillenbrand, M. van Gastel, E. Bill, F. Neese, and A. Furstner. Isolation of a homoleptic non-oxo
Mo(V) alkoxide complex: Synthesis, structure, and electronic properties of penta-tert-butoxymolybdenum.
J. Am. Chem. Soc., 142(38):16392–16402, 2020. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:
000575684100032, doi:10.1021/jacs.0c07073.
[393] So Hirata and Martin Head-Gordon. Time–Dependent density functional theory within the Tamm–Dancoff
approximation. Chem. Phys. Lett., 314:291–299, 1999.
[394] F. L. Hirshfeld. Bonded-atom fragments for describing molecular charge densities. Theor. Chim. Acta,
44:129–138, 1977.
[395] R. Hockney. Methods Comp. Phys., 9:136–211, 1970.
[396] Manuel Hodecker, Malgorzata Biczysko, Andreas Dreuw, and Vincenzo Barone. Simulation of vacuum
uv absorption and electronic circular dichroism spectra of methyl oxirane: the role of vibrational effects.
Journal of Chemical Theory and Computation, 12(6):2820–2833, 2016. URL: https://doi.org/10.1021/acs.
jctc.6b00121, doi:10.1021/acs.jctc.6b00121.
[397] W.-M. Hoe, A. J. Cohen, and N. C. Handy. Chem. Phys. Lett., 341:319, 2001.
[398] T. Holmgaard List, N. Saue and P. Norman. Rotationally averaged linear absorption spectra beyond the
electric-dipole approximation. Mol. Phys., 115(1-2):63–74, 2017. doi:10.1080/00268976.2016.1187773.
[399] H. Horn, H. Wei, M. Häser, M. Ehrig, and R. Ahlrichs. J. Comput. Chem., 12:1058, 1991.
[400] W. Hujo and S. Grimme. J. Chem. Theory Comput., 2011. doi:dx.doi.org/10.1021/ct200644w.
[401] W. Hujo and S. Grimme. Phys. Chem. Chem. Phys., 13:13942, 2011.
[402] T. F. Hunter and R. F. Wyatt. Intersystem crossing in anthracene. Chem. Phys. Lett., 6(3):221–224, 1970.
doi:10.1016/0009-2614(70)80224-X.
[403] L .M. J. Huntington, M. Krupička, F. Neese, and R. Izsák. Similarity transformed equation of motion
coupled-cluster theory based on an unrestricted hartree-fock reference for applications to high-spin open-
shell systems. J. Chem. Phys., 147:174104, 2017.
[404] L. M. J. Huntington, A. Hansen, F. Neese, and M. Nooijen. J. Chem. Phys., 136:064101, 2012.
[405] L. M. J. Huntington and M. Nooijen. J. Chem. Phys., 133:184109, 2010.
[406] L. M. J. Huntington and M. Nooijen. J. Chem. Phys., 142:194111, 2015.
[407] L. M. J. Huntington and M. Nooijen. J. Chem. Theory Comput., 12:114, 2016.
[408] Marcella Iannuzzi, Alessandro Laio, and Michele Parrinello. Efficient exploration of reactive poten-
tial energy surfaces using Car–Parrinello molecular dynamics. Phys. Rev. Lett., 90(23):238302, 2003.
doi:10.1103/PhysRevLett.90.238302.
[409] G. Igel-Mann, H. Stoll, and H. Preuss. Mol. Phys., 65:1321–1328, 1988.
[410] H. Iikura, T. Tsuneda, T. Yanai, and K. Hirao. J. Chem. Phys., 115:3540–3544, 2001.
[411] Mark A. Iron and Trevor Janes. Evaluating Transition Metal Barrier Heights with the Latest Density Func-
tional Theory Exchange–Correlation Functionals: The MOBH35 Benchmark Database. J. Phys. Chem.
A, 123(17):3761–3781, 05 2019. URL: https://doi.org/10.1021/acs.jpca.9b01546 (visited on 2020-09-15),
doi:10.1021/acs.jpca.9b01546.
[412] Kazuhiro Ishida, Keiji Morokuma, and Andrew Komornicki. The intrinsic reaction coordinate. An ab
initio calculation for HNC\textrightarrow HCN and H-+CH4\textrightarrow CH4+H-. J. Chem. Phys.,
66(5):2153–2156, 1977. doi:10.1063/1.434152.
[413] Naoya Iwahara and Liviu F. Chibotaru. Exchange interaction between $j$ multiplets. Physical
Review B, 91:174438, May 2015. URL: https://link.aps.org/doi/10.1103/PhysRevB.91.174438,
doi:10.1103/PhysRevB.91.174438.
1280 Bibliography
ORCA Manual, Release 6.0
[414] Naoya Iwahara, Liviu Ungur, and Liviu F. Chibotaru. \~\~J-pseudospin states and the crystal field of cubic
systems. Phys. Rev. B, 98(5):054436, 08 2018. URL: https://link.aps.org/doi/10.1103/PhysRevB.98.054436,
doi:10.1103/PhysRevB.98.054436.
[415] R. Izsak and F. Neese. J. Chem. Phys., 135:144105, 2011.
[416] H. Jónsson, G. Mills, and K.W. Jacobsen. Classical and Quantum Dynamics in Condensed Phase Simula-
tions. World Scientific Publishing Company, 1998.
[417] Poul Jø rgensen, Hans Jø rgen Aagaard Jensen, and Jeppe Olsen. Linear response calculations for large scale
multiconfiguration self-consistent field wave functions. J. Chem. Phys., 89(6):3654–3661, 1988.
[418] K. Jankowski and J. Paldus. Applicability of coupled-pair theories to quasidegenerate electronic states: A
model study. Int. J. Quantum Chem., 18(5):1243–1269, 11 1980. doi:10.1002/qua.560180511.
[419] F. Jensen. Introduction to Computational Chemistry. Wiley, 1999.
[420] B. Jeziorski and H. J. Monkhorst. Phys. Rev. A, 24:1668–1681, 1981.
[421] S. Jiang, D. Maganas, N. Levesanos, E. Ferentinos, S. Haas, K. Thirunavukkuarasu, J. Krzystek, M. Dressel,
L. Bogani, F. Neese, and P. Kyritsis. J. Am. Chem. Soc., 137:12923, 2015.
[422] B. G. Johnson, P. M. W. Gill, and J. A. Pople. J. Chem. Phys., 98:5612, 1993.
[423] B. G. Johnson, P. M. W. Gill, and J. A. Pople. Chem. Phys. Lett., 220:377, 1994.
[424] E. R. Johnson and A. D. Becke. J. Chem. Phys., 123:024101, 2005.
[425] E. R. Johnson and A. D. Becke. J. Chem. Phys., 124:174104, 2006.
[426] E. Bright Wilson Jr, J. C. Decius, and Paul C. Cross. Molecular Vibrations: The Theory of Infrared and
Raman Vibrational Spectra. Dover Publications, revised ed. edition edition, 03 1980. ISBN 978-0-486-
63941-3.
[427] J. Jung, S. T. Loffler, J. Langmann, F. W. Heinemann, E. Bill, G. Bistoni, W. Scherer, M. Atanasov,
K. Meyer, and F. Neese. Dispersion forces drive the formation of uranium-alkane adducts. J. Am. Chem.
Soc., 142(4):1864–1870, 2020. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000510531900033,
doi:10.1021/jacs.9b10620.
[428] Julie Jung, Mihail Atanasov, and Frank Neese. Ab Initio Ligand-Field Theory Analysis and Covalency
Trends in Actinide and Lanthanide Free Ions and Octahedral Complexes. Inorg. Chem., 56(15):8802–8816,
08 2017. doi:10.1021/acs.inorgchem.7b00642.
[429] P. Jurečka, J. Šponer, J. Černý, and P. Hobza. Phys. Chem. Chem. Phys., 8:1985, 2006.
[430] Johannes Kästner, Hans Martin Senn, Stephan Thiel, Nikolaj Otte, and Walter Thiel. QM/MM free-energy
perturbation compared to thermodynamic integration and umbrella sampling: Application to an enzymatic
reaction. J. Chem. Theory Comput., 2(2):452–461, 2006. doi:10.1021/ct050252w.
[431] H. J. Köhler and F. Birnstock. Z. Chem., 5:196, 1972.
[432] W. Küchle, M. Dolg, H. Stoll, and H. Preuss. Mol. Phys., 74:1245–1263, 1991.
[433] W. Küchle, M. Dolg, H. Stoll, and H. Preuss. J. Chem. Phys., 100:7535–7542, 1994.
[434] V. Kairys and J.D. Head. Geometry optimization of charged molecules in an external electric field applied
to F-$\odot $ H2O and I-$\odot $ H2O. J. Phys. Chem. A, 102(8):1365–1370, 1998.
[435] Jaroslaw Kalinowski, Frank Wennmohs, and Frank Neese. Arbitrary angular momentum electron repulsion
integrals with graphical processing units: application to the resolution of identity hartree–fock method. J.
Chem. Theory Comput., 13(7):3160–3170, 2017.
[436] A. Karton, A Tarnopolsky, J.-F. Lamère, G. C. Schatz, and J. M. L. Martin. Highly accurate first-principles
benchmark data sets for the parametrization and validation of density functional and other approximate
methods. derivation of a robust, generally applicable, double-hybrid functional for thermochemistry and
thermochemical kinetics. J. Phys. Chem. A, 112:12868, 2008. URL: https://pubs.acs.org/doi/abs/10.1021/
jp801805p, doi:https://doi.org/10.1021/jp801805p.
[437] M. Kaupp, P. v. R. Schleyer, H. Stoll, and H. Preuss. J. Chem. Phys., 94:1360–1366, 1991.
Bibliography 1281
ORCA Manual, Release 6.0
1282 Bibliography
ORCA Manual, Release 6.0
Bibliography 1283
ORCA Manual, Release 6.0
1284 Bibliography
ORCA Manual, Release 6.0
Bibliography 1285
ORCA Manual, Release 6.0
[533] Derek A. Long. The Raman Effect: A Unified Treatment of the Theory of Raman Scattering by Molecules.
Wiley, 1 edition edition, 11 2001. ISBN 978-0-471-49028-9.
[534] Q. Lu, F. Neese, and G. Bistoni. Formation of agostic structures driven by london dispersion.
Angew. Chem. Int. Ed., 57(17):4760–4764, 2018. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:
000430165700058, doi:10.1002/anie.201801531.
[535] Q. Lu, F. Neese, and G. Bistoni. London dispersion effects in the coordination and activation of alkanes
in sigma-complexes: a local energy decomposition study. Phys. Chem. Chem. Phys., 21(22):11569–11577,
2019. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000472218500051, doi:10.1039/c9cp01309a.
[536] Qing Lu, Frank Neese, and Giovanni Bistoni. Formation of agostic structures driven by london dispersion.
Angew. Chem. Int. Ed., 57(17):4760–4764, 2018.
[537] Qing Lu, Frank Neese, and Giovanni Bistoni. London dispersion effects in the coordination and ac-
tivation of alkanes in σ-complexes: a local energy decomposition study. Phys. Chem. Chem. Phys.,
21(22):11569–11577, 2019.
[538] Dmitry I. Lyakh, Monika Musiał, Victor F. Lotrich, and Rodney J. Bartlett. Multireference Nature of Chem-
istry: The Coupled-Cluster View. Chem. Rev., 112(1):182–243, 12 2012. doi:10.1021/cr2001417.
[539] Klaus Müller and Leo D. Brown. Location of saddle points and minimum energy paths by a constrained
simplex optimization procedure. Theor. Chem. Acc., 53(1):75–93, 1979. doi:10.1007/BF00547608.
[540] Marcel Müller, Andreas Hansen, and Stefan Grimme. Ωb97x-3c: a composite range-separated hy-
brid dft method with a molecule-optimized polarized valence double-ζ basis set. J. Chem. Phys.,
158(1):014103, 2023. URL: https://doi.org/10.1063/5.0133026, arXiv:https://doi.org/10.1063/5.0133026,
doi:10.1063/5.0133026.
[541] Marcel Müller, Andreas Hansen, and Stefan Grimme. An atom-in-molecule adaptive polarized valence
single-ζ atomic orbital basis for electronic structure calculations. J. Chem. Phys., 159:164108, 2023.
[542] Simon Müller, Thomas Nevolianis, Miquel Garcia-Ratés, Christoph Riplinger, Kai Leonhard, and Irina
Smirnova. Predicting solvation free energies for neutral molecules in any solvent with openCOSMO-RS.
Fluid Phase Equil., :, 2024. doi:10.1016/j.fluid.2024.114250.
[543] Thomas Müller and Hans Lischka. Simultaneous calculation of Rydberg and valence excited states of
formaldehyde. Theor. Chem. Acc., 106:369–378, 2001.
[544] J. Mášik and I. Hubač. Adv. Quant. Chem., 31:75–104, 1998.
[545] Satoshi Maeda, Koichi Ohno, and Keiji Morokuma. Updated Branching Plane for Finding Conical Inter-
sections without Coupling Derivative Vectors. J. Chem. Theory Comput., 6(5):1538–1545, 05 2010. URL:
https://doi.org/10.1021/ct1000268 (visited on 2021-01-07), doi:10.1021/ct1000268.
[546] D. Maganas, S. DeBeer, and F. Neese. Pair natural orbital restricted open-shell configuration inter-
action (PNO-ROCIS) approach for calculating x-ray absorption spectra of large chemical systems. J.
Phys. Chem. A, 122(5):1215–1227, 2018. URL: https://pubs.acs.org/doi/abs/10.1021/acs.jpca.7b10880,
doi:https://doi.org/10.1021/acs.jpca.7b10880.
[547] D. Maganas, J. K. Kowalska, C. Van Stappen, S. DeBeer, and F. Neese. Mechanism of L-2,L-3-edge x-ray
magnetic circular dichroism intensity from quantum chemical calculations and experiment-A case study on
V-(IV)/V-(III) complexes. J. Chem. Phys., 152(11):15, 2020. URL: \T1\textless{}GotoISI\T1\textgreater{}:
//WOS:000521227700001, doi:10.1063/1.5129029.
[548] D. Maganas, S. Sottini, P. Kyritsis, E. J. J. Groenen, and F. Neese. Inorg. Chem., 50:8741, 2011.
[549] Dimitrios Maganas, Serena DeBeer, and Frank Neese. A restricted open configuration interaction with
singles method to calculate valence-to-core resonant x-ray emission spectra: a case study. Inorg. Chem.,
56(19):11819–11836, 2017.
[550] Dimitrios Maganas, Joanna K. Kowalska, Marcel Nooijen, Serena DeBeer, and Frank Neese. Compari-
son of multireference ab initio wavefunction methodologies for X-ray absorption edges: A case study on
[Fe(II/III)Cl4]2–/1– molecules. J. Chem. Phys., 150(10):104106, 2019. URL: https://pubs.aip.org/aip/jcp/
article-abstract/150/10/104106/1058894/, doi:https://doi.org/10.1063/1.5051613.
[551] U. S. Mahapatra, B. Datta, and D. Mukherjee. J. Chem. Phys., 110:6171–6188, 1999.
1286 Bibliography
ORCA Manual, Release 6.0
[552] Sebastian Mai, Felix Plasser, Mathias Pabst, Frank Neese, Andreas Köhn, and Leticia González. Surface
hopping dynamics including intersystem crossing using the algebraic diagrammatic construction method. J.
Chem. Phys., 147(18):184109, 2017.
[553] M. Mantina, A. C. Chamberlin, R. Valero, C. J. Cramer, and D. G. Truhlar. J. Phys. Chem. A, 113:5806–5812,
2009.
[554] E. Maras, O. Trushin, A. Stukowski, T. Ala-Nissila, and H. Jónsson. Global transition path search for dislo-
cation formation in Ge on Si (001). Comput. Phys. Commun., 205:13–21, 2016.
[555] Narbe Mardirossian and Martin Head-Gordon. Phys. Chem. Chem. Phys., 16(21):9904–9924, 2014. URL:
http://dx.doi.org/10.1039/C3CP54374A, doi:10.1039/C3CP54374A.
[556] Narbe Mardirossian and Martin Head-Gordon. J. Chem. Phys., 142:074111, 2015. URL: https://aip.
scitation.org/doi/10.1063/1.4907719, doi:10.1063/1.4907719.
[557] Narbe Mardirossian and Martin Head-Gordon. J. Chem. Phys., 144:214110, 2016. URL: https://aip.
scitation.org/doi/10.1063/1.4952647, doi:10.1063/1.4952647.
[558] Narbe Mardirossian and Martin Head-Gordon. Survival of the most transferable at the top of Jacob's ladder:
Defining and testing the ωB97M(2) double hybrid density functional. J. Chem. Phys., 148(24):241736, jun
2018. URL: https://doi.org/10.1063/1.5025226, doi:10.1063/1.5025226.
[559] A. V. Marenich, C. J. Cramer, and D. G. Truhlar. J. Phys. Chem. B, 113:6378, 2009.
[560] A.V. Marenich, G.D. Hawkins, D.A. Liotard, and D.G. Cramer. GESOL - version 2008. URL: https://comp.
chem.umn.edu/gesol.
[561] J. M. L. Martin and A. Sundermann. J. Chem. Phys., 114:3408, 2001.
[562] Richard L. Martin. Natural transition orbitals. J. Chem. Phys., 118:4775–4777, 2003.
[563] Glenn J. Martyna, Michael L. Klein, and Mark Tuckerman. Nosé–Hoover chains: The canonical ensemble
via continuous dynamics. J. Chem. Phys., 97(4):2635–2643, 1992. doi:10.1063/1.463940.
[564] Glenn J. Martyna, Mark E. Tuckerman, Douglas J. Tobias, and Michael L. Klein. Explicit reversible integra-
tors for extended systems dynamics. Mol. Phys., 87(5):1117–1157, 1996. doi:10.1080/00268979600100761.
[565] J. Mason. Solid State Nucl. Magn. Res., 2:285, 1993.
[566] Rémi Maurice, Roland Bastardis, Coen de Graaf, Nicolas Suaud, Talal Mallah, and Nathalie Guihéry. Uni-
versal theoretical approach to extract anisotropic spin hamiltonians. J. Chem. Theory Comput., 5:2977–2984,
2009.
[567] Sergey N. Maximoff and Gustavo E. Scuseria. Nuclear magnetic resonance shielding tensors
calculated with kinetic energy density-dependent exchange-correlation functionals. Chem. Phys.
Lett., 390(4-6):408–412, 06 2004. URL: http://linkinghub.elsevier.com/retrieve/pii/S0009261404005949,
doi:10.1016/j.cplett.2004.04.049.
[568] I. Mayer. Chem. Phys. Lett., 97:270, 1983.
[569] I. Mayer. Int. J. Quant. Chem., 26:151, 1984.
[570] I. Mayer. Theor. Chim. Acta, 67:315, 1985.
[571] I. Mayer. In Z. B. Maksić, editor, Modelling of Structure and Properties of Molecules. John Wiley and Sons,
1987.
[572] Nicholas J. Mayhall, Krishnan Raghavachari, and Hrant P. Hratchian. ONIOM-based QM:QM elec-
tronic embedding method using Löwdin atomic charges: Energies and analytic gradients. J. Chem. Phys.,
132(11):114107, 2010. URL: https://doi.org/10.1063/1.3315417, doi:10.1063/1.3315417.
[573] A. D. McLean and G. S. Chandler. J. Chem. Phys., 72:5639, 1980.
[574] A. D. McLean and M. Yoshimine. Theory of Molecular Polarizabilities. The Jour-
nal of Chemical Physics, 47(6):1927–1935, 09 1967. URL: https://doi.org/10.1063/1.
1712220, arXiv:https://pubs.aip.org/aip/jcp/article-pdf/47/6/1927/18852261/1927\_1\_online.pdf,
doi:10.1063/1.1712220.
[575] R. McWeeny. Mol. Phys., 28:1273, 1974.
Bibliography 1287
ORCA Manual, Release 6.0
[576] R. McWeeny. Methods of Molecular Quantum Mechanics. 2nd Edition. Academic Press, 1992.
[577] M. Melander, K. Laasonen, and H. Jónsson. Removing external degrees of freedom from transition-state
search methods using quaternions. J. Chem. Theory Comput., 11(3):1055–1062, 2015.
[578] M. C. R. Melo, R. C. Bernardi, T. Rudack, M. Scheurer, C. Riplinger, J. C. Phillips, J. D. C. Maia, G. B.
Rocha, J. V. Ribeiro, J. E. Stone, F. Neese, K. Schulten, and Z. Luthey-Schulten. NAMD goes quantum: an
integrative suite for hybrid simulations. Nat. Methods, 15(5):351–+, 2018. URL: \T1\textless{}GotoISI\T1\
textgreater{}://WOS:000431372700019, doi:10.1038/nmeth.4638.
[579] Adamo Meo, Trouillas and Sancho-Garcia. J. Chem. Phys., 139:164104, 2013.
[580] B. Metz, M. Schweizer, H. Stoll, M. Dolg, and W. Liu. Theor. Chem. Acc., 104:22, 2000.
[581] B. Metz, H. Stoll, and M. Dolg. J. Chem. Phys., 113:2563, 2000.
[582] F. Meyer and F. Neese. Impact of modern spectroscopy in inorganic chemistry. Inorg. Chem.,
59(19):13805–13806, 2020. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000580381700001,
doi:10.1021/acs.inorgchem.0c02755.
[583] Wilfried Meyer. Ionization energies of water from pno-ci calculations. International Journal of Quantum
Chemistry, 5(S5):341–348, 1971.
[584] Wilfried Meyer. Pno–ci studies of electron correlation effects. i. configuration expansion by means of
nonorthogonal orbitals, and application to the ground state and ionized states of methane. The Journal of
Chemical Physics, 58(3):1017–1035, 1973.
[585] Wilfried Meyer. Configuration Expansion by Means of Pseudonatural Orbitals. In Henry F. Schaefer III,
editor, Methods of Electronic Structure Theory, pages 413–446. Springer US, 01 1977.
[586] G. Mills, H. Jónsson, and G.K. Schenter. Reversible work transition state theory: application to dissociative
adsorption of hydrogen. Surf. Sci., 324(2-3):305–337, 1995.
[587] Yury Minenkov, Giovanni Bistoni, Christoph Riplinger, Alexander A Auer, Frank Neese, and Luigi Cavallo.
Pair natural orbital and canonical coupled cluster reaction enthalpies involving light to heavy alkali and alka-
line earth metals: the importance of sub-valence correlation. Phys. Chem. Chem. Phys., 19(14):9374–9391,
2017.
[588] A. V. Mitin, G. Hirsch, and R. Buenker. Chem. Phys. Lett., 259:151, 1996.
[589] A. V. Mitin, G. Hirsch, and R. Buenker. J. Comput. Chem., 18:1200, 1997.
[590] Mariusz P. Mitoraj, Artur Michalak, and Tom Ziegler. A combined charge and energy decomposition scheme
for bond analysis. J. Chem. Theory Comput., 5(4):962–975, 2009.
[591] B. Mondal, F. Neese, E. Bill, and S. F. Ye. Electronic structure contributions of non-herne oxo-iron(v)
complexes to the reactivity. J. Am. Chem. Soc., 140(30):9531–9544, 2018. URL: \T1\textless{}GotoISI\T1\
textgreater{}://WOS:000440877000033, doi:10.1021/jacs.8b04275.
[592] Marco Montalti, Alberto Credi, Luca Prodi, and M. Teresa Gandolfi. Handbook of Photochemistry, Third
Edition. CRC Press, 3 edition edition, 02 2006. ISBN 978-0-8247-2377-4.
[593] K. Mori, T. P. M. Goumans, E. van Lenthe, and F. Wang. Predicting phosphorescent lifetimes and zero-field
splitting of organometallic complexes with time-dependent density functional theory including spin–orbit
coupling. Phys. Chem. Chem. Phys., 16(28):14523–14530, 06 2014. URL: http://pubs.rsc.org/en/content/
articlelanding/2014/cp/c3cp55438d, doi:10.1039/C3CP55438D.
[594] A. Moritz, X. Cao, and M. Dolg. Theor. Chem. Acc., 117 & 118:473 & 845, 2007.
[595] A. Moritz and M. Dolg. Theor. Chem. Acc., 121:297, 2008.
[596] D. H. Moseley, S. E. Stavretis, K. Thirunavukkuarasu, M. Ozerov, Y. Q. Cheng, L. L. Daemen, J. Ludwig,
Z. G. Lu, D. Smirnov, C. M. Brown, A. Pandey, A. J. Ramirez-Cuesta, A. C. Lamb, M. Atanasov, E. Bill,
F. Neese, and Z. L. Xue. Spin-phonon couplings in transition metal complexes with slow magnetic relax-
ation. Nature Comm., 9:11, 2018. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000437101700002,
doi:10.1038/s41467-018-04896-0.
[597] D. Mukherjee. Chem. Phys. Lett., 274:561, 1997.
1288 Bibliography
ORCA Manual, Release 6.0
[598] R. P. Muller, J. M. Langlois, M. N. Ringnalda, R. A. Friesner, and W. A. Goddard. J. Chem. Phys., 100:1226,
1994.
[599] R. S. Mulliken. Electronic population analysis on lcao–mo molecular wave functions. i. J. Chem. Phys.,
23(10):1833–1840, 1955. URL: https://doi.org/10.1063/1.1740588, doi:10.1063/1.1740588.
[600] R. S. Mulliken. Report on notation for the spectra of polyatomic molecules. J. Chem. Phys.,
23(11):1997–2011, 1955. URL: https://doi.org/10.1063/1.1740655, doi:10.1063/1.1740655.
[601] C. W. Murray, N. C. Handy, and G. J. Laming. Mol. Phys., 78:997, 1993.
[602] A. Najibi, M. Casanova-Páez, and L. Goerigk. Analysis of recent BLYP- and PBE-based range-separated
double-hybrid density functional approximations for main-group thermochemistry, kinetics, and noncova-
lent interactions. J. Phys. Chem. A, 125:4026–4035, 2021.
[603] A. Najibi and L. Goerigk. J. Chem. Theory Comput., 14:5725, 2018.
[604] A. Najibi and L. Goerigk. J. Comput. Chem., 41:2562–2572, 2020.
[605] Haruyuki Nakano. Quasidegenerate perturbation theory with multiconfigurational self-consistent-field ref-
erence functions. J. Chem. Phys., 99(10):7983–7992, 11 1993. doi:doi:10.1063/1.465674.
[606] G. Nave, S. Johansson, R. C. M. Learner, A. P. Thorne, and J. W. Brault. Astrophys. J., Suppl. Ser., 94:221,
1994.
[607] E. F. Neese, F.; Valeev. Revisiting the atomic natural orbital approach for basis sets: robust systematic
basis sets for explicitly correlated and conventional correlated ab initio methods. J. Chem. Theory Comput.,
7:33–43, 2011.
[608] F. Neese. Chem. Phys. Lett., 325:93, 2000.
[609] F. Neese. Inorg. Chim. Acta, 337C:181–192, 2002.
[610] F. Neese. Chem. Phys. Lett., 380:721–728, 2003.
[611] F. Neese. J. Chem. Phys., 122:034107, 2005.
[612] F. Neese. J. Am. Chem. Soc., 128:10213, 2006.
[613] F. Neese. J. Biol. Inorg. Chem., 11:702, 2006.
[614] F. Neese. J. Chem. Phys., 127:164112, 2007.
[615] F. Neese. Coordin. Chem. Rev., 253:526, 2009.
[616] F. Neese, M. Atanasov, G. Bistoni, D. Maganas, and S. F. Ye. Chemistry and quantum mechanics in 2019:
Give us insight and numbers. J. Am. Chem. Soc., 141(7):2814–2824, 2019. URL: \T1\textless{}GotoISI\
T1\textgreater{}://WOS:000459642000006, doi:10.1021/jacs.8b13313.
[617] F. Neese, A. Hansen, and D. G. Liakos. J. Chem. Phys., 131:064103, 2009.
[618] F. Neese, A. Hansen, F. Wennmohs, and S. Grimme. Acc. Chem. Res., 42:641, 2009.
[619] F. Neese, D. G. Liakos, and S. F. Ye. J. Biol. Inorg. Chem., 16:821, 2011.
[620] F. Neese, T. Schwabe, and S. Grimme. J. Chem. Phys., 126:124115, 2007.
[621] F. Neese, T. Schwabe, S. Kossmann, B. Schirmer, and S. Grimme. J. Chem. Theory Comput., 5:3060, 2009.
[622] F. Neese and E. I. Solomon. Inorg. Chem., 37:6568–6582, 1998.
[623] F. Neese, F. Wennmohs, and A. Hansen. J. Chem. Phys., 130:114108, 2009.
[624] F. Neese, F. Wennmohs, A. Hansen, and U. Becker. Chem. Phys., 356:98–109, 2009.
[625] Frank Neese. The orca program system. Wiley Interdiscip. Rev. Comput. Mol. Sci., 2(1):73–78, 2012.
doi:http://doi.wiley.com/10.1002/wcms.81.
[626] Frank Neese. High-level spectroscopy, quantum chemistry, and catalysis: not just a passing fad. Angew.
Chem. Int. Ed., 56(37):11003–11010, 2017.
Bibliography 1289
ORCA Manual, Release 6.0
[627] Frank Neese. Quantum Chemistry and EPR Parameters, pages 1–22. American Can-
cer Society, 2017. URL: https://onlinelibrary.wiley.com/doi/abs/10.1002/9780470034590.
emrstm1505, arXiv:https://onlinelibrary.wiley.com/doi/pdf/10.1002/9780470034590.emrstm1505,
doi:https://doi.org/10.1002/9780470034590.emrstm1505.
[628] Frank Neese. Software update: the orca program system, version 4.0. Wiley Interdiscip. Rev. Comput. Mol.
Sci., 8(1):e1327, 2018. doi:http://doi.wiley.com/10.1002/wcms.1327.
[629] Frank Neese, Taras Petrenko, Dmitry Ganyushin, and Gottfried Olbrich. Advanced aspects of ab initio the-
oretical optical spectroscopy of transition metal complexes: Multiplets, spin-orbit coupling and resonance
Raman intensities. Coordin. Chem. Rev., 251(3-4):288–327, 02 2007. doi:10.1016/j.ccr.2006.05.019.
[630] Frank Neese, Frank Wennmohs, Ute Becker, and Christoph Riplinger. The orca quantum chemistry program
package. J. Chem. Phys., 152(22):224108, 2020. doi:https://aip.scitation.org/doi/10.1063/5.0004608.
[631] J. Neugebauer, M. Reiher, C. Kind, and B. A. Hess. J. Comput. Chem., 23:895–910, 2002.
[632] Johannes Neugebauer, Markus Reiher, Carsten Kind, and Bernd A. Hess. Quantum chemical calcula-
tion of vibrational spectra of large molecules—Raman and IR spectra for Buckminsterfullerene. J. Com-
put. Chem., 23(9):895–910, 07 2002. URL: http://onlinelibrary.wiley.com/doi/10.1002/jcc.10089/abstract,
doi:10.1002/jcc.10089.
[633] A. Nicklass, M. Dolg, H. Stoll, and H. Preuss. J. Chem. Phys., 102:8942–8952, 1995.
[634] C. Nieke and J. Reinhold. Theor. Chim. Acta, 65:99, 1984.
[635] Hidetaka Nishimura, Kazuo Tanaka, Yasuhiro Morisaki, Yoshiki Chujo, Atsushi Wakamiya, and Yasujiro
Murata. Oxygen-bridged diphenylnaphthylamine as a scaffold for full-color circularly polarized luminescent
materials. The Journal of Organic Chemistry, 82(10):5242–5249, 2017. URL: https://www.sciencedirect.
com/science/article/pii/S0022326321002929, doi:https://doi.org/10.1021/acs.joc.7b00511.
[636] J. Nocedal. Updating quasi-Newton matrices with limited storage. Math. Comput., 35(151):773–782, 1980.
[637] L. Noodleman. J. Chem. Phys., 74:5737, 1981.
[638] L. Noodleman and E. R. Davidson. Chem. Phys., 109:131, 1986.
[639] Marcel Nooijen and Rodney J. Bartlett. A new method for excited states: Similarity transformed
equation-of-motion coupled-cluster theory. The Journal of Chemical Physics, 106(15):6441–6448,
04 1997. URL: https://doi.org/10.1063/1.474000, arXiv:https://pubs.aip.org/aip/jcp/article-
pdf/106/15/6441/19166848/6441\_1\_online.pdf, doi:10.1063/1.474000.
[640] Marcel Nooijen, Ondrej Demel, Dipayan Datta, Liguo Kong, K. R. Shamasundar, V. Lotrich, Lee M. Hunt-
ington, and Frank Neese. Communication: Multireference equation of motion coupled cluster: A transform
and diagonalize approach to electronic structure. J. Chem. Phys., 140(8):081102, 2014.
[641] D. A. Pantazis, X.-Y. Chen, C. R. Landis, and F. Neese. J. Chem. Theory Comput., 4:908–919, 2008.
[642] D. A. Pantazis and F. Neese. J. Chem. Theory Comput., 5:2229–2238, 2009.
[643] D. A. Pantazis and F. Neese. J. Chem. Theory Comput., 7:677–684, 2011.
[644] D. A. Pantazis and F. Neese. Theor. Chem. Acc., 131:1292, 2012.
[645] D. A. Pantazis, M. Orio, T. Petrenko, S. Zein, E. Bill, W. Lubitz, J. Messinger, and F. Neese. Chem. Eur. J.,
15:5108, 2009.
[646] Ewa Papajak and Donald G. Truhlar. Convergent partially augmented basis sets for Post-Hartree-Fock cal-
culations of molecular properties and reaction barrier heights. J. Chem. Theory Comput., 7(1):10–18, 2011.
URL: https://doi.org/10.1021/ct1005533, doi:10.1021/ct1005533.
[647] R. G. Parr. Density Functional Theory of Atoms and Molecules. International Series of Monographs on
Chemistry. Oxford University Press, 1994. ISBN 978-0-19-509276-9.
[648] H. Partridge. J. Chem. Phys., 87:6643, 1987.
[649] H. Partridge. J. Chem. Phys., 90:1043, 1989.
[650] J. L. Pascual-Ahuir and E. Silla. J. Comput. Chem., 11:1047–1060, 1990.
1290 Bibliography
ORCA Manual, Release 6.0
Bibliography 1291
ORCA Manual, Release 6.0
[678] Taras Petrenko, Simone Kossmann, and Frank Neese. Efficient time-dependent density functional
theory approximations for hybrid density functionals: Analytical gradients and parallelization.
J. Chem. Phys., 134(5):054116, 02 2011. URL: http://aip.scitation.org/doi/abs/10.1063/1.3533441,
doi:10.1063/1.3533441.
[679] Taras Petrenko and Frank Neese. Analysis and prediction of absorption band shapes, fluorescence band
shapes, resonance Raman intensities, and excitation profiles using the time-dependent theory of elec-
tronic spectroscopy. J. Chem. Phys., 127(16):164319, 10 2007. URL: https://doi.org/10.1063/1.2770706,
doi:10.1063/1.2770706.
[680] Taras Petrenko, Wolfgang Sturhahn, and Frank Neese. Hyperfine Interact., 175:165, 2007.
[681] R. A. Pierotti. Chem. Rev., 76:717, 1976.
[682] W. J. Pietro, E. S. Blurock, R. F. Hout, Hehrem W. J., D. J. DeFrees, and R. F. Stewart. Inorg. Chem.,
20:3650, 1981.
[683] W. J. Pietro and W. J. Hehre. J. Comput. Chem., 4:241, 1983.
[684] W. J. Pietro, B. A. Levi, W. J. Hehre, and R. F. Stewart. Inorg. Chem., 19:2225, 1980.
[685] P. Pinski, C. Riplinger, E. F. Valeev, and Frank Neese. J. Chem. Phys., 143:034108, 2015.
[686] Peter Pinski and Frank Neese. Communication: Exact analytical derivatives for the domain-based local pair
natural orbital MP2 method (DLPNO-MP2). J. Chem. Phys., 148:031101, 2018. doi:10.1063/1.5011204.
[687] Peter Pinski and Frank Neese. Analytical gradient for the domain-based local pair natural orbital second
order Møller-Plesset perturbation theory method (DLPNO-MP2). J. Chem. Phys., 150:164102, 2019.
[688] F. Plasser, M. Wormit, and A. Dreuw. J. Chem. Phys., 141:024106, 2014.
[689] Christoph Plett, Marcel Stahn, Markus Bursch, Jan-Michael Mewes, and Stefan Grimme. Improving quan-
tum chemical solvation models by dynamic radii adjustment for continuum solvation method (DRACO). J.
Phys. Chem. Lett., 15:2462, 2024.
[690] Patrik Pollak and Florian Weigend. Segmented contracted error-consistent basis sets of double- and triple-ζ
valence quality for one- and two-component relativistic all-electron calculations. J. Chem. Theory Comput.,
13(8):3696–3705, 2017. URL: https://doi.org/10.1021/acs.jctc.7b00593, doi:10.1021/acs.jctc.7b00593.
[691] Christopher J. Pollock, Mario Ulises Delgado-Jaime, Mihail Atanasov, Frank Neese, and Serena De-
Beer. Kβ mainline x-ray emission spectroscopy as an experimental probe of Metal–Ligand cova-
lency. J. Am. Chem. Soc., 136(26):9453–9463, 2014. URL: https://pubmed.ncbi.nlm.nih.gov/24914450/,
doi:https://doi.org/10.1021/ja504182n.
[692] J. A. Pople and D. L. Beveridge. Approximate Molecular Orbital Theory. McGraw Hill Inc, 1970.
[693] J. A. Pople, D. L. Beveridge, and P. A. Dobosh. J. Chem. Phys., 47:2026, 1967.
[694] J. A. Pople, J. S. Binkley, and R. Seeger. Int. J. Quant. Chem. Symp., 10:1, 1976.
[695] J. A. Pople, P. M. W. Gill, and B. G. Johnson. Chem. Phys. Lett., 199:557, 1992.
[696] J. A. Pople and G. A. Segal. J. Chem. Phys., 43:136, 1965.
[697] J. A. Pople and G. A. Segal. J. Chem. Phys., 44:3289, 1966.
[698] Philipp Pracht, Fabian Bohle, and Stefan Grimme. Automated exploration of the low-energy chemical space
with fast quantum chemical methods. Physical Chemistry Chemical Physics, 22(14):7169–7192, April 2020.
Publisher: The Royal Society of Chemistry. URL: https://pubs.rsc.org/en/content/articlelanding/2020/cp/
c9cp06869d (visited on 2022-04-22), doi:10.1039/C9CP06869D.
[699] Philipp Pracht, Eike Caldeweyher, Sebastian Ehlert, and Stefan Grimme. A robust non-self-consistent
tight-binding quantum chemistry method for large molecules. ChemRxiv, pages DOI: 10.26434/chem-
rxiv.8326202.v1, 2019.
[700] Philipp Pracht and Stefan Grimme. Calculation of absolute molecular entropies and heat capacities
made simple. Chemical Science, 12(19):6551–6568, May 2021. Publisher: The Royal Society of Chem-
istry. URL: https://pubs.rsc.org/en/content/articlelanding/2021/sc/d1sc00621e (visited on 2022-08-16),
doi:10.1039/D1SC00621E.
1292 Bibliography
ORCA Manual, Release 6.0
[701] Philipp Pracht, Rainer Wilcken, Anikó Udvarhelyi, Stephane Rodde, and Stefan Grimme. High accuracy
quantum-chemistry-based calculation and blind prediction of macroscopic pKa values in the context of the
SAMPL6 challenge. J. Comput.-Aided Mol. Des., 08 2018. doi:10.1007/s10822-018-0145-7.
[702] P. Pulay. ImprovedSCF convergence acceleration. J. Comput. Chem., 3(4):556–560, 0024. URL: http://doi.
wiley.com/10.1002/jcc.540030413 (visited on 2021-02-24), doi:10.1002/jcc.540030413.
[703] P. Pulay. Chem. Phys. Lett., 73:393, 1980.
[704] P. Pulay. J. Comput. Chem., 3:556, 1982.
[705] P. Pulay, S. Saebo, and W. Meyer. J. Chem. Phys., 81:1901, 1984.
[706] C. C. Pye and T. Ziegler. Theor. Chem. Acc., 101:396, 1999.
[707] José M Pérez-Jordá and Weitao Yang. A concise redefinition of the solid spherical harmonics and its use in
fast multipole methods. The Journal of chemical physics, 104(20):8003–8006, 1996.
[708] M. Römelt, S. Ye, and F. Neese. Inorg. Chem., 48:784, 2009.
[709] E. Ramos-Cordoba, E. Matito, I. Mayer, and P. Salvador. J. Chem. Theory Comput., 8:1270, 2012.
[710] Dmitrij Rappoport. Property-optimized Gaussian basis sets for lanthanides. J. Chem. Phys., 155:124102,
2021. URL: https://doi.org/10.1063/5.0065611, doi:10.1063/5.0065611.
[711] Dmitrij Rappoport and Filipp Furche. J. Chem. Phys., 133:134105, 2010.
[712] V. Rassolov, J. A. Pople, M. Ratner, and T. L. Windus. J. Chem. Phys., accepted 1998.
[713] K. Ray, S. DeBeer-George, E. I. Solomon, K. Wieghardt, and F. Neese. Chem. Eur. J., 13:2783, 2007.
[714] Sarah Reimann, Ulf Ekström, Stella Stopkowicz, Andrew M Teale, Alex Borgoo, and Trygve Helgaker. The
importance of current contributions to shielding constants in density-functional theory. Phys. Chem. Chem.
Phys., 17(28):18834–18842, 2015. URL: http://pubs.rsc.org/en/content/articlehtml/2015/cp/c5cp02682b,
arXiv:26123927, doi:10.1039/C5CP02682B.
[715] Jeffrey R. Reimers. A practical method for the use of curvilinear coordinates in calculations
of normal-mode-projected displacements and Duschinsky rotation matrices for large molecules. J.
Chem. Phys., 115(20):9103–9109, 11 2001. URL: http://aip.scitation.org/doi/abs/10.1063/1.1412875,
doi:10.1063/1.1412875.
[716] Kevin Reiter, Michael Kühn, and Florian Weigend. Vibrational circular dichroism spectra for large molecules
and molecules with heavy elements. The Journal of Chemical Physics, 146(5):054102, feb 2017. URL:
http://aip.scitation.org/doi/10.1063/1.4974897, doi:10.1063/1.4974897.
[717] Marius Retegan, Nicholas Cox, Dimitrios A. Pantazis, and Frank Neese. A First-Principles Approach to the
Calculation of the on-Site Zero-Field Splitting in Polynuclear Transition Metal Complexes. Inorg. Chem.,
53(21):11785–11793, 11 2014. doi:10.1021/ic502081c.
[718] Young Min Rhee and Martin Head-Gordon. J. Phys. Chem. A, 111:5314–5326, 2007.
[719] J. Ribas-Arino and D. Marx. Chem. Rev., 112(10):5412–5487, 2012.
[720] J. Ridley and M. C. Zerner. Theor. Chim. Acta, 32:111, 1973.
[721] C. Riplinger and F. Neese. J. Chem. Phys., 138:034106, 2013.
[722] C. Riplinger, P. Pinski, U. Becker, E. F. Valeev, and Frank Neese. J. Chem. Phys., 144:024109, 2016.
[723] C. Riplinger, B. Sandhoefer, A. Hansen, and F. Neese. J. Chem. Phys., 139:134101, 2013.
[724] Christoph Riplinger, Joseph P. Y. Kao, Gerald M. Rosen, Velavan Kathirvelu, Gareth R. Eaton, Sandra S.
Eaton, Andrei Kutateladze, and Frank Neese. J. Am. Chem. Soc., 131:10092, 2009.
[725] T. Risthaus, A. Hansen, and S. Grimme. Phys. Chem. Chem. Phys., 16:14408–14419, 2014.
[726] Melvin B. Robin. Higher Excited States of Polyatomic Molecules. Academic Press, 1974. ISBN 978-0-12-
589901-7.
[727] M. Roemelt and F. Neese. J. Phys. Chem. A, 117:3069–3082, 2013.
Bibliography 1293
ORCA Manual, Release 6.0
[728] J. D. Rolfes, M. van Gastel, and F. Neese. Where is the fluoro wall?: A quantum chemical inves-
tigation. Inorg. Chem., 59(2):1556–1565, 2020. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:
000509420100065, doi:10.1021/acs.inorgchem.9b03474.
[729] Julian D. Rolfes, Frank Neese, and Dimitrios A. Pantazis. All-electron scalar relativistic basis sets for the
elements Rb–Xe. J. Comput. Chem., 41:1842–1849, 2020. doi:10.1002/jcc.26355.
[730] M Rolik, Z.; Kallay. A general-order local coupled-cluster method based on the cluster-in-molecule ap-
proach. J. Chem. Phys., 135:104111, 2011. doi:https://doi.org/10.1063/1.3632085.
[731] C. Romelt, S. F. Ye, E. Bill, T. Weyhermuller, M. van Gastel, and F. Neese. Electronic structure and
spin multiplicity of iron tetraphenylporphyrins in their reduced states as determined by a combination
of resonance raman spectroscopy and quantum chemistry. Inorg. Chem., 57(4):2141–2148, 2018. URL:
\T1\textless{}GotoISI\T1\textgreater{}://WOS:000426014800048, doi:10.1021/acs.inorgchem.7b03018.
[732] Björn O. Roos and Kerstin Andersson. Multiconfigurational perturbation theory with level shift —
the Cr2 potential revisited. Chem. Phys. Lett., 245:215–223, 10 1995. doi:https://doi.org/10.1016/0009-
2614(95)01010-7.
[733] L. E. Roy, J. Hay, and R. L. Martin. J. Chem. Theory Comput., 4:1029, 2008.
[734] E. Ruiz, J. Cano, S. Alvarez, and P. Alemany. J. Comput. Chem., 20:1391, 1999.
[735] Paweł Sał ek, Stinne Hø st, Lea Thø gersen, Poul Jø rgensen, Pekka Manninen, Jeppe Olsen, Branislav
Jansík, Simen Reine, Filip Pawł owski, Erik Tellgren, Trygve Helgaker, and Sonia Coriani. Linear-scaling
implementation of molecular electronic self-consistent field theory. J. Chem. Phys., 126(11):114110, 2007.
[736] Ali Sadeghi, S. Alireza Ghasemi, Bastian Schaefer, Stephan Mohr, Markus A. Lill, and Stefan Goedecker.
Metrics for measuring distances in configuration spaces. The Journal of Chemical Physics, 139(18):184118,
November 2013. Publisher: American Institute of Physics. URL: https://aip.scitation.org/doi/abs/10.1063/
1.4828704 (visited on 2022-04-25), doi:10.1063/1.4828704.
[737] S. Saebo and J. Almlöf. Chem. Phys. Lett., 154:83, 1989.
[738] T. Saito, S. Nishihara, Y. Kataoka, Y. Nakanishi, Y. Kitagawa, T. Kawakami, S. Yamanaka, M. Okumura,
and K. Yamaguchi. J. Phys. Chem. A, 114:7967, 2010.
[739] T. Saito and W. Thiel. J. Phys. Chem. A, 116:10864, 2012.
[740] M. Saitow, U. Becker, C. Riplinger, E. F. Valeev, and F. Neese. J. Chem. Phys., 146:164105, 2017.
[741] M. Saitow, A. K. Dutta, and F. Neese. Accurate ionization potentials, electron affinities and electroneg-
ativities of single-walled carbon nanotubes by state-of-the-art local coupled-cluster theory. Bull. Chem.
Soc. Jpn., 92(1):170–174, 2019. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:000455409900003,
doi:10.1246/bcsj.20180254.
[742] Masaaki Saitow, Yuki Kurashige, and Takeshi Yanai. Multireference configuration interaction theory using
cumulant reconstruction with internal contraction of density matrix renormalization group wave function.
J. Chem. Phys., 139:044118, 07 2013. doi:10.1063/1.4816627.
[743] Masaaki Saitow and Frank Neese. Accurate spin-densities based on the domain-based local pair-natural
orbital coupled-cluster theory. J. Chem. Phys., 149:034104, 2018. doi:10.1063/1.5027114.
[744] C. A. M. Salla, J. T. dos Santos, G. Farias, A. J. Bortoluzi, S. F. Curcio, T. Cazati, R. Izsak, F. Neese,
B. de Souza, and I. H. Bechtold. New Boron(III) blue emitters for all-solution processed OLEDs: Molec-
ular design assisted by theoretical modeling. Eur. J. Inorg. Chem., pages 2247–2257, 2019. URL: \T1\
textless{}GotoISI\T1\textgreater{}://WOS:000471302400001, doi:10.1002/ejic.201900265.
[745] E. A. Salter, G. W. Trucks, and R. J. Bartlett. J. Chem. Phys., 90:1752, 1989.
[746] B. Sandhoefer and F. Neese. J. Chem. Phys., 137:094102, 2012.
[747] Gerald M. Sando and Kenneth G. Spears. Ab Initio Computation of the Duschinsky Mixing of Vibrations
and Nonlinear Effects. J. Phys. Chem. A, 105(22):5326–5333, 06 2001. URL: http://dx.doi.org/10.1021/
jp004230b, doi:10.1021/jp004230b.
[748] Fabrizio Santoro, Roberto Improta, Alessandro Lami, Julien Bloino, and Vincenzo Barone. Effec-
tive method to compute Franck-Condon integrals for optical spectra of large molecules in solution.
1294 Bibliography
ORCA Manual, Release 6.0
Bibliography 1295
ORCA Manual, Release 6.0
[770] C. E. Schulz, M. van Gastel, D. A. Pantazis, and F. Neese. Converged structural and spectroscopic properties
for refined qm/mm models of azurin. Inorg. Chem., 60(10):7399–7412, 2021. URL: \T1\textless{}GotoISI\
T1\textgreater{}://WOS:000653539100063, doi:10.1021/acs.inorgchem.1c00640.
[771] C. J. H. Schutte, J. E. Bertie, P. R. Bunker, J. T. Hougen, I. M. Mills, J. K. G. Watson, and B. P. Winnewisser.
Notations and conventions in molecular spectroscopy: part 2. symmetry notation (iupac recommenda-
tions 1997). Pure & Appl. Chem., 69(8):1641–1649, 1997. URL: https://doi.org/10.1351/pac199769081641,
doi:10.1351/pac199769081641.
[772] T. Schwabe and L. Goerigk. J. Chem. Theory Comput., 13:4307, 2017.
[773] T. Schwabe and S. Grimme. Phys. Chem. Chem. Phys., 8:4398, 2006.
[774] P. Schwerdtfeger, M. Dolg, W. H. E. Schwarz, G. A. Bowmaker, and P. D. W. Boyd. J. Chem. Phys.,
91:1762–1774, 1989.
[775] Martin Schütz. A new, fast, semi-direct implementation of linear scaling local coupled cluster theory. Phys-
ical Chemistry Chemical Physics, 4(16):3941–3947, 2002.
[776] Martin Schütz and Frederick R Manby. Linear scaling local coupled cluster theory with density fitting. part
i: 4-external integrals. Physical Chemistry Chemical Physics, 5(16):3349–3358, 2003.
[777] G. E. Scuseria and H. F. Schaefer III. Chem. Phys. Lett., 142:354, 1987.
[778] G. E. Scuseria, C. L. Janssen, and H. F. Schaefer III. J. Chem. Phys., 89:7382, 1988.
[779] J. Sedlej and I. L. Cooper. Semi-Emipirical Methods of Quantum Chemistry. 1985, John Wiley and Sons.
[780] R. Seeger and J. A. Pople. J. Chem. Phys., 66:3045, 1977.
[781] Emmanouil Semidalas and Jan M. L. Martin. Automatic generation of complementary aux-
iliary basis sets for explicitly correlated methods. Journal of Computational Chemistry,
43(25):1690–1700, 2022. URL: https://onlinelibrary.wiley.com/doi/abs/10.1002/jcc.26970,
arXiv:https://onlinelibrary.wiley.com/doi/pdf/10.1002/jcc.26970, doi:https://doi.org/10.1002/jcc.26970.
[782] Avijit Sen, Bernardo de Souza, Lee M. J. Huntington, Martin Krupička, Frank Neese, and Róbert Izsák.
An efficient pair natural orbital based configuration interaction scheme for the calculation of open-shell
ionization potentials. J. Chem. Phys., 149(11):114108, 2018.
[783] Robert Send and Filipp Furche. First-order nonadiabatic couplings from time-dependent hybrid density
functional response theory: Consistent formalism, implementation, and performance. J. Chem. Phys.,
132(4):044107, 01 2010. URL: https://aip.scitation.org/doi/10.1063/1.3292571 (visited on 2020-06-08),
doi:10.1063/1.3292571.
[784] Carlos Serpa, Luis G. Arnaut, Sebastião J. Formosinho, and K. Razi Naqvi. Calculation of triplet–triplet
energy transfer rates from emission and absorption spectra. The quenching of hemicarcerated triplet biacetyl
by aromatic hydrocarbons. Photochem. Photobiol. Sci., 2(5):616–623, 05 2003. doi:10.1039/B300049D.
[785] Rami Shafei, Ai Hamano, Christophe Gourlaouen, Dimitrios Maganas, Keiko Takano, Chantal Daniel, and
Frank Neese. Theoretical spectroscopy for unraveling the intensity mechanism of the optical and photolumi-
nescent spectra of chiral re(i) transition metal complexes. The Journal of Chemical Physics, 159(8):084102,
2023. URL: https://doi.org/10.1063/5.0153742.
[786] Sason Shaik, Rajeev Ramanan, David Danovich, and Debasish Mandal. Structure and reactivity/selectivity
control by oriented-external electric fields. Chem. Soc. Rev., 47:5125–5145, 2018. URL: http://dx.doi.org/
10.1039/C8CS00354H, doi:10.1039/C8CS00354H.
[787] Tareq M. Shami, Ayman A. El-Saleh, Mohammed Alswaitti, Qasem Al-Tashi, Mhd Amen Sum-
makieh, and Seyedali Mirjalili. Particle Swarm Optimization: A Comprehensive Survey. IEEE Ac-
cess, 10:10031–10061, 2022. URL: https://ieeexplore.ieee.org/document/9680690 (visited on 2024-06-25),
doi:10.1109/ACCESS.2022.3142859.
[788] Honghui Shang and Jinlong Yang. The Moving-Grid Effect in the Harmonic Vibrational Frequency Calcu-
lations with Numeric Atom-Centered Orbitals. The Journal of Physical Chemistry A, 124(14):2897–2906,
April 2020. Publisher: American Chemical Society. URL: https://doi.org/10.1021/acs.jpca.0c01453 (visited
on 2023-07-13), doi:10.1021/acs.jpca.0c01453.
[789] S. Sharma and G. K.-L. Chan. J. Chem. Phys., 136:124121, 2012.
1296 Bibliography
ORCA Manual, Release 6.0
Bibliography 1297
ORCA Manual, Release 6.0
[806] Kantharuban Sivalingam, Martin Krupička, Alexander A. Auer, and Frank Neese. Comparison of fully
internally and strongly contracted multireference configuration interaction procedures. J. Chem. Phys.,
145(5):054104, 08 2016. doi:10.1063/1.4959029.
[807] J. C. Slater. The Quantum Theory of Atoms Molecules and Solids, Vol. 4. McGraw Hill, New York, 1974.
[808] S. Smidstrup, A. Pedersen, K Stokbro, and H. and Jónsson. Improved initial guess for minimum energy path
calculations. J. Chem. Phys., 140(21):214106, 2014.
[809] T. Soda, Y. Kitagawa, T. Onishi, Y. Takano, Y. Shigeta, H. Nagao, Y. Yoshioka, and K. Yamaguchi. Chem.
Phys. Lett., 319:223, 2000.
[810] Alessandro Soncini and Willem Van den Heuvel. Communication: Paramagnetic NMR chemical shift in a
spin state subject to zero-field splitting. J. Chem. Phys., 138:021103, 2013. doi:doi:10.1063/1.4775809.
[811] L. K. Sorensen, M. Guo, R. Lindh, and M. Lundberg. J. Chem. Theory Comput., 115:174, 2016.
[812] Manuel Sparta, Marius Retegan, Peter Pinski, Christoph Riplinger, Ute Becker, and Frank Neese.
Multilevel approaches within the local pair natural orbital framework. J. Chem. Theory Comput.,
13(7):3198–3207, 07 2017. URL: https://pubs.acs.org/doi/10.1021/acs.jctc.7b00260, arXiv:28590754,
doi:10.1021/acs.jctc.7b00260.
[813] Sebastian Spicher, Christoph Plett, Philipp Pracht, Andreas Hansen, and Stefan Grimme. Automated Molec-
ular Cluster Growing for Explicit Solvation by Efficient Force Field and Tight Binding Methods. Journal of
Chemical Theory and Computation, 18(5):3174–3189, May 2022. Publisher: American Chemical Society.
URL: https://doi.org/10.1021/acs.jctc.2c00239, doi:10.1021/acs.jctc.2c00239.
[814] N. Spiller, V. G. Chilkuri, S. DeBeer, and F. Neese. Sulfur vs. Selenium as bridging ligand in di-
iron complexes: A theoretical analysis. Eur. J. Inorg. Chem., 2020(15-16):1525–1538, 2020. URL: \T1\
textless{}GotoISI\T1\textgreater{}://WOS:000520715700001, doi:10.1002/ejic.202000033.
[815] M. Stahn, S. Ehlert, and S. Grimme. Extended conductor-like polarizable continuum solva-
tion model (cpcm-x) for semiempirical methods. J. Phys. Chem. A, 127:7036–7043, 2023.
doi:https://doi.org/10.1021/acs.jpca.3c04382.
[816] V. N. Staroverov, G. E. Scuseria, J. Tao, and J. P. Perdew. J. Chem. Phys., 119:12129, 2003.
[817] S. E. Stavretis, Y. Q. Cheng, L. L. Daemen, C. M. Brown, D. H. Moseley, E. Bill, M. Atanasov, A. J.
Ramirez-Cuesta, F. Neese, and Z. L. Xue. Probing magnetic excitations in co-ii single-molecule magnets
by inelastic neutron scattering. Eur. J. Inorg. Chem., pages 1119–1127, 2019. URL: \T1\textless{}GotoISI\
T1\textgreater{}://WOS:000459919200008, doi:10.1002/ejic.201801088.
[818] K. K. Stavrev and M. C. Zerner. Spin-averaged hartree–fock procedure for spectroscopic calcula-
tions: the absorption spectrum of mn2+ in zns crystals. Int. J. Quant. Chem., 65(5):877–884, 1997.
URL: https://onlinelibrary.wiley.com/doi/abs/10.1002/%28SICI%291097-461X%281997%2965%
3A5%3C877%3A%3AAID-QUA51%3E3.0.CO%3B2-T, doi:https://doi.org/10.1002/(SICI)1097-
461X(1997)65:5<877::AID-QUA51>3.0.CO;2-T.
[819] Peter J. Steinbach and Bernard R. Brooks. New spherical-cutoff methods for long-range forces in macro-
molecular simulation. J. Comput. Chem., 15(7):667–683, 1994. URL: https://onlinelibrary.wiley.com/doi/
abs/10.1002/jcc.540150702, doi:10.1002/jcc.540150702.
[820] Johannes Steinmetzer, Stephan Kupfer, and Stefanie Gräfe. Pysisyphus: Exploring potential energy surfaces
in ground and excited states. International Journal of Quantum Chemistry, 121(3):e26390, 2021. URL:
https://onlinelibrary.wiley.com/doi/abs/10.1002/qua.26390, doi:10.1002/qua.26390.
[821] P. J. Stephens, F. J. Devlin, C. F. Chabalowski, and M. J. Frisch. Ab initio calculation of vibrational absorp-
tion and circular dichroism spectra using density functional force fields. J. Phys. Chem., 98:11623, 1994.
URL: https://pubs.acs.org/doi/pdf/10.1021/j100096a001, doi:https://doi.org/10.1021/j100096a001.
[822] J. P. Stewart. J. Comput. Chem., 10:209 & 221, 1989.
[823] R. F. Stewart. J. Chem. Phys., 50:2485, 1969.
[824] H. Stoll, B. Metz, and M. Dolg. J. Comput. Chem., 23:767, 2002.
[825] H. Stoll, P. Schwerdtfeger P. Fuentealba, J. Flad, L. von Szentpaly, and H. Preuss. J. Chem. Phys.,
81:2732–2736, 1984.
1298 Bibliography
ORCA Manual, Release 6.0
[826] Georgi L Stoychev, Alexander A Auer, Róbert Izsák, and Frank Neese. Self-consistent field calculation of
nuclear magnetic resonance chemical shielding constants using gauge-including atomic orbitals and approx-
imate two-electron integrals. J. Chem. Theory Comput., 14(2):619–637, 2018. URL: http://pubs.acs.org/doi/
10.1021/acs.jctc.7b01006, doi:10.1021/acs.jctc.7b01006.
[827] Georgi L. Stoychev, Alexander A. Auer, Jürgen Gauss, and Frank Neese. DLPNO-MP2 second derivatives
for the computation of polarizabilities and NMR shieldings. J. Chem. Phys., 154(16):164110, 2021. URL:
https://aip.scitation.org/doi/10.1063/5.0047125, doi:10.1063/5.0047125.
[828] Georgi L. Stoychev, Alexander A. Auer, and Frank Neese. Automatic generation of auxiliary basis sets.
J. Chem. Theory Comput., 13(2):554, 2017. URL: https://pubs.acs.org/doi/abs/10.1021/acs.jctc.6b01041,
doi:https://doi.org/10.1021/acs.jctc.6b01041.
[829] Georgi L. Stoychev, Alexander A. Auer, and Frank Neese. Efficient and accurate prediction of nu-
clear magnetic resonance shielding tensors with double-hybrid density functional theory. J. Chem.
Theory Comput., 14(9):4756–4771, 09 2018. URL: http://pubs.acs.org/doi/10.1021/acs.jctc.8b00624,
doi:10.1021/acs.jctc.8b00624.
[830] R. E. Stratmann, G. E. Scuseria, and M. J. Frisch. Chem. Phys. Lett., 257:213, 1996.
[831] S. J. Strickler and Robert A. Berg. Relationship between Absorption Intensity and Fluorescence Lifetime
of Molecules. J. Chem. Phys., 37(4):814–822, 08 1962. URL: http://aip.scitation.org/doi/abs/10.1063/1.
1733166 (visited on 2017-12-26), doi:10.1063/1.1733166.
[832] A. H. Stroud. Approximate Calculation of Multiple Integrals. Prentice-Hall, Englewood Cliffs, 1971.
[833] Jianwei Sun, Adrienn Ruzsinszky, and John P. Perdew. Strongly constrained and appro-
priately normed semilocal density functional. Phys. Rev. Lett., 115(3):036402, 07 2015.
doi:10.1103/PhysRevLett.115.036402.
[834] R. Sure and S. Grimme. J. Comput. Chem., 34:1672–1685, 2013.
[835] E. A. Suturina, D. Maganas, E. Bill, M. Atanasov, and F. Neese. Inorg. Chem., 54:9948–9961, 2015.
[836] Elizaveta A Suturina, Joscha Nehrkorn, Joseph M Zadrozny, Junjie Liu, Mihail Atanasov, Thomas Wey-
hermüller, Dimitrios Maganas, Stephen Hill, Alexander Schnegg, Eckhard Bill, and others. Magneto-
structural correlations in pseudotetrahedral forms of the [co (sph) 4] 2–complex probed by magnetometry,
mcd spectroscopy, advanced epr techniques, and ab initio electronic structure calculations. Inorg. Chem.,
56(5):3102–3118, 2017.
[837] Elizaveta A. Suturina, Dimitrios Maganas, Eckhard Bill, Mihail Atanasov, and Frank Neese. Magneto-
Structural Correlations in a Series of Pseudotetrahedral [CoII(XR)4]2– Single Molecule Magnets: An ab
Initio Ligand Field Study. Inorg. Chem., 54(20):9948–9961, 10 2015. doi:10.1021/acs.inorgchem.5b01706.
[838] Marcel Swart and F. Matthias Bickelhaupt. Optimization of strong and weak coordinates. Int. J. Quantum
Chem., 106(12):2536–2544, 01 2006. doi:10.1002/qua.21049.
[839] William C. Swope, H. C. Andersen, P. H. Berens, and K. R. Wilson. J. Chem. Phys., 76:637–649, 1982.
[840] A. Szabo and N. S. Ostlund. Modern Quantum Chemistry: Introduction to Advanced Electronic Struc-
ture Theory. Dover Publications, 1989. ISBN 978-0-486-69186-2. URL: http://books.google.de/books?id=
6mV9gYzEkgIC.
[841] P. G. Szalay and R. J. Bartlett. Chem. Phys. Lett., 214:481, 1993.
[842] K. Takatsuka, T. Fueno, and K. Yamaguchi. Theor. Chim. Acta, 48:175, 1978.
[843] Matthias Tamm, Luong Phong Ho, Alexandre Nasr, Peter G Jones, Ahmet Altun, Frank Neese, and Giovanni
Bistoni. London dispersion interactions in pnictogen cations [ECl$_2$]$^+$ and [E=E]$^2+$(E= p, as, sb)
supported by anionic n-heterocyclic carbenes. Chem. Eur. J., 2018. URL: https://onlinelibrary.wiley.com/
doi/abs/10.1002/chem.201804714.
[844] Alex Tarnopolsky, Amir Karton, Rotem Sertchook, Dana Vuzman, and Jan M L Martin. Double-hybrid
functionals for thermochemical kinetics. J. Phys. Chem. A, 112(1):3–8, 2008. URL: https://pubs.acs.org/
doi/abs/10.1021/jp710179r, doi:https://doi.org/10.1021/jp710179r.
Bibliography 1299
ORCA Manual, Release 6.0
[845] M. Tarrago, C. Romelt, J. Nehrkorn, A. Schnegg, F. Neese, E. Bill, and S. F. Ye. Experimental and the-
oretical evidence for an unusual almost triply degenerate electronic ground state of ferrous tetraphenyl-
porphyrin. Inorg. Chem., 60(7):4966–4985, 2021. URL: \T1\textless{}GotoISI\T1\textgreater{}://WOS:
000637850300081, doi:10.1021/acs.inorgchem.1c00031.
[846] Y. Tawada, T. Tsuneda, S. Yanagisawa, T. Yanai, and K. Hirao. J. Chem. Phys., 120:8425–8433, 2004.
[847] G. Te Velde and E. J. Baerends. J. Comp. Phys., 99:84, 1992.
[848] W. Thiel and A. A. Voityuk. Theor. Chim. Acta, 81:391, 1992.
[849] M. K. Thomsen, A. Nyvang, J. P. S. Walsh, P. C. Bunting, J. R. Long, F. Neese, M. Atanasov, A. Genoni,
and J. Oyergaard. Insights into single-molecule-magnet behavior from the experimental electron density of
linear two-coordinate iron complexes. Inorg. Chem., 58(5):3211–3218, 2019. URL: \T1\textless{}GotoISI\
T1\textgreater{}://WOS:000460600300035, doi:10.1021/acs.inorgchem.8b03301.
[850] Van Anh Tran and Frank Neese. Double-hybrid density functional theory for g-tensor calculations using
gauge including atomic orbitals. J. Chem. Phys., 153(5):054105, 08 2020. URL: https://doi.org/10.1063/5.
0013799, doi:10.1063/5.0013799.
[851] O. Treutler and R. J. Ahlrichs. J. Chem. Phys., 102:346, 1994.
[852] G. N. R. Tripathi and Robert H. Schuler. The resonance Raman spectrum of phenoxyl radical. J. Chem. Phys.,
81(1):113–121, 07 1984. URL: http://aip.scitation.org/doi/abs/10.1063/1.447373 (visited on 2018-02-07),
doi:10.1063/1.447373.
[853] T. N. Truong and E. V. Stefanovich. Chem. Phys. Lett., 240:253–260, 1995.
[854] S.A. Trygubenko and D.J. Wales. A doubly nudged elastic band method for finding transition states. J. Chem.
Phys., 120(5):2082–2094, 2004.
[855] Anil Kumar Tummanapelli and Sukumaran Vasudevan. Dissociation constants of weak acids from ab initio
molecular dynamics using metadynamics: Influence of the inductive effect and hydrogen bonding on pKa
values. J. Phys. Chem. B, 118(47):13651–13657, 2014. doi:10.1021/jp5088898.
[856] Anil Kumar Tummanapelli and Sukumaran Vasudevan. Estimating successive pKa values of polyprotic acids
from ab initio molecular dynamics using metadynamics: the dissociation of phthalic acid and its isomers.
Phys. Chem. Chem. Phys., 17(9):6383–6388, 2015. doi:10.1039/C4CP06000H.
[857] Liviu Ungur. Ab Initio Methodology for the Investigation of Magnetism in Strongly Anisotropic Complexes.
PhD thesis, KU Leuven, 10 2010.
[858] Liviu Ungur. Introduction to the electronic structure, luminescence, and magnetism of lanthanides. In
Pablo Martín-Ramos and Manuela Ramos Silva, editors, Lanthanide-Based Multifunctional Materials, Ad-
vanced Nanomaterials, pages 1–58. Elsevier, 2018. URL: http://www.sciencedirect.com/science/article/pii/
B9780128138403000016, doi:10.1016/B978-0-12-813840-3.00001-6.
[859] Liviu Ungur and Liviu F. Chibotaru. Ab initio crystal field for lanthanides. Chem. Eur. J.,
23(15):3708–3718, 2017. URL: https://chemistry-europe.onlinelibrary.wiley.com/doi/abs/10.1002/chem.
201605102, arXiv:https://chemistry-europe.onlinelibrary.wiley.com/doi/pdf/10.1002/chem.201605102,
doi:10.1002/chem.201605102.
[860] O. Vahtras, J. Almlöf, and M. W. Feyereisen. Chem. Phys. Lett., 213:514, 1993.
[861] O. Vahtras, B. Minaev, and H. Ågren. Ab initio calculations of electronic g-factors by means of multicon-
figuration response theory. Chem. Phys. Lett., 281(1):186–192, 1997. doi:https://doi.org/10.1016/S0009-
2614(97)01169-X.
[862] C. Van Alsenoy. J. Comput. Chem., 9:620, 1988.
[863] Willem Van den Heuvel and Alessandro Soncini. NMR chemical shift as analytical derivative of the
Helmholtz free energy. J. Chem. Phys., 138:054113, 2013. doi:doi:10.1063/1.4789398.
[864] E. van Lenthe, E. J. Baerends, and J. G. Snijders. J. Chem. Phys., 99(6):4597–4610, 1993.
[865] E. van Lenthe, E. J. Baerends, and J. G. Snijders. J. Chem. Phys., 101:9783–9792, 1994.
1300 Bibliography
ORCA Manual, Release 6.0
[866] C. Van Stappen, D. Maganas, S. DeBeer, E. Bill, and F. Neese. Investigations of the magnetic and
spectroscopic properties of V(III) and V(IV) complexes. Inorg. Chem., 57(11):6421–6438, 2018. URL:
\T1\textless{}GotoISI\T1\textgreater{}://WOS:000434491700027, doi:10.1021/acs.inorgchem.8b00486.
[867] C. van Wüllen. J. Chem. Phys., 109:392–399, 1998.
[868] Libor Veis, Andrej Antalík, Jiri Brabec, Frank Neese, Ors Legeza, and Jiri Pittner. Coupled cluster method
with single and double excitations tailored by matrix product state wave functions. J. Phys. Chem. Lett.,
7(20):4072–4078, 2016.
[869] L. Verlet. Phys. Rev., 159:98–103, 1967.
[870] Toon Verstraelen, Steven Vandenbrande, Farnaz Heidar-Zadeh, Louis Vanduyfhuys, Veronique Van Spey-
broeck, Michel Waroquier, and Paul W. Ayers. Minimal basis iterative stockholder: atoms in molecules for
force-field development. J. Chem. Theory Comput., 12:3894–3912, 2016. URL: https://doi.org/10.1021/acs.
jctc.6b00456, doi:10.1021/acs.jctc.6b00456.
[871] Veacheslav Vieru, Naoya Iwahara, Liviu Ungur, and Liviu F Chibotaru. Giant exchange interaction in mixed
lanthanides. Scientific reports, 6:24046, 2016.
[872] L. Visscher and K. G. Dyall. Atom. Data Nucl. Data Tabl., 67:207, 1997.
[873] L. von Szentpaly, P. Fuentealba, H. Preuss, and H. Stoll. Chem. Phys. Lett., 93:555–559, 1982.
[874] S. H. Vosko, L. Wilk, and M. Nusair. Can. J. Phys., 58:1200, 1980.
[875] T. Vreven, B. Mennucci, C. O. da Silva, K. Morokuma, and J. Tomasi. J. Chem. Phys., 115:62, 2001.
[876] O. A. Vydrov and T. Van Voorhis. J. Chem. Phys., 133:244103, 2010.
[877] A. J. H. Wachters. J. Chem. Phys., 52:1033, 1970.
[878] David J. Wales and Jonathan P. K. Doye. Global Optimization by Basin-Hopping and the Lowest Energy
Structures of Lennard-Jones Clusters Containing up to 110 Atoms. The Journal of Physical Chemistry
A, 101(28):5111–5116, July 1997. Publisher: American Chemical Society. URL: https://doi.org/10.1021/
jp970984n (visited on 2022-04-22), doi:10.1021/jp970984n.
[879] K. N. Walzl, C. F. Koerting, and A. Kuppermann. Electron-impact spectroscopy of acetaldehyde. J. Chem.
Phys., 87:3796–3803, 1987. doi:10.1063/1.452935.
[880] Y. Wang and M. Dolg. Theor. Chem. Acc., 100:124, 1998.
[881] A. Weigand, X. Cao, J. Yang, and M. Dolg. Theor. Chem. Acc., 126:117–127, 2010.
[882] F. Weigend and M. Häser. Theor. Chem. Acc., 97:331, 1997.
[883] F. Weigend, M. Häser, H. Patzelt, and R. Ahlrichs. Chem. Phys. Lett., 294:143, 1998.
[884] Florian Weigend and Alexander Baldes. Segmented contracted basis sets for one- and two-component
Dirac–Fock effective core potentials. J. Chem. Phys., 133(17):174102, 2010. URL: https://doi.org/10.1063/
1.3495681, doi:10.1063/1.3495681.
[885] Florian Weigend, Marco Kattannek, and Reinhart Ahlrichs. Approximated electron repulsion integrals:
Cholesky decomposition versus resolution of the identity methods. J. Chem. Phys., 130:164106, 04 2009.
doi:https://doi.org/10.1063/1.3116103.
[886] F. Wennmohs and F. Neese. Chem. Phys., 343:217–230, 2008. doi:.
[887] Hans-Joachim Werner and Wilfried Meyer. Pno-ci and pno-cepa studies of electron correlation effects: v.
static dipole polarizabilities of small molecules. Molecular Physics, 31(3):855–872, 1976.
[888] J. L. Whitten. J. Chem. Phys., 58:4496, 1973. doi:.
[889] K. B. Wiberg. Tetrahedron, 24:1083, 1968. doi:.
[890] E. B. Wilson, J. C. Decius, and P. C. Cross. Molecular Vibrations – the Theory of Infrared and Raman
Vibrational Spectra. Dover Publications, 1955.
[891] L. Wittmann, H. Neugebauer, S. Grimme, and M. Bursch. Dispersion-corrected r2scan based double-hybrid
functionals. J. Chem. Phys., 2023.
Bibliography 1301
ORCA Manual, Release 6.0
1302 Bibliography
ORCA Manual, Release 6.0
[917] Y. Zhao and Donald G. Truhlar. Theor. Chem. Acc., 120:215, 2008.
[918] Jingjing Zheng, Xuefei Xu, and Donald G Truhlar. Theor. Chem. Acc., 128:295–305, 2010.
[919] Y. C. Zheng and J. Almlöf. Chem. Phys. Lett., 214:397, 1993.
[920] Y. C. Zheng and J. Almlöf. J. Mol. Struct.: THEOCHEM, 388:277, 1996.
[921] Ting Zhu, Ju Li, Amit Samanta, Hyoung Gyu Kim, and Subra Suresh. Interfacial plasticity governs strain
rate sensitivity and ductility in nanostructured metals. Proc. Nat. Acad. Sci., 104(9):3031–3036, 2007.
URL: https://www.pnas.org/content/104/9/3031, arXiv:https://www.pnas.org/content/104/9/3031.full.pdf,
doi:10.1073/pnas.0611097104.
[922] J. Patrick Zobel, Juan J. Nogueira, and Leticia Gonzalez. The IPEA Dilemma in CASPT2. Chem. Sci., 09
2016.
[923] Gamess program. Gamess user manual.
Bibliography 1303