quemb.molbe.mbe.BE.__init__¶
- BE.__init__(mf, fobj, *, eri_file='eri_file.h5', lo_method='lowdin', iao_loc_method='lowdin', lo_bath_post_schmidt=None, pop_method=None, restart=False, restart_file='storebe.pk', nproc=1, ompnum=4, thr_bath=1e-10, scratch_dir=None, int_transform='in-core', auxbasis=None, MO_coeff_epsilon=1e-05, AO_coeff_epsilon=1e-10, re_eval_HF=False)¶
Constructor for BE object.
- Parameters:
mf (
SCF
) – PySCF mean-field object.fobj (
FragPart
[Mole
]) – Fragment object containing sites, centers, edges, and indices.eri_file (
str
|PathLike
) – Path to the file storing two-electron integrals.lo_method (
Literal
['lowdin'
,'boys'
,'ER'
,'PM'
,'IAO'
]) – Method for orbital localization, by default “lowdin”.iao_loc_method (
Literal
['lowdin'
,'boys'
,'PM'
,'ER'
]) – Method for IAO localization, by default “lowdin”lo_method_bath_post_schmidt – If not
None
, then perform a localization of the bath orbitals after the Schmidt decomposition.pop_method (
str
|None
) – Method for calculating orbital population, by default ‘meta-lowdin’ See pyscf.lo for more details and optionsrestart (
bool
) – Whether to restart from a previous calculation, by default False.restart_file (
str
|PathLike
) – Path to the file storing restart information, by default ‘storebe.pk’.nproc (
int
) – Number of processors for parallel calculations, by default 1. If set to >1, threaded parallel computation is invoked.ompnum (
int
) – Number of OpenMP threads, by default 4.thr_bath (float,) – Threshold for bath orbitals in Schmidt decomposition
int_transform (
Literal
['in-core'
,'out-core-DF'
,'int-direct-DF'
,'sparse-DF-cpp'
,'sparse-DF-nb'
,'sparse-DF-cpp-gpu'
,'sparse-DF-nb-gpu'
]) –The possible integral transformations.
"in-core"
(default): Use a dense representation of integrals in memory without density fitting (DF) and transform in-memory."out-core-DF"
: Use a dense, DF representation of integrals, the DF integrals \((\mu, \nu | P)\) are stored on disc."int-direct-DF"
: Use a dense, DF representation of integrals, the required DF integrals \((\mu, \nu | P)\) are computed and fitted on-demand for each fragment."sparse-DF-cpp"
: Use a sparse, DF representation of integrals, and avoid recomputation of elements that are shared across fragments. Uses aC++
implementation for performance heavy code."sparse-DF-nb"
: Use a sparse, DF representation of integrals, and avoid recomputation of elements that are shared across fragments. Uses a numba implementation for performance heavy code."sparse-DF-cpp-gpu"
: Use a sparse, DF representation of integrals, and avoid recomputation of elements that are shared across fragments. Uses aC++
+CUDDA
implementation for performance heavy code, only available when compiled with CUDABlas."sparse-DF-nb-gpu"
: Use a sparse, DF representation of integrals, and avoid recomputation of elements that are shared across fragments. Uses a numba implementation +cupy
for performance heavy code. Only available ifcupy
is installed.
auxbasis (
str
|None
) – Auxiliary basis for density fitting, by default None (uses default auxiliary basis defined in PySCF). Only relevant forint_transform in {"int-direct-DF", "sparse-DF"}
.MO_coeff_epsilon (
float
) – The cutoff value of the absolute overlap \(\int |\phi_i| |\varphi_{\mu}|\) when a MO coefficient \(i\) and an AO coefficient \(\mu\) are considered to be connected for sparsity screening. Smaller value means less screening.AO_coeff_epsilon (
float
) – The cutoff value of the absolute overlap \(\int |\varphi_{\mu}| |\varphi_{\nu}|\) when two AO coefficient \(\mu, \nu\) are considered to be connected for sparsity screening. Here the absolute overlap matrix is used. Smaller value means less screening.re_eval_HF (
bool
) – Re-evaluate the Fock matrix from the given MO-coefficients to determine the HF-in-HF error. This is False by default and has no relevance for “normal”, unscreened Hartree-Fock calculations. However, if the Hartree-Fock was obtained from methods that never build one global Fock matrix in the traditional sense, such as ORCA’s RIJCOSX, then the energy obtained by building the Fock matrix from the MO coefficients can actually differ from the reported HF energy.