getMP2E Subroutine

public subroutine getMP2E(dE1, dE2, dU, dE)

Uses

Arguments

Type IntentOptional Attributes Name
real(kind=dp) :: dE1
real(kind=dp) :: dE2
real(kind=dp) :: dU
real(kind=dp) :: dE

Contents

Source Code


Source Code

    subroutine getMP2E(dE1, dE2, dU, dE)
        != Get the MP2 energy contribution for an excitation 1->2
        != In:
        !=    dE1 energy of reference determinant.
        !=    dE2 energy of excited determinant.
        !=    dU  Cross term of Hamiltonian matrix, < 1 | H | 2 >.
        != Out:
        !=    dE = |< 1 | H | 2 >|^2 / (dE2 - dE1)
        !=         contribution to the MP2 energy.
        use constants, only: dp
        implicit none
        real(dp) dE1, dE2
        HElement_t(dp) dU, dE
        dE = abs(dU)**2 / (dE1 - dE2)
    end subroutine getMP2E