fcdmft.rpa.mp2.mol.mp2qp module#
Spin-restricted MP2 quasiparticle energies
- class fcdmft.rpa.mp2.mol.mp2qp.MP2QP(mf, frozen=None, regularized=False, kappa=1.5, norm=2)[source]#
Bases:
MP2- Attributes:
- e_tot
- e_tot_scs
- emp2
- emp2_scs
- nmo
- nocc
Methods
__call__(*args, **kwargs)Update the attributes of the current object.
apply(fn, *args, **kwargs)Apply the fn to rest arguments: return fn(*args, **kwargs). The return value of method set is the object itself. This allows a series of functions/methods to be executed in pipe.
as_scanner()Generating a scanner/solver for MP2 PES.
check_sanity()Check input of class/object attributes, check whether a class method is overwritten.
copy()Returns a shallow copy
energy(t2, eris)MP2 energy
Get boolean mask for the restricted reference orbitals.
get_graphical_solution(omega[, orbs])Get graphical solution of MP2.
kernel([mo_energy, mo_coeff, orbs])Args:
make_fno([thresh, pct_occ, nvir_act, t2])Frozen natural orbitals
make_rdm1([t2, eris, ao_repr, with_frozen])Spin-traced one-particle density matrix.
make_rdm2([t2, eris, ao_repr])Spin-traced two-particle density matrix in MO basis
post_kernel(envs)A hook to be run after the main body of the kernel function.
pre_kernel(envs)A hook to be run before the main body of kernel function is executed.
run(*args, **kwargs)Call the kernel function of current object.
set(*args, **kwargs)Update the attributes of the current object.
to_gpu()update_amps(t2, eris)Update non-canonical MP2 amplitudes
view(cls)New view of object with the same attributes.
ao2mo
density_fit
dump_flags
get_e_hf
get_nmo
get_nocc
init_amps
nuc_grad_method
reset
set_frozen
- get_frozen_mask()#
Get boolean mask for the restricted reference orbitals.
In the returned boolean (mask) array of frozen orbital indices, the element is False if it corresponds to the frozen orbital.
- get_graphical_solution(omega, orbs=None)[source]#
Get graphical solution of MP2. Plot (omega, mo_energy_omega) and (omega, sigma), the intersection is the graphical solution.
- Args:
omega (double array): frequency. orbs (list, optional): index of desired orbitals. Defaults to None.
- Returns:
mo_energy_omega (double ndarray): frequency - orbital energy. sigma (double ndarray): dynamical diagonal self-energy.
- get_nmo()#
- get_nocc()#
- kernel(mo_energy=None, mo_coeff=None, orbs=None)[source]#
- Args:
mo_energy : 1D array (nmo), mean-field mo energy mo_coeff : 2D array (nmo, nmo), mean-field mo coefficient orbs: list, orbital indices
- Returns:
self.mo_energy : MP2 quasiparticle energy
- property nmo#
- property nocc#
- fcdmft.rpa.mp2.mol.mp2qp.get_mp2_sigma_derivative(nocc, mo_energy, eris, p, q, freq, eia, regularized=False, kappa=1.0, norm=2)[source]#
Compute the element of the MP2 self-energy derivative in MO basis.
- Parameters:
- nocc
int number of occupied orbitals.
- mo_energydouble
array molecular orbital energies
- erisdouble
ndarray ERI in MO basis, nmo**4
- p
int row index of the self-energy matrix
- q
int column index of the self-energy matrix
- freqcomplex
frequency point
- eiadouble
ndarray occupied and virtual orbital energy difference
- regularizedbool, optional
apply regularization, by default False
- kappa
float, optional kappa factor, by default 1.0
- norm
int, optional regularization norm, by default 2
- nocc
- Returns:
- sigmadouble
self-energy derivative matrix element
- fcdmft.rpa.mp2.mol.mp2qp.get_sigma_mp2(nocc, mo_energy, eris, p, q, freq, eia, regularized=False, kappa=1.0, norm=2)[source]#
Compute the element of the MP2 self-energy in MO basis.
- Parameters:
- nocc
int number of occupied orbitals.
- mo_energydouble
array molecular orbital energies
- erisdouble
ndarray ERI in MO basis, nmo**4
- p
int row index of the self-energy matrix
- q
int column index of the self-energy matrix
- freqcomplex
frequency point
- eiadouble
ndarray occupied and virtual orbital energy difference
- regularizedbool, optional
apply regularization, by default False
- kappa
float, optional kappa factor, by default 1.0
- norm
int, optional regularization norm, by default 2
- nocc
- Returns:
- sigmadouble
self-energy matrix element