fcdmft.rpa.pbc.rpa module#

Periodic spin-restricted random phase approximation (direct RPA/dRPA in chemistry) with N^4 scaling (Gamma only)

Method:

Main routines are based on GW-AC method described in: T. Zhu and G.K.-L. Chan, J. Chem. Theory. Comput. 17, 727-741 (2021) X. Ren et al., New J. Phys. 14, 053020 (2012)

class fcdmft.rpa.pbc.rpa.RPA(mf, frozen=None, auxbasis=None)[source]#

Bases: RPA

Attributes:
nmo
nocc

Methods

__call__(*args, **kwargs)

Update the attributes of the current object.

ao2mo([mo_coeff, fullmo, mo_occ])

Transform density-fitting integral from AO to MO.

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 RPA PES.

check_sanity()

Check input of class/object attributes, check whether a class method is overwritten.

copy()

Returns a shallow copy

get_ehf()

Get Hartree-Fock energy.

get_frozen_mask()

Get boolean mask for the restricted reference orbitals.

get_grids([alg, nw, mo_energy])

Generate grids for integration.

initialize_df([auxbasis])

Initialize density fitting.

kernel([mo_energy, mo_coeff, Lpq, nw])

RPA correlation and total energy

loop_ao2mo([mo_coeff, fullmo, ijslice])

Transform density-fitting integral from AO to MO by block.

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.

view(cls)

New view of object with the same attributes.

dump_flags

get_nmo

get_nocc

ao2mo(mo_coeff=None, fullmo=False, mo_occ=None)[source]#

Transform density-fitting integral from AO to MO.

Parameters:
mo_coeffdouble 1d array, optional

orbital energy, by default None

fullmobool, optional

transform AO to MO of all orbitals, by default False

mo_occdouble 1d array, optional

occupation number, by default None

Returns:
eri_3ddouble 3d array

three-center density-fitting matrix in MO

get_ehf()[source]#

Get Hartree-Fock energy.

Returns:
e_hfdouble

Hartree-Fock energy

loop_ao2mo(mo_coeff=None, fullmo=False, ijslice=None)[source]#

Transform density-fitting integral from AO to MO by block.

Parameters:
mo_coeffdouble 2d array, optional

coefficient from AO to MO, by default None

ijslicetuple, optional

tuples for (1st idx start, 1st idx end, 2nd idx start, 2nd idx end), by default None

Returns:
eri_3ddouble 3d array

three-center density-fitting matrix in MO in a block