Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add initial orbital guess for DMRG CI/SCF #416

Open
wants to merge 10 commits into
base: main
Choose a base branch
from

Conversation

lcyyork
Copy link
Contributor

@lcyyork lcyyork commented Sep 24, 2024

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 case dmrg-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 leave dmrg-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 that CholeskyLocal 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 to ActiveSpaceSolver and ActiveSpaceMethod to speed up CI of MCSCF.

  • Improve printing for permanent dipole in ActiveSpaceSolver.

User Notes

  • Orbital localization and Fiedler reordering for DMRG-CI.
  • Add Cholesky orbitals inside Localize class.

Checklist

  • Added/updated tests of new features and included a reference output.ref file
  • Removed comments in code and input files
  • Documented source code
  • Checked for redundant headers
  • Checked for consistency in the formatting of the output file
  • Documented new features in the manual
  • Ready to go!

@brianz98
Copy link
Contributor

@lcyyork is this PR now ready for review? Happy to take a look if it is!

@lcyyork
Copy link
Contributor Author

lcyyork commented Sep 27, 2024

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants