10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-12-25 05:43:47 +01:00
quantum_package/plugins/Perturbation
Anthony Scemama 4098b05202 Squashed commit of the following:
commit 96715abd7bc0645b994fc4fff1c764e7bec3042e
Author: Anthony Scemama <scemama@irsamc.ups-tlse.fr>
Date:   Thu Sep 6 12:08:34 2018 +0200

    Tasks

commit e43b1e2faff5ad1ec4ecd2eb99e8d86e0000a9a2
Author: Anthony Scemama <scemama@irsamc.ups-tlse.fr>
Date:   Thu Sep 6 11:47:02 2018 +0200

    Fixed print

commit c498c8944b5695b953909711a2e9a542e1bc6015
Author: Anthony Scemama <scemama@irsamc.ups-tlse.fr>
Date:   Thu Sep 6 11:11:51 2018 +0200

    PT2 and shiftedBk fixed

commit 965cf0361d54df096c9bfca93f9d50ecd946c198
Author: Anthony Scemama <scemama@irsamc.ups-tlse.fr>
Date:   Wed Sep 5 18:48:59 2018 +0200

    Shifted Bk multistate broken

commit 87ef641b65a122fa1256605cbe098c1a0de04bc0
Author: Anthony Scemama <scemama@irsamc.ups-tlse.fr>
Date:   Wed Sep 5 17:23:38 2018 +0200

    PT2 fixed

commit a2adb533bcaf96191a24ff5fcef86cd14ac00697
Author: Anthony Scemama <scemama@irsamc.ups-tlse.fr>
Date:   Wed Sep 5 16:55:05 2018 +0200

    Working on PT2 (broken)

commit 33f52991b65ac42ced5521ef0e713df765268860
Author: Anthony Scemama <scemama@irsamc.ups-tlse.fr>
Date:   Wed Sep 5 12:13:23 2018 +0200

    Fixed missing argument

commit 712bf75f76421880299dc65b30acfda3d531f709
Author: Anthony Scemama <scemama@irsamc.ups-tlse.fr>
Date:   Wed Sep 5 11:42:31 2018 +0200

    Fixed floating invalid in PT2

commit cf2412ebd99f9acf573a5180603611f1c3e35155
Author: Anthony Scemama <scemama@irsamc.ups-tlse.fr>
Date:   Wed Sep 5 11:34:37 2018 +0200

    n_states_diag >= n_states

commit bb415435e4d9be72a285ec789c3d63046a9173e4
Author: Anthony Scemama <scemama@irsamc.ups-tlse.fr>
Date:   Wed Sep 5 11:23:41 2018 +0200

    Fixed final print

commit f2d339cf7b
Merge: cfa8e1dc 52ca18c1
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Tue Sep 4 20:51:14 2018 +0200

    Merge branch 'thesis' of ssh://github.com/garniron/quantum_package into thesis

commit cfa8e1dc34
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Tue Sep 4 20:50:09 2018 +0200

    restored relative_error

commit bccad69c77
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Tue Sep 4 20:47:11 2018 +0200

    uninitialized variable

commit 52ca18c152
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Tue Sep 4 20:47:11 2018 +0200

    uninitialized variable

commit ba0094f5f8
Merge: 093e3fd0 68458296
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Tue Sep 4 20:07:15 2018 +0200

    merge with garniroy

commit 68458296dc
Author: Anthony Scemama <scemama@irsamc.ups-tlse.fr>
Date:   Tue Sep 4 18:43:39 2018 +0200

    Almost working but still broken

commit 9ebb88cbf3
Author: Anthony Scemama <scemama@irsamc.ups-tlse.fr>
Date:   Tue Sep 4 18:05:00 2018 +0200

    Cleaning

commit 873035e016
Author: Anthony Scemama <scemama@irsamc.ups-tlse.fr>
Date:   Tue Sep 4 17:31:45 2018 +0200

    Squashed commit of the following:

    commit 4b9c435dce0f3b3078d573e66fd32b40fca26497
    Merge: 74e559c8 093e3fd0
    Author: Anthony Scemama <scemama@irsamc.ups-tlse.fr>
    Date:   Tue Sep 4 16:58:51 2018 +0200

        Merge branch 'thesis' of git://github.com/garniron/quantum_package into garniron-thesis

    commit 093e3fd021
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Tue Sep 4 16:13:00 2018 +0200

        removed ungodly hack

    commit 8529a0f3f6
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Tue Sep 4 14:57:19 2018 +0200

        reduced prints in pt2_stoch

    commit 03b8f353bd
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Tue Sep 4 14:41:46 2018 +0200

        teeth building check for pt2_stoch

    commit 0d91b9310a
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Tue Sep 4 14:35:04 2018 +0200

        timestamp of first pull

    commit 34d9fa0165
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Tue Sep 4 14:27:10 2018 +0200

        potential numerical precision bug

    commit 9a0f900d8c
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Tue Sep 4 14:09:51 2018 +0200

        tests if teeth can be built

    commit dda0dc34df
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Mon Sep 3 17:48:04 2018 +0200

        corrected pt2_find_sample

    commit a521f0cb82
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Mon Sep 3 16:08:02 2018 +0200

        tasks get by batches of Nproc

    commit 997a5a1265
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Mon Sep 3 14:18:04 2018 +0200

        buffered task_id send

    commit 99ea7948e0
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Mon Sep 3 12:29:12 2018 +0200

        unbalanced fragmentation

    commit abb3b7e08b
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Sun Sep 2 17:18:44 2018 +0200

        overflow of pt2_J

    commit 8df49f394b
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Sun Sep 2 15:58:48 2018 +0200

        removed useless computation of intermediate checkpoints

    commit 4ba5b79eb3
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Sun Sep 2 15:50:14 2018 +0200

        dressing only sent for chosen checkpoint

    commit a4a6a69459
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Sat Sep 1 17:01:56 2018 +0200

        cumulative dot_F

    commit 6a7f04cb79
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Sat Sep 1 16:58:07 2018 +0200

        simpler purge

    commit 168ca2f2e2
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Fri Aug 31 21:07:01 2018 +0200

        task list optimized

    commit de4a0d0caf
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Fri Aug 31 18:57:03 2018 +0200

        removed print

    commit fee31d4e3e
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Fri Aug 31 18:56:23 2018 +0200

        dress fragmentation

    commit 02893a419d
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Fri Aug 31 15:52:16 2018 +0200

        bug in blocked search - replaced with thesis version

    commit bb6e073cf1
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Thu Aug 30 21:24:45 2018 +0200

        ungodly hack to prevent double providing

    commit 0609e8c627
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Thu Aug 30 20:52:05 2018 +0200

        debugging

    commit a254fdd7cf
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Thu Aug 30 15:24:07 2018 +0200

        parallel bug

    commit 2a6c1941d4
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Thu Aug 30 11:43:11 2018 +0200

        corrected when relative_error=0d0

    commit bac039bdf1
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Thu Aug 30 10:58:17 2018 +0200

        relative error 1d-5

    commit aae9d203ec
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Thu Aug 30 10:07:02 2018 +0200

        potential fragmentation bug

    commit ad69f39f99
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Wed Aug 29 20:54:58 2018 +0200

        dress_zmq re-implemented

    commit d78f64732a
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Wed Aug 29 11:30:19 2018 +0200

        pt2_stoch re-implemented

    commit 4b9b54e19a
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Tue Aug 28 10:24:38 2018 +0200

        removed test for phase_mask_bit

    commit 3abccca5e3
    Author: Yann Garniron <yann.garniron@yahoo.fr>
    Date:   Fri Aug 3 23:44:05 2018 +0200

        phasemask_bit

commit 093e3fd021
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Tue Sep 4 16:13:00 2018 +0200

    removed ungodly hack

commit 8529a0f3f6
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Tue Sep 4 14:57:19 2018 +0200

    reduced prints in pt2_stoch

commit 03b8f353bd
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Tue Sep 4 14:41:46 2018 +0200

    teeth building check for pt2_stoch

commit 0d91b9310a
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Tue Sep 4 14:35:04 2018 +0200

    timestamp of first pull

commit 34d9fa0165
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Tue Sep 4 14:27:10 2018 +0200

    potential numerical precision bug

commit 9a0f900d8c
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Tue Sep 4 14:09:51 2018 +0200

    tests if teeth can be built

commit dda0dc34df
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Mon Sep 3 17:48:04 2018 +0200

    corrected pt2_find_sample

commit a521f0cb82
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Mon Sep 3 16:08:02 2018 +0200

    tasks get by batches of Nproc

commit 997a5a1265
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Mon Sep 3 14:18:04 2018 +0200

    buffered task_id send

commit 99ea7948e0
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Mon Sep 3 12:29:12 2018 +0200

    unbalanced fragmentation

commit abb3b7e08b
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Sun Sep 2 17:18:44 2018 +0200

    overflow of pt2_J

commit 8df49f394b
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Sun Sep 2 15:58:48 2018 +0200

    removed useless computation of intermediate checkpoints

commit 4ba5b79eb3
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Sun Sep 2 15:50:14 2018 +0200

    dressing only sent for chosen checkpoint

commit a4a6a69459
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Sat Sep 1 17:01:56 2018 +0200

    cumulative dot_F

commit 6a7f04cb79
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Sat Sep 1 16:58:07 2018 +0200

    simpler purge

commit 168ca2f2e2
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Fri Aug 31 21:07:01 2018 +0200

    task list optimized

commit de4a0d0caf
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Fri Aug 31 18:57:03 2018 +0200

    removed print

commit fee31d4e3e
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Fri Aug 31 18:56:23 2018 +0200

    dress fragmentation

commit 02893a419d
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Fri Aug 31 15:52:16 2018 +0200

    bug in blocked search - replaced with thesis version

commit bb6e073cf1
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Thu Aug 30 21:24:45 2018 +0200

    ungodly hack to prevent double providing

commit 0609e8c627
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Thu Aug 30 20:52:05 2018 +0200

    debugging

commit a254fdd7cf
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Thu Aug 30 15:24:07 2018 +0200

    parallel bug

commit 2a6c1941d4
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Thu Aug 30 11:43:11 2018 +0200

    corrected when relative_error=0d0

commit bac039bdf1
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Thu Aug 30 10:58:17 2018 +0200

    relative error 1d-5

commit aae9d203ec
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Thu Aug 30 10:07:02 2018 +0200

    potential fragmentation bug

commit ad69f39f99
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Wed Aug 29 20:54:58 2018 +0200

    dress_zmq re-implemented

commit d78f64732a
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Wed Aug 29 11:30:19 2018 +0200

    pt2_stoch re-implemented

commit 4b9b54e19a
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Tue Aug 28 10:24:38 2018 +0200

    removed test for phase_mask_bit

commit 3abccca5e3
Author: Yann Garniron <yann.garniron@yahoo.fr>
Date:   Fri Aug 3 23:44:05 2018 +0200

    phasemask_bit
2018-09-06 15:19:51 +02:00
..
exc_max.irp.f Move into plugins 2015-06-17 18:23:56 +02:00
EZFIO.cfg Squashed commit of the following: 2018-09-06 15:19:51 +02:00
NEEDED_CHILDREN_MODULES Fixed dependencies in modules 2018-02-21 16:45:51 +01:00
pert_sc2.irp.f Extended template for pt2 2015-11-24 11:40:49 +01:00
pert_single.irp.f simple untested minilist for all perturbations 2015-11-19 17:18:08 +01:00
perturbation.irp.f Python2 2018-05-02 19:52:23 +02:00
perturbation.template.f Python2 2018-05-02 19:52:23 +02:00
pt2_equations.irp.f qdpt test 2017-11-28 17:11:44 +01:00
pt2_new.irp.f Revert "merge with main branch" 2017-04-20 08:48:06 +02:00
README.rst Update documetation... 2016-11-01 17:07:55 -05:00
selection.irp.f Removed output variables 2018-01-05 14:38:32 +00:00
tree_dependency.png --amend 2016-09-22 12:15:20 +02:00
var_pt2_ratio_provider.irp.f Forgot file 2017-04-21 23:18:09 +02:00

===================
Perturbation Module
===================


All subroutines in `*.irp.f` starting with ``pt2_`` in the current directory are
perturbation computed using the routine ``i_H_psi``. Other cases are not allowed.
The arguments of the ``pt2_`` are always:

  subroutine pt2_...(                                                &
      psi_ref,                                                       &
      psi_ref_coefs,                                                 &
      E_refs,                                                        &
      det_pert,                                                      &
      c_pert,                                                        &
      e_2_pert,                                                      &
      H_pert_diag,                                                   &
      Nint,                                                          &
      ndet,                                                          &
      n_st )


  integer, intent(in) :: Nint,ndet,n_st
  integer(bit_kind), intent(in)  :: psi_ref(Nint,2,ndet)
  double precision , intent(in)  :: psi_ref_coefs(ndet,n_st)
  double precision , intent(in)  :: E_refs(n_st)
  integer(bit_kind), intent(in)  :: det_pert(Nint,2)
  double precision , intent(out) :: c_pert(n_st),e_2_pert(n_st),H_pert_diag


psi_ref
  bitstring of the determinants present in the various n_st states
 
psi_ref_coefs
  coefficients of the determinants on the various n_st states
 
E_refs
  Energy of the various n_st states
 
det_pert
  Perturber determinant

c_pert
  Pertrubative coefficients for the various states
 
e_2_pert
  Perturbative energetic contribution for the various states

H_pert_diag
  Diagonal H matrix element of the perturber

Nint
  Should be equal to N_int

Ndet
  Number of determinants `i` in Psi on which we apply <det_pert|Hi>

N_st
  Number of states

Assumptions
===========

* This is not allowed:

  subroutine &
    pt2_....


Needed Modules
==============

.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.

.. image:: tree_dependency.png

* `Properties <http://github.com/LCPQ/quantum_package/tree/master/src/Properties>`_
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_

Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.


.. image:: tree_dependency.png

* `Properties <http://github.com/LCPQ/quantum_package/tree/master/plugins/Properties>`_
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock>`_
* `Davidson <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson>`_

Documentation
=============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.


`do_pt2_end <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/ezfio_interface.irp.f#L6>`_
  If true, compute the PT2 at the end of the selection


`fill_h_apply_buffer_selection <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/selection.irp.f#L1>`_
  Fill the H_apply buffer with determiants for the selection


`max_exc_pert <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/exc_max.irp.f#L1>`_
  Undocumented


perturb_buffer_by_mono_dipole_moment_z
  Applly pertubration ``dipole_moment_z`` to the buffer of determinants generated in the H_apply
  routine.


perturb_buffer_by_mono_dummy
  Applly pertubration ``dummy`` to the buffer of determinants generated in the H_apply
  routine.


perturb_buffer_by_mono_epstein_nesbet
  Applly pertubration ``epstein_nesbet`` to the buffer of determinants generated in the H_apply
  routine.


perturb_buffer_by_mono_epstein_nesbet_2x2
  Applly pertubration ``epstein_nesbet_2x2`` to the buffer of determinants generated in the H_apply
  routine.


perturb_buffer_by_mono_epstein_nesbet_sc2
  Applly pertubration ``epstein_nesbet_sc2`` to the buffer of determinants generated in the H_apply
  routine.


perturb_buffer_by_mono_epstein_nesbet_sc2_no_projected
  Applly pertubration ``epstein_nesbet_sc2_no_projected`` to the buffer of determinants generated in the H_apply
  routine.


perturb_buffer_by_mono_epstein_nesbet_sc2_projected
  Applly pertubration ``epstein_nesbet_sc2_projected`` to the buffer of determinants generated in the H_apply
  routine.


perturb_buffer_by_mono_h_core
  Applly pertubration ``h_core`` to the buffer of determinants generated in the H_apply
  routine.


perturb_buffer_by_mono_moller_plesset
  Applly pertubration ``moller_plesset`` to the buffer of determinants generated in the H_apply
  routine.


perturb_buffer_dipole_moment_z
  Applly pertubration ``dipole_moment_z`` to the buffer of determinants generated in the H_apply
  routine.


perturb_buffer_dummy
  Applly pertubration ``dummy`` to the buffer of determinants generated in the H_apply
  routine.


perturb_buffer_epstein_nesbet
  Applly pertubration ``epstein_nesbet`` to the buffer of determinants generated in the H_apply
  routine.


perturb_buffer_epstein_nesbet_2x2
  Applly pertubration ``epstein_nesbet_2x2`` to the buffer of determinants generated in the H_apply
  routine.


perturb_buffer_epstein_nesbet_sc2
  Applly pertubration ``epstein_nesbet_sc2`` to the buffer of determinants generated in the H_apply
  routine.


perturb_buffer_epstein_nesbet_sc2_no_projected
  Applly pertubration ``epstein_nesbet_sc2_no_projected`` to the buffer of determinants generated in the H_apply
  routine.


perturb_buffer_epstein_nesbet_sc2_projected
  Applly pertubration ``epstein_nesbet_sc2_projected`` to the buffer of determinants generated in the H_apply
  routine.


perturb_buffer_h_core
  Applly pertubration ``h_core`` to the buffer of determinants generated in the H_apply
  routine.


perturb_buffer_moller_plesset
  Applly pertubration ``moller_plesset`` to the buffer of determinants generated in the H_apply
  routine.


`pt2_dipole_moment_z <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/dipole_moment.irp.f#L1>`_
  compute the perturbatibe contribution to the dipole moment of one determinant
  .br
  for the various n_st states, at various level of theory.
  .br
  c_pert(i) = <psi(i)|H|det_pert>/(<psi(i)|H|psi(i)> - <det_pert|H|det_pert>)
  .br
  e_2_pert(i) = c_pert(i) * <det_pert|Z|psi(i)>
  .br
  H_pert_diag(i) = c_pert(i)^2 * <det_pert|Z|det_pert>
  .br
  To get the contribution of the first order :
  .br
  <Z_1> = sum(over i)  e_2_pert(i)
  .br
  To get the contribution of the diagonal elements of the second order :
  .br
  [ <Z_0> + <Z_1> + sum(over i)  H_pert_diag(i) ] / [1. + sum(over i) c_pert(i) **2]
  .br


`pt2_dummy <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/pt2_equations.irp.f_template_401#L420>`_
  Dummy perturbation to add all connected determinants.


`pt2_epstein_nesbet <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/pt2_equations.irp.f_template_401#L3>`_
  compute the standard Epstein-Nesbet perturbative first order coefficient and second order energetic contribution
  .br
  for the various N_st states.
  .br
  c_pert(i) = <psi(i)|H|det_pert>/( E(i) - <det_pert|H|det_pert> )
  .br
  e_2_pert(i) = <psi(i)|H|det_pert>^2/( E(i) - <det_pert|H|det_pert> )
  .br


`pt2_epstein_nesbet_2x2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/pt2_equations.irp.f_template_401#L60>`_
  compute the Epstein-Nesbet 2x2 diagonalization coefficient and energetic contribution
  .br
  for the various N_st states.
  .br
  e_2_pert(i) = 0.5 * (( <det_pert|H|det_pert> -  E(i) )  - sqrt( ( <det_pert|H|det_pert> -  E(i)) ^2 + 4 <psi(i)|H|det_pert>^2  )
  .br
  c_pert(i) = e_2_pert(i)/ <psi(i)|H|det_pert>
  .br


`pt2_epstein_nesbet_sc2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/pt2_equations.irp.f_template_401#L364>`_
  compute the standard Epstein-Nesbet perturbative first order coefficient and second order energetic contribution
  .br
  for the various N_st states, but with the CISD_SC2 energies and coefficients
  .br
  c_pert(i) = <psi(i)|H|det_pert>/( E(i) - <det_pert|H|det_pert> )
  .br
  e_2_pert(i) = <psi(i)|H|det_pert>^2/( E(i) - <det_pert|H|det_pert> )
  .br


`pt2_epstein_nesbet_sc2_no_projected <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/pt2_equations.irp.f_template_401#L285>`_
  compute the Epstein-Nesbet perturbative first order coefficient and second order energetic contribution
  .br
  for the various N_st states,
  .br
  but  with the correction in the denominator
  .br
  comming from the interaction of that determinant with all the others determinants
  .br
  that can be repeated by repeating all the double excitations
  .br
  : you repeat all the correlation energy already taken into account in electronic_energy(1)
  .br
  that could be repeated to this determinant.
  .br
  In addition, for the perturbative energetic contribution you have the standard second order
  .br
  e_2_pert = <psi_i|H|det_pert>^2/(Delta_E)
  .br
  and also the purely projected contribution
  .br
  H_pert_diag = <HF|H|det_pert> c_pert


`pt2_epstein_nesbet_sc2_projected <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/pt2_equations.irp.f_template_401#L190>`_
  compute the Epstein-Nesbet perturbative first order coefficient and second order energetic contribution
  .br
  for the various N_st states,
  .br
  but  with the correction in the denominator
  .br
  comming from the interaction of that determinant with all the others determinants
  .br
  that can be repeated by repeating all the double excitations
  .br
  : you repeat all the correlation energy already taken into account in electronic_energy(1)
  .br
  that could be repeated to this determinant.
  .br
  In addition, for the perturbative energetic contribution you have the standard second order
  .br
  e_2_pert = <psi_i|H|det_pert>^2/(Delta_E)
  .br
  and also the purely projected contribution
  .br
  H_pert_diag = <HF|H|det_pert> c_pert


`pt2_h_core <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/pert_single.irp.f#L1>`_
  compute the standard Epstein-Nesbet perturbative first order coefficient and second order energetic contribution
  .br
  for the various N_st states.
  .br
  c_pert(i) = <psi(i)|H|det_pert>/( E(i) - <det_pert|H|det_pert> )
  .br
  e_2_pert(i) = <psi(i)|H|det_pert>^2/( E(i) - <det_pert|H|det_pert> )
  .br


`pt2_max <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/ezfio_interface.irp.f#L25>`_
  The selection process stops when the largest PT2 (for all the state) is lower
  than pt2_max in absolute value


`pt2_moller_plesset <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/pt2_equations.irp.f_template_401#L121>`_
  compute the standard Moller-Plesset perturbative first order coefficient and second order energetic contribution
  .br
  for the various n_st states.
  .br
  c_pert(i) = <psi(i)|H|det_pert>/(difference of orbital energies)
  .br
  e_2_pert(i) = <psi(i)|H|det_pert>^2/(difference of orbital energies)
  .br


`remove_small_contributions <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/selection.irp.f#L77>`_
  Remove determinants with small contributions. N_states is assumed to be
  provided.


`repeat_all_e_corr <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/pert_sc2.irp.f#L1>`_
  Undocumented


`selection_criterion <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/selection.irp.f#L64>`_
  Threshold to select determinants. Set by selection routines.


`selection_criterion_factor <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/selection.irp.f#L66>`_
  Threshold to select determinants. Set by selection routines.


`selection_criterion_min <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/selection.irp.f#L65>`_
  Threshold to select determinants. Set by selection routines.


`var_pt2_ratio <http://github.com/LCPQ/quantum_package/tree/master/plugins/Perturbation/ezfio_interface.irp.f#L45>`_
  The selection process stops when the energy ratio variational/(variational+PT2)
  is equal to var_pt2_ratio