# Differences

This shows you the differences between two versions of the page.

Both sides previous revision Previous revision | |||

multireference_rayleigh_schroedinger_perturbation_theory [2022/04/29 10:05] – [Multireference Rayleigh Schrödinger perturbation theory] qianli | multireference_rayleigh_schroedinger_perturbation_theory [2022/08/16 14:15] (current) – external edit 127.0.0.1 | ||
---|---|---|---|

Line 1: | Line 1: | ||

+ | ====== Multireference Rayleigh Schrödinger perturbation theory ====== | ||

+ | |||

+ | Bibliography: | ||

+ | * Original RS2/RS3: H.-J. Werner, [[https:// | ||

+ | * New internally contracted RS2C: P. Celani and H.-J. Werner, [[https:// | ||

+ | All publications resulting from use of this program must acknowledge the above. | ||

+ | |||

+ | The commands | ||

+ | * '' | ||

+ | * '' | ||

+ | * '' | ||

+ | are used to perform second or third-order perturbation calculations. '' | ||

+ | Analytic gradients are only available for the '' | ||

+ | |||

+ | [[Density fitting]] is also available for '' | ||

+ | |||

+ | for '' | ||

+ | * '' | ||

+ | |||

+ | //Options// can be the following: | ||

+ | |||

+ | * **'' | ||

+ | * **'' | ||

+ | * **'' | ||

+ | * **'' | ||

+ | * **'' | ||

+ | * **'' | ||

+ | * **'' | ||

+ | * **'' | ||

+ | * **'' | ||

+ | * **'' | ||

+ | * **'' | ||

+ | * **'' | ||

+ | |||

+ | In addition, all valid options for '' | ||

+ | |||

+ | ===== Introduction ===== | ||

+ | |||

+ | Multireference perturbation calculations are performed by the MRCI program as a special case. For RS2 (CASPT2, | ||

+ | |||

+ | A new version of the program has been implemented in which also subspaces of the singly external and internal configuration spaces are internally contracted (see reference given above). This program, which is called using the keyword '' | ||

+ | |||

+ | The results of multireference perturbation theory may be sensitive to the choice of the zeroth-order Hamiltonian. This dependence is more pronounced in second-order than in third-order. Several options are available, which will be described in the following sections. It may also happen that $(\hat H^{(0)} - E^{(0)})$ in the basis of the configuration state functions becomes (nearly) singular. This is known as " | ||

+ | |||

+ | With no further input cards, the wavefunction definition (core, closed, and active orbital spaces, symmetry) corresponds to the one used in the most recently done SCF or MCSCF calculation. By default, a CASSCF reference space is generated. Other choices can be made using the '' | ||

+ | |||

+ | For a CASPT2 calculation, | ||

+ | |||

+ | Most options for MRCI calculations (like '' | ||

+ | |||

+ | ===== Excited state calculations ===== | ||

+ | |||

+ | There are two possibilities to perform excited state calculations: | ||

+ | |||

+ | 1) One can calculate each state separately. This is done using the card | ||

+ | |||

+ | '' | ||

+ | |||

+ | where //root// is the desired root (i.e., 2 for the first excited state). In this case the Fock operator used in the zeroth-order Hamiltonian is computed using the density for the given state. | ||

+ | |||

+ | 2) Alternatively, | ||

+ | |||

+ | '' | ||

+ | |||

+ | where //n// is the number of states to be computed. The default is to compute the lowest //n// roots. Optionally, this default can be modified by specifying the desired roots //rooti// as shown. One should note that this //does not// correspond to the multi-state CASPT2 as described in section [[multireference Rayleigh Schrödinger perturbation theory# | ||

+ | |||

+ | In the case that several states are computed simultaneously, | ||

+ | |||

+ | '' | ||

+ | |||

+ | If a '' | ||

+ | |||

+ | In the case of RS3 the Hamiltonian is diagonalized at the end of calculations using first-order wavefunctions, | ||

+ | |||

+ | ===== Multi-State CASPT2 ===== | ||

+ | |||

+ | Multi-state CASPT2 is implemented as described by Finley et al. CPL **288**, 299 (1998). | ||

+ | This can be done with '' | ||

+ | In both cases there are two different modes in which MS-CASPT2 calculations can be performed: | ||

+ | |||

+ | - Each of the states to be mixed is computed independently, | ||

+ | - All //nstates// states are treated together, with //nstates// contracted reference states. This is more expensive, but should give a more balanced description since the different reference states can mix in the CASPT2. It is required that //nstates// equals the number of states specified on the '' | ||

+ | |||

+ | With the '' | ||

+ | ==== Performing SS-SR-CASPT2 calculations ==== | ||

+ | |||

+ | If one wants to mix together //nstates// CASPT2 wavefunctions, | ||

+ | |||

+ | The first calculation must use | ||

+ | |||

+ | '' | ||

+ | '' | ||

+ | |||

+ | and the subsequent ones | ||

+ | |||

+ | '' | ||

+ | '' | ||

+ | |||

+ | for $istate=2, | ||

+ | |||

+ | At the end of each calculation, | ||

+ | |||

+ | The variable MSENERGY(i) (with i=1, | ||

+ | |||

+ | Example: SS-SR-CASPT2 calculation for LiF | ||

+ | |||

+ | <code - examples/ | ||

+ | r=[3, | ||

+ | |||

+ | i=1 | ||

+ | geometry={Li | ||

+ | F,1,r(i)} | ||

+ | |||

+ | basis=vtz, | ||

+ | |||

+ | hf !Hartree-Fock | ||

+ | |||

+ | do i=1,# | ||

+ | {multi | ||

+ | closed, | ||

+ | occ, | ||

+ | wf; | ||

+ | canonical, | ||

+ | |||

+ | {rs2, | ||

+ | wf; | ||

+ | |||

+ | e1_caspt2(i)=energy | ||

+ | |||

+ | {rs2,MIX=2 | ||

+ | wf; | ||

+ | |||

+ | e2_caspt2(i)=energy | ||

+ | e1_mscaspt2(i)=msenergy(1) | ||

+ | e2_mscaspt2(i)=msenergy(2) | ||

+ | enddo | ||

+ | |||

+ | {table, | ||

+ | title, | ||

+ | plot, | ||

+ | } | ||

+ | </ | ||

+ | |||

+ | This produces the plot | ||

+ | |||

+ | {{lif_sr_mscaspt2.svg? | ||

+ | |||

+ | |||

+ | ==== Performing MS-MR-CASPT2 calculations ==== | ||

+ | |||

+ | In the case of multi-state multi-reference CASPT2 calculations, | ||

+ | |||

+ | '' | ||

+ | '' | ||

+ | |||

+ | For using the XMS-CASPT2 method option '' | ||

+ | |||

+ | At the end of calculations, | ||

+ | |||

+ | Example: MS-MR-CASPT2 calculation for LiF | ||

+ | |||

+ | <code - examples/ | ||

+ | r=[3, | ||

+ | |||

+ | i=1 | ||

+ | geometry={Li | ||

+ | F,1,r(i)} | ||

+ | |||

+ | basis=vtz, | ||

+ | |||

+ | hf !Hartree-Fock | ||

+ | |||

+ | do i=1,# | ||

+ | {multi | ||

+ | closed, | ||

+ | occ, | ||

+ | wf; | ||

+ | canonical, | ||

+ | |||

+ | {rs2,MIX=2 | ||

+ | wf; | ||

+ | |||

+ | e1_caspt2(i)=energu(1) | ||

+ | e2_caspt2(i)=energu(2) | ||

+ | |||

+ | e1_mscaspt2(i)=msenergy(1) | ||

+ | e2_mscaspt2(i)=msenergy(2) | ||

+ | |||

+ | {rs2, | ||

+ | wf; | ||

+ | |||

+ | e1_xmscaspt2(i)=msenergy(1) | ||

+ | e2_xmscaspt2(i)=msenergy(2) | ||

+ | enddo | ||

+ | |||

+ | {table, | ||

+ | title, | ||

+ | plot, | ||

+ | } | ||

+ | </ | ||

+ | |||

+ | This produces the plot | ||

+ | |||

+ | {{lif_mr_mscaspt2.svg? | ||

+ | |||

+ | One can clearly see that this gives smoother potentials than the SS-SR-CASPT2 calculation in the previous section. Also, the avoided crossing is shifted to longer distances, which is due to the improvement of the electron affinity of F. | ||

+ | |||

+ | |||

+ | Example for XMS-CASPT2 for pyrrole $B_1$ states, using '' | ||

+ | |||

+ | <code - examples/ | ||

+ | ***,Pyrrole | ||

+ | memory, | ||

+ | |||

+ | geometry={ | ||

+ | 10 | ||

+ | | ||

+ | | ||

+ | | ||

+ | | ||

+ | | ||

+ | | ||

+ | | ||

+ | | ||

+ | | ||

+ | | ||

+ | | ||

+ | } | ||

+ | gexpec,sm | ||

+ | |||

+ | basis=avtz | ||

+ | |||

+ | {df-hf; | ||

+ | |||

+ | {df-multi | ||

+ | occ, | ||

+ | wf, | ||

+ | wf, | ||

+ | wf, | ||

+ | } | ||

+ | ecas=energy | ||

+ | |||

+ | shift=0.2 | ||

+ | |||

+ | {df-rs2c, | ||

+ | wf, | ||

+ | ers2(1)=energy | ||

+ | |||

+ | {df-rs2c, | ||

+ | wf, | ||

+ | ers2(2)=msenergy(1) | ||

+ | ers2(3)=msenergy(2) | ||

+ | |||

+ | decas=(ecas-ecas(1))*toev | ||

+ | ders2=(ers2-ers2(1))*toev | ||

+ | |||

+ | $state=[1A1, | ||

+ | table, | ||

+ | digits,, | ||

+ | </ | ||

+ | |||

+ | This produces: | ||

+ | |||

+ | < | ||

+ | | ||

+ | | ||

+ | | ||

+ | | ||

+ | </ | ||

+ | ===== Modified Fock-operators in the zeroth-order Hamiltonian ===== | ||

+ | |||

+ | The $g_1$, $g_2$, and $g_3$ operators proposed by Andersson [Theor. Chim. Acta **91**, 31 (1995)] as well as a further $g_4$ operator may be used. $g_4$ makes CASPT2 calculations size extensive for cases in which a molecule dissociates to high-spin open-shell (RHF) atoms. | ||

+ | |||

+ | The index //n// of the operator to be used is specified on the '' | ||

+ | |||

+ | '' | ||

+ | '' | ||

+ | '' | ||

+ | |||

+ | where //option// can be '' | ||

+ | |||

+ | ===== Level shifts ===== | ||

+ | |||

+ | Level shifts are often useful to avoid intruder state problems in excited state calculations. '' | ||

+ | |||

+ | '' | ||

+ | '' | ||

+ | |||

+ | Typical choices for the shift is are $0.1 - 0.3$. Only two figures after the decimal point are considered. The shift affects the results, the printed energies as well as the '' | ||

+ | |||

+ | Alternatively (or in addition), the IPEA shift of G. Ghigo, B. O. Roos, and P.A. Malmqvist, [[https:// | ||

+ | |||

+ | $\frac{1}{2} D_{pp} \epsilon$ is added to the occupied part of the Fock matrix; in addition, $2 \epsilon$ is added as a general shift (not corrected). $\epsilon$ is the value specified with the '' | ||

+ | |||

+ | It is possible to use '' | ||

+ | |||

+ | ===== Integral direct calculations ===== | ||

+ | |||

+ | '' | ||

+ | |||

+ | '' | ||

+ | '' | ||

+ | |||

+ | |||

+ | ===== CASPT2 gradients ===== | ||

+ | |||

+ | Analytic gradients as described in P. Celani and H.-J. Werner, [[https:// | ||

+ | |||

+ | CASPT2 analytic energy gradients are computed automatically if a '' | ||

+ | |||

+ | In single state calculations, | ||

+ | |||

+ | In a multi-state MS-MR-CASPT2 calculation, | ||

+ | |||

+ | '' | ||

+ | |||

+ | where $1 \le ioptroot \le nstates$. | ||

+ | |||

+ | Level shifts can be used. By default, the exact gradient of the level-shift corrected energy is computed. For a non-zero shift, this requires to solve the CASPT2 Z-vector equations, which roughly doubles the computational effort. In single state calculations it is possible to ignore the effect of the level shift on the gradient and not to solve the Z-vector equation. This variant, which is described in the above paper, may be sufficiently accurate for many purposes. It is invoked using the '' | ||

+ | |||

+ | '' | ||

+ | '' | ||

+ | |||

+ | Any publications employing the CASPT2 gradients should cite the above paper. A citation for MS-CASPT2 gradient method is P. Celani and H.-J. Werner, //to be published// | ||

+ | |||

+ | Example: | ||

+ | |||

+ | CASPT2 geometry optimizations for H$_2$O: | ||

+ | |||

+ | <code - examples/ | ||

+ | *** | ||

+ | gthresh, | ||

+ | ! | ||

+ | basis=vdz | ||

+ | R=2.0 | ||

+ | R0=R | ||

+ | Theta=100 | ||

+ | geometry={O | ||

+ | H1,O,R; | ||

+ | H2, | ||

+ | |||

+ | hf;accu,12 | ||

+ | |||

+ | {multi; | ||

+ | |||

+ | rs2, | ||

+ | optg, | ||

+ | e_opt(1)=energy | ||

+ | r_opt(1)=r | ||

+ | theta_opt(1)=theta | ||

+ | method(1)=' | ||

+ | |||

+ | rs2, | ||

+ | optg, | ||

+ | e_opt(2)=energy | ||

+ | r_opt(2)=r | ||

+ | theta_opt(2)=theta | ||

+ | method(2)=' | ||

+ | |||

+ | rs2, | ||

+ | optg, | ||

+ | e_opt(3)=energy | ||

+ | r_opt(3)=r | ||

+ | theta_opt(3)=theta | ||

+ | method(3)=' | ||

+ | |||

+ | rs2c, | ||

+ | optg, | ||

+ | e_opt(4)=energy | ||

+ | r_opt(4)=r | ||

+ | theta_opt(4)=theta | ||

+ | method(4)=' | ||

+ | |||

+ | table, | ||

+ | digits,, | ||

+ | </ | ||

+ | |||

+ | This produces the Table | ||

+ | |||

+ | < | ||

+ | | ||

+ | | ||

+ | | ||

+ | | ||

+ | | ||

+ | </ | ||

+ | MS-CASPT2 geometry optimization for the second excited $^3B_2$ state if H$_2$O: | ||

+ | |||

+ | <code - examples/ | ||

+ | *** | ||

+ | gthresh, | ||

+ | ! | ||

+ | basis=vdz | ||

+ | R=2.0 | ||

+ | R0=R | ||

+ | Theta=100 | ||

+ | step=0.001 | ||

+ | geometry={O | ||

+ | H1,O,R; | ||

+ | H2, | ||

+ | |||

+ | hf;accu,12 | ||

+ | |||

+ | multi !state averaged casscf for various triplet states | ||

+ | closed,2 | ||

+ | wf,10,1,2 | ||

+ | state,3 | ||

+ | wf,10,2,2 | ||

+ | state,2 | ||

+ | wf,10,3,2 | ||

+ | state,3 | ||

+ | canonical, | ||

+ | |||

+ | rs2, | ||

+ | wf, | ||

+ | state, | ||

+ | optg, | ||

+ | |||

+ | e_opt(1)=msenergy(2) | ||

+ | r_opt(1)=r | ||

+ | theta_opt(1)=theta | ||

+ | method(1)=' | ||

+ | |||

+ | rs2, | ||

+ | wf, | ||

+ | state, | ||

+ | optg, | ||

+ | | ||

+ | |||

+ | e_opt(2)=msenergy(2) | ||

+ | r_opt(2)=r | ||

+ | theta_opt(2)=theta | ||

+ | method(2)=' | ||

+ | |||

+ | table, | ||

+ | digits,, | ||

+ | </ | ||

+ | |||

+ | This produces the table | ||

+ | |||

+ | < | ||

+ | | ||

+ | | ||

+ | | ||

+ | </ | ||

+ | ===== Coupling MRCI and MRPT2: The CIPT2 method ===== | ||

+ | |||

+ | P. Celani, H. Stoll, H.-J. Werner and P. J. Knowles, [[https:// | ||

+ | |||

+ | For particularly difficult cases with strong intruder problems, or in which second-order perturbation theory fails to predict reliable results, a new method that couples MRCI and CASPT2 has been developed. This variant is invoked using the '' | ||

+ | |||

+ | '' | ||

+ | |||

+ | In this case all excitations solely from active orbitals are treated by MRCI, while the remaining excitations involving inactive (closed-shell) orbitals are treated by second-order perturbation theory. Both methods are coupled by minimizing an appropriate energy functional. Of course, this method is much more expensive that MRPT2. The cost is comparable to the cost for an MRCI without correlating the inactive orbitals. | ||

+ | |||

+ | ===== Further options for CASPT2 and CASPT3 ===== | ||

+ | |||

+ | Other options can be set using the '' | ||

+ | |||

+ | '' | ||

+ | |||

+ | Of relevance for the CASPT2/3 program are the following options: | ||

+ | |||

+ | * **'' | ||

+ | * **'' | ||

+ | * **'' | ||

+ | * **'' | ||

+ | * **'' | ||

+ | * **'' | ||

+ | * **'' | ||

+ | * **'' | ||

+ | * **'' | ||

+ | * **'' | ||

+ | * **'' | ||

+ | * **'' | ||

+ | * **'' | ||

+ | * **'' | ||

+ | * **'' | ||

+ | * **'' | ||