vayesta.rpa

Subpackages

Submodules

vayesta.rpa.rpa

Straightforward N^6 implementation for RPA in a finite basis set with arbitrary interaction kernel, based upon the standard Hermitian reformulation used in TDHF approaches. Note that we only use the spin-block formulation of all matrices, rather than full spin-adaptation, which means our final diagonalisation is 2^3=8 times more expensive than hypothetically possible. However, this code is only for comparison.

class vayesta.rpa.rpa.RPA(mf, log=None)[source]

Bases: object

Approach based on equations expressed succinctly in the appendix of Furche, F. (2001). PRB, 64(19), 195120. https://doi.org/10.1103/PhysRevB.64.195120 WARNING: Should only be used with canonical mean-field orbital coefficients in mf.mo_coeff and RHF.

property nocc
property nvir
property ov
property e_corr
property e_tot
kernel(xc_kernel='rpax')[source]

Solve for RPA response; solve same-spin (ss) and spin-flip (sf) separately. If doing dRPA spin-flip is trivial, so for large calculations use dRPA specific

get_interaction_kernel(xc_kernel='rpax', tda=False)[source]

Construct the required components of the interaction kernel, separated into same-spin and spin-flip components, as well as spin contributions for A+B and A-B. The results is a length-4 tuple, giving the spin components of respectively

(ss K_(A+B), ss K_(A-B), sf K_(A+B), sf K_(A-B)).

In RHF both contributions both only have two distinct spin components, so there are a total of 8 distinct spatial kernels for a general interaction. For spin contributions we use the orderings

-(aaaa, aabb) for ss contributions. -(abab, abba) for st contributions (ie, whether the particle states have the

same spin in both pairs or not). Sorry for clunky description…

If TDA is specified all appropriate couplings will be zeroed.

property mo_coeff
property nao
ao2mo()[source]

Get the ERIs in MO basis

vayesta.rpa.ssrpa

Straightforward N^6 implementation for dRPA in a basis set, based upon the standard Hermitian reformulation used in TDHF approaches.

class vayesta.rpa.ssrpa.ssRPA(mf, log=None, ov_rot=None)[source]

Bases: object

Approach based on equations expressed succinctly in the appendix of Furche, F. (2001). PRB, 64(19), 195120. https://doi.org/10.1103/PhysRevB.64.195120 WARNING: Should only be used with canonical mean-field orbital coefficients in mf.mo_coeff and RHF.

property nocc
property nvir
property ov
property ova
property ovb
property mo_coeff

MO coefficients.

property mo_coeff_occ

Occupied MO coefficients.

property mo_coeff_vir

Virtual MO coefficients.

property e_corr
property e_tot
kernel(xc_kernel=None, alpha=1.0)[source]

Solve same-spin component of dRPA response. At level of dRPA this is the only contribution to correlation energy; introduction of exchange will lead to spin-flip contributions.

calc_energy_correction(xc_kernel, version=3)[source]
get_k()[source]
get_xc_contribs(xc_kernel, c_o, c_v, alpha=1.0)[source]
gen_moms(max_mom, xc_kernel=None)[source]
ao2mo(mo_coeff=None, compact=False)[source]

Get the ERIs in MO basis

vayesta.rpa.ssrpa.ssRRPA

alias of ssRPA

vayesta.rpa.ssurpa

class vayesta.rpa.ssurpa.ssURPA(mf, log=None, ov_rot=None)[source]

Bases: ssRPA

property norb
property nocc
property nvir
property ova
property ovb
property mo_coeff_occ

Occupied MO coefficients.

property mo_coeff_vir

Virtual MO coefficients.

get_k()[source]
ao2mo(mo_coeff=None)[source]

Get the ERIs in MO basis

calc_energy_correction(xc_kernel, version=3)
property e_corr
property e_tot
gen_moms(max_mom, xc_kernel=None)
get_xc_contribs(xc_kernel, c_o, c_v, alpha=1.0)
kernel(xc_kernel=None, alpha=1.0)

Solve same-spin component of dRPA response. At level of dRPA this is the only contribution to correlation energy; introduction of exchange will lead to spin-flip contributions.

property mo_coeff

MO coefficients.

property ov

Module contents

Random Phase Approximation (RPA) Author: Charles Scott email: cjcargillscott@gmail.com

vayesta.rpa.ssRPA(mf, *args, **kwargs)[source]

Determine restricted or unrestricted by inspection of mean-field object