Multireference second-order perturbation theory (CASPT2)

Description

CASPT2 is the second-order perturbation theory based on the multiconfiguration self-consistent field theory. Fully internally contracted single-state version (SS-CASPT2), multi-state version (MS-CASPT2) and its extended variant (XMS-CASPT2) are available. CASPT2 in BAGEL is implemented with the automatic code generator SMITH3, and the SMITH information for XMS-CASPT2 should be passed in a separate array in the input.

Title: smith

Prerequisites

A reference wavefunction generated by a HF or CASSCF calculation.

Keywords

SMITH keywords

The default values are recommended unless mentioned otherwise.

method

Description: Do multistate CASPT2.
Datatype: string
Values:
caspt2: Standard CASPT2.
casa : Use Dyall’s Hamiltonian

ms

Description: Do multistate CASPT2.
Datatype: bool
Default: true.

xms

Description: Do extended multistate CASPT2.
Datatype: bool
Default: true.

sssr

Description: Use SS-SR contraction scheme.
Datatype: bool
Values:
true: use SS-SR contraction scheme.
false: use MS-MR contraction scheme.
Default: true.

shift

Description: Vertical shift.
Datatype: double precision
Default: 0.0

shift_imag

Description: Whether to use imaginary or real shift.
Datatype: bool
Values:
true: use imaginary shift.
false: use real shift.
Default: false.

orthogonal_basis

Description: Whether to use orthogonal basis in CASPT2 iterations.
Datatype: bool
Values:
true: use orthogonal basis.
false: use redundant basis.
Default: with imaginary shift, true. otherwise, false.
Recommendation: Imaginary shift only works with true. Use of orthogonal basis makes the code slightly slower due to the additional transformations.

thresh

Description: Convergence threshold.
Datatype: double precision
Default: For single point energy calculation, 1.0e-6. Tight convergence for gradient calculation, 1.0e-8.

thresh_overlap

Description: Overlap cutoff threshold for internally contracted basis.
Datatype: Double precision
Default: 1.0e-9

frozen

Description: Freeze core orbitals.
Datatype: bool
Default: true

ncore

Description: Number of frozen core orbitals.
Datatype: int
Default: If frozen is true, subvalence orbitals are frozen. If false, zero.

nfrozenvirt

Description: Number of frozen virtual orbitals.
Datatype: int
Default: 0

block_diag_fock

Description: Using a block-diagonal zeroth-order Hamiltonian
Datatype: bool
Default: false.

maxiter

Description: Maximum number of iterations in CASPT2 calculations.
Datatype: int
Default: 50

maxtile

Description: Maximum number of orbitals in a single data tile used in CASPT2.
Datatype: int
Default: 10

cimaxchunk

Description: Number of elements per pass in the multipassing algorithm.
Datatype: int
Default: 317520001
Recommendation: This number is adjusted for 64GB of memory per node. Decrease if necessary.

davidson_subspace

Description: Number of vectors retained in the limited-memory Davidson algorithm.
Datatype: int
Default: 10
Recommendation: Reduce if an insufficient amount of memory is available (do not reduce to a value lower than 3).

Example

XMS-CASPT2 calculation based on the two-state CASSCF reference function, with vertical shift of 0.2 \(E_h\). “SS-SR” contraction scheme is used. The active space of (6e,6o), which comprises three \(\pi\) and three \(\pi^*\) orbitals, is used.

Sample input

{ "bagel" : [
{
  "title" : "molecule",
  "basis" : "svp",
  "df_basis" : "svp-jkfit",
  "geometry" : [
  { "atom" : "C", "xyz" : [     -0.079002,      2.543870,      0.000000 ] },
  { "atom" : "C", "xyz" : [      2.557470,      2.543870,      0.000000 ] },
  { "atom" : "C", "xyz" : [      3.875630,      4.826190,      0.000000 ] },
  { "atom" : "C", "xyz" : [      2.557250,      7.109950,     -0.002266 ] },
  { "atom" : "C", "xyz" : [     -0.078588,      7.109800,     -0.003171 ] },
  { "atom" : "C", "xyz" : [     -1.396870,      4.826620,     -0.001289 ] },
  { "atom" : "H", "xyz" : [     -1.117900,      0.744245,      0.000850 ] },
  { "atom" : "H", "xyz" : [      3.595900,      0.743875,      0.002485 ] },
  { "atom" : "H", "xyz" : [      5.953730,      4.826340,      0.001198 ] },
  { "atom" : "H", "xyz" : [      3.596980,      8.909240,     -0.002377 ] },
  { "atom" : "H", "xyz" : [     -1.118170,      8.909350,     -0.004972 ] },
  { "atom" : "H", "xyz" : [     -3.474820,      4.826960,     -0.001629 ] }
  ]
},
{
  "title" : "casscf",
  "nstate" : 2,
  "nact" : 6,
  "nclosed" : 18,
  "active" : [17, 20, 21, 22, 23, 30]
},
{
  "title" : "smith",
  "method" : "caspt2",
  "ms" : true,
  "xms" : true,
  "sssr" : true,
  "shift" : 0.2
}
]}

from which one obtains

  * freezing 6 orbitals
  * SS-SR internal contraction is used
     - MO integral evaluation                    0.17

++ State-averaged Fock matrix over basis states ++

                       0                   1
   0       -2.0342653161       -0.0001122518
   1       -0.0001122518       -1.5807049808


  * Extended multi-state CASPT2 (XMS-CASPT2)
    Rotation matrix:
           -0.9999999694        0.0002474903
           -0.0002474903       -0.9999999694


++ Reference energies in XMS basis ++

                       0                   1
   0     -230.6050217539        0.0000451863
   1        0.0000451863     -230.4224437279

  - linear dependency detected:    2 /  144    min eigenvalue:     6.1865e-16    max eigenvalue:     2.4045e-15
  - linear dependency detected:   17 /  432    min eigenvalue:    -3.1714e-15    max eigenvalue:     4.8064e-10
  - linear dependency detected:   17 /  432    min eigenvalue:    -1.2669e-15    max eigenvalue:     2.6360e-10
     - RDM + denominator evaluation              0.66

  * Zeroth order energy : state  0       -2.0342653439
  * Zeroth order energy : state  1       -1.5807049530

    ---- iteration ----

      0    -0.66979449     0.00181235      0.38
      1    -0.67020074     0.00009168      0.40
      2    -0.67020211     0.00000478      0.40
      3    -0.67020211     0.00000040      0.41

      0    -0.66833574     0.00152666      0.40
      1    -0.66872419     0.00007727      0.38
      2    -0.66872593     0.00000453      0.39
      3    -0.66872594     0.00000033      0.40

    -------------------

     - CASPT2 energy evaluation                  3.27

  * CASPT2 energy : state  0     -231.3177899925
      w/o shift correction       -231.2752238675
      reference weight              0.8245174383

  * CASPT2 energy : state  1     -231.1349876522
      w/o shift correction       -231.0911696633
      reference weight              0.8202840199


  * MS-CASPT2 Heff
         -231.3177899925        0.0000232719
            0.0000232719     -231.1349876522


  * MS-CASPT2 rotation matrix
           -0.9999999919       -0.0001273065
            0.0001273065       -0.9999999919


  * XMS-CASPT2 rotation matrix
            0.9999999928       -0.0001201838
            0.0001201838        0.9999999928

  * MS-CASPT2 energy : state  0     -231.3177899955
  * MS-CASPT2 energy : state  1     -231.1349876492



  * METHOD: SMITH                                4.40

References

BAGEL References

Description of Reference

Reference

CASPT2 gradients / SMITH3

M. K. MacLeod and T. Shiozaki, J. Chem. Phys. 142, 010507 (2015).

XMS-CASPT2 gradients

B. Vlaisavljevich and T. Shiozaki, J. Chem. Theory Comput. 12, 3781 (2016).

XMS-CASPT2 derivative couplings

J. W. Park and T. Shiozaki, J. Chem. Theory Comput. 13, 2561 (2017).

Current XMS-CASPT2 gradient algorithm

J. W. Park and T. Shiozaki, J. Chem. Theory Comput. 13, 3676 (2017).

General References

Description of Reference

Reference

CASPT2

K. Andersson, P.-Å. Malmqvist, and B. O. Roos, J. Chem. Phys. 96, 1218 (1992).

MS-CASPT2

J. Finley, P.-Å. Malmqvist, B. O. Roos, and L. Serrano-Andres, Chem. Phys. Lett. 288, 299 (1998).

XMCQDPT

A. A. Granovsky, J. Chem. Phys. 134, 214113 (2011).

XMS-CASPT2

T. Shiozaki, W. Győrffy, P. Celani, and H.-J. Werner, J. Chem. Phys. 135, 081106 (2011).