Manual for the MRCC

Program System

Release date: February 22, 2020

Department of Physical Chemistry and Materials Science

Budapest University of Technology and Economics

https://www.mrcc.hu/

## 1 Introduction

Mrcc is a suite of ab initio and density functional quantum chemistry programs for high-accuracy electronic structure calculations developed and maintained by the quantum chemistry research group at the Department of Physical Chemistry and Materials Science, TU Budapest [62]. Its special feature, the use of automated programming tools enabled the development of tensor manipulation routines which are independent of the number of indices of the corresponding tensors, thus significantly simplifying the general implementation of quantum chemical methods. Applying the automated tools of the program several quantum chemistry models and techniques of high complexity have been implemented so far including arbitrary single-reference coupled-cluster (CC) and configuration interaction (CI) methods, multi-reference CC approaches, CC and CI energy derivatives and response functions, arbitrary perturbative CC approaches. Many features of the package are also available with relativistic Hamiltonians allowing for accurate calculations on heavy element systems. The developed cost-reduction techniques and local correlation approaches also enable high-precision calculations for medium-sized and large molecules.

## 2 How to read this manual

In the following, words set in typewriter font denote file names, shell commands, environment variables, and input records of the input file. These must be typed as shown. Variables, that is, numbers, options, etc. which must by specified by the user will be given as $<$variable$>$. These must be replaced by the corresponding values of the variables. Optional items are denoted by brackets, e.g., as [$<$variable$>$].

## 3 Authors

The main authors of the Mrcc code and their major contributions are as follows.

Mihály  Kállay:

general design; driver program (dmrcc); input analyzer (minp); automated, string-based many-body code (goldstone, xmrcc, mrcc); domain construction for local correlation calculations (mulli); particular integral evaluation algorithms (integ); direct and density-fitting (DF) Hartree–Fock (HF) algorithms, DFT algorithms (scf); density-fitting MP2 and RPA algorithms (drpa)

Péter R.  Nagy:

local correlation methods and multi-level approaches (drpa); closed-shell coupled-cluster singles and doubles with perturbative triples [CCSD(T)] code (ccsd); parallelization of CCSD(T)

Dávid  Mester:

excited-state approaches (cis), bond functions (integ)

Zoltán  Rolik:

integral transformation and orbital optimization code (ovirt); domain construction for local correlation calculations (mulli)

Gyula  Samu:

density-fitting integrals (integ)

József  Csontos:

installation script (build.mrcc), geometry optimization, basis set optimization, the Mrcc homepage

József  Csóka:

quadratic and multi-configurational self-consistent field algorithms (scf)

P.  Bernát  Szabó:

open-shell CCSD(T) code (uccsd)

László  Gyevi-Nagy:

closed-shell CCSD(T) code (ccsd); parallelization of CCSD(T)

Bence  Hégely:

QM/MM and embedding approaches (qmmod)

Hartree–Fock self-consistent field code (scf)

Lóránt  Szegedy:

closed-shell CCSD(T) code (ccsd)

four-center atomic orbital integral code (integ)

Klára  Petrov:

orbital relaxation contribution to gradients for density-fitting methods, density-fitting MP2 gradient (prop)

Máté  Farkas:

orbital relaxation contribution to gradients for coupled-cluster methods (prop)

Pál  D.  Mezei:

double hybrid and van der Waals density functionals (dft)

Ádám  Ganyecz:

solvation models

In addition, Bence Kornis, Levente Dojcsák, Huliyar S. Nataraj, and Sanghamitra Das have also contributed to the development of the Mrcc code.

## 4 Citation

If results obtained with the Mrcc code are published, the publication must acknowledge the following two references.

“M. Kállay, P. R. Nagy, D. Mester, Z. Rolik, G. Samu, J. Csontos, J. Csóka, P. B. Szabó, L. Gyevi-Nagy, B. Hégely, I. Ladjánszki, L. Szegedy, B. Ladóczki, K. Petrov, M. Farkas, P. D. Mezei, and Á. Ganyecz: The MRCC program system: Accurate quantum chemistry from water to proteins, J. Chem. Phys. 152, 074107 (2020).”

Mrcc, a quantum chemical program suite written by M. Kállay, P. R. Nagy, D. Mester, Z. Rolik, G. Samu, J. Csontos, J. Csóka, P. B. Szabó, L. Gyevi-Nagy, B. Hégely, I. Ladjánszki, L. Szegedy, B. Ladóczki, K. Petrov, M. Farkas, P. D. Mezei, and Á. Ganyecz. See www.mrcc.hu.”

In addition, credit must be given to the corresponding papers which describe the implementation and the underlying methodological developments. The corresponding references are given in Sect. 6 of the manual.

If Mrcc is used combined with other program systems or libraries, the users are also requested to include appropriate citations to those packages as required by their authors.

## 5 Interfaces

Mrcc can be used as a standalone code, but interfaces have been developed to the Cfour, Columbus, Dirac, Molpro, Orca, and Psi quantum chemistry packages as well as the Amber molecular dynamics (MD) code. Mrcc, in standalone mode, can currently be used for single-point energy calculations, evaluation of first-order properties, geometry optimizations, and harmonic vibrational frequency calculations with the standard nonrelativistic Hamiltonian and effective core potentials. The interfaces enable the calculation of further molecular properties as well as several other features, such as the use of relativistic Hamiltonians and MCSCF orbitals or quantum mechanics/molecular mechanics (QM/MM) simulations. If Mrcc is used together with the aforementioned quantum chemistry packages, the integral, property integral, HF, MCSCF, and CPHF calculations, the integral and density-matrix transformations, etc. are performed by these program systems. Transformed MO (property) integrals are passed over to Mrcc, which carries out the correlation calculation and returns unrelaxed MO density matrices if necessary.

In the following we describe the use of the Cfour, Columbus, Dirac, Molpro, and Amber interfaces and the features that they enable. For a complete list of available features see Sect. 6. See also the description of keyword iface. For the Orca and Psi interfaces see the manual of these packages.

### 5.1 Cfour

Most of the implemented features are available via the Cfour interface using RHF, ROHF, and UHF orbitals: single-point energy calculations, geometry optimizations, first-, second-, and third-order property calculations, electronic excitation energies, excited-state and transition properties, diagonal Born–Oppenheimer correction (DBOC) calculations. Most of the properties implemented in Cfour are also available with Mrcc. The interface also enables the use of several relativistic Hamiltonians.

The Cfour interface is very user-friendly. You only have to prepare the input file ZMAT for Cfour with the keyword CC_PROG=MRCC, and run Cfour. The Mrcc input file is then written automatically and Mrcc is called directly by Cfour, and you do not need to write any input file for Mrcc. Most of the features of Mrcc can be controlled by the corresponding Cfour keyword, see Cfour’s homepage at www.cfour.de. If you use the Cfour interface, you can safely ignore the rest of this manual.

You also have the option to turn off the automatic construction of the Mrcc input file by giving INPUT_MRCC=OFF in the Cfour input file ZMAT. However, it is only recommended for expert users.

### 5.2 Columbus

Single-point energies, equilibrium geometries, ground- and excited-state first-order properties, and transition moments can be computed with RHF, ROHF, and MCSCF reference states using the Columbus interface. Evaluation of harmonic vibrational frequencies is also possible via numerically differentiated analytical gradients.

Running Mrcc with Columbus requires three additional programs, colto55, coldens, and runc_mrcc, which are available for Columbus licensees from the authors of Mrcc upon request.

To use this interface for single-point energy calculations first prepare input files for Columbus using the colinp script. It is important to set a calculation in the input file which requires a complete integral transformation (e.g., CISD and not just MCSCF). Execute Columbus. If you do not need the results of the Columbus calculations, you can stop them after completing the integral transformation. Run the colto55 program in the WORK directory created by Columbus. This will convert the Columbus integral files to the Mrcc format. Prepare input file MINP for Mrcc as described in Sect. 11. Run dmrcc as described in Sect. 9. It is recommended to execute first some inexpensive calculation (e.g., CISD) with Mrcc and compare the HF and CISD energies in order to test your input files.

For property calculations create the Columbus and the Mrcc input files. In the Columbus input set the corresponding MRCI property calculation. Copy the Mrcc input file MINP to the WORK directory of Columbus. If the directory does not exist, create it. Then execute the runc_mrcc script.

### 5.3 Dirac

The interface to the Dirac code enables four-component relativistic calculations with the full Dirac–Coulomb Hamiltonian and several approximate variants thereof. Single-point energy calculations are possible with all CC and CI methods implemented in Mrcc using Kramers-paired Dirac–Fock orbitals. First-order property (unrelaxed) calculations are available with iterative CC and CI methods. See Refs. 103 and 63 for more details.

If you use Dirac, you should first prepare input files for Dirac (see http://diracprogram.org/). It is important to run a full integral transformation with Dirac (see the description of the MOLTRA keyword in Dirac’s manual), and to use Abelian symmetry (that is, the $D_{2h}$ group and its subgroups). Execute the pam script saving the MRCONEE and MDCINT files, e.g., running it as
pam --get="MRCONEE MDCINT" --inp=Y.inp --mol=X.mol
where X.mol and Y.inp should be replaced by your input files as appropriate. Then run the dirac_mointegral_export interface program, which generates the files needed by Mrcc. It also creates a sample input file MINP for Mrcc, which contains the input for a closed-shell CCSD calculation. If you intend to run another type of calculation, please edit the file as described in Sect. 11. Please also note that you may need to modify the occupation vector under the refdet keyword (see the description of the keyword on page 12), and you should set hamilton=x2c if exact 2-component Hamiltonians are used. Then run dmrcc as described in Sect. 9.

For relativistic property calculations define the corresponding operator in the Dirac input file (see the description of the PROPERTIES and MOLTRA keywords in Dirac’s manual). Then execute the pam script as
pam --get="MRCONEE MDCINT MDPROP" --inp=Y.inp --mol=X.mol
and edit the MINP file, in particular, set the dens keyword (page 12). The CC property code currently does not work with double-group symmetry, and you need to turn off symmetry for CC property calculations, that is, set symm=off in the MINP file. Finally run dmrcc.

### 5.4 Molpro

With Molpro single-point energy calculations are available using RHF, UHF, ROHF, and MCSCF orbitals. The interface also enables the use of Douglas–Kroll–Hess Hamiltonians as well as effective core potentials.

The Molpro interface is very user-friendly. You only have to prepare the input file for Molpro with a line starting with the mrcc label followed by the corresponding keywords, and run Molpro. The Mrcc input file is then written automatically and Mrcc is called directly by Molpro, and you do not need to write any input file for Mrcc. Most of the features of Mrcc can be controlled by the corresponding Molpro keywords. If you use Molpro, you also have the option to install Mrcc with the makefile of Molpro.

For a detailed description of the interface point your browser to the Molpro User’s Manual at www.molpro.net and then click “34 The MRCC program of M. Kallay (MRCC)”.

If you use the Molpro interface, you can safely ignore the rest of this manual.

### 5.5 Amber

The Amber/Mrcc interface enables QM/MM and other multiscale calculations. The interface of the Amber MD code and Mrcc is based on the work of Götz et al. [33], which facilitates the integration of QM codes into Amber as external modules. The detailed description of the Amber/Mrcc interface is documented in Ref. 45. Currently for the separation of the QM and MM subsystems only the link atom approach is supported.

With the Amber/Mrcc program the projection-based embedding techniques, namely the projector-augmented operator of Manby and Miller [78] and our Huzinaga-operator[46] approaches, can also be employed for the QM region. The multilevel approach based on our local correlation methods is also supported[46]. The latter approaches enables the embedding of wave function theory (WFT) or density functional theory (DFT) methods into lower-level WFT or DFT methods and also the combinations thereof (DFT-in-DFT, WFT-in-DFT, WFT-in-WFT, and WFT-in-WFT-in-DFT). Consequently, with the Amber interface you can also define three (QM/QM/MM) or four (QM/QM/QM/MM) layers for the multilevel calculations. At the present stage of development, the multilevel methods with three or four layers are only available for single point energy calculations. The traditional multilevel approach, “Our own n-layered integrated molecular orbital and molecular mechanics” (ONIOM) of Morokuma et al.[80], is also supported with two QM layers by the interface for single point, geometry optimization, and (BornâOppenheimer) molecular dynamics calculations.

To use the Amber/Mrcc interface you need a properly installed version of Amber (version 2017 or later), see the Amber homepage at ambermd.org. The detailed description of the usage of the interface is well documented in the Amber manual, see section “10.2.6.6. AMBER/MRCC” in the manual. The ONIOM approach will be supported in the 2020 or later versions.

## 6 Features

In this section the available features of the Mrcc code are summarized. We also specify what type of reference states (orbitals) can be used, and if a particular feature requires one of the interfaces or is available with Mrcc in standalone mode. We also give the corresponding references which describe the underlying methodological developments.

### 6.1 Single-point energy calculations

#### Available methods

1. 1.

conventional and density-fitting (resolution-of-identity) Hartree–Fock SCF (Ref. 129): restricted HF (RHF), unrestricted HF (UHF), and restricted open-shell HF (ROHF)

2. 2.

conventional and density-fitting (resolution-of-identity) multi-configurational SCF (MCSCF)

3. 3.

conventional and density-fitting (resolution-of-identity) Kohn–Sham (KS) density functional theory (DFT) (Ref. 67): restricted KS (RKS), unrestricted KS (UKS), restricted open-shell KS (ROKS); local density approximation (LDA), generalized gradient approximation (GGA), meta-GGA (depending on kinetic-energy density and/or the Laplacian of the density), hybrid, range-separated hybrid (RSH), and double-hybrid (DH) functionals (for the available functionals see the description of keyword dft); dispersion corrections

4. 4.

time-dependent HF (TD-HF), time-dependent DFT (TD-DFT), TD-DFT in the Tamm–Dancoff approximation (TDA); currently only for closed-shell molecules with RHF/RKS reference using density-fitting, for LDA and GGA functionals and their hybrids and double hybrids (Refs. 85 and 84)

5. 5.

density-fitting (resolution-of-identity) MP2, spin-component scaled MP2 (SCS-MP2), and scaled opposite-spin MP2 (SOS-MP2); currently only for RHF and UHF references (Ref. 67)

6. 6.

density-fitting (resolution-of-identity) random-phase approximation (RPA, also known as ring-CCD, rCCD), direct RPA (dRPA, also known as direct ring-CCD, drCCD), second-order screened exchange (SOSEX), renormalized second-order perturbation theory (rPT2), and approximate RPA with exchange (RPAX2); currently the dRPA, SOSEX, rPT2, and RPAX2 methods are available for RHF/RKS and UHF/UKS references, while the RPA method is only implemented for RHF/RKS (Refs. 67 and 68)

7. 7.

scaled-equation and down-scaled dRPA and SOSEX methods (sedRPA, seSOSEX, dsdRPA, dsSOSEX (Ref. 94); range-separated dRPA (Ref. 93).

8. 8.

density-fitting (resolution-of-identity) second-order coupled-cluster singles and doubles (CC2), configuration interaction singles with perturbative correction for double excitations [CIS(D)], iterative doubles correction to configuration interaction singles [CIS(D${}_{\infty}$)], and second-order algebraic diagrammatic construction [ADC(2)] approaches; spin-component scaled CC2, CIS(D), CIS(D${}_{\infty}$), and ADC(2) [SCS-CC2, SCS-CIS(D), SCS-CIS(D${}_{\infty}$), and SCS-ADC(2)]; scaled opposite-spin CC2, CIS(D), CIS(D${}_{\infty}$), and ADC(2) [SOS-CC2, SOS-CIS(D), SOS-CIS(D${}_{\infty}$), and SOS-ADC(2)] (Refs. 87, 88, 84, and 86)

9. 9.

arbitrary single-reference coupled-cluster methods (Ref. 65): CCSD, CCSDT, CCSDTQ, CCSDTQP, …, CC($n$)

10. 10.

arbitrary single-reference configuration-interaction methods (Ref. 65): CIS, CISD, CISDT, CISDTQ, CISDTQP, …, CI($n$), …, full CI

11. 11.

arbitrary perturbative coupled-cluster models (Refs. 59, 8, and 61):

• CCSD[T], CCSDT[Q], CCSDTQ[P], …, CC($n-1$)[$n$]

• CCSDT[Q]/A, CCSDTQ[P]/A, …, CC($n-1$)[$n$]/A

• CCSDT[Q]/B, CCSDTQ[P]/B, …, CC($n-1$)[$n$]/B

• CCSD(T), CCSDT(Q), CCSDTQ(P), …, CC($n-1$)($n$)

• CCSDT(Q)/A, CCSDTQ(P)/A, …, CC($n-1$)($n$)/A

• CCSDT(Q)/B, CCSDTQ(P)/B, …, CC($n-1$)($n$)/B

• CCSD(T)${}_{\Lambda}$, CCSDT(Q)${}_{\Lambda}$, CCSDTQ(P)${}_{\Lambda}$, …, CC($n-1$)($n$)${}_{\Lambda}$

• CCSDT-1a, CCSDTQ-1a, CCSDTQP-1a, …, CC($n$)-1a

• CCSDT-1b, CCSDTQ-1b, CCSDTQP-1b, …, CC($n$)-1b

• CC2, CC3, CC4, CC5, …, CC$n$

• CCSDT-3, CCSDTQ-3, CCSDTQP-3, …, CC($n$)-3

12. 12.

multi-reference CI approaches (Ref. 66)

13. 13.

multi-reference CC approaches using a state-selective ansatz (Ref. 66)

14. 14.

arbitrary single-reference linear-response (equation-of-motion, EOM) CC methods (Ref. 58): LR-CCSD (EOM-CCSD), LR-CCSDT (EOM-CCSDT), LR-CCSDTQ (EOM-CCSDTQ), LR-CCSDTQP (EOM-CCSDTQP), …, LR-CC($n$) [EOM-CC($n$)]

15. 15.

linear-response (equation-of-motion) MRCC schemes (Ref. 58)

16. 16.

DFT/WFT embedding (Ref. 46): DFT-in-DFT, WFT-in-DFT, WFT-in-WFT, and WFT-in-WFT-in-DFT embedding (where WFT stands for wave function theory); currently embedding is only available for closed-shell systems using density-fitting; LDA, GGA, meta-GGA, or hybrid functionals can be used as the DFT method; any WFT method implemented in Mrcc can by used in WFT-in-DFT type embedding calculations; WFT-in-WFT multi-level methods (via keyword corembed) is only available for local correlation methods.

17. 17.

ONIOM approach with arbitrary number of layers [80]. Currently, only the integrated MO+MO (IMOMO) [54] part of ONIOM is available with mechanical embedding, electrostatic embedding, and automated link atom handling.

The CI and CC approaches listed above are available with RHF, UHF, standard/semi-canonical ROHF, MCSCF orbitals. Density-fitting with CI or high-order CC is currently enabled only for RHF references. For the perturbative CC approaches with ROHF reference determinant, for theoretical reasons, semi-canonical orbitals are used (see Ref. 61).

#### Features available via interfaces

1. 1.

The CI and CC approaches listed above are also available with the following interfaces and references.

RHF:

Cfour, Columbus, and Molpro

ROHF, standard orbitals:

Cfour, Columbus, and Molpro

ROHF, semi-canonical orbitals:

Cfour

UHF:

Cfour, and Molpro

MCSCF:

Columbus and Molpro

2. 2.

QM/MM calculations can be performed by the Amber interface using any method implemented in Mrcc for the QM region.

#### Notes

1. 1.

Single-point calculations are also possible with several types of relativistic Hamiltonians and reference functions, see Sect. 6.7 for more details.

2. 2.

Reduced-scaling approaches for the above CC and CI methods are available (Ref. 127). See Sect. 6.8 for details.

3. 3.

Local CC approaches for arbitrary single-reference and perturbative coupled-cluster models, local MP2 approaches, and local dRPA are available (Refs. 126, 129, 68, 101, 99, and 102). See Sect. 6.8 for details.

4. 4.

CC$n$ calculations with ROHF orbitals are not possible for theoretical reasons, see Ref. 61 for explanation.

5. 5.

Single-point CI and CC calculations are, in principle, possible with RKS, UKS, ROKS orbitals.

6. 6.

Solvation effects can be modeled by the polarizable continuum model (PCM) [138] via an interface to the PCMSolver library [16, 17, 1]. The PCM treatment is self-consistent for HF and KS SCF calculations, while, in the post-SCF steps, the potential of the solvent optimized at the SCF level is frozen. See the descriptions of keywords pcm*.

### 6.2 Geometry optimizations and first-order properties

#### Available methods

Geometry optimizations and first-order property calculations can be performed using analytic gradient techniques with the following methods.

1. 1.

conventional and DF (RI) HF-SCF (Ref. 129): RHF and UHF

2. 2.

conventional and DF (RI) DFT (Ref. 67): RKS and UKS with LDA, GGA, meta-GGA (depending only on kinetic-energy density), and hybrid functionals as well as dispersion corrections

3. 3.

double hybrid density functional methods (Ref. 67), such as B2PLYP, B2PLYP-D3, B2GPPLYP, etc. (current limitations: only MP2 correlation, closed shell RKS, no spin-component scaling, no meta-GGA functionals, only DH functionals for which the DFT contribution to the energy is stationary with respect to the variation of the MO coefficients)

4. 4.

DF-MP2 (RI-MP2), currently only for RHF references (Ref. 67)

5. 5.

arbitrary single-reference coupled-cluster methods (Refs. 65 and 56): CCSD, CCSDT, CCSDTQ, CCSDTQP, …, CC($n$)

6. 6.

arbitrary single-reference configuration-interaction methods (Refs. 65 and 56): CIS, CISD, CISDT, CISDTQ, CISDTQP, …, CI($n$), …, full CI

7. 7.

multi-reference CI approaches (Refs. 66 and 56)

8. 8.

multi-reference CC approaches using a state-selective ansatz (Refs. 66 and 56)

9. 9.

arbitrary single-reference linear-response (equation-of-motion, EOM) CC methods (Refs. 56 and 58): LR-CCSD (EOM-CCSD), LR-CCSDT (EOM-CCSDT), LR-CCSDTQ (EOM-CCSDTQ), LR-CCSDTQP (EOM-CCSDTQP), …, LR-CC($n$) [EOM-CC($n$)]

10. 10.

linear-response (equation-of-motion) MRCC schemes (Refs. 56 and 58)

11. 11.

The ONIOM approach with arbitrary number of layers [80]. Currently, only the IMOMO [54] part of ONIOM is available with mechanical embedding and automated link atom handling. ONIOM gradients with electronic embedding are also available with perturbation independent point charges.

Currently only unrestricted geometry optimizations are possible, and electric dipole, quadrupole, and octapole moments as well as the electric field at the atomic centers can be evaluated. In addition, Mulliken, Löwdin, and intrinsic atomic orbital (IAO) atomic charges, and Mayer bond orders can be computed using the SCF wave functions. Analytic gradients for the CI and CC methods listed above are available with RHF, UHF, and standard ROHF orbitals without density fitting.

The following keywords are available to control the optimization process

optalg

– to select an algorithm for the optimization

optmaxit

– maximum number of iterations allowed

optetol

– convergence criterion for energy change

optgtol

– convergence criterion for the gradient change

optstol

– convergence criterion for the step-size

The optimization will be terminated and regarded as successful when the maximum gradient component becomes less than optgtol and either an energy change from the previous step is less than optetol or the maximum displacement from the previous step is less than optstol. For their detailed description see Sect. 12.

#### Features available via interfaces

1. 1.

The implemented analytic gradients for the CI and CC approaches listed above can also be utilized via the Cfour and Columbus interfaces with the following references.

RHF:

Cfour and Columbus

ROHF, standard orbitals:

Cfour and Columbus

UHF:

Cfour

MCSCF:

Columbus

In addition to geometries, most of the first-order properties (dipole moments, quadrupole moments, electric field gradients, relativistic contributions, etc.) implemented in Cfour and Columbus can be calculated with Mrcc.

2. 2.

QM/MM geometry optimizations and MD calculations can be performed by the Amber interface using any method implemented in Mrcc for which analytic gradients are available.

#### Notes

1. 1.

Geometry optimizations and first-order property calculations can also be performed via numerical differentiation for all methods available in Mrcc using the Cfour interface.

2. 2.

Analytic gradients are are also available with several types of relativistic Hamiltonians and reference functions, see Sect. 6.7 for more details.

3. 3.

Analytic gradients are available with the PCM via an interface to the PCMSolver library [17, 1] at the HF and KS SCF levels. See the descriptions of keywords pcm*.

### 6.3 Harmonic frequencies and second-order properties

#### Available methods

Harmonic vibrational frequencies, infrared (IR) intensities, and ideal gas thermodynamic properties can be evaluated using numerically differentiated analytic gradients for all the methods listed in Sect. 6.2.

#### Features available via interfaces

CC and CI harmonic frequency and second-order property calculations for RHF and UHF references can also be performed using analytic second derivatives (linear response functions) with the aid of the Cfour interface. Analytic Hessians (LR functions) are available for the following approaches.

1. 1.

arbitrary single-reference coupled-cluster methods (Refs. 65, 56, 57, 60, 30, and 29): CCSD, CCSDT, CCSDTQ, CCSDTQP, …, CC($n$)

2. 2.

arbitrary single-reference configuration-interaction methods (Refs. 65, 56, and 57): CIS, CISD, CISDT, CISDTQ, CISDTQP, …, CI($n$), …, full CI

3. 3.

multi-reference CI approaches (Refs. 66, 56, and 57)

4. 4.

multi-reference CC approaches using a state-selective ansatz (Refs. 66, 56, 57, and 60)

In addition to harmonic vibrational frequencies [57], the analytic Hessian code has been tested for NMR chemical shifts [57], static and frequency-dependent electric dipole polarizabilities [60], magnetizabilities and rotational $g$-tensors [30], electronic $g$-tensors [29], spin-spin coupling constants, and spin rotation constants. These properties are available via the Cfour interface.

#### Notes

1. 1.

Using the Cfour interface harmonic frequency calculations are also possible via numerical differentiation of energies for all implemented methods with RHF, ROHF, and UHF orbitals.

2. 2.

Using the Cfour or the Columbus interface harmonic frequency calculations are also possible via numerical differentiation of analytic gradients for all implemented methods for which analytic gradients are available (see Sect. 6.2 for a list of these methods). With Cfour the calculation of static polarizabilities is also possible using numerical differentiation.

3. 3.

NMR chemical shifts can be computed for closed-shell molecules using gauge-including atomic orbitals and RHF reference function.

### 6.4 Higher-order properties

#### Features available via interfaces

Third-order property calculations can be performed using analytic third derivative techniques (quadratic response functions) invoking the Cfour interface for the following methods with RHF and UHF orbitals.

1. 1.

arbitrary single-reference coupled-cluster methods (Refs. 65, 56, 57, 107, and 106): CCSD, CCSDT, CCSDTQ, CCSDTQP, …, CC($n$)

2. 2.

multi-reference CC approaches using a state-selective ansatz (Refs. 66, 56, 57, 107, and 106)

#### Notes

1. 1.

The analytic third derivative code has been tested for static and frequency-dependent electric-dipole first (general, second-harmonic-generation, optical-rectification) hyperpolarizabilities [107] and Raman intensities [106]. Please note that the orbital relaxation effects are not considered for the electric-field. These properties are available via the Cfour interface.

2. 2.

Using the Cfour interface anharmonic force fields and the corresponding spectroscopic properties can be computed using numerical differentiation techniques together with analytic first and/or analytic second derivatives at all computational levels for which these derivatives are available (see Sect. 6.2 and 6.3 for a list of these methods).

### 6.5 Diagonal Born–Oppenheimer corrections

#### Features available via interfaces

Diagonal Born–Oppenheimer correction (DBOC) calculations can be performed using analytic second derivative techniques via the Cfour interface for the following methods with RHF and UHF references.

1. 1.

arbitrary single-reference coupled-cluster methods (Refs. 65, 56, 57, and 31): CCSD, CCSDT, CCSDTQ, CCSDTQP, …, CC($n$)

2. 2.

arbitrary single-reference configuration-interaction methods (Refs. 65, 56, 57, and 31): CIS, CISD, CISDT, CISDTQ, CISDTQP, …, CI($n$), …, full CI

3. 3.

multi-reference CI approaches (Refs. 66, 56, 57, and 31)

4. 4.

multi-reference CC approaches using a state-selective ansatz (Refs. 66, 56, 57, and 31)

### 6.6 Electronically excited states

#### Available methods

Excitation energies, first-order excited-state properties, and ground to excited-state transition moments can be computed as well as excited-state geometry optimizations can be performed using linear response theory and analytic gradients with the following methods.

1. 1.

arbitrary single-reference linear-response CC methods (Refs. 65, 56, and 58): LR-CCSD, LR-CCSDT, LR-CCSDTQ, LR-CCSDTQP, …, LR-CC($n$)

2. 2.

linear-response MRCC schemes (Refs. 66, 56, and 58)

3. 3.

arbitrary single-reference configuration-interaction methods (Refs. 65, 56, and 58): CIS, CISD, CISDT, CISDTQ, CISDTQP, …, CI($n$), …, full CI

4. 4.

multi-reference CI approaches (Refs. 66, 56, and 58)

Excitation energy and property calculations for the aforementioned methods are available with RHF, UHF, and standard ROHF orbitals. Density-fitting is only possible for RHF-based single point calculations. So far electric and magnetic dipole transition moments, both in the length and the velocity gauge, as well as the corresponding oscillator and rotator strengths have been implemented. For the list of implemented first-order properties see Sect. 6.2.

Excitation energies can also be computed for closed-shell systems using the density-fitting approximation and RHF (RKS) orbitals with the following methods (Refs. 87, 88, 85, and 84).

1. 1.

CIS, time-dependent HF (TD-HF), Tamm–Dancoff approximation (TDA), time-dependent DFT (TD-DFT)

2. 2.

CIS(D)- and ADC(2)-based double hybrid TD-DFT methods.

3. 3.

second-order coupled-cluster singles and doubles (CC2) method

4. 4.

configuration interaction singles with perturbative correction for double excitations [CIS(D)]

5. 5.

iterative doubles correction to configuration interaction singles [CIS(D${}_{\infty}$)] method

6. 6.

second-order algebraic diagrammatic construction [ADC(2)] approach

7. 7.

spin-scaled versions of the latter approaches: SCS-CC2, SCS-CIS(D), SCS-CIS(D${}_{\infty}$), SCS-ADC(2), SOS-CC2, SOS-CIS(D), SOS-CIS(D${}_{\infty}$), and SOS-ADC(2)

Analytic gradients are implemented for CIS and TD-HF. Ground to excited-state transition moments are available for TD-HF, TDA, TD-DFT, double hybrid TD-DFT, CIS(D), SCS-CIS(D), SOS-CIS(D), ADC(2), SCS-ADC(2), and SOS-ADC(2). For the CIS, TD-HF, TDA, TD-DFT, CC2, CIS(D${}_{\infty}$), ADC(2), SCS-CC2, SCS-CIS(D${}_{\infty}$), SCS-ADC(2), SOS-CC2, SOS-CIS(D${}_{\infty}$), and SOS-ADC(2) methods efficient reduced-cost approaches are also implemented, see Sect. 6.8 for details.

#### Features available via interfaces

Excitation energies, first-order excited-state properties, and ground to excited-state transition moments can also be calculated as well as excited-state geometry optimizations can also be carried out using the following interfaces and reference states.

RHF:

Cfour, Columbus, and Molpro (only excitation energy)

ROHF, standard orbitals:

Cfour, Columbus, and Molpro (only excitation energy)

UHF:

Cfour and Molpro (only excitation energy)

MCSCF:

Columbus and Molpro (only excitation energy)

#### Notes

1. 1.

Please note that for excitation energies and geometries LR-CC methods are equivalent to the corresponding EOM-CC models. It is not true for first-order properties and transition moments.

2. 2.

With CI methods excited to excited-state transition moments can also be evaluated.

3. 3.

Excited-state harmonic frequencies can be evaluated for the above methods with the help of numerical differentiation of analytical gradients, see Sect. 6.3.

4. 4.

Excited-state harmonic frequencies can also be calculated for the above methods via numerical differentiation using the Cfour or Columbus interface.

5. 5.

Excited-state harmonic frequencies and second-order properties can be evaluated for CI methods using analytic second derivatives and the Cfour interface.

### 6.7 Relativistic calculations

Treatment of special relativity in single-point energy calculations is possible for all the CC and CI methods listed in Sect. 6.1 using various relativistic Hamiltonians with the following interfaces (Refs. 103 and 63).

1. 1.

With Molpro relativistic calculations can be performed with Douglas–Kroll–Hess Hamiltonians using RHF, UHF, ROHF, and MCSCF orbitals. The interface also enables the use of effective core potentials (see Molpro’s manual for the specification of the Hamiltonian and effective core potentials).

2. 2.

With Cfour exact two-component (X2C) and spin-free Dirac–Coulomb (SF-DC) calculations can be performed. The evaluation of mass-velocity and Darwin corrections is also possible using analytic gradients for all the methods and reference functions listed in Sect. 6.2. (See the description of the RELATIVISTIC keyword in the Cfour manual for the specification of the Hamiltonian.)

3. 3.

With Dirac relativistic calculations can be carried out with the full Dirac–Coulomb Hamiltonian and several approximate variants thereof using Kramers-paired Dirac–Fock orbitals. See Refs. 103 and 63 as well as Sect. 5.3 for more details.

Treatment of special relativity in analytic gradient calculations is possible for all the CC and CI methods listed in Sect. 6.2 using various relativistic Hamiltonians with the following interfaces.

1. 1.

With Cfour analytic gradient calculations can be performed with the exact two-component (X2C) treatment.

2. 2.

With Dirac unrelaxed first-order properties can be computed using the Dirac–Coulomb Hamiltonian. See Ref. 103 and Sect. 5.3 for more details.

### 6.8 Reduced-scaling and local correlation calculations

#### Orbital transformation techniques

The computational expenses of the CC and CI methods listed in Sect. 6.1 can be reduced via orbital transformation techniques (Ref. 127). In this framework, to reduce the computation time the dimension of the properly transformed virtual one-particle space is truncated. Currently optimized virtual orbitals (OVOs) or MP2 natural orbitals (NOs) can be chosen. This technique is recommended for small to medium-size molecules. This scaling reduction approach is available using RHF or UHF orbitals. See the description of keywords ovirt, eps, and ovosnorb for more details.

#### Natural auxiliary functions

The cost of density-fitting methods can be reduced using natural auxiliary functions (NAFs) introduced in Ref. 67. The approach is very efficient for dRPA, but considerable speedups can also be achieved for MP2, CC2, and ADC(2). See the description of keywords naf_cor and naf_scf for more details.

#### Reduced-cost techniques for excited states

The computational expenses of CIS, TD-HF, TDA, TD-DFT, CC2, CIS(D${}_{\infty}$), ADC(2), SCS-CC2, SCS-CIS(D${}_{\infty}$), SCS-ADC(2), SOS-CC2, SOS-CIS(D${}_{\infty}$), and SOS-ADC(2) excited-state calculations can be efficiently reduced using local fitting domains as well as state-averaged NOs and NAFs (Refs. 87, 88, and 85). The scaling of CC2 and ADC(2) calculations can also be decreased by local correlation approaches (Ref. 84). See the description of keywords redcost_exc and redcost_tddft for more details.

#### Local correlation methods

The cost of MP2, dRPA, SOSEX as well as single-reference iterative and perturbative coupled-cluster calculations can be reduced for large molecules by the local natural orbital CC (LNO-CC) approach (Refs. 126, 129, 68, 101, 99, 102, and 100). This method combines ideas from the cluster-in-molecule approach of Li and co-workers [76], the incremental approach of Stoll et al. [135], domain- and pair approximations introduced first by Pulay et al. (see, e.g., Ref. 121) with frozen natural orbital, natural auxiliary function, and Laplace transform techniques. It is currently available only for closed-shell molecules using RHF (RKS) orbitals. See the description of keywords localcc, lnoepso, lnoepsv, domrad, lmp2dens, dendec, nchol, osveps, spairtol, wpairtol, laptol, lccrest, and lcorthr for further details. Extensive benchmarks regarding the accuracy and efficiency of the local correlation methods are also provided in Refs. 68, 101, 102, and 100 and Section II.G of Ref. 62.

#### Multi-level local correlation methods

Utilizing the above local correlation techniques a multi-level scheme is defined in which the LMOs are classified as active or environment (Ref. 46, 47). The contributions of these LMOs to the total correlation energy are evaluated using different models for the two subsystems, for instance, one can choose a LNO-CC model for the active subsystem and LMP2 for the environment. See the description of keyword corembed for further details.

### 6.9 Optimization of basis sets

The optimization of basis set’s exponents and contraction coefficients can be performed with any method for which single-point energy calculations are available (see Sect. 6.1). The implementation is presented in Ref. 83. The related keywords are

basopt

– to turn on/off basis set optimization

optalg

– to select an algorithm for the optimization

optmaxit

– maximum number of iterations allowed

optetol

– convergence criterion for energy change

optstol

– convergence criterion for parameter (exponent, contraction coefficient) change

For their detailed description see Sect. 12.

For the optimization of basis sets it is important to know the format for the storage of the basis set parameters. In Mrcc the format used by the Cfour package is adapted. The format is communicated by the following example.

actual lines description
C:6-31G $\hookleftarrow$ Carbon atom:basis name
Pople’s Gaussian basis set $\hookleftarrow$ comment line
$\hookleftarrow$ blank line
2 $\hookleftarrow$ number of angular momentum types
0 1 $\hookleftarrow$ 0$\rightarrow$s , 1$\rightarrow$p
3 2 $\hookleftarrow$ number of contracted functions
10 4 $\hookleftarrow$ number of primitives
$\hookleftarrow$ blank line
3047.5249 457.36952 $\hookleftarrow$ exponents for s functions
$\hookleftarrow$ blank line
0.0018347 0.0000000 0.0000000 $\hookleftarrow$ contraction coefficients
0.0140373 0.0000000 0.0000000  for s functions
0.0688426 0.0000000 0.0000000
0.2321844 0.0000000 0.0000000
0.4679413 0.0000000 0.0000000
0.3623120 0.0000000 0.0000000
0.0000000 0.1193324 0.0000000
0.0000000 0.1608542 0.0000000
0.0000000 1.1434564 0.0000000
0.0000000 0.0000000 1.0000000
$\hookleftarrow$ blank line
7.8682724 1.8812885 $\hookleftarrow$ exponents for p functions
$\hookleftarrow$ blank line
0.0689991 0.0000000 $\hookleftarrow$ contraction coefficients
0.3164240 0.0000000  for p functions
0.7443083 0.0000000
0.0000000 1.0000000

In a basis set optimization process you need two files in the working directory: the appropriate MINP file with the basopt keyword set and a user supplied GENBAS file that contains the basis set information in the above format. You do not need to write the GENBAS file from scratch, you can use the files in the BASIS directory of Mrcc to generate one or you can use the Basis Set Exchange [5, 22, 133, 120] to download a basis in the appropriate form (CFOUR format). Note that you can optimize several basis sets at a time: all the basis sets which are added to the GENBAS file will be optimized.

You can perform unconstrained optimization when all the exponents and contraction coefficients are optimized except the ones which are exactly 0.0 or 1.0. Alternatively, you can run constrained optimizations when particular exponents/coefficients or all exponents and coefficients for a given angular momentum quantum number are kept fixed during the optimization. The parameters to be optimized can be specified in the GENBAS file as follows.

1. 1.

Unconstrained optimization: no modifications are needed—by default all exponents and contraction coefficients will be optimized except the ones which are exactly 0.0 or 1.0.

2. 2.

Constrained optimization: by default all the exponents and coefficients will be optimized just as for the unconstrained optimization. To optimize/freeze particular exponents or coefficients special marks should be used:

• use the “--” mark (without quotes) if you want to keep an exponent or coefficient fixed during the optimization. You should put this mark right after the fixed parameter (no blank space is allowed). If this mark is attached to an angular momentum quantum number, none of the exponents/coefficients of the functions in the given shell will be optimized except the ones which are marked by “++”.

• use the “++” mark (without quotes) if you want a parameter to be optimized. Then you should put this mark right after it (no blanks are allowed). You might wonder why this is needed if the default behavior is optimization. Well, this makes life easier. If you want to optimize just a few parameters, it is easier to constrain all parameters first then mark those, which are needed to be optimized (see the example below).

Examples:

1.

To reoptimize all parameters in the above basis set but the exponents and coefficients of s-type functions you should copy the basis set to the GENBAS file and put mark “--” after the angular momentum quantum number of 0. The first lines of the GENBAS file:
C:6-31G Pople’s Gaussian basis set 2 0-- 1 3 2 10 4 3047.5249 457.36952

2.

Both s- and p-type functions are fixed but the first s-exponent:
C:6-31G Pople’s Gaussian basis set 2 0-- 1-- 3 2 10 4 3047.5249++ 457.36952

During the optimization the GENBAS file is continuously updated, and if the optimization terminated successfully, it will contain the optimized values (in this case it is equivalent to the GENBAS.opt file, see below, the only difference is that the file GENBAS.opt may contain the special marks, i.e., “++”, “--”). Further files generated in the optimization are:

• GENBAS.init – the initial GENBAS file saved

• GENBAS.tmp – temporary file, updated after each iteration, can be used to restart conveniently a failed optimization process

• GENBAS.opt – this file contains the optimized parameters after a successful optimization.

## 7 Installation

### 7.1 Installation of pre-compiled binaries

After registration at the Mrcc homepage, pre-built binaries are available in the download area. These binaries were compiled with the Intel compiler (and Intel MKL) version 19.0.3 and should utilize optimal instruction sets (e.g., AVX-512) of modern CPUs. If your CPU is still not correctly identified, the MKL_ENABLE_INSTRUCTIONS environment variable enables you to use an architecture-specific code path of your choice in Intel MKL routines. To install these executables, Linux operating system and the 2.23 or later version of the GNU C Library (glibc) is required. To use the MPI-parallel executables, Intel MPI 2019 also has to be installed. The precompiled binaries are linked against the Intel MPI 2019 Update 3 library, and it is highly recommended to use this particular Intel MPI version with the precompiled binaries. It is also strongly suggested to install the newest stable version of Libfabric (1.9.0 or later) from the https://github.com/ofiwg/libfabric repository as some of the previous versions provided via the Intel MPI package could cause irregular runtime behavior. The binaries are provided in a gzipped tar file, mrcc.YYYY-MM-DD.binary.tar.gz, where YYYY-MM-DD is the release date of the program. Note that you will find several program versions on the homepage. Unless there are overriding reasons not to do so, please always download the last version. To unpack the file type

tar xvzf mrcc*.binary.tar.gz

Please do not forget to add the name of the directory where the executables are placed to your PATH environment variable.

### 7.2 Installation from source code

To install Mrcc from source code some version of the Unix operating system, Fortran 90 and C compilers as well as BLAS (basic linear algebra subprograms) and LAPACK (linear algebra package) libraries are required. Optionally, Mrcc can also be linked with the Libxc library of density functionals [79, 53] and the PCMSolver library for continuum solvation [17, 1]. For an MPI-parallel build, a working MPI installation is also required. Please be sure that the directories where the compilers are located are included in your PATH environment variable. Please also check your LD_LIBRARY_PATH environment variable, which must include the directories containing the BLAS and LAPACK and, if linked against, the Libxc, PCMSolver, and MPI libraries.

After registration at the Mrcc homepage the program can be downloaded as a gzipped tar file, mrcc.YYYY-MM-DD.tar.gz, where YYYY-MM-DD is the release date of the program. Note that you will find several program versions on the homepage. Unless there are overriding reasons not to do so, please always download the last version. To unpack the file type

tar xvzf mrcc*.tar.gz

To install Mrcc add the current working directory to PATH (e.g., export PATH=.:$PATH on bash) and run the build.mrcc script as build.mrcc [$<$compiler$>$] [-i$<$option1$>$] [-p$<$option2$>$] [-g] [-d] [-s] [-f$<$folder$>$] [-l$<$library$>$] $<$compiler$>$ specifies the compiler to be used. Currently the supported compiler systems are: Intel Intel compiler GNU GNU compiler (g77 or gfortran) PGF Portland Group Fortran compiler G95 G95 Fortran 95 compiler PATH Pathscale compiler HP HP Fortran Compiler DEC Compaq Fortran Compiler (DEC machines) XLF XL Fortran Compiler (IBM machines) Solaris10 Sun Solaris10 and Studio10 Fortran Compiler (AMD64) If the build.mrcc script is invoked without specifying the $<$compiler$>$ variable, a help message is displayed. Optional arguments: -i specifies if 32- or 64-bit integer variables are used. Accordingly, $<$option1$>$ can take the value of 32 or 64. The 32-bit integer version is not supported any more. Default: 64 for 64-bit machines, 32 otherwise. -p generates parallel code using message passing interface (MPI) or open multi-processing (OpenMP) technologies. Accordingly, $<$option2$>$ can take the MPI[=$<$MPI implementation$>$] or OMP values. OpenMP and MPI parallelizations have been tested with the Intel compiler and the Intel MPI and Open MPI implementations. If -pMPI is specified, the library given by $<$MPI implementation$>$ will be linked to Mrcc. The default value of $<$MPI implementation$>$ is IntelMPI with the Intel compiler and OpenMPI for other compilers. Please note that currently the two parallelization schemes can only be combined for the scf, mrcc, and ccsd programs, other executables will be compiled with only OpenMP parallelization even if -pOMP and -pMPI are both set. Default: no parallelization. -g source codes are compiled with debugging option (use this for development purposes) Default: no debugging option. -d source codes are compiled for development, no optimization is performed (use this for development purposes) Default: codes are compiled with highest level optimization. -f specifies the installation folder. Executables, basis set libraries, and test jobs will be copied to directory $<$folder$>$. If this flag is not used, you will find the executables, etc. in the directory where you perform the installation. -l Mrcc is linked with an external library. Currently the options for $<$library$>$ are libxc and pcm, which require the installation of the Libxc and the PCMSolver libraries, respectively. See notes below. -s Mrcc is linked statically. Non-MPI-parallel executables are linked entirely statically, while MPI-parallel executables link Intel-provided libraries statically. Notes: 1. 1. After the installation please do not forget to add the directory where the Mrcc executables are located to your PATH environment variable. This is the $<$folder$>$ directory if you used the -f flag at the installation, otherwise the directory where you executed the build.mrcc script. 2. 2. The build.mrcc script has been tested on several platforms with several versions of the supported compilers and libraries. Nevertheless you may need to customize the compiler flags, names of libraries, etc. These data can be found in the build.mrcc.config file, please edit this file if necessary. Please do not change build.mrcc. 3. 3. To ensure the best performance of the software, the use of Intel compiler is recommended. 4. 4. If you use Mrcc together with Molpro, you can also use the Molpro installer to install Mrcc, please follow the instructions in the Molpro manual (www.molpro.net). 5. 5. If Mrcc is linked with the Libxc library, Libxc must be installed before starting the installation of Mrcc. Note that you must compile Libxc with the same Fortran compiler as used for the installation of Mrcc. At the installation of Libxc, it is recommended to set the installation path of Libxc (--prefix=<install dir> option of configure) to the directory where the installation of Mrcc is carried out, otherwise please set the LIBS_LIBXC environment variable to the installation path of Libxc (i.e. export LIBS_LIBXC=<install dir> in bash, where <install dir> contains lib/libxcf03.a and lib/libxc.a) before running build.mrcc. See the manual for the Libxc project for details [53], as well as the examples below. The current release of Mrcc has been tested with the 4.3.4 version of Libxc. 6. 6. If Mrcc is linked with the PCMSolver library, PCMSolver must be installed before starting the installation of Mrcc. At the installation of PCMSolver, it is recommended to set the installation path of PCMSolver (--prefix=<install dir> option of setup.py) to the directory where the installation of Mrcc is carried out, otherwise please set the LIBS_PCM environment variable to the installation path of PCMSolver (i.e., export LIBS_PCM=<install dir> in bash, where <install dir> contains lib/libpcm.so, or lib/libpcm.a in the case of static linking) before running build.mrcc. See the manual for the PCMSolver project for details [1], as well as the examples below. The current release of Mrcc has been tested with the 1.1.3 version of PCMSolver. 7. 7. If the program is compiled for multi-node parallel execution, MPI-parallel executables (*_mpi) are generated. The compilation is performed by mpiifort when $<$MPI implementation$>$=IntelMPI is set, otherwise the mpifort compiler wrapper is used. 8. 8. For the compilation of MPI-parallel executables, a working MPI installation is necessary. Currently Open MPI version 4 and Intel MPI (2017 or later) implementations are supported. Open MPI has to be patched with commits 07830d0 and 51acbf7 from https://github.com/open-mpi/ompi. Please, consult Sect. 9.3 for additional MPI settings required at runtime. Examples: 1. 1. Compile Mrcc for OpenMP parallel execution with the Intel compiler (recommended): build.mrcc Intel -pOMP 2. 2. Compile Mrcc for OpenMP parallel execution with the Intel compiler and install it to the /prog/mrcc directory (recommended): build.mrcc Intel -pOMP -f/prog/mrcc 3. 3. Compile Mrcc for OpenMP and combined OpenMP-MPI parallel execution with the Intel compiler and Intel MPI, and link with the Libxc and the PCMSolver libraries supposing that Mrcc is compiled in the /prog/mrcc directory. This will enable all features of Mrcc and is highly recommended. 1. (a) Installation of the Libxc library: Download the Libxc library (libxc*.tar.gz) from the homepage of the Libxc project [53]. tar xvzf libxc*.tar.gz cd libxc* ./configure --prefix=/prog/mrcc/ FC=ifort make make check make install cd /prog/mrcc 2. (b) Installation of the PCMSolver library: curl -L https://github.com/PCMSolver/pcmsolver/archive/v1.1.3.tar.gz | tar -xz cd pcmsolver-1.1.3 Replace -openmp by -qopenmp in file cmake/downloaded/autocmake_omp.cmake ./setup.py --cxx=icpc --cc=icc --fc=ifort --int64 --omp --prefix=/prog/mrcc/ cd build make make install export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/prog/mrcc/lib
cd /prog/mrcc
cp pcmsolver-1.1.3/api/pcmsolver.F90 pcmsolver.f90

3. (c)

Compiling and linking Mrcc:
build.mrcc Intel -pOMP -pMPI=IntelMPI -llibxc -lpcm

4. 4.

Compile Mrcc for serial execution with the Intel compiler:
build.mrcc Intel

5. 5.

Compile Mrcc for parallel execution using MPI environment with the Intel compiler for 32-bit machines:
build.mrcc Intel -i32 -pMPI

6. 6.

Compile Mrcc with the Intel compiler for parallel execution using OpenMP and MPI parallelization through the Open MPI library (recommended):
build.mrcc Intel -pOMP -pMPI=OpenMPI

### 7.3 Installation under Windows

Under the Windows operating system the pre-built binaries cannot be directly executed, and the direct compilation of the source code has not been attempted so far. For Windows users we recommend the use of virtualization software packages, such as VirtualBox, which allow Linux as a guest operating system. In that environment Mrcc can be installed in the normal way as described in the previous subsections.

## 8 Testing Mrcc

Once you have successfully installed Mrcc, you may wish to test the correctness of the installation. For that purpose, numerous test jobs are at your disposal. The corresponding input files can be found in the MTEST directory created at the installation, where a test script, mtest, is also available. Your only task is to change to the MTEST directory and execute the mtest script. (Please do not forget to add the directory where the Mrcc executables are located to your PATH environment variable.) The test jobs will be automatically executed and you will receive feedback about the results of the tests. The corresponding output files will be left in the MTEST directory, and you can also check them. If all the tests complete successfully, your installation is correct with high probability.

The execution of the test jobs will take for a couple of hours. If you want to run the test on another machine, e.g., on a node of a cluster, you should copy the entire MTEST directory to that machine and start the mtest script there.

Please note that there are some test jobs that allocate a small amount of memory to test the out-of-core algorithms of the program (MINP_*smallmem). These test jobs run with four threads by default when testing OpenMP-parallel executables (i.e., the build.mrcc script was run with the -pOMP switch) with the mtest script. If you run these test jobs with more than four threads, some of them will fail since the memory requirement for OpenMP-parallel runs grows with the number of threads. In this case the failure of these tests does not indicate a problem with your installation.

Testing of the MPI-parallel executables is also supported. The mtest script automatically detects MPI-parallel executables in PATH if the build.mrcc script was run with the -pMPI switch and runs the appropriate MPI-parallel test jobs (MINP_*_MPI).

To test other external libraries, two switches can be used. With the -l switch Libxc test jobs (containing _Libxc in the name) are also run, while with the -p switch the PCMSolver library is also tested (_PCM in the file name). The two options can also be used at the same time, i.e., if mtest is invoked as mtest -l -p, all the test jobs will be executed.

Please note that you can also create your own test jobs, e.g., if you modify the code, compile the program with new compiler versions, or use unusual combination of keywords. To that end you should calculate a reliable energy for your test job (e.g., using a stable compiler version), include the test keyword and the calculated energy to the MINP file (see the description of the keyword for more details), and copy the MINP file to the MTEST directory renaming it as MINP_$<$job_name$>$. Then the new job will be automatically executed when the mtest script is invoked next time.

## 9 Running Mrcc

Please be sure that the directory where the Mrcc executables are located are included in your PATH environment variable. Note that the package includes several executables, and all of them must be copied to the aforementioned directory, not only the driver program dmrcc. Please also check your LD_LIBRARY_PATH environment variable, which must include the directories containing the libraries linked with the program. This variable is usually set before the installation, but you should not change by removing the names of the corresponding directories. Please do not forget to copy the input file MINP (see Sect. 11) to the directory where the program is invoked.

### 9.1 Running Mrcc in serial mode

To run Mrcc in serial the user must invoke the driver of the package by simply typing
dmrcc
on a Unix console. To redirect the input one should execute dmrcc as
dmrcc $>$ out
where out is the output file.

### 9.2 Running Mrcc in parallel using OpenMP

Several executables of the package can be run in OpenMP parallel mode, hence it is recommended to use this option on multiprocessor machines.

The pre-built binaries available at the Mrcc homepage support OpenMP-parallel execution. If you prefer source-code installation, to compile the program for OpenMP parallel execution you need to invoke the build.mrcc script with the -pOMP option at compilation (see Sect. 7). The OpenMP parallelization has been tested with the Intel compiler. Please be careful with other compilers, run, e.g., our test suite (see Sect. 8) with the OpenMP-complied executables before production calculations.

To run the code with OpenMP you need to set the environment variable OMP_NUM_THREADS to the number of cores you want to use. E.g., under Bourne shell (bash):
Then the program should be executed as described above.

The provided binaries are linked with threaded Intel MKL routines, thus, when those are executed, the environment variable MKL_NUM_THREADS should also be set, e.g.:
If source-code installation is preferred, it is recommended to link the Mrcc objects with threaded BLAS and LAPACK libraries and employ the required runtime settings of the employed libraries (e.g., define MKL_NUM_THREADS for Intel MKL).

The binding of threads to hardware elements might affect the performance on certain systems. The thread affinity can be specified with the OpenMP environment variables OMP_PLACES and OMP_PROC_BIND or the Intel MKL specific variable KMP_AFFINITY when the precompiled binaries are executed or Intel MKL is used. For the ccsd program, utilizing nested parallelism, the OMP_PLACES=cores and OMP_PROC_BIND=spread,close are suggested for optimal performance.

### 9.3 Running Mrcc in parallel using MPI

Currently executables scf, mrcc, and ccsd can be run in parallel using the MPI technology. To compile the program for MPI-parallel execution, you need to invoke the build.mrcc script with the -pMPI option at compilations (see Sect. 7). It has been tested with the Intel compiler and the Open MPI (version 4) and Intel MPI (2017 or later) environments. If the precompiled binaries are used or Intel MPI 2019 or newer is linked to Mrcc, it is strongly recommended to install and use the newest stable version of Libfabric (1.9.0 or later) as some of the previous versions provided via the Intel MPI package could cause irregular runtime behavior. The Libfabric library can be downloaded from https://github.com/ofiwg/libfabric. If not the Intel provided Libfabric library is used, the environment for Intel MPI should be set using the -ofi_internal=0 option of mpivars.sh (e.g., if Intel MPI 2019 is installed, source $<$Intel MPI install dir$>$/parallel_studio_xe_2019/
compilers_and_libraries_2019/linux/mpi/intel64/bin/mpivars.sh
release_mt -ofi_internal=0
.

For the MPI-parallel execution, the mpitasks keyword has to be set. Then, it is sufficient to execute the dmrcc binary as usual. The program will spawn the number of scf, mrcc, or ccsd processes specified with the mpitasks keyword and copy the necessary input files to the compute nodes, therefore the input files need to be present only in the directory where dmrcc is executed. Note that the working directory can be the same for all MPI processes, e.g., a directory in the network file system of a computer cluster. Alternatively, process-specific working directories are also supported to exploit local hard drives within compute nodes. In both cases the spawned MPI process will start the execution in the directory with the same path, which might be on a separate file system.

If you wish to run Mrcc with other mpirun options, the MPI-parallel dmrcc_mpi executable should be launched as mpirun -np 1 <options> dmrcc_mpi. You should not run dmrcc using mpirun since it will result in launching mpirun recursively, and your job might fail to start. Please note that the total number of processes will be higher than mpitasks, so you might need to oversubscribe nodes using the appropriate mpirun or scheduler option (e.g., sbatch --overcommit … with SLURM or mpirun --oversubscribe … with Open MPI). For optimal performance, please set mpitasks at the total number of available CPUs, non-uniform memory access (NUMA) nodes, nodes, cores, etc., as the additional number of processes on top of mpitasks are driver processes running mostly in the background and do not require dedicated resources.

On systems consisting of more than one NUMA node (e.g., containing more than one CPU), the performance may be increased by running one process on each NUMA node of the compute nodes. This strategy is beneficial, for instance, when the number of OpenMP processes would otherwise surpass a few tens. Instead, the number of MPI tasks can be increased for better parallel efficiency. Note, however, that in this case the total memory requirement is increased because each process allocates the amount of memory specified in the input file as all MPI algorithms currently available in Mrcc rely on replicated memory strategies.

Pinning processes to CPU cores in MPI parallel runs might affect the performance. When Open MPI is linked to Mrcc, binding can be set by the -bind-to option of mpirun, via modular component architecture (MCA) parameters (e.g., --mca hwloc_base_binding_policy core), or setting the environment variable OMPI_MCA_hwloc_base_binding_policy. It is also suggested to set the Open MPI MCA parameter rmaps_base_inherit to $1$. In the case Mrcc is linked with Intel MPI or the precompiled binaries are used, pinning can be controlled by the I_MPI_PIN and I_MPI_PIN_PROCESSOR_LIST environment variables. If the internode connection is established via an InfiniBand network, other MCA parameters might need to be set as well (e.g., btl_openib_allow_ib to true).

## 10 The programs of the suite

In this section we discuss the major characteristics of the programs of the Mrcc package, and also provide some information about their use and the corresponding outputs.

dmrcc

Driver for the program system. It calls the programs of the suite (except build.mrcc). It is recommended to run always dmrcc, but advanced users may run the programs one-by-one (e.g., for the purpose of debugging). See also Sect. 9 for further details.

minp

Input reader and analyzer. This program reads the input file MINP, checks keywords, options, and dependencies; sets default values for keywords.

integ

An open-ended atomic orbitals integral code. This code reads and analyzes the molecular geometry, reads the basis sets, and calculates one- and two-electron integrals as well as property integrals over Gaussian-type atomic orbitals. Both the Obara–Saika and the Rys quadrature schemes are implemented for the evaluation of two-electron integrals. In principle integrals over basis functions of arbitrary high angular momentum can be evaluated using the Obara–Saika algorithm.

scf

Hartree–Fock and Kohn–Sham SCF code. It solves the RHF, UHF, ROHF, RKS, UKS, or ROKS equations using either conventional or direct SCF techniques. It also performs the semi-canonicalization of orbitals (if requested) for ROHF wave functions.

orbloc

Orbital localization program. It performs the localization of MOs using the Cholesky, Boys, or generalized Boys procedures. It also constructs the domains for local correlation calculations.

drpa

An efficient three-index integral transformation, density-fitting MP2, RPA, dRPA, SOSEX, and RPAX2 code. The dRPA method is implemented using the modified algorithm of Ref. 51, which scales as the fourth power of the system size, see Ref. 67.

mulli

Domain construction for local correlation calculations. It assigns the localized MOs (LMOs) to atoms using the Boughton–Pulay method, and for each occupied LMO it constructs a domain of occupied and virtual LMOs on the basis of their spatial distance. Projected atomic orbitals (PAOs) are also constructed if requested.

ovirt

Integral transformation and orbital optimization code. This program performs the four-index integral transformations of AO integral for correlation calculations. It also carries out the construction of optimized virtual orbitals (OVOs) or MP2 natural orbitals in the case of reduced-cost CC calculations.

ccsd

A very fast, hand-coded, MO-integral-based (DF) CCSD and CCSD(T) code. The code has been optimized for local CC calculations but can also be used for conventional CC calculations. Currently it only functions for closed-shell systems, and the spatial symmetry is not utilized.

cis

A very fast, hand-coded, integral direct DF CIS, TDA, TD-DFT, ADC(2), CIS(D), CIS(D${}_{\infty}$), and CC2 code. Currently it only works for closed-shell systems, and the spatial symmetry is not utilized.

prop

This program solves the CPHF/KS equations, constructs relaxed density matrices, calculates first-order molecular properties and Cartesian gradients.

qmmod

Interface program for QM/MM and embedding calculations.

goldstone

This program generates the formulas for mrcc. The program also estimates the memory requirement of the calculation. This is a very crude (the symmetry and spin is not treated exactly) but quick estimate. The real memory requirement, which is usually much smaller, is calculated by xmrcc after the termination of goldstone.

xmrcc

It calculates the exact memory requirement for mrcc. Note that it may take a couple of minutes for complicated wave functions (e.g., MRCC derivatives). It prints out five numbers at the end (in MBytes):

Real*8

Minimal and optimal memory for double-precision (real*8) arrays.

Integer

Memory allocated by mrcc for integer arrays.

Total

(= Real*8 + Integer) The minimal and the optimal amount of total required memory. It is not worth starting the calculation if the real physical memory of the machine is smaller than the Minimal value. The performance of the program is optimal if it can use at least as much memory as the Optimal value. If the memory is between the Minimal and Optimal values, out-of-core algorithms will be executed for particular tasks, and it may result in slow down of the code. Please note that the memory available to the program can be specified by keyword mem (see page 12).

mrcc

Automated, string-based many-body code. It performs the single-point energy as well as derivative calculations for general CC, LR-CC, and CI methods. Abelian spatial symmetry is utilized and a partial spin adaptation is also available for closed-shell systems.

build.mrcc

Installation script of the suite. See Sect. 7 for a detailed description.

## 11 Input files

The input file of the Mrcc package is the MINP file. This file must be placed in the directory where the program is invoked. In addition, if you use your own basis sets (see keyword basis), angular integration grids for DFT calculations (see keyword agrid), or Laplace-quadrature for Laplace transform calculations (see keyword dendec), you may also need the GENBAS file, and then it must be also copied to the above directory.

In general, the execution of Mrcc is controlled by keywords. The list of the keywords is presented in Sect. 12. The keywords and the corresponding options must be given in the MINP file as

$<$keyword$>$[=$<$option$>$]

You can add only one keyword per line, but there are keywords which require multiple-line input, and the corresponding variables must be specified in the subsequent lines as

$<$keyword$>$[=$<$option$>$]
$<$input record 1$>$
$<$input record 2$>$

$<$input record n$>$

The input is not case-sensitive. Any number of lines can be left blank between two items, however, if a keyword requires multiple-line input, the lines including the keyword and its input records cannot be separated. Under similar conditions any line can be used for comments, but the beginning of a comment line must not be identical to a keyword because that line may be identified as a keyword by the input reader and misinterpreted. Thus it is recommended to start comment lines with some special character, e.g., hash mark.

Please note that you can find input files for numerous test jobs in the MTEST directory created at the installation of Mrcc (see Sect. 8). The input files have self-explanatory names and also include a short description at the beginning. You should look at these files for examples for the structure of the input file and the use of various keywords. You can use these files as templates, but please note that these files have been created to thoroughly check the correctness of the code and the installation, and thus some of them contain very tight convergence thresholds as well as unusual combination of (auxiliary) basis sets. In production calculations you should use the default convergence thresholds (i.e., delete the lines including keywords itol, scftol, cctol, etc.), select the basis set carefully (i.e., set the appropriate option for keyword basis), and use the default auxiliary basis sets (i.e., delete the lines including keywords dfbasis_scf or dfbasis_cor). Please also do not forget to remove keyword test and to specify the amount of memory available to the program by setting the mem keyword.

## 12 Keywords

In this section the keywords of the Mrcc input file are listed in alphabetical order.

active

The active orbitals for multi-reference (active-space) CI/CC calculations can be specified using this keyword. Note that this keyword overwrites the effect of keywords nacto and nactv. Note also that this keyword only sets the active orbitals for the post-SCF calculation, the MCSCF active orbitals can be specified by keyword mact.

Options:
none

All orbitals are inactive (i.e., single-reference calculation).

serialno

Using this option one can select the active orbitals specifying their serial numbers. The latter should be given in the subsequent line as $$,$$,…,$$-$$,…, where $n_{i}$’s are the serial numbers of the correlated orbitals. Serial numbers separated by dash mean that $$ through $$ are active. Note that the numbering of the orbitals is relative to the first correlated orbital, that is, frozen orbitals are excluded.

vector

Using this option one can set the active/inactive feature for each correlated orbital. In the subsequent line an integer vector should be supplied with as many elements as the number of correlated orbitals. The integers must be separated by spaces. Type 1 for active orbitals and 0 for inactive ones.

Default:

active=none

Examples:
1.

We have 20 correlated orbitals. Orbitals 1, 4, 5, 6, 9, 10, 11, 12, and 14 are active. Using the serialno option the input should include the following two lines:
active=serialno
1,4-6,9-12,14

2.

The same using the vector option:
active=vector
1 0 0 1 1 1 0 0 1 1 1 1 0 1 0 0 0 0 0 0

agrid

Specifies the angular integration grid for DFT calculations. The grid construction follows the design principles of Becke [6], the smoothing function for the Voronoi polyhedra are adopted from Ref. 98 with $m_{\mu}$ = 10. Angular grids are taken from the Grid file which is located in the BASIS directory created at the installation. By default, the 6-, 14-, 26-, 38-, 50-, 74-, 86-, 110-, 146-, 170-, 194-, 230-, 266-, 302-, 350-, 434-, 590-, 770-, 974-, 1202-, 1454-, and 1730-point Lebedev quadratures [6] are included in the file, which are labeled, respectively, by LD0006, LD0014, etc. In addition to the above grids, any angular integration grid can be used by adding it to the BASIS/Grid file or alternatively to the GENBAS file to be placed in the directory where Mrcc is executed. The format is as follows. On the first line give the label of the grid as XXNNNN, where XX is any character and NNNN is the number of the grid points (see the above examples). The subsequent NNNN lines must contain the Cartesian coordinates and the weights for the grid points.

For the selection of the angular grids, by default, an adaptive scheme motivated by Ref. 73 is used. The angular grids are selected for each radial point so that the error in the angular integrals will not be larger than $10^{1-{\tt grtol}}$. The important difference is that the grids are optimized for each atom separately to avoid discontinuous potential energy surfaces. For the construction of the radial integration grid see the description of keyword rgrid. See also the description of keyword grtol.

Options:
$<$name of the grid$>$

the name of the quadrature as it is specified in the BASIS/Grid (or GENBAS) file. This angular quadrature will be used in each radial point.

LDMMMM-LDNNNN

An adaptive integration grid will be used. For each radial point, depending on its distance from the nucleus, a different Lebedev grid will be selected. The minimal and maximal number of points is MMMM and NNNN, respectively.

Default:

agrid=LD0006-LD0590

Examples:
1.

for a 974-point Lebedev grid set agrid=LD0974

2.

to use an adaptive grid with at least 110 and at most 974 angular points set agrid=LD0110-LD0974

3.

for a very fine grid use
agrid=LD0110-LD0974
grtol=12

basis

Specifies the basis set used in all calculations. By default the basis sets are taken from the files named by the chemical symbol of the elements, which can be found in the BASIS directory created at the installation. The basis sets are stored in the format used by the Cfour package (see Sect. 6.9). In addition to the basis sets provided by default, any basis set can be used by adding it to the corresponding files in the BASIS directory. Alternatively, you can also specify your own basis sets in the file GENBAS which must be copied to the directory where Mrcc is executed.

Options:
$<$basis set label$>$

If the same basis set is used for all atoms, the label of the basis set must be given.

atomtype

If different basis set are used, but the basis sets are identical for atoms of the same type, basis=atomtype should be given, and the user must specify the basis sets for each atomtype in the subsequent lines as $<$atomic symbol$>$:$<$basis set$>$ .

mixed

Mixed basis sets will be used, that is, different basis sets will be used for different groups of atoms specified by their serial number. The number of groups, the basis sets, and corresponding atoms must be specified in the subsequent lines as
$<$number of groups$>$
$<$basis set label 1$>$ $$,$$,…,$$-$$,…
$<$basis set label 2$>$ $$,$$,…,$$-$$,…

where $n_{i}$’s, $m_{i}$’s, …are the serial numbers of the atoms. Serial numbers separated by dash mean that atoms $$ through $$ are included.

embed

A mixed basis set composed of two AO bases will be used in the case of an embedding calculation. It only works if keyword embed is also specified. The two basis sets must be given in the following two lines. The first basis will be used for the environment, while the second one is the AO basis for the embedded subsystem (see also the description of keyword embed).

corembed

It is the same as embed, but the partitioning defined by keyword corembed will be used.

special

In the general case, if different basis set are used for each atom, then one should give basis=special and specify the basis sets for each atom in the subsequent lines by giving the label of the corresponding basis sets in the order the atoms appear at the specification of the geometry.

Notes:
• 1.

By default the following basis sets are available for elements H to Kr in Mrcc:

• Dunning’s correlation consistent basis sets [21, 70, 148, 149, 113, 20]: cc-pV$X$Z, cc-pCV$X$Z, aug-cc-pV$X$Z, aug-cc-pCV$X$Z,
cc-pV($X$+d)Z, aug-cc-pV($X$+d)Z ($X$ = D, T, Q, 5, 6)

• Gaussian basis sets of Pople and co-workers [40, 74, 48, 18, 27, 7, 32, 82, 11]: STO-3G, 3-21G, 6-31G, 6-311G, 6-31G*, 6-311G*, 6-31G**, 6-311G**, 6-31+G*, 6-31+G**, 6-31++G**, 6-311+G*, 6-311+G**, 6-311++G**

• the def2 Gaussian basis sets of Weigend and Ahlrichs [143]: def2-SV(P), def2-SVP, def2-TZVP, def2-TZVPP, def2-QZVP, def2-QZVPP

• the augmented def2 Gaussian basis sets of Rappoport and Furche [122]: def2-SVPD, def2-TZVPD, def2-TZVPPD, def2-QZVPD, def2-QZVPPD

• F12 basis sets for explicitly correlated wave functions developed by Peterson et al. [112]: cc-pV$X$Z-F12 ($X$ = D, T, Q)

• the Gaussian basis sets of Dunning and Hay (LANL2DZ) [19]

• the auxiliary basis sets of Weigend et al. for correlation calculations using the density-fitting/resolution-of-identity approximation [144, 145]: cc-pV$X$Z-RI, aug-cc-pV$X$Z-RI ($X$ = D, T, Q, 5, 6); def2-SV(P)-RI, def2-SVP-RI, def2-TZVP-RI, def2-TZVPP-RI, def2-QZVP-RI, def2-QZVPP-RI

• the auxiliary basis sets of Hellweg and Rappoport for the augmented def2 Gaussian basis sets [50]: def2-SVPD-RI, def2-TZVPD-RI, def2-TZVPPD-RI, def2-QZVPD-RI, def2-QZVPPD-RI

• Weigend’s Coulomb/exchange auxiliary basis sets for density fitting/resolution of the identity SCF calculations [146]: cc-pV$X$Z-RI-JK, aug-cc-pV$X$Z-RI-JK ($X$ = D, T, Q, 5), def2-QZVPP-RI-JK

From Na to La and from Hf to Rn the following basis sets are available, which must be used together with the corresponding ECP (see also the description of keyword ECP):

• the LANL2DZ basis sets of Hay and Wadt [43, 142, 42]

• the def2 Gaussian basis sets of Weigend and Ahlrichs [143]: def2-SV(P), def2-SVP, def2-TZVP, def2-TZVPP, def2-QZVP, def2-QZVPP

• the augmented def2 Gaussian basis sets of Rappoport and Furche [122]: def2-SVPD, def2-TZVPD, def2-TZVPPD, def2-QZVPD, def2-QZVPPD

• the correlation consistent PP basis sets of Peterson and co-workers [116, 115, 111, 114, 23]: cc-pV$X$Z-PP and aug-cc-pV$X$Z-PP ($X$ = D, T, Q, 5)

• the auxiliary basis sets of Hellweg and Rappoport for the augmented def2 Gaussian basis sets [50]: def2-SVPD-RI, def2-TZVPD-RI, def2-TZVPPD-RI, def2-QZVPD-RI, def2-QZVPPD-RI

• the auxiliary basis sets of Hättig for correlation calculations with the PP basis sets: cc-pV$X$Z-PP-RI and aug-cc-pV$X$Z-PP-RI ($X$ = D, T, Q, 5)

Please note that some of the above basis sets are not available for all elements.

• 2.

If you need basis sets other than the default ones, you can, e.g., download them from the Basis Set Exchange [5, 22, 133, 120]. Please choose format “CFOUR” when downloading the basis sets.

• 3.

If you use your own basis sets, these must be copied to the end of the corresponding file in the BASIS directory. Alternatively, you can also create a file called GENBAS in the directory where Mrcc is executed, and then you should copy your basis sets to that file.

• 4.

The labels of the basis sets must be identical to those used in the BASIS/* files (or the GENBAS file). For the default basis sets just type the usual name of the basis set as given above, e.g., cc-pVDZ, 6-311++G**, etc. If you employ non-default basis sets, you can use any label.

• 5.

For Dunnings’s aug-cc-p(C)V$X$Z basis sets one, two, or three additional diffuse function sets can be automatically added by attaching the prefix d-, t-, or q-, respectively, to the name of the basis set. To generate a d-aug basis set one even tempered diffuse function is added to each primitive set. Its exponent is calculated by multiplying the exponent of the most diffuse function by the ratio of the exponents of the most diffuse and the second most diffuse functions in the primitive set. If there is only one function in the set, the exponent of the most diffuse function is divided by 2.5. To generate t-aug and q-aug sets this procedure is repeated.

• 6.

For Dunnings’s basis sets, to use the aug-cc-p(C)V$X$Z set for the non-hydrogen atoms and the corresponding cc-p(C)V$X$Z set for the hydrogens give aug’-cc-p(C)V$X$Z. Then the diffuse functions will be automatically removed from the hydrogen atoms.

• 7.

Only the conventional AO basis set can be specified with this keyword. For the fitting basis sets used in density-fitting approximations see the description of keywords dfbasis_*.

• 8.

The cc-pVDZ-RI-JK basis set has been generated from cc-pVTZ-RI-JK by dropping the functions of highest angular momentum. The aug-cc-pV$X$Z-RI-JK (def2-QZVPPD-RI-JK) basis sets are constructed automatically from the corresponding cc-pV$X$Z-RI-JK (def2-QZVPP-RI-JK) sets by adding diffuse functions as described above for the d-aug-cc-p(C)V$X$Z basis sets.

• 9.

For Dunnings’s and Pople’s basis sets add the -min postfix to the basis set name to generate a minimal basis set dropping all the polarization (correlation) functions.

• 10.

If the (aug-)cc-pV$X$Z-PP basis set does not exist for an element with $Z\leq 28$, the program will automatically attempt to use the corresponding (aug-)cc-pV$X$Z basis instead.

• 11.

If the (aug-)cc-pV($X$+d)Z basis set does not exist for an element (i.e., $Z\leq 12$ or $Z\geq 19$), the program will automatically attempt to use the corresponding (aug-)cc-pV$X$Z basis instead.

Default:

none, that is, the basis set must be specified (excepting the case when Mrcc is used together with another code, that is, iface $\neq$ none).

Examples:
1.

Consider any molecule and suppose that the cc-pVDZ basis set is used for all atoms. The input must include the following line:
basis=cc-pVDZ

2.

To use Dunning’s doubly augmented cc-pVDZ basis set (d-aug-cc-pVDZ) for all atoms the input must include the following line:
basis=d-aug-cc-pVDZ

3.

Consider the water molecule and use the cc-pVDZ basis set for the hydrogens and cc-pVTZ for the oxygen. The input must include the following lines:
basis=atomtype
O:cc-pVTZ
H:cc-pVDZ

4.

Consider water again and use the cc-pVQZ, cc-pVTZ, and cc-pVDZ basis sets for the oxygen atom, for the first hydrogen, and for the second hydrogen, respectively. Note that the order of the basis set labels after the basis=special statement must be identical to the order of the corresponding atoms in the Z-matrix/Cartesian coordinates:
geom
O
H 1 R
H 1 R 2 A

R=0.9575
A=104.51

basis=special
cc-pVQZ
cc-pVTZ
cc-pVDZ

5.

Consider the water molecule and use the cc-pVTZ basis set for the hydrogens and aug-cc-pVTZ for the oxygen. The following two inputs are identical:
basis=atomtype
O:aug-cc-pVTZ
H:cc-pVTZ

or
basis=aug’-cc-pVTZ

6.

Consider the water molecule. If you specify
basis=cc-pVTZ-min
minimal basis sets generated from cc-pVTZ will be used for the atoms, that is, only one $s$ function (two $s$ and one $p$ shells) will be retained from the $s$$p$ kernel of the H (O) cc-pVTZ basis set.

7.

Consider the PbO molecule. If you want to use the cc-pVDZ basis set for O and the cc-pVDZ-PP basis with the corresponding ECP for Pb, you only need to set
basis=cc-pVDZ-PP
in the MINP file.

8.

Mixed basis approach with two basis sets, the cc-pVTZ basis is used for atoms 1, 2, 3, and 5, while cc-pVDZ is employed for atoms 4, 6, 7, 8:
basis=mixed
2
cc-pVTZ 1-3,5
cc-pVDZ 4,6-8

basis_sm

Specifies the small basis set used in dual basis-set calculations as well as for generating SCF initial guess (scfiguess=small).

Options:

the options are the same as for keyword basis, but there is an additional one, none, which means that no small basis is defined.

Default:

basis_sm=none

Examples:
1.

To restart an SCF calculation with the cc-pVQZ basis set from the densities obtained with the cc-pVDZ basis give
basis=cc-pVQZ
basis_sm=cc-pVDZ
scfiguess=small

2.

To perform a dual basis set DF-HF calculation with the 6-311G** and 6-31G** basis sets you need:
basis=6-311G**
basis_sm=6-31G**
dual=on
calc=DF-HF

basopt

Use this keyword to turn on/off basis set optimization. Besides setting this keyword a user supplied GENBAS file is also required for basis set optimization jobs. It is also possible to set the value of basopt to be equal to an appropriate energy. In this case the basis set parameters are optimized so that the absolute value of the difference between this value and the actual energy is minimized. This option comes handy when optimizing a density fitting basis set. In this case the difference between the actual and non-density-fitting energy (obtained from a previous calculation) will be minimized. See also Sect. 6.9.

Options:

on, off, or $<$any real number$>$

Default:

basopt=off

Examples:
1.

To optimize a basis set variationally set basopt=on

2.

To optimize a basis set minimizing the difference of the calculated energy and -76.287041 E${}_{h}$ set basopt=-76.287041

bfbasis

Specifies the bond function (BF) basis (see Ref. 83 for details).

Options:
none

No BFs are used.

$<$BF basis name$>$

name of the BF basis to be used.

Notes:
• 1.

The format of the name of the BF basis, $<$BF basis name$>$, is $<$AO basis name$>$-$<$BF type$>$. E.g., 6-31G-1s1p is a BF basis optimized for the 6-31G AO basis and one s and one p function set are placed on the corresponding bonds.

• 2.

The BF basis sets are stored in the BASIS/Bond file but the BF basis can also be specified in the GENBAS file similar to the AO basis sets (see the description of keyword basis). The format of the label of the BF basis in the file is B$<$bond name$>$:$<$BF basis name$>$. E.g., BCH:6-31G-1s1p is 6-31G-1s1p BF basis optimized for the C–H bond.

• 3.

If BF bases are used, the geometry must be given in mol format (see the description of keyword geom)

Default:

bfbasis=none

Example:

hydrogen-fluoride molecule, the 6-31G basis and the 6-31G-1s1p bond function basis are used:
basis=6-31G
bfbasis=6-31G-1s1p
geom=mol
2 1
0.00000000 0.00000000 0.00000000 F
0.00000000 0.00000000 0.91690000 H
1 2 1

bfgsmem

Specifies the number of gradient vectors used for the BFGS update in quadratic SCF calculations using the BFGS algorithm (qscf=BFGS).

Options:

$<$any positive integer$>$

Default:

bfgsmem=10

Example:

to increase the number of vectors to 15 set bfgsmem=15

bfgstol

Threshold (in E${}_{h}$) for starting the BFGS algorithm in quadratic SCF calculations using the BFGS algorithm (qscf=BFGS). The calculation starts with the conventional DIIS-based convergence acceleration, and the BFGS algorithm will be switched on if the maximum norm of the gradient is smaller than bfgstol.

Options:

$<$any positive real number$>$

Default:

bfgstol=1e-3

Example:

for a convergence threshold of $10^{-4}$ E${}_{h}$ set bfgstol=1e-4

bpcompo

Boughton–Pulay completeness criterion [9] for occupied orbitals. In various local correlation approaches the Boughton–Pulay procedure is used to identify the atoms on which an LMO is localized. The least-squares residual of the parent LMO and the LMO truncated to the selected atoms is required to be less than one minus this criterion.

Options:
$<$any real number in the [0,1] interval$>$

This number will be used as the completeness criterion.

Default:

bpcompo=0.95 for local excited-state calculations, bpcompo=0.985 otherwise

Note:

Atom domains determined by bpcompo are also utilized to construct local fitting domains in the case of localcc=2016 or 2018 according to Ref. 101.

Example:

to set a threshold of 0.99 type bpcompo=0.99

bpcompv

Boughton–Pulay completeness criterion [9] for virtual orbitals (projected atomic orbitals). See also keyword bpcompo.

Options:
$<$any real number in the [0,1] interval$>$

This number will be used as the completeness criterion.

Default:

bpcompv=0.98

Example:

to set a threshold of 0.95 type bpcompv=0.95

bpedo

Boughton–Pulay completeness criterion [9] for the occupied orbitals of an extended domain. See also keyword bpcompo.

Options:
$<$any real number in the [0,1] interval$>$

This number will be used as the completeness criterion.

Default:

bpedo=0.9999 is set as default in the case of localcc=2018 and lcorthr=normal for both LMP2 and LNO-CC computations, according to Refs. 101 and 102. See the description of lcorthr for further details on the predefined values of bpedo for other cases

Note:

bpedo=bpcompo is set if bpedo is not specified and not employed in the local correlation calculation

Example:

to set a threshold of 0.9998 type bpedo=0.9998

bpedv

Boughton–Pulay completeness criterion [9] for the virtual orbitals (projected atomic orbitals) of an extended domain. See also keyword bpcompo.

Options:
$<$any real number in the [0,1] interval$>$

This number will be used as the completeness criterion.

Default:

bpedv=0.995 is set as default in the case of localcc=2016 or 2018 according to Ref. 101.

Note:

bpedv=bpcompv is set if bpedv is not specified and not employed in the local correlation calculation

Example:

to set a threshold of 0.99 type bpedv=0.99

bppdo

Boughton–Pulay completeness criterion [9] for the occupied orbital of a primary domain. See also keyword bpcompo.

Options:
$<$any real number in the [0,1] interval$>$

This number will be used as the completeness criterion.

Default:

bppdo=0.999 is set as default in the case of localcc=2016 or 2018 according to Ref. 101.

Note:

bppdo=bpcompo is set if bppdo is not specified and not employed in the local correlation calculation

Example:

to set a threshold of 0.99 type bppdo=0.99

bppdv

Boughton–Pulay completeness criterion [9] for virtual orbitals (projected atomic orbitals) of a primary domain. See also keywords bppdo and bpcompo.

Options:
$<$any real number in the [0,1] interval$>$

This number will be used as the completeness criterion.

Default:

bppdv=bpcompv

Example:

to set a threshold of 0.99 type bppdv=0.99

calc

Specifies the type of the calculation.

Options:
SCF, HF, or KS

Hartree–Fock or Kohn–Sham SCF calculation, the type of the calculation can be controlled by keyword scftype (see also keyword scftype).

RHF, UHF, ROHF, RKS, UKS, ROKS, MCSCF

Restricted, unrestricted, restricted open-shell Hartree–Fock SCF; restricted, unrestricted, restricted open-shell Kohn–Sham SCF; or multi-configurational SCF calculation, respectively. The type of the HF/KS/MCSCF procedure is also defined at the same time if these options are chosen, and it is not necessary to set scftype. That is, calc=RHF is equivalent to calc=SCF plus scftype=RHF, etc.

B3LYP, PBE0, B3PW91, B3LYP-D3, B2PLYP-D3, …

Kohn–Sham SCF calculation with the specified density functional. The type of the Kohn–Sham procedure (i.e., RKS, UKS, or ROKS) can be controlled by keyword scftype (see also keyword scftype). The options are identical to those of keyword dft (except for off, user, and userd), see the description of keyword dft. Note that for a correlated calculation with KS orbitals you can only select the functional with keyword dft, the value of keyword calc must be set to the desired correlation method. Note also that for DFT calculations the density fitting approximation is used by default, i.e., dfbasis_scf is set to auto. To run a conventional KS calculation set dfbasis_scf=none.

TDHF

Time-dependent HF (TD-HF, also known as random-phase approximation). If calc=SCF and number of the states is greater than one (set by keywords nsing, ntrip, or nstate), also TD-HF calculations are performed for the excited states. It is only available with density fitting.

TDDFT

Full time-dependent DFT (TD-DFT). The density functional must be set using keyword dft. Alternatively, if calc is set to the name of the functional, and the number of the states is greater than one (set by keywords nsing, ntrip, or nstate), also TD-DFT calculations are performed for the excited states using the given functional. For HF reference it is equivalent to TD-HF. It is only available with density fitting. For excited-state calculations with double hybrid functionals see also keyword dhexc.

TDA

TD-DFT in the Tamm–Dancoff approximation (TDA). For HF reference it is equivalent to CIS. It is only available with density fitting. For excited-state calculations with double hybrid functionals see also keyword dhexc.

MP2

Second-order Møller–Plesset (MP2) calculation, the spin-component scaled MP2 (SCS-MP2) [37] and the scaled opposite-spin MP2 (SOS-MP2) [55] energy will also be computed (see also keywords scsps and scspt). Note that efficient MP2 calculations are only possible with the density-fitting (resolution-of-identity) approximation, and, by default, a DF-MP2 ($\equiv$ RI-MP2) calculation is performed (that is, options MP2, DF-MP2, and RI-MP2 are synonyms). If you are still interested in the MP2 energy without DF, you can, e.g., run a CCSD calculation (without DF), where the MP2 energy is also calculated.

SOS-MP2

Scaled opposite-spin second-order Møller–Plesset (SOS-MP2) calculation [55] using an $N^{4}$-scaling algorithm based on the Cholesky decomposition/Laplace transform of energy denominators (in practice one dRPA iteration is performed, see below). Note that it is only possible with the density-fitting (resolution-of-identity) approximation, and, by default, a DF-SOS-MP2 ($\equiv$ RI-SOS-MP2) calculation is performed (that is, options SOS-MP2, DF-SOS-MP2, and RI-SOS-MP2 are synonyms).

SCS-MP2

For canonical calculations it is equivalent to option MP2. If a local correlation calculation is executed, only the spin-component scaled MP2 (SCS-MP2) energy will be computed.

dRPA

Direct random-phase approximation (dRPA) calculation (see Eqs. 7 and 8 in Ref. 139). Note that dRPA calculations are only possible with the density-fitting (resolution-of-identity) approximation, and, by default, a DF-dRPA ($\equiv$ RI-dRPA) calculation is performed (that is, options dRPA, DF-dRPA, and RI-dRPA are synonyms).

RPA

Random-phase approximation (RPA) calculation (see Eqs. 10 and 13 in Ref. 139, where it is referred to as RPAx-SO2). Note that RPA calculations are only possible with the density-fitting (resolution-of-identity) approximation, and, by default, a DF-RPA ($\equiv$ RI-RPA) calculation is performed (that is, options RPA, DF-RPA, and RI-RPA are synonyms).

SOSEX

Second-order screened exchange (SOSEX) [38] calculation (see Eqs. 7 and 9 in Ref. 139), the dRPA and the rPT2 [124] energies are also computed. Note that SOSEX calculations are only possible with the density-fitting (resolution-of-identity) approximation, and, by default, a DF-SOSEX ($\equiv$ RI-SOSEX) calculation is performed (that is, options SOSEX, DF-SOSEX, and RI-SOSEX are synonyms).

sedRPA, seSOSEX, dsdRPA, dsSOSEX

The scaled-equation and down-scaled dRPA and SOSEX methods of Ref. 94. See also the notes for options dRPA and SOSEX as well as the descriptions of keywords scspe and scsph.

RPAX2

RPAX2 calculation (see Eqs. 17 to 19 in Ref. 51). Note that RPAX2 calculations are only possible with the density-fitting (resolution-of-identity) approximation, and, by default, a DF-RPAX2 ($\equiv$ RI-RPAX2) calculation is performed (that is, options RPAX2, DF-RPAX2, and RI-RPAX2 are synonyms).

CIS

Configuration interaction singles (CIS) calculation [85]. Efficient CIS calculations are only possible with the density-fitting (resolution-of-identity) approximation, and, by default, a DF-CIS ($\equiv$ RI-CIS) calculation is performed (that is, options CIS, DF-CIS, and RI-CIS are synonyms). If you are still interested in the CIS energy without DF, set ccprog=mrcc, dfbasis_scf=none, and dfbasis_cor=none.

CIS(D)

Configuration interaction singles with perturbative correction for double excitations [CIS(D)] calculation [44, 84]. Note that CIS(D) calculations are only possible with the density-fitting (resolution-of-identity) approximation, and, by default, a DF-CIS(D) [$\equiv$ RI-CIS(D)] calculation is performed [that is, options CIS(D), DF-CIS(D), and RI-CIS(D) are synonyms].

CIS(Di)

Iterative doubles correction to configuration interaction singles [CIS(D${}_{\infty}$)] calculation [44, 87, 88]. Note that CIS(D${}_{\infty}$) calculations are only possible with the density-fitting (resolution-of-identity) approximation, and, by default, a DF-CIS(D${}_{\infty}$) [$\equiv$ RI-CIS(D${}_{\infty}$)] calculation is performed [that is, options CIS(Di), DF-CIS(Di), and RI-CIS(Di) are synonyms].

Second-order algebraic diagrammatic construction [ADC(2)] calculation [132, 41, 87, 88]. Note that ADC(2) calculations are only possible with the density-fitting (resolution-of-identity) approximation, and, by default, a DF-ADC(2) [$\equiv$ RI-ADC(2)] calculation is performed [that is, options ADC(2), DF-ADC(2), and RI-ADC(2) are synonyms].

CC2

Second-order coupled-cluster singles and doubles (CC2) calculation [10, 41, 87, 88]. Efficient CC2 calculations are only possible with the density-fitting (resolution-of-identity) approximation, and, by default, a DF-CC2 ($\equiv$ RI-CC2) calculation is performed (that is, options CC2, DF-CC2, and RI-CC2 are synonyms). If you are still interested in the CC2 energy without DF, set ccprog=mrcc, dfbasis_scf=none, and dfbasis_cor=none.

SOS-CC2, SOS-CIS(D), SOS-CIS(Di), SOS-ADC(2)

Scaled opposite-spin CC2, CIS(D), CIS(D${}_{\infty}$), and ADC(2) [SOS-CC2, SOS-CIS(D), SOS-CIS(D${}_{\infty}$), SOS-ADC(2)] calculation [10, 147, 87, 88, 84]. An $N^{4}$-scaling algorithm based on the Cholesky decomposition/Laplace transform of energy denominators is executed. It is only available with density fitting. See also keywords scsps and scspt.

SCS-CC2, SCS-CIS(D), SCS-CIS(Di), SCS-ADC(2)

Spin-component scaled CC2, CIS(D), CIS(D${}_{\infty}$), and ADC(2) [SCS-CC2, SCS-CIS(D), SCS-CIS(D${}_{\infty}$), SCS-ADC(2)] calculation [10, 147, 87, 88, 84]. It is only available with density fitting. See also keywords scsps and scspt.

CCS, CCSD, CCSDT, CCSDTQ, CCSDTQP, CC($<$n$>$)

The corresponding single-reference CC calculation if the number of active orbitals is zero (see Ref. 65); the corresponding SRMRCCSD, SRMRCCSDT, etc. calculation otherwise (see Ref. 66).

CCSD[T], CCSDT[Q], CCSDTQ[P], CC($<$n-1$>$)[$<$n$>$]

The corresponding single-reference CC calculation with perturbative corrections (see Ref. 59).

CCSD(T), CCSDT(Q), CCSDTQ(P), CC($<$n-1$>$)($<$n$>$)

The corresponding single-reference CC calculation with perturbative corrections (see Ref. 59).

CCSD(T)_L, CCSDT(Q)_L, CCSDTQ(P)_L, CC($<$n-1$>$)($<$n$>$)_L

The corresponding CCSD(T)${}_{\Lambda}$, CCSDT(Q)${}_{\Lambda}$, etc. calculation (see Ref. 59).

CCSDT-1a, CCSDTQ-1a, CCSDTQP-1a, CC($<$n$>$)-1a

The corresponding iterative approximate single-reference CC calculation (see Ref. 59).

CCSDT-1b, CCSDTQ-1b, CCSDTQP-1b, CC($<$n$>$)-1b

The corresponding iterative approximate single-reference CC calculation (see Ref. 59).

CC2, CC3, CC4, CC5, CC$<$n$>$

The corresponding iterative approximate single-reference CC calculation (see Ref. 59).

CCSDT-3, CCSDTQ-3, CCSDTQP-3, CC($<$n$>$)-3

The corresponding iterative approximate single-reference CC calculation (see Ref. 59).

CCSDT[Q]/A, CCSDTQ[P]/A, CC($<$n-1$>$)[$<$n$>$]/A

The corresponding single-reference CC calculation with perturbative corrections using ansatz A (see Ref. 61).

CCSDT[Q]/B, CCSDTQ[P]/B, CC($<$n-1$>$)[$<$n$>$]/B

The corresponding single-reference CC calculation with perturbative corrections using ansatz B (see Ref. 61).

CCSDT(Q)/A, CCSDTQ(P)/A, CC($<$n-1$>$)($<$n$>$)/A

The corresponding single-reference CC calculation with perturbative corrections using ansatz A (see Ref. 61).

CCSDT(Q)/B, CCSDTQ(P)/B, CC($<$n-1$>$)($<$n$>$)/B

The corresponding single-reference CC calculation with perturbative corrections using ansatz B (see Ref. 61).

CIS, CISD, CISDT, CISDTQ, CISDTQP, CI($<$n$>$), FCI

The corresponding single-reference CI calculation if the number of active orbitals is zero (see Ref. 65), the corresponding MRCISD, MRCISDT, etc. calculation otherwise (see Ref. 66).

Notes:
• 1.

In the above options $n$ is a positive integer, which is the excitation level of the highest excitation. $n$ is supposed to be equal to or greater than 6 since for smaller $n$’s the CC($<$n$>$) and similar options are equivalent to one of the other options, e.g., CC(5) is equivalent to CCSDTQP or CC(3)(4) is identical with CCSDT(Q).

• 2.

For excited-state calculations with the TD-HF, TDA, TD-DFT (including double hybrid approaches), CIS, CIS(D), CIS(D${}_{\infty}$), ADC(2), CC2 and various CC and CI methods the number of states should be greater than one (keywords nsing, ntrip, or nstate). If more than one state is requested for CC calculations, the corresponding linear-response (LR) CC (for excitation energies it is equivalent to equation-of-motion CC, EOM-CC) calculation is performed automatically for the excited states. If more than one state is requested and calc=SCF, TD-HF (dft=off) or TD-DFT (dft$\neq$off) calculations will be carried out for the excited states.

• 3.

The active orbitals can be selected and the MRCI/CC calculations can be controlled by keywords nacto, nactv, active, maxex, and maxact. Note that, by default, MRCI/CC calculations are executed using HF reference. To use MCSCF orbitals scftype must be set to MCSCF, and the MCSCF wave function must be defined by keywords docc and mact. In this case nacto and nactv are taken over from the MCSCF calculation, and a MRCI/CC calculation will be run automatically. You should only set the above keywords if you want to run the post-MCSCF calculation with an active space different from the MCSCF one.

• 4.

In principle, all methods can be used with the density fitting (resolution-of-identity) approximation. It is possible in two ways. You can attach the prefix DF- or RI- to the corresponding option from the above list. Then, for a HF calculation keyword dfbasis_scf will be set to auto, while for a correlated calculation both dfbasis_scf and dfbasis_cor will be given the value auto. Alternatively, you can also set the values for keywords dfbasis_scf and dfbasis_cor, see their description.

• 5.

Local correlation methods, for both ground and excited states, can be run if the prefix “L” is added to the corresponding option of the keyword, e.g., as LMP2, LdRPA, LCCSD(T), LADC(2), LCC2, etc. Additionally, the prefix “LNO-” can also be used as a synonym in the case of local coupled-cluster approaches, e.g., as LNO-CCSD, LNO-CCSD(T), LNO-CCSDT, etc., and for ADC(2) [LNO-ADC(2)]. Both options are equivalent to setting localcc=on.

• 6.

For the dRPA, RPA, and SOSEX methods the use of PBE orbitals is recommended (this is set by default).

• 7.

For the RPAX2 method the use of PBEx orbitals is recommended (this is set by default).

Default:

calc=SCF

Examples:
1.

To run a CCSD(T) calculation the user should set calc=CCSD(T)

2.

For DF-HF (RI-HF) calculations type:
calc=DF-HF
which is equivalent to the following input:
calc=SCF
dfbasis_scf=auto

3.

For a local CCSD(T) calculation using the local natural orbital approximation set calc=LCCSD(T) or calc=LNO-CCSD(T)

4.

For a RI-MP2 calculation set calc=MP2

5.

For a DFT calculation with the B3LYP functional set calc=B3LYP

6.

Direct RPA calculation with Kohn–Sham orbitals calculated with the PBE functional:
calc=dRPA
dft=PBE

7.

TD-DFT calculation for the 3 lowest singlet excited states of a molecule using the PBE functional:
calc=TDDFT
dft=PBE
nsing=4

A somewhat less complicated input for the same purpose:
calc=PBE
nsing=4

ccmaxit

Maximum number of iteration steps in correlated calculations (CC, CI, RPA, …).

Options:

$<$any positive integer$>$

Default:

ccmaxit=50

Example:

to increase the maximum number of CC iterations to 100 give ccmaxit=100

ccprog

Specifies the CC program to be used.

Options:
mrcc

The automated, string-based CC program mrcc will be called.

ccsd

The very fast, hand-coded CCSD(T) codes, ccsd or uccsd, will be executed (currently the spatial symmetry cannot be utilized).

cis

The very fast, hand-coded, integral direct DF-CIS code cis will be executed (currently the spatial symmetry cannot be utilized).

Note:

Please note that the mrcc code was optimized for high-order CC calculations, such as CCSDT(Q) and CCSDTQ, which require different algorithms than CCSD(T). Thus it is slow for CCSD(T), but optimal for high-order CC models.

Default:

ccprog=ccsd for CCSD and CCSD(T) calculations, ccprog=cis for CIS, CIS(D), CIS(D${}_{\infty}$), ADC(2), and CC2 calculations, ccprog=mrcc otherwise.

Example:

to use the mrcc code for CCSD or CCSD(T) calculations give ccprog=mrcc

ccsdalg

Specifies the CCSD algorithm employed in the ccsd or uccsd program if ccprog=ccsd.

Options:
disk

An MO-based, hand-coded, OpenMP-parallel CCSD algorithm is invoked [129]. All the necessary four-center integrals (including the ones with four virtual orbitals) are stored on disk after the integral transformation (and integral assembly) steps. The four-center integrals are read in each CCSD iteration from these files. Careful optimization was performed significantly improving both the CPU usage and the OpenMP parallelization efficiency of the implementation (see Ref. 39 for ccsd).

dfdirect

For ccsd: A highly-optimized, hand-coded, OpenMP-parallel, extremely low-memory, in-core, integral-direct $t_{1}$-transformed DF-CCSD algorithm is invoked [39]. The necessary four-center integrals and intermediates are constructed completely in memory in an integral direct manner in each iteration, and disk I/O is avoided. This implementation, including the cost of the repeated integral assembly, is still more efficient than the optimized ccsdalg=disk one, especially if the OpenMP parallelization is employed. For uccsd: currently the most storage-intensive four-external four-center integrals are assembled on-the-fly from the corresponding two- and three-center DF integrals in each CCSD iteration. The remaining four-center integrals are stored on disk.

Note:

The dfdirect algorithm is currently only available with the ccsd or uccsd programs, i.e., via ccprog=ccsd.

Default:

ccsdalg=dfdirect if density fitting is applied for the correlation energy calculation, e.g., for calc=DF-CCSD, calc=DF-CCSD(T), calc=LNO-CCSD(T), etc. If density fitting is not employed, i.e., dfbasis_cor=none, then ccprog=disk is selected automatically.

Example:

ccsdalg=disk switches to the CCSD algorithm that stores the four-center integrals on disk.

ccsdmkl

Controls the parallel execution of Intel MKL subroutines in program ccsd.

Options:
thr

Threaded/parallel version of MKL is used

seq

Sequential MKL procedures are called in parallel

Default:

ccsdmkl=seq

Example:

to run BLAS subroutines on more than $1$ thread in program ccsd set ccsdmkl=thr

ccsdrest

Use this keyword to restart canonical (i.e., not local) CC calculations from previously calculated values if ccprog=ccsd and talg=occ. For restarting local correlation calculations, see keyword lccrest. For restarting canonical CI or CC calculations with ccprog=mrcc, see keyword rest.

Options:
off

Turns off checkpointing and performs the CC calculation normally

trf

Turns on checkpointing and performs the CC calculation normally

ccsd

Turns on checkpointing and restarts the CC calculation from the last completed iteration for CCSD or the next unfinished $ijk$ index triplet for the (T) correction

Note:

In the case of restarting a CC calculation, program ccsd is run directly skipping the SCF procedure and the integral transformation. Therefore, the VARS, 55, and DFINT_* files from the previous run need to be present in the working directory.

Default:

ccsdrest=trf

Example:

to restart a CCSD/CCSD(T) calculation set ccsdrest=ccsd

Sets the number of outer OpenMP threads in program ccsd while performing the CCSD iteration.

Options:

$<$any positive integer$>$

Default:

Example:

to reduce the memory requirement of a CCSD calculation by turning off nested OpenMP set ccsdthreads=1

cctol

Convergence threshold for the energy in correlated calculations (CC, CI, dRPA, RPA, etc.). The energy will be accurate to $10^{-{\tt cctol}}$ E${}_{h}$.

Options:

$<$any integer$>$

Default:

cctol=8 for property calculations, cctol=[-$\log_{10}$(optetol)]+2 for geometry optimizations, cctol=5 for localcc=2016 and
localcc=2018, cctol=6 otherwise

Example:

for an accuracy of $10^{-8}$ E${}_{h}$ one must give cctol=8

charge

Charge of the system.

Options:

$<$any integer$>$

Default:

charge=0

Example:

for the Cl${}^{-}$ ion one should give charge=-1

cialg

Specifies what type of algorithm is to be used in CIS, TDA, TD-HF, and TD-DFT calculations.

Options:
disk

Conventional algorithm, two-electron integrals are stored on disk

direct

Completely I/O-free, integral-direct algorithm, two-electron integrals are recalculated in each iteration step.

direct2

Partially I/O-free, integral-direct algorithm; recommended if the I/O is fast and/or few states are required.

direct3

Variant of direct2, but usually slower.

auto

Based on the size of the molecule the program will automatically select the most efficient one from the above options.

Default:

cialg=auto

Example:

to use disk-based algorithm set cialg=disk

ciguess

The initial guess vectors for CI and LR-CC calculations can be specified using this keyword.

Options:
on

The initial trial vectors are supplied by the user and should be given in the subsequent lines as follows. For each state the corresponding initial guess vector must given by the number of non-zero elements of the vector on the first line, followed by as many lines as the number of non-zero elements. In each line the corresponding excitation operator and the value for this element of the vector must be provided in the following format:
$\dots\dots\dots<% i_{n}>$
where $$ is the level of excitation, and the electrons are promoted from occupied orbitals $\dots$ to virtual orbitals $\dots$ with spins $\dots$ ($$ is 1 for alpha and 0 for beta), respectively. $$ is the corresponding coefficient.

off

Initial trial vectors are not specified, the program applies simple unit vectors as initial guess. The unit vectors are determined on the basis of the diagonal elements of the Hamiltonian: if $n$ roots are requested, $n$ unit vectors corresponding to the $n$ lowest diagonals will be used.

Default:

ciguess=off

Example:

Suppose that we have two excited states in a LR-CC calculation. Then the initial guess can be given as follows.
ciguess=on
1
1 1 6 4 1.0
3
1 1 7 3 0.1
2 1 0 7 7 5 5 1.0
2 1 1 7 6 3 4 0.1

For the first state there is only one entry, a single excitation of the alpha electron from orbital 4 to orbital 6 with a coefficient of 1.0. For the second root the initial guess vector contains three entries. A single excitation from orbital 3 to orbital 7 with alpha spin and a relative weight of 0.1, a double excitation from orbital 5 to orbital 7 with a weight of 1.0, and another double excitation of the alpha electrons from orbitals 3 and 4 to orbitals 6 and 7 with a weight of 0.1.

Notes:
1.

For $M_{S}=0$ states the vector is automatically spin-adapted, and you do not need to specify the coefficients for the corresponding spin-reversed excitations. E.g., in the above example, for root 1 the 1 0 6 4 1.0 entry is unnecessary.

2.

The guess vector is not required to be normalized, it is done automatically.

3.

In the case of four-component relativistic calculations (Dirac interface) the serial numbers of the spinors should be specified. In addition, the second number in the above strings must be 1 (that is, all excitations are formally considered as excitations of alpha electrons).

cmpgrp

Specifies the computational point group. All calculations will use the specified Abelian group. See Sect. 13 for more details.

Options:
auto

The molecular symmetry is automatically recognized.

$<$point group symbol$>$

Schönflies symbol of the Abelian point group such as C1, Ci, Cs, C2, C2v, C2h, D2, D2h

Note:

cmpgrp=C1 is equivalent to symm=off

Default:

cmpgrp=auto

Example:

to use $C_{2v}$ point group for benzene set cmpgrp=C2v

core

Specifies whether the core electrons are correlated.

Options:
frozen

Frozen core approximation

corr

All core electrons are correlated

$<$any non-negative integer n$>$

The lowest (according to orbital energy order) $n$ pieces of spatial orbitals (the lowest $n$ pieces of alpha and $n$ pieces of beta spin orbitals for UHF/semicanonical ROHF reference) will be dropped.

Default:

core=frozen

Example:

to correlate all core electrons set core=corr or core=0

corembed

This keyword controls the models and subsystems selected for multi-level local correlation methods. Currently it is only available for closed-shell systems using density-fitting.

Options:
off

Conventional case, a single model defined by calc is used for the entire system.

on

Multi-level calculation is performed with different local correlation methods for the active (high-level) and the environmental (low-level) subsystems. The three input lines following corembed define the list of active atoms, the computational model for the environment level, and the number of embedded orbitals (if it is specified). The syntax for these three lines is analogous with that for keyword embed. (See the description of keyword embed.) The high-level method for the active region should be specified by the keyword calc.

Default:

corembed=off

Notes:
1.

Local correlation methods available with localcc=2015,
localcc=2016, and localcc=2018 (e.g., MP2 or arbitrary single-reference CC) can be chosen for both the active and the environmental subsystem. Additionally, HF or HF+LRC are also available choices for the low-level model. If the latter is set, the environment is treated at the HF level but the long-range correlation (LRC) between the active subsystem and its environment is also taken into account (see Ref. 46). Note that models with KS-DFT reference, such as dRPA, SOSEX, etc., are not available for multi-level local correlation calculations.

2.

The threshold settings of the local correlation method chosen for the high-level model can be given (as in the case of corembed=off) by the keywords controlling the local correlation methods (see their list in Sect. 6.8). Default settings according to lcorthr=normal and localcc=2018 (or for previous versions according to lcorthr=loose and localcc=2015 or localcc=2016) are employed for the low-level model of the environment.

Examples:
1.

LNO-CCSD(T)-in-LMP2 scheme, where LNO-CCSD(T) is performed for the active orbitals with tight thresholds, atoms 1 and 2 are included in the high-level region, and the number of the active orbitals is determined automatically:
calc=LNO-CCSD(T)
lcorthr=tight
corembed=on
1-2
LMP2
0

2.

LNO-CCSDT-in-LNO-CCSD scheme, where the local CCSDT calculation is performed with the mrcc program for the active orbitals and the local CCSD is calculation performed with the ccsd program for the environment:
calc=LCCSDT
corembed=on
1-2
LCCSD
0

3.

LNO-CCSD(T)-in-HF+LRC embedding where only HF is used for the environment but the additional LRC term accounts for the interaction of the active and environmental parts. Atoms 1, 2, 3, and 5 define the active subsystem, and 10 orbitals are included in the active region:
calc=LNO-CCSD(T)
corembed=on
1-3,5
HF+LRC
10

dboc

Diagonal Born–Oppenheimer correction (DBOC) (available only with Cfour).

Options:

on or off

Default:

dboc=off

Example:

for a DBOC calculation set dboc=on

dendec

Selects the algorithm for the decomposition of energy denominators, Cholesky-decomposition or Laplace transform, for canonical SOS-MP2, dRPA (also required for SOSEX), SOS-CC2, SOS-CIS(D), SOS-CIS(D${}_{\infty}$), and SOS-ADC(2) as well as for local MP2 and dRPA calculations. The dRPA calculation is performed using the modified algorithm of Heßelmann [51] based on the decomposition of energy denominators. For the calculation of the SOS-MP2 energy, in practice one dRPA iteration is performed with the aforementioned algorithm. In the case of local MP2 and dRPA calculations the correlation energy contributions are also evaluated with the aid of the decomposition of energy denominators (see Ref. 68). The algorithm for the decomposition can be set using this keyword in all of the above cases. The number of retained Cholesky vectors/quadrature points can be controlled by keyword nchol.

Options:
off

for SOS-CC2, SOS-CIS(D), SOS-CIS(D${}_{\infty}$), and SOS-ADC(2) calculations the decomposition will not be used, but a fifth-power scaling algorithm will be executed

Cholesky

Cholesky decomposition will be used

Laplace

Laplace transform will be used

Default:

dendec=Laplace for SOS-MP2, SOS-CC2, SOS-CIS(D) SOS-CIS(D${}_{\infty}$), and SOS-ADC(2); dendec=Cholesky otherwise

Notes:
1.

The algorithms based on the Laplace-transformed technique use minimax quadratures obtained from Ref. 137.

2.

The default quadratures are taken from the Quad file which is located in the BASIS directory created at the installation. In addition to the default quadratures, any further quadrature can be used by adding it to the BASIS/Quad file or alternatively to the GENBAS file to be placed in the directory where Mrcc is executed. The format is as follows. On the first line give the label of the quadrature as KNNRXXX, where NN is the number of the quadrature points and XXX is the upper limit of the interval in which the Laplace transform is approximated (variable $R$ in Ref. 137). The subsequent NN lines must contain, respectively, the weights and quadrature points.

Example:

to use Laplace transform give dendec=Laplace

dens

Construction of density, derivative density, and transition density matrices for property calculations. If mod(dens,2)=1, only one-particle, if mod(dens,2)=0, both one- and two-particle density matrices will be calculated and contracted with the available property integrals. See Refs. 56, 57, 58, 60, 106, 107 for more details.

Options:
1, 2

Density-matrix calculation (for geometry optimizations, first-order properties, etc.)

3, 4

Density-matrix first derivatives (for second-order property calculations, available only with Cfour)

5, 6

Transition density matrices (for transition moment calculations)

7, 8

Second and third derivatives of the density-matrix (for third-order property calculations, available only with Cfour)

Default:

dens=2 for geometry optimizations and QM/MM calculations, dens=0 otherwise

Notes:
1.

Transition moment as well as excited-state gradient calculations can be performed for only one excited state at a time, that is, nsing, ntrip, or nstate cannot exceed 2. To compute the transition moment or gradient for a higher excited state you need to converge the equations to that root. The best practice is to run a calculation with the desired number of excited states, and then restart the calculation selecting a higher solution (see the description of keyword rest). You can also try to start the calculation from a good initial guess (see the description of keyword ciguess).

2.

If dens $\neq$ 0, a population analysis is also performed, and Mulliken and Löwdin atomic charges as well as Mayer bond orders are computed.

Example:

for the calculation of both one- and two-particle density matrices set dens=2

dfalg

Specifies how the inverse of the two-center Coulomb integral matrix is decomposed in density fitting direct SCF calculations.

Options:
LinEq

The fitting coefficients are computed by solving the corresponding system of linear equations. It is efficient and numerically stable. It is the best choice for very large auxiliary basis sets for which the diagonalization of the two-center integral matrix is prohibitive.

InvSqrt

Inverse square root of the two-center integral matrix is used. It is relatively stable numerically, but the diagonalization is slow and requires much memory.

Cholesky

Cholesky decomposition of the inverse of the two-center integral matrix is used. It is an efficient algorithm but numerically unstable if the two-center matrix tends to be singular.

Default:

dfalg=InvSqrt for property calculations, dfalg=LinEq otherwise

Example:

to use Cholesky decomposition set dfalg=Cholesky

dfbasis_cor

Specifies whether the density fitting approximation will be used in the correlated calculations and also specifies the fitting basis set.

Options:
none

The density fitting approximation is not used for the correlated calculation.

$<$basis set label$>$, atomtype, special

The density fitting approximation is invoked, and the specified basis set is used as fitting basis set. For the specification of the basis the same rules apply as for keyword basis, see the description of keyword basis.

auto

This option can only be used if Dunning’s (aug-)cc-pV$X$Z or (aug-)cc-pV($X$+d)Z, Weigend and Ahlrichs’ def2, the augmented def2 basis sets of Rappoport and Furche, Peterson’s cc-pV$X$Z-F12 or (aug-)cc-pV$X$Z-PP, or Pople’s basis sets are used as the normal basis set. In this case, if dfbasis_cor=auto, the density fitting approximation is invoked. For the (aug-)cc-pV$X$Z(-PP) and (aug-)cc-pV($X$+d)Z basis sets the corresponding (aug-)cc-pV$X$Z(-PP)-RI basis sets will be used automatically as the fitting basis sets, while for a cc-pV$X$Z-F12 basis set the corresponding aug-cc-pV$X$Z-RI basis will be taken. For the (augmented) def2 basis sets also the corresponding RI basis sets will be used, e.g., def2-TZVPP-RI for def2-TZVPP, def2-QZVPP-RI for def2-QZVPP, def2-TZVPPD-RI for def2-TZVPPD, etc. For Pople-type minimal and double-$\zeta$ basis sets (i.e., STO-3G, 3-21G, 6-31G**, etc.) the cc-pVDZ-RI basis set, while for triple-$\zeta$ basis sets (i.e., 6-311G, 6-311G**, etc.) the cc-pVTZ-RI basis set will be used as the auxiliary basis; if the basis also includes diffuse functions (i.e., 6-31+G**, 6-311++G**, etc.) the aug-cc-pVDZ-RI and aug-cc-pVTZ-RI basis sets are employed by default.

Notes:
1.

For the available fitting basis sets see the notes for keyword basis on page 12.

2.

The density fitting approximation can also be invoked by attaching the prefix DF- or RI- to the corresponding option of keyword calc, see the description of calc.

Default:

dfbasis_cor=auto for all the correlation methods that use the density fitting approximation by default as well as for local correlation calculations (i.e., localcc $\neq$ off), dfbasis_cor=none otherwise.

Examples:
1.

To use the cc-pVTZ-RI fitting basis in the correlated calculation for all atoms the input must include dfbasis_cor= cc-pVTZ-RI

2.

Consider the water molecule and use the cc-pVTZ-RI fitting basis set for the hydrogens and aug-cc-pVTZ-RI for the oxygen. The following inputs are equivalent:
dfbasis_cor=atomtype
O:aug-cc-pVTZ-RI
H:cc-pVTZ-RI

or
dfbasis_cor=aug’-cc-pVTZ-RI

3.

Consider the water molecule and use the cc-pVTZ (cc-pVTZ-RI) basis set (fitting basis set) for the hydrogens and aug-cc-pVTZ (aug-cc-pVTZ-RI.) for the oxygen in a local correlation calculation. The following inputs are equivalent:
calc=CCSD(T)
localcc=on
basis=aug’-cc-pVTZ
dfbasis_scf=aug’-cc-pVTZ-RI
dfbasis_cor=aug’-cc-pVTZ-RI

or
calc=LCCSD(T)
basis=aug’-cc-pVTZ

4.

To run a DF-HF calculation with the cc-pVTZ-F12 basis set and the aug-cc-pVTZ-RI auxiliary basis the input should only include the following lines:
basis=cc-pVTZ-F12
calc=DF-HF

dfbasis_scf

Specifies whether the density fitting approximation will be used in the HF- or KS-SCF calculation and also specifies the fitting basis set. For the syntax see the description of keyword dfbasis_cor. The important difference is that, if dfbasis_scf=auto, the (aug-)cc-pV$X$Z-RI-JK basis sets will be used as auxiliary basis sets for Dunning’s, Peterson’s, and Pople’s basis sets, while for the def2 basis sets the def2-QZVPP-RI-JK auxiliary basis is taken. For the augmented def2 as well as for the aug-cc-pV$X$Z-PP basis sets the def2-QZVPPD-RI-JK auxiliary basis will be used.

Default:

dfbasis_scf=auto if dfbasis_cor$\neq$none and for DFT calculations, dfbasis_scf=none otherwise.

dfintran

Specifies the integral transformation program to be used for the transformation of three-center Coulomb integrals.

Options:
drpa

the drpa program will be called

ovirt

the ovirt program will be called

Default:

dfintran=ovirt if ovirt$\neq$off, dfintran=drpa otherwise.

Example:

to use the ovirt code set dfintran=ovirt

dft

Use this keyword to perform DFT calculations and to specify the functional.

Options:
off

No DFT calculation is carried out.

$<$functional name$>$

The name of the functional, see Table LABEL:FuncTable for the available functionals.

$<$Libxc identifier$>$

The identifier of a functional implemented in the Libxc library (if installed), such as LDA_X, LDA_C_VWN_1, GGA_X_B88, etc. (see the homepage of the Libxc project [53]).

user

User-defined functional. Any combination of the following contributions can be defined:

• the available standalone functionals, see column “User” in Table LABEL:FuncTable.

• the functionals available in the Libxc library (if installed), use simply the Libxc identifier of the functionals (see the homepage of the Libxc project [53]).

• the HF exchange, denoted by HFx

• the long-range HF exchange, denoted by lrHFx. The range-separation parameter ($\omega$) should be specified in a.u. after the lrHFx flag separated by space, see the example below. If the parameter is not set, $\omega$ $=$ 0.15 a.u. will be used.

• the short-range HF exchange, denoted by srHFx. The syntax is same as for lrHFx, see the example below.

• the MP2, dRPA, and SOSEX correlation, denoted, respectively, by MP2, dRPA, and SOSEX;

• the antiparallel- and parallel-spin components of the latter correlation corrections, add the s and t postfix to the above labels, respectively, e.g., instead of the MP2 label, the MP2s and MP2t labels should be used.

• the long- and short-range dRPA correlation denoted, respectively, by lrdRPA and srdRPA. The corresponding spin components, lrdRPAs, srdRPAs, lrdRPAt, and srdRPAt, are also available; the syntax is same as for lrHFx.

Note that for hybrid functionals, such as B97, the HF exchange will be neglected. The combination should be specified in the subsequent lines as follows (see also the examples below):
$<$number of entries$>$
$<$coefficient 1$>$ $<$functional name 1$>$
$<$coefficient 2$>$ $<$functional name 2$>$
$<$coefficient 3$>$ $<$functional name 3$>$

userd

User-defined functional, but different functionals are used for the calculation of the density and the energy. It is useful for defining special double-hybrid functionals. The combination should be specified in the subsequent lines as follows (see also the examples below):
$<$number of entries for density$>$
$<$coefficient 1$>$ $<$functional name 1$>$
$<$coefficient 2$>$ $<$functional name 2$>$
$<$coefficient 3$>$ $<$functional name 3$>$

$<$number of entries for energy$>$
$<$coefficient 1’$>$ $<$functional name 1’$>$
$<$coefficient 2’$>$ $<$functional name 2’$>$
$<$coefficient 3’$>$ $<$functional name 3’$>$

See option user for the possible values of $<$functional name n$>$ and $<$functional name n’$>$. The weight of the HF exchange (HFx), if any, can be different for the density and the energy, and, in contrast to previous versions of Mrcc, must be specified also in the second block.

Default:

dft=PBE for dRPA, RPA, SOSEX, and for scaled-equation and down-scaled dRPA and SOSEX; dft=PBEx for RPAX2; otherwise dft=off

Notes:
1.

Most of the the built-in functionals implemented in Mrcc were obtained from the Density Functional Repository [28, 136]. Other functionals are available via the Libxc interface [79, 53] and require the Libxc library, see Sect. 7.2 for the installation of Libxc.

2.

Empirical dispersion corrections can be calculated for particular functionals and also for the HF energy using the DFT-D3 approach of Grimme and co-workers [34, 35] by attaching the -D3 postfix to the corresponding options: BLYP-D3, BHLYP-D3, B3LYP-D3, B3PW91-D3, BP86-D3, PBE-D3, PBE0-D3, HCTH120-D3, B2PLYP-D3, mPW1B95-D3, TPSS-D3, TPSSh-D3, B2GPPLYP-D3, DSDPBEP86-D3, DSDPBEhB95-D3, dRPA75-D3,
HF-D3. See also the description of keyword edisp.

3.

For a simple DFT calculation (i.e., without subsequent correlation calculations) the value of keyword calc can be SCF, HF, RHF, or UHF. Note that you do not need to set its value since it is set to SCF by default. Alternatively, you can select the DFT functional using keyword calc, and in this case you do not have to set keyword dft (see the description of calc).

4.

For a correlated calculation with KS orbitals you should select the functional with this keyword, and the value of keyword calc must be set to the desired correlation method. Note that you can also accelerate the post-KS calculation using local correlation schemes (e.g., local dRPA). See the examples below.

5.

For a correlated calculation with KS orbitals (excluding calculations with double hybrid functionals) the HF energy computed with KS orbitals is used as reference energy.

6.

For the B2PLYP, B2GPPLYP, DSDPBEP86, DSDPBEhB95, dRPA75, etc. double hybrid functionals as well as for user-defined double hybrid functionals including MP2 (SCS-MP2), dRPA, etc. correlation calc is automatically set to MP2, dRPA, etc. Note that you can accelerate the MP2, dRPA, …part of a double hybrid DFT calculation for large molecules using local correlation approaches. For the built-in double hybrid functionals just add the “L” prefix, while for the user-defined functionals set localcc=on. See the examples below.

7.

The DSDPBEP86, DSDPBEhB95, and dRPA75 functionals use special parameters for the calculation of the D3 correction which are read by the DFT-D3 program from the .dftd3par.\$HOST file located in your home directory. This file will be created by the program, but you must be sure that the program is able to access your home directory. Also note that, if you already have this file in your home, it will be overwritten, so please do not forget to save it before executing Mrcc.

8.

For the VV10 van der Waals functional you can modify parameters $b$ and $C$ (see Ref. 141) if it is used with the user or userd options. For that purpose the two parameters should be specified after the VV10 or VV10NL flag separated by spaces, see the example below. If the parameters are not set, those of Ref. 141 will be used.

Examples:
1.

To perform a DFT calculation with the B3LYP functional give dft=B3LYP or calc=B3LYP

2.

The B3LYP functional can also be defined using the user option as
calc=scf
dft=user
5
0.08 LDA
0.72 B88
0.20 HFx
0.19 VWN5
0.81 LYP

3.

The B2PLYP double-hybrid functional can also be defined using the user option as
calc=scf
dft=user
4
0.47 B88
0.73 LYP
0.53 HFx
0.27 MP2

4.

The DSDPBEP86 double-hybrid functional can also be defined using the user option as
calc=SCF
dft=user
5
0.30 PBEx
0.43 P86
0.70 HFx
0.53 MP2s
0.25 MP2t

5.

SOSEX calculation with Kohn–Sham orbitals calculated with the LDA exchange functional:
calc=SOSEX
dft=LDA

6.

To perform a DFT calculation with the B2PLYP double-hybrid functional and add the D3 dispersion correction set dft=B2PLYP-D3 or calc=B2PLYP-D3

7.

B2PLYP calculation, the MP2 contribution is evaluated using local MP2 approximation:
calc=LB2PLYP

8.

User-defined functional, different functionals are used for the calculation of the density (0.25 PBEx + 0.75 HF exchange + PBEc) and the energy (0.50 PBEx + 0.50 HF exchange + MP2 correlation).
dft=userd
3
0.75 HFx
0.25 PBEx
1.00 PBEc
3
0.50 HFx
0.50 PBEx
1.00 MP2

9.

The dRPA75 dual-hybrid functional can also be defined using the userd option as
dft=userd
3
0.75 HFx
0.25 PBEx
1.00 PBEc
3
0.75 HFx
0.25 PBEx
1.00 dRPA

10.

Local dRPA calculation with Kohn–Sham orbitals calculated with the PBE functional:
calc=LdRPA
dft=PBE

11.

To perform a DFT calculation with the B3LYP functional using its Libxc implementation set calc=HYB_GGA_XC_B3LYP5

12.

The B3LYP functional can also be defined using the user option and the functionals implemented in the Libxc library as
dft=user
5
0.08 LDA_X
0.72 GGA_X_B88
0.20 HFx
0.19 LDA_C_VWN
0.81 GGA_C_LYP

13.

DFT calculation with a user-defined PBE0-VV10 functional. Parameter $b$ of VV10 is modified, while for $C$ its default value, 0.0093, is used. If you do not want to modify either $b$ or $C$, simply drop the two numbers for the VV10 entry.
dft=userd
3
0.75 PBEx
0.25 HFx
1.00 PBEc
4
0.75 PBEx
0.25 HFx
1.00 PBEc
1.00 VV10 8.0 0.0093

14.

DFT calculation with a user-defined CAM-B3LYP functional. A range-separation parameter ($\omega$) of 0.33 a.u. is set. If you want to use the default $\omega$ $=$ 0.15 a.u., simply drop the last number for the lrHFx entry.
dft=user
3
1.00 HYB_GGA_XC_CAM_B3LYP
0.19 HFx
0.46 lrHFx 0.33

15.

An alternative implementation of CAM-B3LYP:
dft=user
3
1.00 HYB_GGA_XC_CAM_B3LYP
0.65 HFx
-0.46 srHFx 0.33

dhexc

This keyword can be used to select the wave function method for the evaluation of the second-order contributions in the case of excited-state double hybrid TD-DFT approaches. See Ref. 84 for further details.

Options:

The corresponding methods will be used for the evaluation of second-order terms.

Default:

Note:

If a spin-scaled DH is employed, the corresponding spin-scaled ADC(2) or CIS(D) method will be used even if ADC(2) or CIS(D) is set. For a non-spin-scaled DH, if a spin-scaled approach is selected, the default spin-scaling parameters described in Ref. 84 will be set. To change the spin-scaling parameters use keywords scsps and scspt.

Examples:
1.

To use the CIS(D)-based TD-B2PLYP approach of Ref. 36 for the lowest excited state of a molecule set:
calc=B2PLYP
nstate=2
dhexc=CIS(D)

2.

To use the SOS-ADC(2)-based DSDPBEP86 approach of Ref. 84 for the lowest excited state of a molecule set:
calc=DSDPBEP86
nstate=2

diag

Type of diagonalization algorithm used for the CI and LR-CC calculations.

Options:
david

Standard Davidson diagonalization

olsen

Another algorithm proposed by Olsen using only two expansion vectors (see Refs. 109, 64, and 65), useful for very large CI/LR-CC vectors

follow

Davidson diagonalization with root-following, recommended for excited-state calculations if the initial guess is given manually or the calculation is restarted

Default:

diag=david

Example:

for root-following type diag=follow

docc

Specifies the number of doubly occupied orbitals in an MCSCF calculation. See also the description of keyword mact.

Options:

The number of doubly occupied orbitals per irrep should be given in the following format:
docc=$,,\dots,$
where $$ is the number of doubly occupied orbitals in irrep $i$, and $N_{ir}$ is the number of irreps.

Default:

There is no default, the occupation must be set in the case of an MCSCF calculation.

Examples:
1.

Water, $2\times 2$ CAS calculation, the active space includes an A${}_{1}$ and a B${}_{1}$ orbital:
docc=3,1,0,0
mact=1,0,1,0

2.

Oxygen, $4\times 4$ CAS calculation, the active space includes four orbitals of B${}_{2g}$, B${}_{3g}$, B${}_{2u}$, and B${}_{3u}$ symmetry. Note that the multiplicity and the symmetry of the state must also be specified, and, if the MCSCF calculation is restarted from HF MOs, the HF occupation should also be given.
occ=3,0,1,1,0,2,1,1/3,0,0,0,0,2,1,1
docc=3,0,0,0,0,2,0,0
mact=0,0,1,1,0,0,1,1
mult=3
symm=2

Radius of atom domains for the local correlation method of Ref. 129 (localcc=2013). For each localized MO (LMO), using the Boughton–Pulay procedure [9], we assign those atoms to the LMO on which it is localized. Then, for each LMO an atom domain is constructed in two steps, the LMO is called the central LMO of the domain. In the first step, those atoms are included in the domain whose distance from the atoms assigned to the central LMO is smaller than domrad. In the second step, those LMOs are identified which are localized on the atoms selected in the first step, and the domain is extended to include all atoms assigned to these LMOs.

Options:
$<$any positive real number$>$

In the first step of the construction of atom domains all atoms whose distance from the atoms assigned to the central LMO is smaller than this number (in bohr) will be included in the domain.

inf

Infinite radius will be applied, i.e., there is only one atom domain including all atoms.

Default:

Note:

To use the local CC methods as defined in Ref. 126 set domrad=inf, that is, use only one atom domain including all atoms.

Example:

to set a threshold of 12.0 bohr type domrad=12.0

drpaalg

Specifies the type of the algorithm for the solution of the dRPA equations or the calculation of SOS-MP2 energies. See Ref. 68 for more details.

Options:
fit

The algorithm of Ref. 51 will be used, the fitting of integral lists will be performed before the dRPA iterations (SOS-MP2 calculation).

nofit

The algorithm of Ref. 68 will be executed, the fitting of the integrals is not performed. This algorithm is efficient for large molecules.

plasmon

The dRPA correlation energy is calculated using the plasmon formula.

auto

The algorithm is automatically selected on the basis of the size of the molecule (canonical dRPA) or the HOMO-LUMO gap (local dRPA).

Notes:
1.

For SOSEX calculations drpaalg=fit is the only option, which is forced by the program.

2.

For canonical dRPA the algorithm using the plasmon formula scales as $N^{6}$, it is only competitive for smaller molecules but inefficient for bigger ones. It avoids, however, the problems of the other algorithms, that is, convergence problems and unphysical solutions. Thus, it is useful for testing.

3.

For local dRPA drpaalg=plasmon is also linear scaling but typically 2- to 4-times slower than drpaalg=fit. It is advantageous for the aforementioned reasons. If drpaalg=auto, the plasmon formula-based algorithm is executed if the HOMO-LUMO gap is lower than 0.05 E${}_{h}$.

Default:

drpaalg=fit and drpaalg=auto for canonical and local dRPA, respectively.

Example:

to set the second option give drpaalg=nofit

dual

Activates dual basis set calculations. For these calculations two basis sets must be specified: a smaller one by keyword basis_sm (see the description of the keyword) and a bigger basis defined by keyword basis. The energy evaluated with the bigger basis set is estimated from a small-basis calculation. See Ref. 47 for more details.

Options:

off No dual basis calculation.

on Dual basis set calculation for conventional SCF and correlated methods. First, an SCF calculation will be performed using the small basis set. Second, one iteration of a SCF calculation is carried out with the large basis, and the energy is extrapolated using a first-order formula. If a correlation calculation is requested, the orbitals obtained in the second SCF step will be used for that purpose.

e1 Dual basis set embedding, Ansatz 1 of Ref. 47. A Huzinaga-embedding calculation is performed with the small basis set. The steps of the large-basis Huzinaga-embedding calculation are non-iterative. See also the description of keyword embed.

e2 Dual basis set embedding, Ansatz 2 of Ref. 47. Similar to e1, but there is also an iterative step with the large basis.

Default:

dual=off

Examples:
1.

To perform a dual basis set PBE calculation with the cc-pVTZ and cc-pVDZ basis sets you need:
basis=cc-pVTZ
basis_sm=cc-pVDZ
dual=on
calc=PBE

2.

Dual basis set PBE-in-LDA calculation with Ansatz 1 using the cc-pVTZ and cc-pVDZ basis sets as large and small basis set, respectively; atoms 1 to 5 are included in the embedded subsystem:
basis=cc-pVTZ
basis_sm=cc-pVDZ
calc=PBE
dual=e1
embed=Huzinaga
1-5
LDA
0

3.

Dual basis set PBE-in-LDA calculation with Ansatz 1 using a mixed large basis (cc-pVTZ for atoms 1 to 5, cc-pVDZ otherwise) and the cc-pVDZ basis sets as the small basis set; atoms 1 to 5 are included in the embedded subsystem:
basis=embed
cc-pVTZ
cc-pVDZ
basis_sm=cc-pVDZ
calc=PBE
dual=e1
embed=Huzinaga
1-5
LDA
0

ecp

Specifies the effective core potential (ECP) used in all calculations. By default the ECPs are taken from the files named by the chemical symbol of the elements, which can be found in the BASIS directory created at the installation. The ECPs are stored in the format used by the Cfour package. In addition to the ECPs provided by default, any ECP can be used by adding it to the corresponding files in the BASIS directory. Alternatively, you can also specify your own ECP in the file GENBAS which must be copied to the directory where Mrcc is executed.

Options:
none

No ECPs will be used.

auto

The ECPs will be automatically selected: no ECP will be used for atoms with all-electron basis sets, while the ECP adequate for the basis set of the atom will be selected otherwise.

$<$ECP label$>$

If the same ECP is used for all atoms, the label of the ECP can be given here.

atomtype

If different ECPs are used or no ECP is used for particular atoms, but the atoms of the same type are treated in the same way, ecp=atomtype should be given, and the user must specify the ECP for each atomtype (for which an ECP is used) in the subsequent lines as $<$atomic symbol$>$:$<$ECP label$>$ .

special

In the general case, if different ECPs are used for each atom, then one should give ecp=special and specify the ECP for each atom in the subsequent lines by giving the label of the corresponding ECP (or none if no ECP is used for that atom) in the order the atoms appear at the specification of the geometry.

Notes:
• 1.

By default the following ECP are available for elements Na to Rn in Mrcc:

• the LANL2DZ ECPs of Hay and Wadt [43, 142, 42]: LANL2DZ-ECP-10, LANL2DZ-ECP-18, LANL2DZ-ECP-28, LANL2DZ-ECP-36, LANL2DZ-ECP-46, LANL2DZ-ECP-60, LANL2DZ-ECP-68, LANL2DZ-ECP-78

• the Stuttgart–Köln ECPs for the def2 basis sets [3, 69, 75]: def2-ECP-28, def2-ECP-46, def2-ECP-60

• the Stuttgart–Köln multiconfiguration Dirac–Hartree–Fock-adjusted ECPs [89, 90, 115, 114, 110, 23, 24]: MCDHF-ECP-10, MCDHF-ECP-28, MCDHF-ECP-60

Please note that some of the above ECPs are not available for all elements.

• 2.

If you need ECPs other than the default ones, you can, e.g., download them from the Basis Set Exchange [5, 22, 133, 120]. Please choose format “CFOUR” when downloading the ECPs.

• 3.

If you use your own ECPs, these must be copied to the end of the corresponding file in the BASIS directory. Alternatively, you can also create a file called GENBAS in the directory where Mrcc is executed, and then you should copy your ECPs to that file.

• 4.

The labels of the ECPs must be identical to those used in the BASIS/* files (or the GENBAS file). For the default ECPs just type the name of the ECPs as given above, e.g., LANL2DZ-ECP-10, def2-ECP-28, etc. If you employ non-default ECPs, you can use any label.

Default:

ecp=auto

Examples:
1.

To use the MCDHF-ECP-10 pseudopotential for all atoms the input must include ecp=MCDHF-ECP-10

2.

Consider the PbO molecule and use the def2-SVP basis set for both elements as well as the def2-ECP-60 pseudopotential for Pb. The following inputs are equivalent.
Input 1:
basis=def2-SVP
geom
Pb
O 1 R

R=1.921813

Input 2:
basis=def2-SVP
ecp=atomtype
Pb:def2-ECP-60
geom
Pb
O 1 R

R=1.921813

Input 3:
basis=def2-SVP
ecp=special
def2-ECP-60
none
geom
Pb
O 1 R

R=1.921813

edisp

This keyword controls the calculation of empirical dispersion corrections for DFT and HF calculations using the DFT-D3 approach of Grimme and co-workers [34, 35]. The corrections are evaluated by the dftd3 program of the latter authors, which is available at http://www.thch.uni-bonn.de/tc/ and interfaced to Mrcc. You need to separately install this code and add the directory where the dftd3 executable is located to your PATH environment variable.

Options:
off

No dispersion correction will be computed.

auto

The dispersion correction will be automatically evaluated to the KS or HF energy. Note that it is only possible for particular functionals listed in the description of keyword dft (and the HF method). For these methods, however, you can also turn on the calculations of the dispersion corrections by attaching the -D3 postfix to the corresponding options, e.g., as BLYP-D3, B3LYP-D3, B2PLYP-D3, etc. (see the description of keyword dft).

$<$any options of the dftd3 program$>$

You can directly give any options of the dftd3 code. The options will be passed over to dftd3 without any consistency check, the user should take care of the compatibility of these options with the calculation performed by Mrcc. Note that the coordinate file name must not be specified here, the coordinates will be taken from the COORD.xyz file generated by Mrcc.

Note:

If edisp=auto or the -D3 postfix is added to the corresponding options, the empirical dispersion correction is by default evaluated with the Becke and Johnson (BJ) damping function [35].

Default:

edisp=off

Example:
1.

to calculate the D3 dispersion correction including BJ damping to the B3LYP energy give calc=B3LYP-D3

2.

to calculate the D3 dispersion correction to the B3LYP energy without the BJ damping the input should include:
calc=B3LYP
edisp=-func b3-lyp -zero

edisp_embed

This keyword controls the calculation of empirical dispersion corrections for low-level methods (environment) in embedding calculations using the DFT-D3 approach of Grimme and co-workers [34, 35]. See the keywords edisp and embed for more details. Note that the empirical corrections are only calculated with the embedded atom list in the case of the subsystem calculations (see keyword embed). Note also that edisp_embed is not usable in the case of energy-based subsystem separation.

Options:
off

No dispersion correction will be computed.

auto

The dispersion energy correction will be automatically evaluated for the low-level theory of the embedding approach. Other considerations are same as for edisp=auto.

$<$any options of the dftd3 program$>$

You can directly give any options of the dftd3 code. Other considerations are same as for edisp=auto. Note that the coordinates will be taken from the COORD.xyz and the COORD_SUBSYSA.xyz files generated by Mrcc for the full system and the subsystem calculations, respectively.

Note:

If edisp_auto=auto or the -D3 postfix is added to the corresponding options, the empirical dispersion correction is by default evaluated with the Becke and Johnson (BJ) damping function [35].

Default:

edisp_embed=off

Example:
1.

To calculate the D3 dispersion correction (including BJ damping) for the interaction of the embedded subsystem and the environment in the case of a LNO-CCSD(T)-in-BLYP type embedding give
calc=LNO-CCSD(T)
embed=huzinaga
1-2
BLYP-D3
0

2.

To calculate the D3 dispersion correction to the BLYP energy without the BJ damping, the input should include:
calc=LCCSD(T)
edisp_embed=-func b-lyp -zero
embed=huzinaga
1-2
BLYP
0

embed

This keyword controls DFT embedding calculations. Currently it is only available for closed-shell systems using density-fitting. See also keywords corembed and oniom for further embedding approaches.

Options:
off

No embedding.

Huzinaga

The Huzinaga-equation-based embedding approach [46, 47] will be used. The embedded atoms and the low-level DFT approach (or HF) used for the embedding must be specified and the number of embedded orbitals can be given in the subsequent lines as follows. The embedded atoms must be given by their serial numbers in the first line as $$,$$,…,$$-$$,…, where $n_{i}$’s are the serial numbers of the atoms. Serial numbers separated by dash mean that $$ through $$ are embedded atoms. Note that the numbering of the atoms must be identical to that used in the Z-matrix or Cartesian coordinate specification, but dummy atoms must be excluded. The low-level DFT (LDA, GGA, or hybrid) or HF approach must be specified in the second line using the corresponding option of keyword dft (for HF simply HF). The high-level method (any DFT, HF, or any correlation method) for the active region should be specified by the keyword calc (or keywords calc and dft if a KS reference is used in a correlation calculation). In the third line an integer should be given which is the number of the embedded orbitals or zero if the latter is determined automatically. In addition, the algorithm for the selection of the orbitals can also be given in the third line after the integer. The options are aMul and bopu, which mean the Mulliken population- and the Boughton–Pulay algorithm-based schemes of Refs. 46 and 47, respectively. For aMul you can also specify the Mulliken population threshold (see the appendix of Ref. 47). The default is aMul with a threshold of 0.3. For the default MO completeness criteria of the bopu algorithm see keyword bopu. In addition, the energy-based ecore algorithm is also supported, which does not require orbital localization and selects the high-energy orbitals as active orbitals. Note that, in the case of the ecore algorithm, the embedded atom list is not used in the calculation. See also examples below.

project

The projector-based embedding approach of Manby and co-workers [78] will be used. The embedded atoms and the low-level DFT approach can be specified as described above.

Default:

embed=off

Examples:
1.

CCSD(T)-in-PBE embedding with the Huzinaga-equation-based approach, atoms 1 and 2 are included in the embedded region, the number of the embedded orbitals is determined automatically, the aMul algorithm is used for the selection of the orbitals with the default threshold:
calc=DF-CCSD(T)
embed=huzinaga
1-2
PBE
0

2.

The same as example 1, but the aMul algorithm is used with a threshold of 0.25:
calc=DF-CCSD(T)
embed=huzinaga
1-2
PBE
0 amul 0.25

3.

The same as example 1, but the bopu algorithm is used with 0.95 MO completeness criteria:
calc=DF-CCSD(T)
embed=huzinaga
1-2
PBE
0 bopu 0.95

4.

Same as example 1, but a mixed basis set is used, cc-pVDZ for the environment and cc-pVTZ for the embedded subsystem:
calc=DF-CCSD(T)
basis=embed
cc-pVDZ
cc-pVTZ
embed=huzinaga
1-2
PBE
0

5.

dRPA@PBE-in-PBE embedding with the Huzinaga-equation-based approach, atoms 1, 2, 3, and 5 as well as 10 orbitals are included in the active region:
calc=dRPA
dft=PBE
embed=huzinaga
1-3,5
PBE
10

6.

B3LYP-in-BLYP embedding with the Huzinaga-equation-based approach, the number of the embedded orbitals will be the same as the number of valance orbitals:
calc=B3LYP
embed=huzinaga

PBE
0 ecore

7.

B3LYP-in-BLYP embedding with the Huzinaga-equation-based approach, the number of the embedded orbitals will be the 4 MOs with the highest orbital energies:
calc=B3LYP
embed=huzinaga

PBE
4 ecore

epert

Use this option to add an external perturbation to the Hamiltonian, e.g., an external electric dipole field.

Options:
none

No perturbations are added.

$<$any integer in the [0,9] interval$>$

the number of the operators added to the Hamiltonian. The operators and the corresponding coefficients (in a.u.) should be specified in the subsequent lines as follows:
$<$operator 1$>$ $<$coefficient 1$>$
$<$operator 2$>$ $<$coefficient 2$>$
$<$operator 3$>$ $<$coefficient 3$>$

where the operator can be x, y, z, xx, yy, zz, xy, xz, yz, xxx, xxy, xxz, xyy, xyz, xzz, yyy, yyz, yzz, zzz.

Note:

The symmetry of the perturbation is not taken care of automatically. If the perturbation lowers the symmetry of the system, you must change the computational point group (keyword cmpgrp) or turn off symmetry (symm=off).

Default:

epert=none

Example:

to add the $\hat{y}$ and $\hat{z}$ dipole length operators to the Hamiltonian with coefficients 0.01 and 0.001 a.u., respectively, the input should include the following lines
epert=2
y 0.01
z 0.001

eps

Threshold for the cumulative populations of MP2 natural orbitals (NOs) or optimized virtual orbitals (OVOs), to be used together with keyword ovirt. The cumulative population for an MO is calculated by summing up the occupation number of that particular MO and all the MOs with larger occupation numbers, and then this number is divided by the number of electrons. See Ref. 127 for more details.

Options:
$<$any real number in the [0,1] interval$>$

Virtual orbitals with cumulative populations of higher than this number will be dropped.

Default:

eps=0.975

Example:

to set a threshold of 0.95 type eps=0.95

Sets the radius of local fitting domains for the exchange contribution in direct density-fitting SCF calculations [119, 101]. In direct DF-SCF calculations, in each iteration step, the MOs are localized. For each localized MO Löwdin atomic charges are computed, and all atoms are selected which have a charge greater than 0.05. All further atoms will be included in the fitting domain of the MO for which the electron repulsion integrals including the corresponding AOs and the basis functions residing on the atoms selected in the first step are estimated to be greater than a threshold.

Options:
$<$any positive real number$>$

Threshold for the integrals (in E${}_{h}$).

0

A threshold of zero will be applied, i.e., a conventional direct DF-SCF calculation will be executed.

Notes:
1.

Local fitting domains are available for RHF, UHF, ROHF, RKS, UKS, and ROKS calculations.

2.

For average organic molecules with localized electronic structure excrad=1.0 is a good choice. For more complicated systems other thresholds may be necessary. For excrad=1.0 excrad_fin is set to $10^{-3}$, which is fine with basis sets excluding diffuse functions. For basis sets with diffuse functions excrad_fin=1e-5 or tighter is recommended.

Default:

excrad=1.0 if scfalg=locfit1 or scfalg=locfit2, excrad=0 otherwise

Example:

to set a threshold of 0.1 E${}_{h}$ type excrad=0.1

In density-fitting SCF calculations, if excrad and excrad_fin differ, an extra iteration is performed to get an accurate SCF energy. excrad_fin specifies the radius of local fitting domains for the exchange contribution in this iteration step. See also notes for keyword excrad.

Options:

See the description of keyword excrad.

Default:

Example:

to avoid the use of local fitting domains in the extra iteration step give excrad_fin=0.0

fmm

Controls the multipole method for three-center Coulomb integrals for density fitting SCF calculations. See also keyword fmmord.

Options:
off

No multipole approximation is used for the integrals.

on

The exchange contribution will be evaluated using multipole approximations.

Coulomb

Both the Coulomb and the exchange contributions will be evaluated using multipole approximations.

Note:

The multipole method can be employed either with or without local fitting approximations (see keyword scfalg). If no local fitting is used, the speedup is quite good, the computation time can roughly be halved. With local fitting approximations, the speedup is moderate.

Default:

fmm=off

Example:

To use the multipole method to speed up a DF-HF calculation, set fmm=on

fmmord

The keyword controls the order of the multipole approximation if the multipole method is used for three-center Coulomb integrals (see also keyword fmm). If the multipole approximation is invoked to calculate an integral of the product of two Gaussians, the contribution of multipole moments up to order $l_{1}$ $+$ $l_{2}$ $+$ fmmord will be considered, where $l_{1}$ and $l_{2}$ are the angular momentum quantum numbers of the Gaussians.

Options:

$<$any positive integer$>$

Default:

fmmord=8

Example:

for lower accuracy but increased speed, give fmmord=6

freq

Requests harmonic vibrational frequency calculation (numerical). Ideal gas thermodynamic properties will also be evaluated in the rigid-rotor harmonic-oscillator approximation. If geometry optimization is also carried out, i.e., gopt $\neq$ off, the frequencies are calculated at the optimized geometry.

Options:

on or off

Note:

You should also set this keyword if you are interested thermodynamic properties of atoms.

Default:

freq=off

Example:

for a frequency calculation set freq=on

gauss

Specifies whether spherical harmonic or Cartesian Gaussian basis functions will be used.

Options:
spher

Spherical harmonic Gaussians will be used

cart

Cartesian Gaussians will be used

Notes:
1.

For calculations using the density fitting (DF) approximation, if intalg=os or intalg=auto, the Coulomb integrals are evaluated by algorithms [2, 130] which only enable the use of spherical harmonic Gaussians. Consequently, Cartesian Gaussians are only available with intalg=rys in DF calculations (see the description of keyword intalg).

2.

The derivative integrals are evaluated by the solid-harmonic Hermite scheme [123] (see the description of keyword intalg), consequently, differentiated integrals, and thus energy derivatives cannot be evaluated with Cartesian Gaussian basis sets.

Default:

gauss=spher

Example:

for Cartesian Gaussians the user should set gauss=cart

geom

Specifies the format of molecular geometry. The geometry must be given in the corresponding format in the subsequent lines.

Options:
zmat

Usual Z-matrix format. In the Z-matrix the geometrical parameters can only be specified as variables, and the variables must be defined after the matrix, following a blank line. Another blank line is required after the variables. This Z-matrix format is compatible to that of Cfour and nearly compatible to that for Gaussian and Molpro. Z-matrices can be generated by Molden (see also Sect. 14.1), then the Gaussian-style Z-matrix format must be chosen. The symbol for dummy atoms is “X”.

xyz

Cartesian coordinates in xyz format, that is, the number of atoms, a blank line, then for each atom the atomic symbol or atomic number and the $x$, $y$, and $z$ components of Cartesian coordinates. Cartesian coordinates in xyz format can also be generated by Molden (see also Sect. 14.1).

tmol

Cartesian coordinates in a format similar to that used by the Turbomole package, that is, the number of atoms, a blank line, then for each atom the $x$, $y$, and $z$ components of Cartesian coordinates and the atomic symbol or atomic number.

mol

Cartesian coordinates and connectivity in .mol format, that is, the number of atoms and number of bonds in the first line, then for each atom the $x$, $y$, and $z$ components of Cartesian coordinates and the atomic symbol, then for each bond the serial number of the atoms connected by the bond and the type of the bond (1 for single bond, etc.). This geometry specifications is needed if the specified method requires the connectivity.

Note:

For the use of ghost atoms see the description of keyword ghost.

Default:

geom=zmat, which is equivalent to geom, i.e., if it is not specified whether the geometry is supplied in Z-matrix format or in other formats, Z-matrix format is supposed. Nevertheless, the coordinates must be given in the subsequent lines in any case.

Examples:

the following five geometry inputs for H${}_{2}$O${}_{2}$ are equivalent

1.

Z-matrix format, bond lengths in Å:
geom
H
O 1 R1
O 2 R2 1 A
H 3 R1 2 A 1 D

R1=0.967
R2=1.456
A=102.32
D=115.89

2.

xyz format, coordinates in bohr, atoms are specified by atomic symbols:
unit=bohr
geom=xyz
4

H 0.00000000 0.00000000 0.00000000
O 1.82736517 0.00000000 0.00000000
O 2.41444411 2.68807873 0.00000000
H 3.25922198 2.90267673 1.60610134

3.

xyz format, coordinates in bohr, atoms are specified by atomic numbers:
unit=bohr
geom=xyz
4

1 0.00000000 0.00000000 0.00000000
8 1.82736517 0.00000000 0.00000000
8 2.41444411 2.68807873 0.00000000
1 3.25922198 2.90267673 1.60610134

4.

Turbomole format, coordinates in bohr, atoms are specified by atomic symbols:
unit=bohr
geom=tmol
4

0.00000000 0.00000000 0.00000000 H
1.82736517 0.00000000 0.00000000 O
2.41444411 2.68807873 0.00000000 O
3.25922198 2.90267673 1.60610134 H

4.

.mol format, coordinates in bohr:
unit=bohr
geom=mol
4 3
0.00000000 0.00000000 0.00000000 H
1.82736517 0.00000000 0.00000000 O
2.41444411 2.68807873 0.00000000 O
3.25922198 2.90267673 1.60610134 H
1 2 1
2 3 1
3 4 1

ghost

Ghost atoms can be specified using this keyword, e.g., for the purpose of basis set superposition error (BSSE) calculations with the counterpoise method.

Options:
none

There are no ghost atoms.

serialno

Using this option one can select the ghost atoms specifying their serial numbers. The latter should be given in the subsequent line as $$,$$,…,$$-$$,…, where $n_{i}$’s are the serial numbers of the atoms. Serial numbers separated by dash mean that $$ through $$ are ghost atoms. Note that the numbering of the atoms must be identical to that used in the Z-matrix or Cartesian coordinate specification, but dummy atoms must be excluded.

Default:

ghost=none

Examples:
1.

Rectangular HF dimer, the atoms of the second HF molecule are ghost atoms:
geom
H
F 1 R1
H 2 R2 1 A
F 3 R1 2 A 1 D

R1=0.98000000
R2=2.00000000
A=90.00000000
D=0.000000000

ghost=serialno
3-4

2.

Ammonia, the third hydrogen is a ghost atom (note that the serial number of the hydrogen is 4 instead of 5 because of the dummy atom:
geom
X
N 1 R
H 2 NH 1 AL
H 2 NH 1 AL 3 A
H 2 NH 1 AL 3 B

R=1.00000000
NH=1.01000000
AL=115.40000000
A=120.00000000
B=-120.00000000

ghost=serialno
4

gopt

Requests geometry optimization. Currently only the full geometry optimization is supported, geometrical parameters cannot be frozen.

Options:
off

no geometry optimization.

full

full geometry optimization.

Notes:
1.

The coordinates in the MINP file are replaced by the converged ones at the end of the geometry optimization. The initial MINP file is saved as MINP.init.

2.

The Abelian symmetry of the molecule is utilized at the calculation of gradients and update of the coordinates, thus, the computational point group is preserved during the optimization.

Default:

gopt=off

Example:

to carry out a full geometry optimization set gopt=full

gtol

Threshold for automatic point group recognition. Two atoms will be considered symmetry-equivalent if the difference in any component of their Cartesian coordinates after the symmetry operation is less than $10^{-{\tt gtol}}$ bohr.

Options:

$<$any integer$>$

Default:

gtol=7

Example:

for a tolerance of $10^{-4}$ bohr give gtol=4

grdens

This keyword is useful for the analysis of HF, KS, or correlated (MP2, CI, CC, …) one-electron density and its derivatives. The one-electron density, its gradient, and Laplacian will be calculated on a grid used for DFT calculations (see keywords agrid and rgrid) and saved for external use. In the case of correlated calculations the densities are evaluated using the relaxed density matrices.

Options:
off

Densities are not evaluated.

on

The one-electron density and its derivatives are calculated in the grid points. These values together with the grid are written to the unformatted Fortran file DENSITY. If a correlation calculation is performed the densities calculated with the correlation method are stored in the DENSITY file, while the SCF densities are saved to the file DENSITY.SCF. For restricted orbitals the files use the following format:

$N$
$\mathbf{r}_{1}$ $w_{1}$ $\rho(\mathbf{r}_{1})$ $\nabla\rho(\mathbf{r}_{1})$ $\nabla^{2}\rho(\mathbf{r}_{1})$
$\mathbf{r}_{2}$ $w_{2}$ $\rho(\mathbf{r}_{2})$ $\nabla\rho(\mathbf{r}_{2})$ $\nabla^{2}\rho(\mathbf{r}_{2})$
⋮
$\mathbf{r}_{N}$ $w_{N}$ $\rho(\mathbf{r}_{N})$ $\nabla\rho(\mathbf{r}_{N})$ $\nabla^{2}\rho(\mathbf{r}_{N})$

where $N$ is the number of grid points, $\mathbf{r}_{i}$ = ($x_{i}$, $y_{i}$, $z_{i}$) is the Cartesian coordinate of grid point $i$ with $w_{i}$ as the corresponding weight, and $\rho(\mathbf{r}_{i})$ is the density in point $i$. For unrestricted calculations the corresponding $\alpha$ and $\beta$ quantities are stored separately, and the lines of the files change as
$\mathbf{r}_{i}$ $w_{i}$ $\rho_{\alpha}(\mathbf{r}_{i})$ $\rho_{\beta}(\mathbf{r}_{i})$ $\nabla\rho_{\alpha}(\mathbf{r}_{i})$ $\nabla\rho_{\beta}(\mathbf{r}_{i})$ $\nabla^{2}\rho_{\alpha}(\mathbf{r}_{i})$ $\nabla^{2}\rho_{\beta}(\mathbf{r}_{i})$

Default:

grdens=off

Example:

to save the densities give grdens=on

grtol

The keyword controls the fineness of the angular and radial integration grids employed in DFT calculations. The tolerance for the accuracy of angular integrals will be $10^{-{\tt grtol}}$, while the number of radial grid points increases linearly with grtol. See also the description of keywords agrid and rgrid.

Options:

$<$any positive integer$>$

Note:

meta-GGA functionals or molecules with special bonding characteristics may require larger integration grids, and it is recommended to run test calculations to decide if the default value of grtol is sufficient.

Default:

grtol=10

Example:

for a fine integration grid give grtol=12

hamilton

Specifies what type of Hamiltonian is used in relativistic calculations. This keyword has only effect if iface=Dirac.

Options:
X2Cmmf

exact 2-component molecular-mean-field Hamiltonian [134]

DC

other types of relativistic Hamiltonians such as the full Dirac–Coulomb Hamiltonian or the exact 2-component Hamiltonian

Default:

hamilton=DC

Example:

if you use the exact 2-component molecular-mean-field Hamiltonian, set hamilton=X2Cmmf

iface

Specifies whether Mrcc is used together with another program system. In this case the transformed MO integrals are calculated by that program and not by Mrcc. See Sect. 5 for the description of various interfaces.

Options:
none

Transformed MO integrals are calculated by Mrcc.

Cfour

Mrcc is interfaced to Cfour.

Columbus

Mrcc is interfaced to Columbus.

Dirac

Mrcc is interfaced to Dirac.

Molpro

Mrcc is interfaced to Molpro.

Notes:
1.

If you use Mrcc together with Cfour or Molpro, you do not need to use this keyword. The Mrcc input file is automatically written and Mrcc is automatically called by these program systems. The user is not required to write the Mrcc input file, most of the features of Mrcc can be controlled from the input files of these programs. With Cfour the user has the option to turn off the automatic construction of the Mrcc input file by giving INPUT_MRCC=OFF in the Cfour input file ZMAT. In the latter case one should use this keyword.

2.

If you use Mrcc together with Columbus or Dirac, this keyword must be always given.

Default:

iface=none, that is, all calculations will be performed by Mrcc.

Example:

to carry out four-component relativistic calculations using the Dirac interface give iface=Dirac

intalg

Specifies the algorithm used for the evaluation of two-electron integrals over primitive Gaussian-type orbitals.

Options:
os

The $(\mathbf{e}\mathbf{0}|\mathbf{f}\mathbf{0})$ integrals are evaluated by the Obara–Saika procedure using the vertical and transfer recurrence relations [108, 77].

rys

The $(\mathbf{e}\mathbf{0}|\mathbf{f}\mathbf{0})$ integrals are evaluated by the Rys quadrature scheme [71, 77, 25].

auto

Depending on the angular momenta the program automatically determines which of the two algorithms is executed. For integrals of low angular momentum functions the Rys procedure is used, while the Obara–Saika algorithm is executed otherwise.

herm

The integrals over contracted Gaussians are evaluated by the solid-harmonic Hermite scheme of Reine et al. [123].

Notes:
1.

For calculations using the density fitting (DF) approximation intalg=auto is equivalent intalg=os since the Obara–Saika algorithm is more efficient for any integrals.

2.

For DF methods option herm is not available.

3.

For DF methods, if intalg=os or intalg=auto the Coulomb integrals are evaluated by the algorithm of Ref. 130, which only enables the use of spherical harmonic Gaussians. Consequently, Cartesian Gaussians are only available with intalg=rys in DF calculations (see the description of keyword gauss).

4.

The derivative integrals are evaluated by the solid-harmonic Hermite scheme even if another option is used for the undifferentiated integrals. Consequently, differentiated integrals, and thus energy derivatives cannot be evaluated with Cartesian Gaussian basis sets.

Default:

intalg=auto

Example:

to use the Obara–Saika scheme for all angular momenta add intalg=os

itol

Threshold for integral calculation. Integrals less than $10^{-{\tt itol}}$ E${}_{h}$ will be neglected.

Options:

$<$any integer$>$

Default:

itol=max(10, scftol+4, scfdtol), but itol is changed to itol+1 if basis functions are dropped because of linear dependence (see keyword ovltol)

Example:

for an accuracy of $10^{-15}$ E${}_{h}$ one must give itol=15

laptol

Specifies the accuracy of the numerical Laplace transform in the (T) correlation energy term of local CCSD(T) calculations with localcc=2016 or 2018. See also the description of keyword talg and Ref. 99.

Options:
$<$any positive real number$>$

The (T) energy denominator will be approximated using its numerical Laplace transform. The number of quadrature points ($n_{\mathrm{q}}$), and hence the accuracy is determined by this number. The minimum value of $n_{\mathrm{q}}$ is also set by this number as $n_{\mathrm{q}}>|\mathrm{log}_{10}(\texttt{laptol})|$.

Default:

laptol=$10^{-2}$, but laptol=$10^{-3}$ is set if lcorthr=tight. See also the description of lcorthr for further details.

Example:

to use a threshold of $10^{-3}$ type laptol=1e-3

lccoporder

Specifies the order of operations in LNO-CC calculations.

Options:
lccfirst

The integral transformation steps yielding the LNO integral lists of a LIS are immediately followed by the CC calculation in the same LIS. The three-center LNO integrals are stored in memory and passed directly to the ccsd program (unless ccsdalg=disk was requested). Hence, in combination with the default ccsdalg=dfdirect, the LNO integrals can be kept in memory throughout the entire LNO-CC calculation, and disk I/O is completely avoided in these steps. This option is only available with localcc$\geq$2018 and ccprog=ccsd.

trffirst

The integral transformation steps to the LNO bases of the LISs are completed first for all LISs, which is followed by the CC calculations performed for each LIS in their respective LNO basis. This option requires storing the integral lists of all LISs on disk. It is usually not limiting to store the three-center LNO integrals required for ccprog=ccsd or the four-center LNO integrals required for ccprog=mrcc.

Default:

lccoporder=lccfirst for localcc$\geq$2018,
lccoporder=trffirst for localcc$<$2018 or ccprog=mrcc.

Example:

to force storing the integrals on disk for localcc$\geq$2018 set lccoporder=trffirst

lccrest

Use this keyword to restart local CC calculations in the case of localcc$\geq$2015, e.g., after power failure. If localcc$\geq$2018 (and
lccoporder=lccfirst) the calculation can be restarted at any stage of the local correlation calculation via lccrest=restart. In this case all the intermediate files located in the folder of execution have to be kept intact, and only the updated MINP file (containing lccrest=restart) should be overwritten before the calculation is restarted. The HF calculation and the orbital localization is skipped via the scfiguess=off and the orblocguess=read options, therefore it is important not to modify the VARS, SCFDENSITIES, FOCK, and MOCOEF* files either. Note that the beginning of the computation up to the pair energy evaluation is repeated in the restarted run, and the loop over the extended domains will continue from the index of the first unfinished domain.

For the restart with lccrest=on, compatible with options localcc=2015, localcc=2016, or localcc=2018 and lccoporder=trffirst, the LMP2 calculation and the integral transformations have to be completed, and for the remaining domains the localcc.restart, DFINT_AI.*, DFINT_AB.*, DFINT_IJ.*, ajb.*, 55.*, 56, and VARS files are required, and only the updated MINP file (containing lccrest=on) should be overwritten before the calculation is restarted. In the case of localcc=2016 or localcc=2018 and talg=lapl or topr and lccoporder=trffirst the laplbas.* files are also needed.

In the case of an LMP2 calculation or the LMP2 part of an LNO-CC calculation with lccoporder=trffirst and localcc=2016 or localcc=2018, if the loop for the extended domains is started but not finished, the calculation can be restarted with the lccrest=domain option. In this case all the intermediate files located in the folder of execution have to be kept intact, and only the updated MINP file (containing lccrest=domain) should be overwritten before the calculation is restarted. Note that the beginning of the computation up to the pair energy evaluation is repeated in the restarted run, and the loop over the extended domains will continue from the index of the first unfinished domain.

Options:

restart, on, off, or domain.

Default:

lccrest=off

Example:

to restart a local CCSD(T) calculation set lccrest=restart if localcc$\geq$2018 (and lccoporder=lccfirst). In the case of localcc<2018 and/or lccoporder=trffirst set lccrest=on or lccrest=domain depending on the point of interruption.

lcorthr

Controls the accuracy of local correlation calculations by setting the relevant thresholds: bp*, lnoepso, lnoepsv, laptol, naf_cor, osveps, wpairtol, spairtol (see also Refs. 68, 101, and 102 for details).

Options:
Loose

Relatively loose thresholds will be used, see Tables 1 and 2.

Normal

Default threshold set if localcc=2018. lcorthr=Normal is a synonym for lcorthr=Loose if localcc=2015 or 2016. See Tables 1 and 2.

Tight

Tight thresholds will be used, see Tables 1 and 2.

0

The truncation thresholds will be set so that the canonical energy be reproduced, it is only useful for testing.

Notes:
1.

The values of the thresholds controlled by lcorthr are summarized in Table 1 for the default localcc=2018 case and in Table 2 for the previous schemes.

2.

Expected accuracy. Using the Normal settings for local MP2 and CCSD(T), if localcc=2018, 1 kJ/mol (1 kcal/mol) average (maximum) errors are expected in energy differences even for relatively complicated or sizable systems (see Refs. 101 and 102). In the case of localcc=2015 considering local dRPA and dRPA related methods the expected average (maximum) errors for energy differences are 2 kJ/mol (2 kcal/mol) with Loose and 1 kJ/mol (1 kcal/mol) with Tight settings (see Ref. 68).

3.

For local MP2 naf_cor=off is set if localcc=2015. Keywords lnoepso, lnoepsv, and laptol are irrelevant for local MP2 calculations.

Table 1: Keyword values set by lcorthr if localcc=2018.
calc MP2 CC all
localcc 2018 2018
lcorthr Loose Normal Tight Loose Normal Tight 0
bpedo 0.9999 0.9999 0.99995 0.9999 0.9999 0.99995 1.0
wpairtol 3e-5 1e-5 3e-6 3e-5 1e-5 3e-6 0.0
lnoepso - - - 3e-5 1e-5 3e-6 0.0
lnoepsv - - - 3e-6 1e-6 3e-7 0.0
laptol - - - 1e-1 1e-2 1e-3 -
naf_cor 2e-3 2e-3 2e-3 1e-2 1e-2 1e-2 off
bpcompo 0.985 0.985 0.985 0.985 0.985 0.985 1.0
bpcompv 0.98 0.98 0.98 0.98 0.98 0.98 1.0
bppdo 0.999 0.999 0.999 0.999 0.999 0.999 1.0
bppdv 0.98 0.98 0.98 0.98 0.98 0.98 1.0
bpedv 0.995 0.995 0.995 0.995 0.995 0.995 1.0
osveps off off off off off off off
spairtol off off off off off off off
Table 2: Keyword values set by lcorthr for localcc=2015 or 2016. Note that identical settings are used for both lcorthr=Normal and lcorthr=Loose if localcc=2015 or 2016.
calc MP2, dRPA, CC MP2 CC all
localcc 2015 2016 2016
lcorthr Normal Tight Normal Tight Normal Tight 0
bpedo - - 0.9998 0.9999 0.9999 0.99995 1.0
wpairtol 1e-6 1e-7 1.5e-5 1e-5 1e-5 3e-6 0.0
spairtol 1e-4 1e-5 off off off off 0.0
osveps 1e-3 1e-4 off off off off 0.0
lnoepso 3e-5 1e-5 - - 2e-5 1e-5 0.0
lnoepsv 1e-6 3e-7 - - 1e-6 5e-7 0.0
laptol - - - - 1e-2 1e-3 -
naf_cor 1e-2 8e-3 2e-3 2e-3 1e-2 1e-2 off
bpcompo 0.985 0.985 0.985 0.985 0.985 0.985 1.0
bpcompv 0.98 0.98 - - - - 1.0
bppdo - - 0.999 0.999 0.999 0.999 1.0
bppdv - - 0.98 0.98 0.98 0.98 1.0
bpedv - - 0.995 0.995 0.995 0.995 1.0
Default:

lcorthr=Normal

Example:

to use tight thresholds set lcorthr=Tight

lmp2dens

Determines whether the MP2 density matrix fragments are calculated using the “correct” expressions derived for the general type of orbitals, or using the expressions derived for the canonical case (as described in Ref. 126).

Options:
on

The MP2 density matrix fragments are calculated using the correct, non-canonical expressions.

off

The MP2 density matrix fragments are calculated using the approximate canonical expressions (as defined in Ref. 126).

Notes:
1.

To reproduce the method described in Ref. 126 use lmp2dens=off.

2.

The use of lmp2dens=on is recommended since in this case the local CC energy can be corrected by the difference of the local MP2 energy and the approximate local MP2 energy calculated in the local interacting subspaces (see Total CC… energy + correction in the output). This correction usually improves the local CC energy.

Default:

lmp2dens=on

Example:

to use the canonical expressions give lmp2dens=off

lnoepso

Threshold for the occupation numbers of occupied local natural orbitals (LNOs) in the case of local correlation calculations, or for state-averaged MP2/CIS(D) occupied natural orbitals for reduced-cost excited-state calculations, see also keyword lnoepsv. See Ref. 129 as well as Refs. 87 and 88 for more details.

Options:
$<$any real number in the [0,1] interval$>$

Orbitals with occupation numbers greater than 1-lnoepso will be frozen.

Note:

For default settings with options other than localcc=2018 and lcorthr=Normal, see the description of lcorthr.

Default:

lnoepso=1e-5 for local correlation, lnoepso=0 for excited-states

Example:

to set a threshold of $5\cdot 10^{-6}$ type lnoepso=5e-6

lnoepsv

Threshold for the occupation numbers of virtual local natural orbitals (LNOs) in the case of local correlation calculations, or for state-averaged MP2/CIS(D) virtual natural orbitals for reduced-cost excited-state calculations, see also keyword lnoepso. See Ref. 129 as well as Refs. 87 and 88 for more details.

Options:
$<$any real number in the [0,1] interval$>$

Orbitals with occupation numbers smaller than this number will be dropped.

Note:

For default settings with options other than localcc=2018 and lcorthr=Normal, see the description of lcorthr.

Default:

lnoepsv=1e-6 for local correlation, lnoepsv=7.5e-5 for excited states if no spin scaling is applied, lnoepsv=3e-5 for spin-scaled excited-state models (such as SCS-CC2, SOS-CC2, …)

Example:

to set a threshold of $5\cdot 10^{-7}$ type lnoepsv=5e-7

localcc

Specifies if local correlation calculation is performed. See Refs. 126, 129, 68, 101, 99, and 102 for more details.

Options:
off

No local correlation calculation is performed.

2013

The algorithm of Ref. 129 is used.

2015

An algorithm based on Ref. 68 is used.

2016

The local MP2 algorithm of Ref. 101 or the local CC algorithm of Ref. 99 is used.

2018

The local MP2 algorithm of Ref. 101 (with tighter settings) or the local CC algorithm of Ref. 102 is used.

on

Equivalent to localcc=2018 in the case of MP2 or CC, and equivalent to localcc=2015 otherwise

Note:

Local correlation methods can also be run if the prefix “L” (or “LNO-” in the case of CC methods) is added to the corresponding option of keyword calc, see the description of calc. Local SCS-MP2 (SOS-MP2) calculations can be run with calc=LSCS-MP2 (calc=LSOS-MP2).

Default:

localcc=off

Example:

for local correlation calculations give localcc=on

mact

Specifies the number of active orbitals in an MCSCF calculation. See also the description of keyword docc.

Options:

The number of active orbitals per irrep should be given in the following format:
mact=$,,\dots,$
where $$ is the number of active orbitals in irrep $i$, and $N_{ir}$ is the number of irreps.

Default:

There is no default, the active orbitals must be given in the case of an MCSCF calculation.

Examples:

See the description of keyword docc for examples.

maxact

Maximum number of inactive labels. One can impose restrictions on the cluster operator using this keyword. The maximum number of virtual/occupied inactive labels on the singly, doubly, … excited clusters can be specified.

Options:

on or off. If maxact=on, the maximum number of virtual and occupied inactive labels must be specified in the subsequent line as an integer vector. The integers must be separated by spaces. The vector should contain as many elements as the excitation rank of the highest excitation in the cluster operator. The integers are maximum number of virtual/occupied inactive labels allowed on amplitudes of single, double, … excitations, respectively.

Default:

maxact=off

Example:

Suppose that we have up to quadruple excitations, and the single, double, triple, and quadruple excitations are allowed to have maximum of 1, 2, 2, and 1 inactive virtual and occupied labels, respectively. Then the input file should include the following lines:
maxact=on
1 2 2 1

maxdim

Maximum number of trial vectors in the Davidson procedure in the case of CIS, TDA, TD-HF, and TD-DFT calculations. The procedure will be restarted if the dimension of the reduced subspace reaches maxdim.

Options:

$<$any positive integer$>$

Default:

maxdim=max(100, 3*max(ntrip, nsing))

Example:

for a maximum of 50 expansion vectors set maxdim=50

maxex

Level of highest excitation included in the cluster operator in the case of MRCI/CC calculations. In an MR calculation all single, double (or higher) excitations out of the reference determinants are included in the cluster operator (see the description of keyword nacto), however, the very high excitations are frequently irrelevant. Using this option the latter can be dropped. If maxex is set to a positive integer $n$, only up to $n$-fold excitations will be included in the cluster operator. The excitation manifold can be further selected by imposing constrains on the number of active/inactive labels of the excitations (see keyword maxact). See Refs. 66 and 56 for more details.

Options:
0

The excitation manifold is not truncated.

$<$any positive integer$>$

The excitation manifold is truncated at $n$-fold excitations, see above.

Default:

maxex=0

Example:

to truncate the excitation manifold at triple excitations set maxex=3

maxmicroit

Maximum number of microiterations in a Newton step in the case quadratic SCF calculations (see keyword qscf).

Options:

$<$any positive integer$>$

Default:

maxmicroit=100

Example:

to increase the maximum number of microiterations to 200 give maxmicroit=200

mcscfiguess

Initial guess for the MCSCF calculation.

Options:

The sad, ao, core, mo, and restart options can be used as described for keyword scfiguess. In addition, there is one further option:

HF

An RHF or ROHF calculation is run before the MCSCF calculation, and the HF MOs will be used as initial guess in the MCSCF calculation.

Note:

To restart the MCSCF calculation using MOs from a previous MCSCF run, e.g., when calculating potential energy surfaces, use mcscfiguess=mo

Default:

mcscfiguess=HF

Example:

set mcscfiguess=sad to start the MCSCF calculation from SAD initial guess.

mem

Specifies the core memory used.

Options:
$<$any positive integer$>$MB

The amount of memory to allocate is specified in megabytes

$<$any positive integer$>$GB

The amount of memory to allocate is specified in gigabytes

Default:

mem=256MB

Example:

to allocate 8 GB core memory the user should set mem=8GB

molden

Specifies whether input file for the Molden program and an xyz-file containing the Cartesian coordinates are written (see also Sect. 14).

Options:
on

Cartesian coordinates, basis set information, and MO coefficients are saved to file MOLDEN. This file can be opened by Molden and used to visualize the structure of the molecule and the MOs. In addition, Cartesian coordinates are also written to file COORD.xyz in xyz (XMol) format, which can be processed by many molecular visualization programs.

off

The construction of the MOLDEN input and the COORD.xyz file is turned off.

Note:

For the reduced-cost CC2, CIS(D${}_{\infty}$), and ADC(2), methods of Refs. 87 and 88, and for their spin-scaled versions, if molden=on and verbosity$\geq$3, the pseudo-canonicalized state-averaged natural orbitals will be saved to files MOLDEN_NO.$n$, where $n$ is the serial number of the excited state.

Default:

molden=on

Example:

if you do not need Molden input and the COORD.xyz file, add molden=off

Specifies the number of MPI tasks spawned by dmrcc. Currently only executables scf, mrcc, and ccsd can be spawned for MPI parallel execution.

Options:

$<$any positive integer$>$

Default:

Note:

For optimal performance, please set mpitasks to the total number of available CPUs/NUMA nodes/nodes/cores, etc., as the additional number of processes on top of mpitasks are driver processes running mostly in the background and do not require dedicated resources.

Example:

to run an MPI-parallel CC calculation using $2$ MPI tasks set mpitasks=2

mulmet

Specifies the multipole approximation used for the evaluation of pair energies of distant pairs.

Options:
0

The simplified dipole-dipole estimate of Ref. 125 will be used.

1

Full dipole-dipole estimate [117].

2

All the terms are included in the multipole expansion up to the contributions of the quadrupole moment [101].

3

All the terms are included in the multipole expansion up to the contributions of the octapole moment [101].

Default:

mulmet=3 if localcc=2016 or 2018,
mulmet=0 otherwise

Example:

to use the octapole approximation set mulmet=3

mult

Spin multiplicity ($2S+1$) of the Hartree–Fock or Kohn–Sham wave function. If a CI or CC calculation is also performed, the same multiplicity is supposed for the ground-state wave function. For excited states the multiplicity will be arbitrary, only $M_{S}$ is conserved. For closed-shell reference determinants the multiplicity (strictly speaking the parity of $S$) can be controlled by keywords nsing and ntrip, see below.

Options:

$<$any positive integer$>$

Default:

for atoms the corresponding experimental multiplicity is set, for molecules mult=1 (singlet) for an even number of electrons, mult=2 (doublet) otherwise

Example:

for a triplet state one should give mult=3

nacto

Number of active occupied spinorbitals for multi-reference (active-space) CI/CC calculations. By default, nacto pieces of spinorbitals under the Fermi level are supposed to be active. This can be overwritten using keyword active, which enables the user to select the active orbitals manually (see the description of keyword active). In a MRCI/CC calculation a complete active space (CAS) is supposed defined by keywords nacto and nactv (or alternatively by active) and up to $n$-fold excitations from the reference determinants of this space are included in the excitation manifold, where $n$ is determined by keyword calc (2 for CCSD, 3 for CCSDT, …). See Ref. 66 for more details. See also keywords nactv, maxex, and maxact. Note also that this keyword only sets the active orbitals for the post-SCF calculation, the MCSCF active orbitals can be specified by keyword mact.

Options:

$<$any positive integer$>$ or 0

Default:

If MCSCF reference is used, nacto is set so that the MCSCF active orbitals (given by keyword mact) will also be the active orbitals in the post-SCF calculation. nacto=0 in the general case.

Example:

for two active occupied spin-orbitals give nacto=2

nactv

Number of active virtual spinorbitals for multi-reference (active-space) CI/CC calculations. By default, nactv pieces of spinorbitals above the Fermi level are supposed to be active, which can be overwritten using keyword active. For a detailed description see keyword nacto.

Options:

$<$any positive integer$>$ or 0

Default:

If MCSCF reference is used, nactv is set so that the MCSCF active orbitals (given by keyword mact) will also be the active orbitals in the post-SCF calculation. nactv=0 in the general case.

Example:

for two active virtual spin-orbitals give nactv=2

nafalg

Specifies how natural auxiliary functions (NAFs) will be constructed in the case spin-unrestricted MOs. NAFs can be calculated by diagonalizing ($\mathbf{W}^{\alpha}$ $+$ $\mathbf{W}^{\beta}$)/2 or $\mathbf{W}^{\alpha}$ (see Ref. 67 for the definitions). The latter option is somewhat more efficient but can be dangerous for processes involving atoms.

Options:
albe

NAFs are constructed from ($\mathbf{W}^{\alpha}$ $+$ $\mathbf{W}^{\beta}$)/2.

alpha

NAFs are constructed from $\mathbf{W}^{\alpha}$.

Default:

nafalg=albe

Example:

to use $\mathbf{W}^{\alpha}$ set nafalg=alpha

naf_cor

Specifies whether natural auxiliary functions (NAFs) will be used for density-fitting correlated calculations and also specifies the threshold for the occupation numbers of NAFs (see Ref. 67).

Options:
off

NAFs will not be constructed.

$<$any real number in the [0,1] interval$>$

A NAF basis will be constructed and NAFs with occupation numbers smaller than this number will be dropped.

on

Sets naf_cor=5e-3 if the use of NAFs is not set as default. If NAFs are used as default, e.g., in the cases of certain local correlation and reduced-cost excited-state approaches, naf_cor=on should not be written to the input file.

Default:

according to the value of lcorthr for local correlation methods; naf_cor=0.1 for the reduced-cost excited-state approaches of Refs. 87 and 88 (see keyword redcost_exc) without spin scaling; naf_cor=0.075 for the spin-scaled version of the latter methods (such as SCS-CC2, SOS-CC2, …); naf_cor=off otherwise.

Example:

to use NAFs and set a threshold of $10^{-2}$ type naf_cor=1e-2

naf_scf

Specifies whether NAFs will be used for density-fitting SCF calculations and also specifies the threshold for the occupation numbers of NAFs (see Ref. 67). The syntax is analogous with that for keyword naf_cor.

naftyp

Specifies how NAFs will be constructed in the case of local correlation calculations. NAFs are constructed by diagonalizing the $\mathbf{W}=\mathbf{J}^{\mathrm{T}}\mathbf{J}$ matrix where $\mathbf{J}$ is a particular block of the three-center Coulomb integral matrix (see Refs. 67 and 102 for details).

Options:
Jai

NAFs are constructed from $J^{P}_{ai}$

Jpi

NAFs are constructed from $J^{P}_{pi}$

Jpq

NAFs are constructed from $J^{P}_{pq}$

Jmi

NAFs are constructed from $J^{P}_{\mu i}$

Default:

naftyp=Jpq for local CC and localcc=2016 or 2018 as well as for the reduced-cost excited-state approaches of Refs. 87 and 88 (see keyword redcost_exc), naftyp=Jai for local MP2 and localcc=2016 or 2018

Example:

to construct NAFs using $J^{P}_{pq}$ set naftyp=Jpq

nchol

Number of Cholesky vectors/quadrature points for the Laplace integral in the case methods based on the decomposition of energy denominators. See also the description of keyword dendec.

Options:
auto

The number of Cholesky vectors/quadrature points will be automatically determined to achieve the required precision.

$<$any positive integer$>$

The number of Cholesky vectors/quadrature points will also be automatically determined but the maximum number of the vectors cannot exceed this number.

Default:

nchol=auto

Example:

to use ten Cholesky vectors/quadrature points give nchol=10

ndeps

Step size for the numerical differentiation in atomic units.

Options:

$<$any positive real number$>$

Default:

ndeps=1e-3

Example:

for a step size of $5\cdot 10^{-4}$ a.u. for numerical Hessian evaluation set ndeps=5e-4

nstate

Number of electronic states including the ground state and excited states. In non-relativistic calculations, for closed-shell reference determinants nstate is supposed to be the number of singlet states. See also keywords nsing, ntrip, and optex.

Options:

$<$any positive integer$>$

Default:

nstate=max(1, nsing+ntrip)

Example:

for three states give nstate=3

nsing

Number of singlet electronic states (strictly speaking the number of of states with $M_{S}=0$ and $S$ is even) including the ground state and excited states. Use this option only for non-relativistic calculations and closed-shell reference determinants, it should be zero otherwise. In the case of closed-shell reference determinants a partial spin-adaptation is possible, see Ref. 65. This enables us to search for singlet and triplet roots separately. See also keywords nstate and ntrip.

Options:

$<$any positive integer$>$

Default:

nsing=1 for closed-shell reference determinants, nsing=0 otherwise

Example:

for two singlet states give nsing=2

ntrip

Number of triplet electronic states (strictly speaking the number of of states with $M_{S}=0$ and $S$ is odd) including the ground state and excited states. Use this option only for non-relativistic calculations and closed-shell reference determinants, it should be zero otherwise. See the description of keywords nstate and ntrip.

Options:

$<$any positive integer$>$

Default:

ntrip=0

Example:

for two triplet states give ntrip=2

occ

Specifies the occupation of the Hartree–Fock determinant.

Options:
1.

If this keyword is not given, the occupation is automatically determined in the SCF calculations.

2.

For RHF calculations the occupation should be given in the following format:
occ=$,,\dots,$
where $$ is the number of occupied orbitals in irrep $i$, and $N_{ir}$ is the number of irreps.

3.

For ROHF and UHF calculations the occupation should be given as
occ=$,\dots,$/$,\dots,$
where $$ is the number of occupied $\sigma$ spinorbitals in irrep $i$.

Default:

occ is not specified, that is, the occupation is set by the SCF program.

Examples:
1.

Water, RHF calculation:
occ=3,1,1,0

2.

Water, UHF calculation:
occ=3,1,1,0/3,1,1,0

3.

Carbon atom, ROHF or UHF calculation:
occ=2,0,0,0,0,1,0,1/2,0,0,0,0,0,0,0

oniom

Initiates an ONIOM calculation [80, 54], and specifies the number of layers. In an ONIOM calculation, the system is split up into several layers described at different levels of theory. Both mechanical and electronic embeddings are supported. In the case of the mechanical embedding, the presence of the lower layers are omitted in upper-layer calculations, while a point charge representation of the lower layers is used in electrostatic embedding. The top layer (model system, active subsystem) is treated at the highest level, and the corresponding method, basis set, …are set by the other keywords in the MINP file, calc, basis, …, as usual. The atoms and the boundary handling schemes of the upper layers, and the methods of the lower layers must be specified in the subsequent lines as follows, starting from the lowest-level layer. For each layer three lines are required.

The atoms of the layer must be given by their serial numbers in the first line as $$,$$,…,$$-$$,…, where $n_{i}$’s are the serial numbers of the atoms. Serial numbers separated by dash mean that atoms $$ through $$ are part of the layer. Note that the numbering of the atoms must be identical to that used in the Z-matrix or Cartesian coordinate specification, but dummy atoms must be excluded. Atoms of an upper-level layer have to be a subset of the lower-level layers.

The method for the lower-level layer must be specified in the second line using the corresponding options of keyword calc. The highest-level method is specified by keyword calc (or keywords calc and dft if a KS reference is used in a correlation calculation). The specification of the basis set (for the low-level method), charge, and multiplicity of the lower-level layer is optional but can be given in the second line separated by forward slashes and spaces, e.g., as PBE / cc-pVDZ / -1 / 1. See keywords basis, charge, and mult for the available options, respectively. Note that keywords basis, charge, and mult specify the basis of the last calculation, the charge, and the multiplicity of the top layer, respectively. If the basis set is not specified under oniom, the basis set of the upper-level layer will be used, while the default options will be applied for the charge and the multiplicity if they are not set here.

In the third line, an integer should be given which specifies the border handling scheme: the automatic (0), the semi-automatic (1), and the manual (2) border handling schemes are supported.

In the case of the automatic handling of layer borders, the following procedure is executed. The MOs are localized after the first, full-system calculation (see orbloce for the available options for the localization scheme), and the localized MOs are assigned to maximum of two atoms by the Boughton–Pulay algorithm [9]. If the completeness criteria of a truncated LMO is greater than 0.8, the bond order between the corresponding two atoms is increased by one. The borders of the layers are then determined by those bonds which are located on a layer and a non-layer atom. Depending on their integer bond order, a hydrogen, an oxygen, or a nitrogen atom is selected as link atom. The bond distance is set based on the type of the link atom and the layer atom (see the average bond distances at https://cccbdb.nist.gov/expbondlengths1.asp), and the link atom is placed in the direction of the original bond. Note that the implementation follows the convention of the Amber program, where the distances between the link atoms and the layer atoms are fixed independently of the geometry. Note also that quadruple bonds are not separable automatically, and the separation of aromatic structures should be avoided.

In the case of the manual border handling, the user has to specify the atom pairs of the borders, the link atoms, and the distance between the link atoms and the layer atoms. These specifications can be given in three input sections separated by forward slashes and spaces on the same line as follows:
$2\ /:-,:-,\dots,:-/:,:,\dots,:/:,:,\dots,:$ ,
where $B_{n}$, $x_{n}$, $y_{n}$, $L_{n}$, and $R_{n}$ are the serial number of the border, the layer atom of the border bond, the non-layer atom of the border bond, the atomic symbol of the link atom, and the distance between the layer atom and the link atom, respectively. Note that the serial numbers of the borders are always followed by a colon, different specifications of the same section are separated by a comma, and different specifications of the same border hold the same border serial number in all input sections. All the border parameters have to be specified in the case of manual border handling, and $B_{n}$ and $n$ have to be positive integers smaller than the number of the atoms in the system. Note also that the unit of $R_{n}$ has to match that set by keyword unit as there are no consistency checks in this handling scheme.

The semi-automatic border handling (1) is the combination of the automatic and manual schemes: the borders are selected and set by the automatic approach, but these selections can be modified manually. Any automatically selected $B_{m}$ border can be deleted by writing a colon and an $X$ after the serial number of the border in the border atom pair section: $:$. New borders can also be defined in the same manner as in the case of the manual border handling, however, all the parameters of the newly defined borders have to be specified. Please be aware that the simple overwriting of single parameters of the automatic approach is not supported by this scheme.

The ONIOM implementation allows arbitrary number of layers, thus the input requirement of an ONIOM calculation with $N$ layers is $(N-1)*3$ lines: the atoms of the second layer are specified in the first line, while atoms of the third layer are specified in the fourth line after the keyword oniom, and so on. To allow full control over the keywords of the subcalculations, the subminp keyword is advised for use. See also examples below.

Options:
off

No ONIOM calculation is performed.

$<$any positive integer$>$-$<$me$>$

An ONIOM calculation with mechanical embedding will be carried out with this integer specifying the number of layers. The further parameters should be given in the subsequent lines as described above.

$<$any positive integer$>$-$<$ee$>$

An ONIOM calculation with electronic embedding will be carried out with this integer specifying the number of layers. The further parameters should be given in the subsequent lines as described above. See also keyword oniom_eechg for options of the point charge representation of the lower layers.

Default:

oniom=off, while mechanical embedding is used if only a positive integer is given as input.

Examples:
1.

A two-layer ONIOM calculation is requested where the model system (layer 2) consists of atoms 8 and 9 (using the automatic border handling scheme). The subcalculations will be executed in the following order: PBE/STO-3G (full system), PBE/STO-3G (model system), and CCSD/aug-cc-pVDZ (model system):
basis=aug-cc-pVDZ
calc=CCSD
oniom=2
8-9
PBE / STO-3g
0

2.

The same settings are applied as in the previous case except that the borders are selected manually: layer 2 will have two borders between atoms 8-5 and 8-1. The first (second) link atom is a hydrogen (fluorine), which will be placed 1.09 Å (1.01 Å) away from atom 8 in the direction of atom 5 (1):
basis=aug-cc-pVDZ
calc=CCSD
oniom=2
8-9
PBE / STO-3g
2 / 1:8-5,2:8-1 / 1:H,2:F / 1:1.09,2:1.01

3.

The same settings are applied as in the previous case except that the borders are selected semi-automatically: the first border of the automatic selection is deleted and an additional third border is specified which is located between atoms 8 and 2. In this case, chlorine will be used as link atom, and it will be placed 1.01 Å away from atom 5 in the direction of atom 2:
basis=aug-cc-pVDZ
calc=CCSD
oniom=2
8-9
PBE / STO-3G
1 / 1:X,3:8-2 / 3:Cl / 3:1.01

4.

Four-layer ONIOM calculation, LNO-CCSD(T):LMP2:PBE:LDA (aug-cc-pVDZ:cc-pVDZ:6-31G*:STO-3G). Each layer uses automatic border handling scheme and has a different negative charge, except the top layer, which has zero charge:
basis=aug-cc-pVDZ
calc=LNO-CCSD(T)
charge=0
mult=1
oniom=4
1-8
LDA / STO-3G / -3 / 1
0
1-5
PBE / 6-31G* / -2 / 1
0
1-2
LMP2 / cc-pVDZ / -1 / 1
0

oniom_eechg

Specifies the type of atomic charges used in the ONIOM calculations with electronic embedding. Note that in the case of the mulli, lowdin, and iao options, the atomic charges are generated after the first ONIOM subcalculation. Note also that in the cases where gopt$\neq$off and freq$\neq$off, these charges will be used in all calculations.

Options:
off

No embedding charges. This is equivalent with mechanical embedding.

mulli

Mulliken atomic charges are used as embedding charges.

lowdin

Löwdin atomic charges are used as embedding charges.

iao

Intrinsic atomic orbital (IAO) atomic charges atomic charges are used as embedding charges.

amber

Those (unscaled) atomic charges will be utilized that are used by the sander program.

user

Those atomic charges will be used that are specified after the line of oniom_eechg. Note that each given atomic charge must be in a new line, the order of the charges must be the same as the order of the corresponding atoms in the specification of the geometry, and the charge of all atoms must be specified.

Default:

oniom_eechg=lowdin, if oniom$\neq$off and electronic embedding is utilized, oniom_eechg=off otherwise.

Example:
1.

Two-layer ONIOM calculation is requested with electronic embedding for a system with 9 atoms. The upper layer consists of atoms 8 and 9, while the layer borders are handled automatically. The subcalculations will be executed in the following order: PBE/STO-3G (full system), PBE/STO-3G (model system, in the presence of the IAO atomic charges of atoms 1-7), and CCSD/aug-cc-pVDZ (model system, in the presence of the IAO atomic charges of atoms 1-7).
basis=aug-cc-pVDZ
calc=CCSD
oniom_eechg=iao
oniom=2-ee
8-9
PBE / STO-3G
0

2.

The same settings are applied to a 3-atom system, except that user-defined charges will be used:
basis=aug-cc-pVDZ
calc=CCSD
oniom_eechg=user
0.33
-0.66
0.33
oniom=2-ee
2
PBE / STO-3G
0

oniom_pcm

Specifies the PCM scheme for ONIOM calculations [95, 140].

Options:
off

ONIOM subcalculations will not use PCM.

c

PCM is utilized only in the first calculation, i.e., in the lowest-level calculation performed for the entire system.

x

PCM will be used in all subcalculations. The cavity of the upper layer calculation will be the same as in the first calculation. The wall of the cavity is repolarized by the density of the subcalculation.

Default:

oniom_pcm=x if oniom$\neq$off and pcm$\neq$off and mechanical embedding is used, oniom_pcm=c if oniom$\neq$off and pcm$\neq$off and electronic embedding is used, oniom_pcm=off otherwise.

Example:
1.

Two-layer ONIOM calculation is requested using the IEFPCM solvent model utilizing water for the medium. The upper layer consists of atoms 8 and 9, while the layer borders are handled automatically. The subcalculations will be executed in the following order: PBE/STO-3G (full system, in the cavity of the full system), PBE/STO-3G (model system, in the cavity of the full system), and CCSD/aug-cc-pVDZ (model system, in the cavity of the full system). Note that the interface is repolarized in all subcalculations.
basis=aug-cc-pVDZ
calc=CCSD
pcm=water
oniom_pcm=x
oniom=2
8-9
PBE / STO-3G
0

2.

The same settings are applied as in example 1, except that PCM is only utilized in the first calculation:
basis=aug-cc-pVDZ
calc=CCSD
pcm=water
oniom_pcm=c
oniom=2
8-9
PBE / STO-3G
0

optalg

Specifies the optimization algorithm used for geometry and basis set optimizations. For basis set optimization, at the moment, the downhill simplex method of Nelder and Mead [104] is the only available option. A geometry optimization can be carried out by either the Broyden–Fletcher–Goldfarb–Shanno (BFGS) or the simplex algorithm.

Options:
simplex

the simplex method of Nelder and Mead.

BFGS

the BFGS algorithm.

Default:

optalg=simplex for basis set optimization, optalg=BFGS otherwise.

Example:

To run a geometry optimization with the simplex algorithm set optalg=simplex

optmaxit

Maximum number of iteration steps allowed in a geometry or basis set optimization. If the simplex algorithm is used, i.e., optalg=simplex, the maximum number of function evaluations is also controlled by the parameter optmaxit: it is set to 15$\times$optmaxit. If the optimization is terminated with a message “the maximum number of function evaluation is exceeded”, then you can increase the value of optmaxit appropriately.

Options:

$<$any positive integer$>$

Default:

optmaxit=50

Example:

to allow 60 iteration steps set optmaxit=60

optetol

Convergence threshold for geometry or basis set optimization. If the simplex algorithm is used, i.e., optalg=simplex, the optimization is terminated when the energy difference (in E${}_{h}$) becomes less then this value and the optstol criterion is also fulfilled. In addition to the criterion for the gradient (optgtol) and the step-size (optstol) the energy change between the cycles is also monitored. For a successful geometry optimization it is required that the optgtol criterion is satisfied and either the energy difference between the last two steps becomes less than this value (in E${}_{h}$) or the optstol criterion is met.

Options:

$<$any positive real number$>$

Default:

optetol=1e-6

Example:

for a convergence threshold of $5\cdot 10^{-6}$ E${}_{h}$ set optetol=5e-6

optex

Serial number of the excited state (excluding the ground state) for which the geometry optimization or property calculation is performed. See also keywords nsing, ntrip, and nstate.

Options:

$<$any positive integer$>$ that is smaller than the total number of states set by keywords nsing, ntrip, and nstate.

Default:

optex=nstate-1, that is, the geometry optimization will be performed for the highest excited state considered.

Example:

if you set
calc=CIS
nsing=3
optex=1
for a closed-shell molecule, the ground-state and two excited-state roots will be determined in each geometry optimization step, but the gradients will be calculated for the lowest singlet excited state.

optgtol

Convergence threshold for geometry optimization, upper limit (in E${}_{h}$/bohr) for the maximum gradient component. For a successful geometry optimization this criterion must be fulfilled.

Options:

$<$any positive real number$>$

Default:

optgtol=1e-4

Example:

for a convergence threshold of $3\cdot 10^{-4}$ E${}_{h}$/bohr set optgtol=3e-4

optstol

Convergence threshold for geometry or basis set optimization. For the latter the optimization is terminated when the maximum change in the parameters becomes less then this value and the optetol criterion is also fulfilled, for the former this criterion is met when the maximum step-size from the previous step (in bohr) is lower than this value. The geometry optimization is terminated successfully if, in addition to the optgtol criterion obeyed, either this criterion is met or the energy difference between the last two steps becomes less than optetol.

Options:

$<$any positive real number$>$

Default:

optstol=1e-3 for a basis set optimization, optstol=1e-4 otherwise.

Example:

to set a threshold of $10^{-5}$ bohr for a geometry optimization type optstol=1e-5

orblocc

Specifies what type of orbital localization is performed for the core molecular orbitals.

Options:

All the options introduced for keyword orbloco also work for orblocc, see the description of keyword orbloco for details.

Default:

orblocc=orbloco if localcc=2013, or core=corr and
localcc$\neq$off; orblocc=off otherwise

Example:

to localize of core orbitals with the Pipek–Mezey algorithm specify orblocc=on

orbloce

Specifies what type of orbital localization is performed for the molecular orbitals in the case of localization-based embedding calculations. Note that the same option will be set for the core and valance orbitals. This keyword also controls the orbital localization in the case of the automated link atom handling of ONIOM calculations.

Options:

All the options introduced for keyword orbloco also work for orbloce, see the description of keyword orbloco for details. There is one additional option: spade, which switches on the SPADE fragment localization of Claudino and Mayhall [12].

Default:

orbloce=spade if embed$\neq$off and oniom=off,
orbloce=pm if oniom$\neq$off,
orbloce=off otherwise

Example:

to localize of the orbitals with the Pipek–Mezey algorithm specify orbloce=pm

orblocguess

Initial guess for the orbital localization.

Options:
cholesky

Guess orbitals are calculated by the Cholesky decomposition of the one-particle density matrix [4].

restart

Guess orbitals for the localization are read from the
MOCOEF.LOC file produced in a previous run where orbital localization was performed.

Orbitals are read from the MOCOEF.LOC file and directly employed at later steps of the calculation without any change. The locality of the orbitals is not checked and the orbital localization is skipped entirely.

Note:

The combination of orblocguess=restart (or orblocguess=read) with scfiguess=off can be particularly useful if the result files of the converged SCF iteration and orbital localization steps are available and only the local correlation step should be repeated with different settings. See also the description of scfiguess=off for this option.

Default:

orblocguess=cholesky

Example:

to speed up the orbital localization by using the localized orbitals of a previous calculation as guess specify orblocguess=restart.

orbloco

Specifies what type of orbital localization is performed for occupied molecular orbitals.

Options:
off

No orbital localization.

boys

Boys localization is performed [26].

pm

Pipek–Mezey localization is performed [118].

IBO

intrinsic bond orbitals of Knizia are constructed [72].

cholesky

localized orbitals are calculated by the Cholesky decomposition of the one-particle density matrix [4].

Default:

orbloco=off in the general case, orbloco=boys for local correlation calculations

Example:

to carry out Pipek–Mezey localization for the occupied orbitals type orbloco=pm

orblocv

Specifies what type of orbital localization is performed for virtual molecular orbitals.

Options:

All the options introduced for keyword orbloco excepting IBO also work for orblocv, see the description of keyword orbloco for details. In addition, for local correlation calculations there is one more option:

pao

Projected atomic orbitals.

Default:

orblocv=off in the general case, orblocv=pao for local correlation calculations

Example:

to carry out Boys localization for the virtual orbitals type orblocv=boys

osveps

Threshold for the occupation numbers of orbital specific virtual orbitals (OSVs) used at the evaluation of pair correlation energies in local MP2 and dRPA calculations. See the description of keyword wpairtol for more details.

Options:
off

OSVs are not constructed and not dropped

$<$any real number in the [0,1] interval$>$

Orbitals with occupation numbers smaller than this number will be dropped.

Default:

osveps=1e-3 for localcc=2015, osveps=off for localcc=2016 or 2018

Example:

to set a threshold of $10^{-4}$ type osveps=1e-4

ovirt

This keyword controls the cost reduction approaches based on natural orbital (NO) or optimized virtual orbitals (OVOs) techniques. For a ground-state correlation calculation, if this keyword is set, the virtual MOs will be transformed to MP2 NOs or OVOs [105]. Subsequently the virtual space will be truncated on the basis of the populations of the orbitals, which can be controlled by keywords eps and ovosnorb. See Ref. 127 for more details.

Options:
off

The virtual MOs are not changed.

MP2

MP2 NOs will be used.

OVOS

Optimized virtual orbitals will be used.

Default:

ovirt=off

Example:

to use MP2 NOs for a ground-state CC calculation give ovirt=MP2

ovltol

Tolerance for the eigenvalues of the AO overlap matrix. Eigenvectors corresponding to the eigenvalues lower that ovltol will be removed to cure the linear dependence of the AO basis set.

Options:
$<$any positive real number or zero$>$

This number will be used as the threshold for the eigenvalues of the overlap matrix.

Default:

ovltol=1e-7

Example:

to keep all the basis functions set ovltol=0.0

ovosnorb

Specifies the retained percentage of virtual orbitals in an optimized virtual orbitals (OVOs) calculations. ovosnorb % of virtual orbitals will be retained.

Options:

$<$any number between 0 and 100$>$

Default:

ovosnorb=80.0

Example:

to retain only 70 % of the virtuals give ovosnorb=70.0

pcm

If this keyword is set, solvent effects will be considered employing the polarizable continuum model (PCM) [138] via an interface to the PCMSolver library [16, 17, 1]. See also keywords pcm_* below.

Options:
off

No solvent effects will be considered

$<$solvent$>$

Solvent effects will be considered with the corresponding solvent. The name of the solvent should be given as defined in PCMSolver, such as Water, Methanol, Acetonitrile, …, see the manual of the PCMSolver [1]. Spaces in the names must be replaced by underscores, e.g., Propylene_Carbonate instead of Propylene Carbonate.

Default:

pcm=off

Example:

to perform a calculation with water as solvent set pcm=Water

pcm_*

These keywords control the PCM calculation and correspond to the keywords of the PCMSolver library. See the documentation of the PCMSolver library for a detailed description. These keywords will be passed to PCMSolver without any sanity check. The keyword and the corresponding default values are as follows (Å and Å${}^{2}$ are used for length and area, respectively).

PCM_Cavity_Type=GePol
PCM_Cavity_Area=0.3
PCM_Cavity_Scaling=False
PCM_Cavity_NpzFile=$<$empty string$>$
PCM_Medium_SolverType=IEFPCM
PCM_Medium_Correction=0.0
PCM_Green_Eps=1.0
PCM_Green_Type=Vacuum
Note:

In particular cases the average area of the surface partition for the cavity (PCM_Cavity_Area) is not appropriate, and you get an error message. In this case, you should change the value of PCM_Cavity_Area.

Example:

to change the cavity surface area partition to 0.2 Å${}^{2}$ set PCM_Cavity_Area=0.2

popul

This keyword controls the wave function analysis.

Options:
off

No wave function analysis is performed.

Mulli

A population analysis is also performed, and Mulliken and Löwdin atomic charges as well as Mayer bond orders are computed [96, 81].

IAO

In addition to the above parameters, intrinsic atomic orbitals (IAOs) are constructed and IAO partial charges are calculated [72].

deco

In addition to the parameters listed for Mulli, the atomic decomposition of the energy is also computed.

Default:

popul=Mulli if dens $\neq$ 0, popul=off otherwise

Example:

to calculate IAO charges set popul=IAO

pressure

The pressure in Pa at which the thermodynamic properties are evaluated (see also keyword freq).

Options:

$<$any positive integer$>$

Default:

pressure=100000

Example:

for 1 atm set pressure=101325

ptfreq

Frequency of the perturbation for frequency-dependent properties in atomic units (available only with Cfour). See Refs. 60 and 107 for more details.

Options:

$<$any real number$>$

Default:

ptfreq=0.0

Example:

to set a frequency of 0.1 a.u. give ptfreq=0.1

Sets the number of outer OpenMP threads in program ccsd while calculating the (T) correction.

Options:

$<$any positive integer$>$

Default:

Example:

to reduce the memory requirement of a CCSD(T) calculation by turning off nested OpenMP parallelization set ptthreads=1

qmmm

This keyword tells Mrcc that a QM/MM calculation is performed and the point charges included in the input file must be processed. This keyword is automatically added to the MINP file by the MM program conducting the QM/MM calculations, and you do need to bother with it. Use this keyword in the only case if you want to add point charges manually.

Options:
off

QM/MM calculation is not performed and no point charges are added.

Amber

Currently this is the only option, the Amber MD code will be used for the QM/MM calculation or point charges will be added.

Note:

Point charges can be manually added to the end of the input file in the following format:
pointcharges
$<$number of point charges$>$
$$ $$ $$ $$
$$ $$ $$ $$
⋮
where $x_{i}$, $y_{i}$, and $z_{i}$ are the Cartesian coordinates and $q_{i}$ is the charge for point charge $i$. The charge must be given in a.u., while for the coordinates the same unit must be used as for the specification of the molecular geometry.

Default:

qmmm=off

Example:

to add two point charges with coordinates (0, 0, 1) and (0, 1, 0) a.u. (provided that the geometry is also given in bohr) and charges of 0.5 and -0.5 a.u. qmmm=Amber should be set anywhere in the MINP file, and the following lines should be added to the end the file:
pointcharges
2
0.0 0.0 1.0 0.5
0.0 1.0 0.0 -0.5

qscf

Use this option to carry out quadratic RHF, UHF, ROHF, RKS, and UKS SCF calculations and also to select the algorithm used for MCSCF calculations. One can use either (quasi-)Newton or trust region iterations with optional line search.

Options:
off

No quadratic SCF, conventional SCF algorithm will be

on

Equivalent to AugHessG executed.

Newton

Simple Newton iteration.

NewtonL

Simple Newton iteration with line search.

AugHess

Trust region method with augmented Hessian algorithm without line search. The trust radius is updated according to the scheme described in Ref. 49.

AugHessM

Trust region method with augmented Hessian algorithm using line search. The trust radius update scheme is similar to the above one but uses different coefficients.

AugHessL

Trust region method with augmented Hessian algorithm using line search. The trust radius is updated as described in Ref. 49, but this method takes into account the step length found by the line search.

AugHessG

Trust region method with augmented Hessian algorithm using line search. The trust radius update scheme takes into account the change of the gradient in the consecutive iterations.

BFGS

Quasi-Newton method utilizing the BFGS algorithm (see also keywords bfgsmem and bfgstol).

Note:

The simple (quasi-)Newton iteration schemes are only efficient in the vicinity of a minimum and not recommended in the general case. We recommend the use of the AugHessG or AugHessL options in difficult cases.

Default:

qscf=AugHessG for MCSCF calculations, qscf=off otherwise

Example:

UKS calculation with the B3LYP functional using the AugHessG algorithm:
calc=B3LYP
scftype=UHF
qscf=AugHessG

redcost_exc

This keyword controls the cost reduction approaches based on natural orbital (NO) and natural auxiliary function (NAF) techniques for excited states. For a (spin-scaled) CIS(D${}_{\infty}$), ADC(2), and CC2 calculation, if redcost_exc$\neq$off, the reduced-cost approach of Refs. 87 and 88 is invoked, and truncated state-averaged MP2/CIS(D) NOs as well as NAFs will be used. The lnoepso, lnoepsv, naf_cor, and naftyp keywords will be automatically set depending on the selected option for redcost_exc. For CIS, TD-HF, TDA, TD-DFT calculations the NAF approximation will be invoked if redcost_exc=8.

Options:
off

The cost reduction techniques will not be used.

on

Reduced-cost calculation will be executed with default settings (see also Table LABEL:RedCostTab).

cust

Reduced-cost calculation will be executed with customized truncation thresholds. The threshold for the complete MO space NAFs (CS-NAFs), CIS coefficients, orbital energies, and linear dependency must be specified in the subsequent line, respectively, as
$<$threshold 1$>$ $<$threshold 2$>$ $<$threshold 3$>$ $<$threshold 4$>$
The default values of these thresholds are 0.1 a.u., 0.35, 0.15 a.u., $10^{-7}$, respectively. These are used with if any other option is chosen. See Ref. 88 for the detailed description of these parameters.

$<$positive integers from 1 to 10$>$

See Table LABEL:RedCostTab.

Default:

redcost_exc=off

Examples:
1.

Reduced-cost ADC(2) calculation for the lowest singlet excited state with the default settings proposed in Ref. 88:
nsing=2
redcost_exc=on

2.

Reduced-cost TD-DFT calculation with the PBE0 functional for the lowest 3 singlet excited states of a molecule:
calc=PBE0
redcost_exc=8
nstate=4

redcost_tddft

This keyword controls the use of local fitting domains for reduced-scaling density fitting CIS, TD-HF, and TD-DFT calculations. See Ref. 85 for more details.

Options:
off

The scaling reduction techniques will not be used.

on

Reduced-scaling calculation will be executed with a completeness criterion of 0.985 for the wave function truncation.

$<$any real number in the [0,1] interval$>$

This number will be used as the completeness criterion.

Default:

redcost_tddft=off

Example:

to set a completeness criterion of 0.99 type redcost_tddft=0.99

refdet

The reference determinant (Fermi-vacuum) for CI/CC calculations can be specified using this keyword. By default the reference determinant is identical to the HF determinant, but sometimes it is necessary to change this.

Options:
none

The reference determinant is identical to the HF determinant.

serialno

Using this option one can define the occupation of the correlated orbitals in the reference determinant specifying their serial numbers. This option requires three more lines. In the first line the serial numbers of the doubly-occupied orbitals must be given, while in the second and third lines those orbitals should be specified which are singly-occupied by an alpha or a beta electron, respectively. For the format of these lines see the description of the serialno option of the active keyword. For relativistic calculations the occupation of the spinors (i.e., not that of the Kramers-pairs) should be given. For technical reasons all electrons are treated as alpha electrons and the serial numbers of the occupied spinors must be given in the second line, the first and third lines must be left blank.

vector

Using this option one can set the occupation numbers for each correlated orbital. In the subsequent line an integer vector should be supplied with as many elements as the number of correlated orbitals (correlated spinors for relativistic calculations, not Kramers-pairs!). The integers must be separated by spaces. In the case of non-relativistic calculations type 2 for doubly-occupied orbitals, 1 for open-shell orbitals with alpha electron, -1 for open-shell orbitals with beta electron, 0 otherwise. In the case of relativistic calculations type 1 for each occupied spinor, 0 otherwise.

Notes:
1.

Frozen orbitals must not be considered here in any case.

2.

If the MO integrals are taken over from another program, the numbering of orbitals may be different from that of the parent program. Here the order of MOs: doubly occupied, open shell, virtual; and in each of this blocks the MOs are reordered according to the orbital energies (natural orbital occupations in the case of active MCSCF orbitals).

3.

If the MO integrals are taken over from another program, and this line is omitted, the program will fill the orbitals with electrons from the bottom automatically. In this manner we do not need this line for closed shells or a doublet reference determinant, but, e.g., for high-spin states the Fermi vacuum must be defined here.

4.

For relativistic calculations (Dirac interface) this line is always required. The spinors are symmetry-blocked according to the Fermion irreps of the corresponding double group. Complex conjugate irreps follow each other. Within each irrep the spinors are numbered according to orbital energies. Please note that this line is automatically printed by the dirac_mointegral_export program, and you do not have to do it by hand. However, for technical reasons, always a closed-shell occupation is generated, and you may need to remove or add some electrons.

Default:

refdet=none, that is, the reference determinant is identical to the HF determinant.

Examples:
1.

We have 20 correlated orbitals, 10 electrons, and we are interested in a high-spin triplet state. Suppose that orbitals 1 to 4 are doubly-occupied while orbitals 5 and 6 are singly occupied by alpha electrons. Using the serialno option the input should include the following four lines (note the blank line at the end):
refdet=serialno
1-4
5,6

2.

The same using the vector option:
refdet=vector
2 2 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

3.

We perform a relativistic calculation for the Be atom with 20 correlated spinors. We have 6, 6, 4, and 4 spinors in the four Fermion irreps, E${}_{1/2g}$, E${}_{-1/2g}$, E${}_{1/2u}$, and E${}_{-1/2u}$ of the $C_{2h}^{*}$ double group, respectively, and two occupied spinors in both of the gerade irreps. Thus using the vector option the occupation vector should be given as:
refdet=vector
1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0

4.

The same using the serialno option (note the blank lines):
refdet=serialno

1,2,7,8

rest

Use this keyword to restart canonical (i.e., not local) CI and CC calculations from previously calculated wave function parameters (cluster amplitudes, CI coefficients, $\lambda$ amplitudes, etc.) if ccprog=mrcc. For restarting local correlation calculations see keyword lccrest.

Options:
1

The program restarts from the previously calculated parameters.

2

The program executes automatically the lower-level calculations of the same type consecutively (e.g., CCSD, CCSDT, and CCSDTQ if CCSDTQ is requested) and restarts each calculation from the previous one (this is only available for energy calculations).

3

Same as rest=1, however, only selected roots from the previous calculation will be used as initial guess. The serial number of the roots must be specified in the subsequent line as
$\dots$
where $$ is the serial number of the states. The number of states given here must be equal to nstate or nsing + ntrip. Please note that the ground state solution is not automatically selected, it should also be given here if needed. It is recommended to use root following (diag=follow) together with this option.

4

Same as rest=2 but the initial vectors are selected as in the case of rest=3.

Notes:

use the restart option, e.g.,

1.

after system crash.

2.

if the iteration procedure did not converge in the given number of steps.

3.

for geometry optimization.

4.

for potential curve calculations.

5.

if you are interested in high-order CC/CI energies. Then it is worth restarting the calculations with higher excitations using the converged vectors of the same method including lower excitations, e.g., CCSDT using the converged CCSD amplitudes, CCSDTQ using the CCSDT amplitudes, and so on. With this trick 1-3 iteration steps can be saved usually, but more ones in the case of strong static correlation (i.e., large cluster amplitudes). Use exclusively rest=2 for this purpose (that is, not rest=1)!

6.

if you are interested in calculating the energies for all methods in a hierarchy (e.g., executing all CC methods up to CCSDTQP). Use exclusively rest=2 for this purpose (that is, not rest=1)!

7.

to generate brute-force initial guess for excited-state calculations (rest=3 or 4). That is, if you do not want to bother with the initial guess for excited states, but you know approximately the energy of the excited states, then execute a low-level method for many roots. Use LR-CCS (calc=CCS) and CIS (calc=CIS), respectively, for higher-order LR-CC and CI calculations. Select the desired roots on the basis of their energies, and use them as initial guess in high-level calculations. (For other options for the initial guess for excited-state calculations see keyword ciguess.)

8.

Please note that the program always needs the file fort.16 from the previous calculation for the restart and also fort.17, if more than one root is sought or for geometry optimization.

Default:

rest=0

Examples:
1.

to restart a CC calculation after power failure set rest=1

2.

to restart a LR-CCSD calculation using the first, third, and fifth roots of a previous LR-CCS calculation the input should include the following two lines:
rest=3
1 3 5

rgrid

Specifies the radial integration grid for DFT calculations. For the details of the grid construction see the description of keyword agrid. See also the description of keyword grtol.

Options:
Log3

the Log3 quadrature of Mura and Knowles [97]

GC

Gauss–Chebyshev quadrature. A modified version of the mapping function of Ref. 73 is employed: the function is scaled by the atomic scaling parameters of Becke [6].

EM

Note:

the number of grid points is calculated by the
max{20, 5*(3*grtol/2+$i$+10)} formula with $i$ as the number of the row in the periodic table where the atom is located [73]. To change the number of radial integration points, set the value of grtol. If an adaptive grid is used (see keyword agrid), the number of radial grid points is determined automatically so that the error in the radial integrals will not be larger than $10^{1-{\tt grtol}}$. In this case the above value is just the maximum allowed number of points.

Default:

rgrid=Log3

Examples:
1.

to use the Euler–Maclaurin scheme set rgrid=EM

2.

to use the default Log3 grid with more points set grtol=12

rohfcore

Specifies the type of the frozen ROHF or ROKS orbitals if
rohftype=semicanonical and core=frozen. See also the description of keyword rohftype.

Options:
standard

The orbitals will be frozen before the semi-canonicalization of the orbitals, that is, standard ROHF (ROKS) orbitals will be frozen.

semicanonical

The orbitals will be frozen after the semi-canonicalization of the orbitals, that is, semicanonical ROHF (ROKS) orbitals will be frozen.

Notes:
1.

For ROHF-based correlation calculations Cfour and Molpro use semicanonical and standard frozen orbitals, respectively. If you want to compare the results computed with Mrcc to those obtained with the above programs, use this keyword to select the same type of frozen ROHF orbitals.

2.

In the case of local correlation calculations standard ROHF (ROKS) orbitals are frozen for theoretical reasons. If results of local and canonical correlation calculations are compared, standard ROHF (ROKS) orbitals should be frozen in the canonical calculations as well.

Default:

rohfcore=standard for local correlation calculations,
rohfcore=semicanonical otherwise.

Example:

to use standard ROHF core orbitals for canonical correlation methods set rohfcore=semicanonical

rohftype

Specifies the type of the ROHF or ROKS orbitals. See also the description of keyword scftype.

Options:
standard

Standard ROHF (ROKS) orbitals obtained by diagonalizing the ROHF (ROKS) Fock-matrix.

semicanonical

Semicanonical ROHF (ROKS) orbitals obtained by separately diagonalizing the alpha and beta UHF (UKS) Fock-matrices constructed using the converged ROHF (ROKS) orbitals.

Notes:
1.

rohftype=semicanonical is required for perturbative CC methods if ROHF orbitals are used, otherwise the expressions for the perturbative corrections are not correct. Iterative CC and CI methods are invariant to the choice of ROHF orbitals (if all electrons are correlated).

2.

It is very important to give this keyword if Mrcc is used together with another code and ROHF orbitals are used since this keyword tells Mrcc what type of ROHF orbitals are taken over from the other code.

Default:

for ccprog=ccsd rohftype=semicanonical; for ccprog=mrcc
rohftype=standard for iterative CC and CI methods,
rohftype=semicanonical for perturbative methods.

Example:

to use semicanonical ROHF orbitals for iterative CC methods give rohftype=semicanonical

scfalg

Specifies what type of SCF algorithm is to be used.

Options:
disk

Conventional SCF algorithm, two-electron integrals are stored on disk.

direct

Direct SCF algorithm, two-electron integrals are recalculated in each iteration step.

auto

Based on the size and geometry of the molecule the program will automatically select the more efficient one from the above options.

locfit1

Density-fitting direct SCF algorithm using local fitting domains for the exchange contribution [119, 101]. See also keyword excrad.

locfit2

Same as locfit1 but, in addition to the auxiliary functions, domains are also constructed for the AOs and MOs.

Default:

scfalg=auto

Example:

to run direct SCF add scfalg=direct

scfdamp

Specifies whether damping of the SCF density matrices is performed.

Options:
off

No damping.

$<$any real number in the [0,1] interval$>$

In each SCF iteration cycle the new and old SCF density matrices are mixed by factors (1-scfdamp) and scfdamp, respectively.

on

Equivalent to scfdamp=0.7

Default:

scfdamp=off

Example:

to use a damping factor of $0.8$ type scfdamp=0.8

scfdiis

Specifies if DIIS convergence acceleration is used in the SCF calculations.

Options:

on or off

Default:

scfdiis=on

Example:

to turn off DIIS convergence accelerator add scfdiis=off

scfdiis_end

Specifies the last iteration step in which the DIIS convergence acceleration is applied.

Options:

$<$any positive integer$>$

Default:

scfdiis_end=scfmaxit, that is, the DIIS procedure is not turned off.

Example:

to turn off the DIIS convergence accelerator after iteration step 20 give scfdiis_end=20

scfdiis_start

Specifies the first iteration step in which the DIIS convergence acceleration is applied.

Options:

$<$any positive integer$>$

Default:

scfdiis_start=1, that is, the DIIS procedure is active from the first iteration.

Example:

to turn on the DIIS convergence accelerator in iteration step 5 give scfdiis_start=5

scfdiis_step

Specifies the frequency of DIIS extrapolations. The extrapolation will be carried out in every scfdiis_step’th iteration cycle.

Options:

$<$any positive integer$>$

Default:

scfdiis_step=1, that is, the DIIS extrapolation is performed in each iteration step.

Example:

to carry out DIIS extrapolation only in every second iteration step give scfdiis_step=2

scfdtol

Convergence threshold for the density matrix in SCF calculations. The RMS change in the density matrix will be smaller than $10^{-{\tt scfdtol}}$.

Options:

$<$any integer$>$

Default:

scfdtol=scftol+2 for frequency calculations, otherwise
scfdtol=scftol+1 for correlation calculations, scfdtol=scftol for SCF calculations

Example:

for an accuracy of $10^{-8}$ one must give scfdtol=8

scfext

Specifies the number of Fock-matrices used for the DIIS extrapolation in SCF calculations.

Options:

$<$any positive integer$>$

Default:

scfext=10

Example:

to increase the number of DIIS vectors to 15 give scfext=15

scfiguess

Initial guess for the SCF calculation.

Options:

Superpositions of atomic densities. For each atom a density-fitting UHF calculation is performed, and the initial one-particle density matrix is constructed from the averaged alpha and beta atomic densities.

ao

Atomic density initial guess. The initial one-particle density matrix is constructed from diagonal atomic densities derived from the occupation of the atoms. It is efficient for Dunning’s basis sets.

core

Core Hamiltonian initial guess. The initial MOs are obtained by diagonalizing the one-electron integral matrix.

mo

The SCF calculation will use the MO coefficients obtained in a previous calculation and stored in the MOCOEF file. The calculation can only be restarted from the MOs computed with the same basis set.

restart

The SCF calculation will use the density matrices obtained in a previous calculation and stored in the SCFDENSITIES file. If the calculation is restarted from the densities obtained with another basis set, the VARS file is also required. See also note 1 below.

off

No SCF calculation will be performed, but the Fock-matrix and the MO coefficients obtained in a previous calculation will be used in the correlation calculations. This requires the FOCK, MOCOEF, and VARS files from the previous calculation. See also note 1 below.

min

A density fitting SCF calculation will be performed using the cc-pVTZ-min minimal basis set (see the description of keyword basis), and the resulting density will be used as initial guess. In the minimal-basis SCF calculation the AO basis set is used as the auxiliary basis, and loose convergence thresholds are employed, consequently, the energy is unreliable and should not be used for any purpose.

small

A density fitting SCF calculation will be performed using a smaller basis set which must be specified by keyword basis_sm (see the description of keyword basis_sm), and the resulting density will be used as initial guess.

Notes:
1.

If your SCF calculation is killed for some reason, e.g., by a power failure, but if you have all the files created by the program, you can simply continue the SCF calculation. To that end you should just execute program scf in the directory where Mrcc was running. The SCF program will continue from the iteration step where it crashed. If you also want to run a post-SCF calculation, just restart the entire run with scfiguess=off after the SCF has converged.

2.

Restarting from densities obtained with a bigger basis set is not allowed.

3.

To restart SCF runs from the results of DFT embedding calculations with the Huzinaga-equation- or projector-based approaches use MO coefficients, i.e., scfiguess=mo, since only the subsystem densities are stored at the end of the embedding calculation but the MOs are available for the entire system.

Default:

Examples:
1.

For a core Hamiltonian initial guess set scfiguess=core

2.

For restarting the SCF calculation from the results of a calculation performed with the same basis set type scfiguess=restart. Note that you need the SCFDENSITIES file from the previous run.

3.

You would like to generate a good initial guess for an aug-cc-pVTZ SCF calculation. First, run a calculation with the cc-pVTZ basis set (cc-pVTZ-min is also a good option), that is, your input file should contain the
basis=cc-pVTZ
line. Then, restart your aug-cc-pVTZ calculation from the cc-pVTZ density matrix. To that end the MINP file should include the following lines:
basis=aug-cc-pVTZ
scfiguess=restart

Note that the SCFDENSITIES and the VARS files from the cc-pVTZ run must be copied to the directory where the aug-cc-pVTZ calculation is executed.

4.

The calculations in the previous example can be run more simply, in one step using the small option and the basis_sm keyword as
basis=aug-cc-pVTZ
basis_sm=cc-pVTZ
scfiguess=small

scflshift

Level shift parameter for the SCF calculation.

Options:
off

No level shifting.

$<$any real positive number $>$

The value of the level shift parameter in a.u.

on

Equivalent to scflshift=0.2

Default:

scflshift=off

Example:

To use a level shift value of 0.5 a.u. give scflshift=0.5

scfmaxit

Maximum number of iteration steps in SCF calculations.

Options:

$<$any positive integer$>$

Default:

scfmaxit=50

Example:

to increase the maximum number of SCF iterations to 200 give scfmaxit=200

scftol

Convergence threshold for the energy in SCF calculations. The energy will be accurate to $10^{-{\tt scftol}}$ E${}_{h}$.

Options:

$<$any integer$>$

Default:

scftol=max(8,cctol) for property calculations,
scftol=max(6,cctol) otherwise

Example:

for an accuracy of $10^{-8}$ E${}_{h}$ one must give scftol=8

scftype

Specifies the type of the Hartree–Fock/Kohn–Sham/MC SCF procedure, or the type of the molecular orbitals if the MO integrals are computed by other programs. See also the description of keyword rohftype.

Options:

RHF, ROHF, UHF, RKS, ROKS, UKS, or MCSCF

Notes:
1.

It is very important to give this keyword if Mrcc is used together with another code and ROHF or MCSCF orbitals are used since this keyword tells Mrcc that the orbitals are not canonical HF orbitals. Please also set keyword rohftype in this case.

2.

If an SCF calculation is run, the type of the SCF wave function can also be controlled by keyword calc. See the description of calc.

3.

The RKS, UKS, and ROKS options are synonyms for the RHF, UHF, and ROHF options, respectively. That is, for DFT calculations, the RHF, UHF, and ROHF options will instruct the code to run RKS, UKS, and ROKS calculations, respectively, and vice versa.

Default:

scftype=RHF for closed-shell systems, scftype=UHF for open shells.

Example:

to use ROHF or ROKS for open-shell systems type scftype=ROHF

scspe

Scaling factor for the higher-order terms in the dRPA equations for the sedRPA and seSOSEX methods of Ref. 94.

Options:
$<$any real number$>$

the higher-order terms in the dRPA equations will be scaled by this number.

Default:

scspe=0.8 for the sedRPA and seSOSEX methods, scspe=1.0 otherwise.

Example:

to set a scaling factor of 0.9 type scspe=0.9

scsph

Scaling factor for the higher-order terms in the energy expressions for the dsdRPA and dsSOSEX methods of Ref. 94.

Options:
$<$any real number$>$

the higher-order terms in the energy expressions will be scaled by this number.

Default:

scsph=0.85 for the dsdRPA and dsSOSEX methods, scsph=1.0 otherwise.

Example:

to set a scaling factor of 0.9 type scsph=0.9

scsps

Scaling factor for the antiparallel-spin component of the correlation energy in spin-scaled correlation calculations [SCS-MP2, SCS-CC2, SCS-CIS(D), SCS-CIS(D${}_{\infty}$), SCS-ADC(2), SOS-MP2, SOS-CC2, SOS-CIS(D), SOS-CIS(D${}_{\infty}$), SOS-ADC(2)] [37, 147].

Options:
$<$any real number$>$

the antiparallel-spin component of the correlation energy will be scaled by this number.

Default:

scsps=6/5 for the SCS methods, scsps=1.3 for the SOS approaches

Example:

to set a scaling factor of 1.5 type scsps=1.5

scspt

Scaling factor for the parallel-spin component of the correlation energy in spin-scaled correlation calculations [SCS-MP2, SCS-CC2, SCS-CIS(D), SCS-CIS(D${}_{\infty}$), SCS-ADC(2), SOS-MP2, SOS-CC2, SOS-CIS(D), SOS-CIS(D${}_{\infty}$), SOS-ADC(2)] [37, 147].

Options:
$<$any real number$>$

the parallel-spin component of the correlation energy will be scaled by this number.

Default:

scspt=1/3 for the SCS methods, scspt=0.0 for the SOS approaches

Example:

to set a scaling factor of 0.5 type scspt=0.5

spairtol

Threshold for the selection of strong pairs in local MP2, dRPA, and CC methods. For each orbital pair an estimate of the pair correlation energy is calculated (see the description of keyword wpairtol). An orbital pair will be considered as strong pair if the absolute value of the pair correlation energy estimate is greater than spairtol. In the subsequent calculations strong pairs will be treated at a higher level, while for the other pairs (weak and distant) the corresponding pair correlation energy estimates will be added to the correlation energy. See also Refs. 68 and 102 for more details.

Options:
off

the local MP2 or dRPA pair correlation energy estimate is not calculated, an orbital pair will be considered as strong pair in this case if the absolute value of the available pair correlation energy estimate is greater than wpairtol. See also the description of keyword wpairtol and Ref. 101.

$<$any positive real number$>$

Orbital pairs with pair correlation energy estimates greater than this number (in E${}_{h}$) will be considered as strong pairs.

Default:

spairtol=1e-4 for localcc=2015, spairtol=off for
localcc=2016 and localcc=2018

Example:

to set a threshold of $10^{-5}$ E${}_{h}$ type spairtol=1e-5

subminp

This keyword controls the input handling of ONIOM calculations.

Options:
top

Keywords specified in the MINP file are only used in the last (high level) calculation. For other layers, the default options will be set.

minp

Keywords specified in the MINP file are used in all calculations. The following keywords are not affected by this option as these are handled by the ONIOM algorithm automatically: mem, qmmm, gopt, freq, calc, basis, charge, mult, verbosity, test, qmreg, oniom, geom, subminp, dens, mpitasks, pcm, pcm_$\ast$, oniom_pcmcav.

temp

The use of template files is requested. Before each calculation, a MINP.$$.tpl file is searched, where $X$ is the serial number of the calculation. If any template file is found, its content is used as is, without consistency check, thus the template file should contain keywords excluding those that are listed above for the minp option. Note that the template files are only searched in the directory where dmrcc is executed.

t+t

The top and temp options are used together.

m+t

The minp and temp options are used together.

Default:

top

Examples:
1.

The following example is a CCSD:PBE (aug-cc-pVDZ:STO-3G) ONIOM calculation. The MINP file contains the following keywords:
basis=aug-cc-pVDZ
calc=CCSD
scfdtol=10
subminp=top
oniom=2
8-9
PBE / STO-3G / 0 / 1
0

In this case, PBE/STO-3G (full system), PBE/STO-3G (model system), and CCSD/aug-cc-pVDZ (model system) calculations are requested, which are denoted as calculation #1, #2, and #3, respectively. Calculation #1 and #2 are executed with the default scfdtol, while calculation #3 will use scfdtol=10.

2.

The setting are the same as in example 1 except that subminp=minp. In this case, all calculations will use scfdtol=10.

3.

The settings are the same as in example 1 except that subminp=temp, and there are two files (MINP.2.tpl and MINP.3.tpl) in which there is only the following line:
scflshift=0.3
In this case, calculation #1 will use the default options, while in calculations #2 and #3, scflshift=0.3 will be set. Note that all calculations will use the default option for scfdtol.

symm

Spatial symmetry (irreducible representation) of the state. See Sect. 13 for the implemented point groups, conventions for irreps, etc.

Options:
0

No symmetry adaptation, that is, all calculations will use the $C_{1}$ point group

off

Equivalent to symm=0

1, 2, …, 8

Serial number of the irrep (see Sect. 13).

$<$irrep label$>$

Label for the irrep (see Sect. 13).

Note:

Irreps can only be specified by their serial numbers if Mrcc is used with another program. In that case please check the manual or output of the other program system for the numbering of irreps.

Default:

by default the state symmetry is determined on the basis of the occupation of the HF determinant.

Examples:
1.

for the second irrep of the point group type symm=2

2.

for the B${}_{1u}$ irrep of the $D_{2h}$ point group type symm=B1u

talg

Specifies the algorithm for the calculation of the (T) correction in the case of the CCSD(T) method.

Options:
occ

The outmost loops run over the occupied indices of the triples amplitudes.

virt

The outmost loops run over the virtual indices of the triples amplitudes.

lapl

Laplace transformed (T) energy expression for localcc=2016 or 2018 according to Ref. 99. See also the laptol keyword to set the accuracy of the numerical Laplace transform.

topr

The T0${}^{\prime}$ semi-canonical approximation of the local (T) expression according to Ref. 99.

Default:

talg=occ for conventional CCSD(T) calculations, talg=lapl for the local CCSD(T) scheme of localcc=2016 or 2018, and talg=virt for local CCSD(T) with localcc=2013 or 2015.

Notes:
1.

For algorithmic reasons in the case of previous local CCSD(T) schemes (localcc=2013 or 2015) talg=virt is the only option. For localcc=2016 or 2018, the default is talg=lapl, and talg=virt is used if lcorthr=0 is set.

2.

For conventional CCSD(T) calculations talg=occ is recommended since the algorithm is somewhat faster than the other one. In turn, if density-fitting is not employed, its memory requirement is higher. The program checks automatically if the available memory is sufficient for the first algorithm (i.e., talg=occ). If this is not the case, talg will be automatically set to virt.

3.

If density-fitting is employed and ccsdalg=dfdirect is set, a highly memory-economic, completely in-core, integral-direct implementation of the talg=occ scheme is invoked [39]. This algorithm assembles the necessary four-center integrals with two and three virtual MO indices on the fly instead of storing the entire integral lists on disk or in memory. The on the fly integral assembly has negligible additional cost compared to the cost of the (T) correlation energy and has better OpenMP parallel scaling due to the elimination of all disk I/O.

4.

In the case of localcc=2016 or 2018 the talg=topr algorithm is approximately three times faster than talg=lapl with its default settings but considerably less accurate. For quick exploratory calculations the talg=lapl algorithm is recommended in combination with laptol=0.1.

Example:

to change the default for a conventional CCSD(T) calculation set talg=virt

temp

The temperature in K at which the thermodynamic properties are evaluated (see also keyword freq).

Options:

$<$any positive real number$>$

Default:

temp=298.15

Example:

for 300 K set temp=300.0

test

A keyword for testing Mrcc. If an energy value is specified using this keyword, it will be compared to the energy calculated last time [e.g., the CCSD(T) energy and not the CCSD or HF energy if calc=CCSD(T)] in the Mrcc run. An error message will be displayed and the program exits with an error code if the test energy and the calculated energy differ. This keyword is mainly used by the developers of the program to create test jobs to check the correctness of the computed energies. (See Sect. 8 for the further details.)

Options:
off

No testing.

$<$any real number$>$

The energy to be tested.

Default:

test=off

Example:

to set a test energy of -40.38235315 E${}_{h}$ type test=-40.38235315

tlmo

Threshold for local MO (LMO) completeness for local excited-state calculations. See Ref. 86 for a detailed description of this threshold ($T_{\mathrm{LMO}}$ in the paper).

Options:
$<$any real number in the [0,1] interval$>$

This number will be used as the completeness criterion.

Default:

tlmo=0.999

Example:

to set a threshold of 0.99 type tlmo=0.99

tpao

Threshold for projected AO (PAO) completeness for local excited-state calculations. See Ref. 86 for a detailed description of this threshold ($T_{\mathrm{PAO}}$ in the paper).

Options:
$<$any real number in the [0,1] interval$>$

This number will be used as the completeness criterion.

Default:

tpao=0.94

Example:

to set a threshold of 0.9 type tpao=0.9

tprint

Controls the printing of converged cluster amplitudes/CI coefficients if ccprog=mrcc.

Options:
off

No printing.

$<$any real number$>$

Cluster amplitudes/CI coefficients whose absolute value is greater than this number will be printed.

Note:

The value of the cluster amplitude/CI coefficient and the corresponding spin-orbital labels (serial number of the orbital + a or b for alpha or beta spin orbitals, respectively) will be printed. The numbering of the orbitals corresponds to increasing orbital energy order. Note that orbital energies are printed at the end of the SCF run if verbosity$\geq$3. You can also identify the orbitals using Molden (see Sect. 14.1).

Default:

tprint=off

Example:

to set a threshold of 0.01 give tprint=0.01

uncontract

Uncontract contracted basis sets.

Options:

on or off

Default:

uncontract=off

Example:

to uncontract the basis set add uncontract=on

unit

Specifies the units used for molecular geometries.

Options:
angs

Ångströms will be used

bohr

Atomic units will be used

Default:

unit=angs

Example:

to use bohrs rather than ångströms the user should set unit=bohr

usedisk

Controls the memory and disk usage of the domain construction part of the LNO-CC algorithms.

Options:

0, 1, 2. The minimal memory requirement of the domain construction part of the LNO-CC methods decreases, while the size of the arrays stored temporarily on disk increases with increasing value of the option. usedisk=0 prohibits the use of disk I/O in this part and hence requires somewhat more memory. For more details see Ref. 100.

Default:

usedisk=2

Note:

usedisk=0 is only compatible with the in-core DF-CCSD algorithm invoked by ccsdalg=dfdirect.

Example:

to invoke the in-core domain construction algorithm, for instance, if a local hard disk is not available for the executing node, set usedisk=0.

verbosity

Controls the verbosity of the output.

Options:

0, 1, 2, 3. The verbosity of the output increases gradually with increasing value of the option. Error messages are not suppressed at any level.

Default:

verbosity=2

Example:

to increase the amount of information printed out give
verbosity=3

wpairtol

Threshold for the selection of weak pairs in local MP2, RPA, and CC methods. For each orbital pair the estimate of the pair correlation energy is calculated with a multipole approximation [52, 125, 101]. An orbital pair will be considered as distant pair if the absolute value of the multipole-based pair correlation energy estimate is smaller than wpairtol. For the distant pairs the corresponding multipole-based pair correlation energy estimates will be added to the correlation energy, and distant pairs will be neglected in the subsequent calculations.

In the case of localcc=2015, for the remaining pairs a more accurate pair correlation energy estimate will be calculated using orbital specific virtuals (OSVs) controlled by keyword osveps, and these pairs will be further classified as weak and strong pairs controlled by keyword spairtol, see the description of keyword spairtol. The extended domain of an occupied orbital will include those orbitals for which the latter accurate pair correlation energy estimate is greater than spairtol. See also Ref. 68 for more details.

In the case of localcc=2016 or 2018, spairtol=off is set as default, and the extended domain of an occupied orbital will include those orbitals for which the multipole-based pair correlation energy is greater than wpairtol. See also Refs. 101 and 102 for more details.

Note that for local CC methods if spairtol$\neq$off is specified as a non-default option in the case of localcc=2016 or 2018, accurate MP2 pair energies are computed in the extended domains for the remaining non-distant pairs. Then the non-distant pairs are further divided into weak and strong categories according to the value of spairtol, as discussed above. In this case the MP2 pair energies of the weak pairs are added to the correlation energy, and new, somewhat smaller extended domains are constructed to proceed with the higher-level computation as above using solely the strong pair list. See also Ref. 102 for more details.

Options:
$<$any positive real number$>$

Orbital pairs with multipole-based pair correlation energy estimates smaller than this number (in E${}_{h}$) will be considered as distant pairs.

Default:

wpairtol=1e-5 for local MP2 and CC if localcc=2018,
wpairtol=min(1e-6, 0.01*spairtol) for localcc=2015

Note:

For defaults with other than the above settings, see the description of lcorthr

Example:

to set a threshold of $5\cdot 10^{-6}$ E${}_{h}$ type wpairtol=5e-6

## 13 Symmetry

The Mrcc program can handle Abelian point group symmetry. The handling of symmetry can be controlled by keywords cmpgrp (see page 12) and symm (see page 12). In the following we give the character tables used by the program. The symmetry of electronic states can be specified by keyword symm using either the serial number of the irrep or its symbol. The serial number of an irrep is given by its position in the below tables as appropriate. To specify the state symmetry by the symbol of the irrep replace the superscripts in the irrep symbol by lowercase letters, e.g., give B2g for B${}_{2g}$. For the A${}^{{}^{\prime}}$ and A${}^{{}^{\prime\prime}}$ irreps of $C_{s}$ group use A’ and A", respectively (apostrophe and quotation mark).

Character table for the $C_{1}$ point group

$\;\;\;E$
A $1$ $x$, $y$, $z$, $R_{x}$, $R_{y}$, $R_{z}$,
$x^{2}$, $y^{2}$, $z^{2}$, $xy$, $xz$, $yz$

Character table for the $C_{i}$ point group

$\;\;\;E$ $\;\;\;i$
A${}_{1g}$ $1$ $1$ $R_{x}$, $R_{y}$, $R_{z}$, $x^{2}$, $y^{2}$, $z^{2}$, $xy$, $xz$, $yz$
A${}_{1u}$ $1$ $-1$ $x$, $y$, $z$

Character table for the $C_{s}$ point group

$\;\;\;E$ $\;\;\;\sigma_{h}$
A${}^{{}^{\prime}}$ $1$ $1$ $x$, $y$, $R_{z}$, $x^{2}$, $y^{2}$, $z^{2}$, $xy$
A${}^{{}^{\prime\prime}}$ $1$