10
0
mirror of https://github.com/LCPQ/quantum_package synced 2025-05-05 14:44:55 +02:00

CAS-SD

Anthony Scemama 2017-12-18 18:23:35 +01:00
parent 294b94852c
commit 4e3f2e891a
3 changed files with 41 additions and 0 deletions

@ -12,3 +12,16 @@ qp_run save_natorb file.ezfio
The MOs will be replaced, so the two-electron integrals and the wave function are invalidated as well. The MOs will be replaced, so the two-electron integrals and the wave function are invalidated as well.
If you are computing multiple states, it is often a good idea to have the ``s2_eig`` flag set to true. This will force the Davidson algorithm to choose only vectors with a value of S^2 equal to the ``expected_s2``. Otherwise, you can have different spin states coming out in the diagonalization.
Also, you need to have a number of states in the Davidson algorithm (``n_states_diag``) which is greater than ``n_states``.
Usually, it is good practice to use state-averaged MOs so that all states have MOs of comparable quality. For example, if you search for a singly excited state, you can use state-average natural orbitals of a preliminary CIS calculation.
The QP doesn't take account of the symmetry. For reasons due to numerical noise,
excited states of different symmetries may enter in the calculation.
Note that it is possible to make state-average calculation of states with different
symmetries and/or different spin multiplicities.

@ -6,6 +6,7 @@ For users:
* [[Installation instructions]] * [[Installation instructions]]
* [[Installation behind a firewall]] * [[Installation behind a firewall]]
* [[Tutorial]] * [[Tutorial]]
* [[MR-CI]]
* [[Excited states]] * [[Excited states]]

27
MR-CI.md Normal file

@ -0,0 +1,27 @@
If you want to do a selected CI calculation in a space containing the CAS-CI and all singles and doubles on top of it, you need to define different classes of MOs. This is done using the ``qp_set_mo_class`` program.
Here is an example for F_2 in the cc-pVTZ basis set, using Hartree-Fock MOs. We want to freeze the first 2 MOs, use the MOs 7 and 10 as the active space and make all singles and doubles on top of it:
```
$ qp_set_mo_class -core "[1,2]" -inact "[3-6,8-9]" -act "[7,10]" -virt "[11-60]" f2.ezfio
Core : (1, 2)
Inactive : (3, 4, 5, 6, 8, 9)
Active : (7, 10)
Virtual : (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60)
Deleted
0000000000000000000000000000000000000000000000000000001111111100
0000111111111111111111111111111111111111111111111111111001000000
0000000000000000000000000000000000000000000000000000001111111100
0000111111111111111111111111111111111111111111111111111001000000
0000000000000000000000000000000000000000000000000000001111111100
0000111111111111111111111111111111111111111111111111111001000000
```
Now you can run ``qp_run cas_sd`` to make the CIPSI selection in the CAS+SD space.
Warning #1: If you run ``qp_run save_natorb``, the order of the MOs may change. The active MOs will be placed between the inactive and the virtual, so you may need to re-define the classes of the MOs with the new ordering.
Warning #2: If you want to do a Full-CI after, you will need to re-set the MO classes such that you dont have inactive and virtuals MOs. The simplest way is to run ``qp_set_frozen_core.py``. This program runs qp_set_mo_class with an automatically selected valence Full-CI space.
CAS-SD calculations are the starting point of MR-CCSD calculations.