2014-05-17 14:20:55 +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
|
|
|
|
===========
|
|
|
|
|
|
|
|
.. Do not edit this section. It was auto-generated from the
|
|
|
|
.. NEEDED_MODULES file.
|
|
|
|
|
|
|
|
* This is not allowed:
|
|
|
|
|
|
|
|
subroutine &
|
|
|
|
pt2_....
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Documentation
|
|
|
|
=============
|
|
|
|
|
|
|
|
.. Do not edit this section. It was auto-generated from the
|
|
|
|
.. NEEDED_MODULES file.
|
|
|
|
|
2014-05-21 16:37:54 +02:00
|
|
|
`pt2_epstein_nesbet <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/epstein_nesbet.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_epstein_nesbet_2x2 <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation/epstein_nesbet.irp.f#L33>`_
|
|
|
|
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
|
|
|
|
|
2014-05-17 14:20:55 +02:00
|
|
|
|
|
|
|
|
|
|
|
Needed Modules
|
|
|
|
==============
|
|
|
|
|
|
|
|
.. Do not edit this section. It was auto-generated from the
|
|
|
|
.. NEEDED_MODULES file.
|
|
|
|
|
|
|
|
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
|
|
|
* `BiInts <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts>`_
|
|
|
|
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
|
|
|
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
|
|
|
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
|
|
|
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
|
|
|
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
|
|
|
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
|
|
|
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
|
|
|
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
|
|
|
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
|
|
|
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
|
|
|
|