quemb.molbe.be_parallel.be_func_parallel_u

quemb.molbe.be_parallel.be_func_parallel_u(pot, Fobjs, solver, enuc, hf_veff=None, nproc=1, ompnum=4, relax_density=False, use_cumulant=True, frozen=False)

Embarrassingly Parallel High-Level Computation

Performs high-level unrestricted bootstrap embedding (UBE) computation for each fragment. Computes 1-RDMs and 2-RDMs for each fragment to return the energy. As such, this currently is equipped for one-shot U-CCSD BE.

Parameters:
  • pot (list of float) – Potentials (local & global) that are added to the 1-electron Hamiltonian component. The last element in the list is the chemical potential. Should always be 0, as this is still a one-shot only implementation

  • Fobjs (list of tuple of fragpart) – Fragment definitions, alpha and beta components.

  • solver (str) – High-level solver in bootstrap embedding. Supported value is ‘UCCSD’.

  • enuc (float) – Nuclear component of the energy.

  • hf_veff (tuple of ndarray, optional) – Alpha and beta Hartree-Fock effective potential.

  • nproc (int, optional) – Total number of processors assigned for the optimization. Defaults to 1. When nproc > 1, Python multithreading is invoked.

  • ompnum (int, optional) – If nproc > 1, sets the number of cores for OpenMP parallelization. Defaults to 4.

  • use_cumulant – Whether to use the cumulant energy expression, by default True.

  • frozen (bool, optional) – Frozen core. Defaults to False

Returns:

Returns the computed energy

Return type:

float