9
1
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-12-11 22:23:31 +01:00
qp2/src/perturbation
2020-12-08 18:44:53 +01:00
..
exc_max.irp.f Initial commit 2019-01-25 11:39:31 +01:00
EZFIO.cfg Global Replacement of 'occupation pattern' with 'configuration' 2020-12-08 18:44:53 +01:00
NEED Initial commit 2019-01-25 11:39:31 +01:00
pert_single.irp.f Initial commit 2019-01-25 11:39:31 +01:00
perturbation.irp.f First python3 3 working installation 2020-03-17 18:02:29 +01:00
perturbation.template.f First python3 3 working installation 2020-03-17 18:02:29 +01:00
pt2_equations.irp.f Initial commit 2019-01-25 11:39:31 +01:00
README.rst Initial commit 2019-01-25 11:39:31 +01:00
selection.irp.f Warnings in documentation 2019-01-29 17:09:08 +01:00
var_pt2_ratio_provider.irp.f Initial commit 2019-01-25 11:39:31 +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