Closed lcyyork closed 1 month ago
@lcyyork is this PR now ready for review? Happy to take a look if it is!
@lcyyork is this PR now ready for review? Happy to take a look if it is!
I think it is. Maybe there will be other tweaks. But I am using it to run acene jobs.
I think this can be merged if tests pass. We need to do a follow up PR to move the DMRG-specific functions outside of the psi4 module. This function should go in the driver instead.
Description
This PR adds DMRG initial orbitals based on localization (active space only) + reordering from Fiedler vector, which is controlled by keyword
DMRG_REORDER_INIT_ORBS
. This reordering appears effective to pseudo-1D molecules (see test casedmrg-ci-2
). For less obvious molecules like N2 or Cr2, this option should be disabled and orbitals should be adjusted based on orbital characters (σ, σ, π, π, δ, δ*, ...). This reordering is also performed only once when entering Forte, which seems to be enough to have a good DMRG-SCF results for Cr2 and acene.A test case (
dmrg-ci-2
) on H20 chain is added to test the effect of various orbital localization schemes and Fiedler reordering. I leavedmrg-ci-1
to the test case of PR #413.Other changes that I considered to be minor includes:
The Cholesky orbitals are added directly inside
Localize
such thatCholeskyLocal
is removed.I modified
proc/orbital_helpers.py
, although it is subject to reallocation to somewhere else in the future.The infamous
die_if_not_converged
is reintroduced toActiveSpaceSolver
andActiveSpaceMethod
to speed up CI of MCSCF.Improve printing for permanent dipole in
ActiveSpaceSolver
.User Notes
Localize
class.Checklist
output.ref
file