# fci

> Selected Full Configuration Interaction with stochastic selection and PT2.

> This program performs a CIPSI-like selected CI using a stochastic scheme for both the selection of the important Slater determinants and the computation of the PT2 correction. This CIPSI-like algorithm will be performed for the lowest states of the variational space (see `determinants n_states`). The FCI program will stop when reaching at least one the two following conditions:

> - number of Slater determinants > `determinants n_det_max`
> - PT2 < `perturbation pt2_max`

> The following other options can be of interest:

> `determinants read_wf`
>   When set to `false`, the program starts with a ROHF-like Slater determinant as a guess wave function. When set to `true`, the program starts with the wave function(s) stored in the EZFIO directory as guess wave function(s).
> `determinants s2_eig`
>   When set to `true`, the selection will systematically add all the necessary Slater determinants in order to have a pure spin wave function with an \(\widehat{S^2}\) value corresponding to `determinants expected_s2`.

> For excited states calculations, it is recommended to start with .cis. or .cisd. guess wave functions, eventually in a restricted set of MOs, and to set `determinants s2_eig` to `true`.

> Needs:

> `psi_coef` `is_zmq_slave` | `do_pt2` `mo_two_e_integrals_in_map` | `psi_det`

> Calls:

> `run_cipsi()` | `run_slave_cipsi()` | `run_stochastic_cipsi()`

> Touches:

> `ci_electronic_energy` `ci_electronic_energy` `ci_energy` `ci_electronic_energy` `n_det` `psi_occ_pattern` `c0_weight` | `distributed_davidson` `psi_coef` `psi_det_sorted_bit` `psi_det` `psi_det_size` `psi_det_sorted_bit` | `psi_occ_pattern` `pt2_e0_denominator` `pt2_stoch_istate` `read_wf` `state_average_weight` `threshold_generators`