10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-10-19 22:41:48 +02:00
quantum_package/src/perturbation
2019-01-06 20:45:13 +01:00
..
.gitignore Renaming in lowercase 2018-12-18 16:11:25 +01:00
exc_max.irp.f Renaming in lowercase 2018-12-18 16:11:25 +01:00
EZFIO.cfg Renaming in lowercase 2018-12-18 16:11:25 +01:00
NEED minor changes in README.rst of many src files 2018-12-28 15:08:07 +01:00
pert_sc2.irp.f Renaming in lowercase 2018-12-18 16:11:25 +01:00
pert_single.irp.f Rename one_e and two_e 2019-01-05 02:58:15 +01:00
perturbation.irp.f Removed uppercases in filenames 2018-12-18 16:52:15 +01:00
perturbation.template.f A lot of renaming 2019-01-05 01:58:19 +01:00
pt2_equations.irp.f Merge branch 'master' of https://github.com/scemama/quantum_package into scemama-master 2019-01-06 20:45:13 +01:00
README.rst README 2018-12-28 19:12:53 +01:00
selection.irp.f Renaming in lowercase 2018-12-18 16:11:25 +01:00
var_pt2_ratio_provider.irp.f Renaming in lowercase 2018-12-18 16:11:25 +01:00

============
perturbation
============


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:

.. code-block:: fortran

  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`
  Perturbative 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 | |H| | `i`>

`N_st`
  Number of states