# 4.2.32. MCPDFT¶

The MCPDFT program in Molcas performs multiconfiguration pair-density functional theory (MC-PDFT) calculations, as described in [92][93]. The MC-PDFT method involves two steps: (i) a CASSCF, RASSCF, or GASSCF wave function calculation to obtain the kinetic energy, classical Coulomb energy, total electron density, and on-top pair density; (ii) a post-SCF calculation of the remaining energy using an on-top density functional. In the current implementation, the on-top pair density functional is obtained by “translation” (t) of exchange-correlation functionals. Four translated functionals are currently available: tLSDA, tPBE, tBLYP, and trevPBE, in addition to the “fully-translated” (ft) variants [94]: ftLSDA, ftPBE, ftBLYP, and ftrevPBE. As multiconfigurational wave functions are used as input quantities, spin and space symmetry are correctly conserved.

The molecular orbitals and one- and two-body density matrices are read from the JOBIPH (or JOBOLD) file generated during a RASSCF run.

## 4.2.32.1. Dependencies¶

To start the MCPDFT module, the one-electron and two-electron integrals generated by SEWARD are required. For MC-PDFT calculations it is suggested to use a fine or ultrafine grid via the following input specifications (see the SEWARD section for further details):

```
&SEWARD
grid input
grid=ultrafine
end of grid input
```

Additionally, a JOBIPH file must be supplied to provide the molecular orbitals and one- and two-body density matrices.

## 4.2.32.2. Files¶

### 4.2.32.2.1. Input files¶

MCPDFT will use the following input files: ONEINT, ORDINT, RUNFILE, JOBOLD, JOBIPH.

If Cholesky options are selected, additional Cholesky-related files will also be used. Only JOBIPH or JOBOLD is needed; the code will first look for JOBOLD first and JOBIPH second.

### 4.2.32.2.2. Output files¶

- JOBPDFT
This file is written in binary format and has the same structue of the JOBIPH file.

- RUNFILE
The RUNFILE is updated with information from the MC-PDFT calculation.

- MCDENS
This ASCII file is generated for MC-PDFT calculations. It contains spin densities, total density and on-top pair density values on grid (coordinates in a.u.).

## 4.2.32.3. Input¶

This section describes the input to the MCPDFT program in the Molcas program system. The input starts with the program name

```
&MCPDFT
```

The KSDFT is the only required keyword.

- KSDFT
The functional choice follows. Currently available functionals are: tPBE, tBLYP, tLSDA, trevPBE, tOPBE, ftPBE, ftBLYP, ftLSDA, ftrevPBE and ftOPBE.

- DFCF
Use this keyword to scale the exchange terms and/or correlation terms of the functional requested. This keyword should be followed by the scaling factor for the exchange terms and the scaling factor for the correlation terms, separated by a space. If the values are 1.0 (default), then the original functional is used. For an HLE-type functional, use 1.25 (for exchange) and 0.5 (for correlation). Example: DFCF=1.25 0.5

- GRAD
The keyword is needed to calculate potentials for analytical gradients. This keyword can be used with both state-specific and state-averaged CASSCF reference wavefunctions.

- MSPDFT
This keyword allows one to run Multi-State Pair-Density Functional Theory (MS-PDFT). This keyword is only effective when a file named H0_Rotate.txt is present in the scratch directory, otherwise only state-specific MC-PDFT calculations will be performed. With the MSPD keyword, the program reads the Hamiltonian matrix from H0_Rotate.txt, replaces the diagonal elements with the MC-PDFT energies of the rotated states (presumably obtained from a previous RASSCF module in which the keyword ROST used) and diagonalizes the new Hamiltonian matrix (called effective Hamiltonian matrix) to obtain the MS-PDFT states and energies. An input example is shown below. More details regarding the theory, the input, and the output can be found on the Minnesota OpenMolcas page1.

Currently the only MS-PDFT option in the code is XMS-PDFT.

### 4.2.32.3.1. Input example¶

The following example shows the input to the RASSCF and MCPDFT programs for a calculation on the water molecule. The tPBE functional is used. The calculation is performed in \(C_{2v}\) symmetry (symmetries: \(a_1\), \(b_2\), \(b_1\), \(a_2\), where the two last species are antisymmetric with respect to the molecular plane). Inactive orbitals are 1\(a_1\) (oxygen 1s) 2\(a_1\) (oxygen 2s) and 1\(b_1\) (the \(\pi\) lone-pair orbital). Two bonding and two anti-bonding \(\ce{OH}\) orbitals are active, \(a_1\) and \(b_2\) symmetries. The calculation is performed for the \(^1A_1\) ground state. Note that no information about basis set, geometry, etc. has to be given. Such information is supplied by the SEWARD integral program via the one-electron integral file ONEINT.

```
&RASSCF
Title= Water molecule. Active orbitals OH and OH* in both symmetries
Spin = 1
Symmetry = 1
Inactive = 2 0 1 0
Ras2 = 2 2 0 0
&MCPDFT
KSDFT=TPBE
```

The first RASSCF run is a standard CASSCF calculation that leads to variationally optimized orbitals and CI coefficients. The MC-PDFT run will use the orbitals and density matrices optimized during the preceding RASSCF run.

The following example shows a part of the input to run XMS-PDFT calculation. The system is \(\ce{LiF}\) and the point group used is \(C_{2v}\).

```
&RASSCF
Spin=1
Symmetry=1
CIRoot= 2 2 1
Inactive=2 0 0 0
Ras2=4 1 0 1
Nactel=8 0 0
>>COPY $CurrDir/LiF.RasOrb $CurrDir/UseOrb
&RASSCF
CIOnly
Spin=1
Symmetry=1
CIRoot= 2 2 1
Inactive=2 0 0 0
Ras2=4 1 0 1
Nactel=8 0 0
*This calculation generates XMS rotated reference states.
&CASPT2
XROH =All
>>COPY $CurrDir/UseOrb INPORB
&RASSCF
CIONLY
Spin=1
Symmetry=1
CIRoot= 2 2 1
Inactive=2 0 0 0
Ras2=4 1 0 1
Nactel=8 0 0
ROSTate
&MCPDFT
KSDFT=TPBE
NoGrad
MSPDft
*Currently we suggest using three RASSCF modules, the first to obtain reference states by
*an SA-CASSCF or SA-RASSCF calculation, the second to obtain the reference states in a
*CASCI or RASCI calculation, which could change the phase of the SA-CASSCF or SA-RASSCF
*states, and the third to obtain the rotated CASCI or RASCI states, which before rotation are
*obtained in the same way as done in the second RASSCF module.
```