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

Fix an error in the output of MO for ROKS #3274

Merged
merged 3 commits into from
Apr 26, 2024

Conversation

IlyaFed
Copy link
Contributor

@IlyaFed IlyaFed commented Feb 16, 2024

Added make_mo_eig(), which returns orbitals from OT space. Limited it to nspin=1. Now everything works consistently with CPMD code.

More details in the Google Group discussion:
https://groups.google.com/g/cp2k/c/yJPJS2vUkBI

@IlyaFed
Copy link
Contributor Author

IlyaFed commented Feb 18, 2024

Here I also need to add make_mo_eig() in cases where Wannier Сenters are used without outputting orbitals. I'll send it a little later.

@oschuett
Copy link
Member

I'll send it a little later.

Ok, then I'll hold off merging this PR for now.

@oschuett
Copy link
Member

Any update on this?

@IlyaFed
Copy link
Contributor Author

IlyaFed commented Mar 21, 2024

After tests, it turned out that the make_mo_eig does not work correctly. As I understand it, this is due to the fact that (for some reason?) it searches the eigen vectors of the Kohn-Sham matrix and rotate MO to it, which does not work correctly in the case of ROKS. At the moment, I can’t fully understand why make_mo_eig is needed and how to fix it? But without it, the print orbitals and Wannier centers for ROKS does not work correctly...

@oschuett
Copy link
Member

@juerghutter what do you think?

@juerghutter
Copy link
Contributor

juerghutter commented Mar 25, 2024 via email

@oschuett
Copy link
Member

@IlyaFed how do you want to proceed? Should I merge this PR as is or wait a little longer?

Another option would to block off the broken cases with CPWARN or CPABORT.

@IlyaFed
Copy link
Contributor Author

IlyaFed commented Mar 29, 2024

For now I think we should put CPABORT into PRINT_MO_CUBES and WANNIER in LOW SPIN ROKS, but I would like to improve this part further. Unfortunately, I somehow merged the new version incorrectly, can you tell me how to fix this? In general, it is enough to replace cp_warn with cp_abort on line 465 in qs_scf_post_gpw.F.

@oschuett
Copy link
Member

Unfortunately, I somehow merged the new version incorrectly, can you tell me how to fix this?

Sorry, I just saw your question. The simplest way to recover is usually to start over:

  1. Make a backup.
  2. git fetch origin
  3. git reset --hard origin/master
  4. Copy your changes back.

Added make_mo_eig(), which returns orbitals from OT space. Limited it to
nspin=1. Now everything works consistently with CPMD code.

More details in the Google Group discussion:
https://groups.google.com/g/cp2k/c/yJPJS2vUkBI
@oschuett oschuett merged commit cd0efa8 into cp2k:master Apr 26, 2024
34 checks passed
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.

None yet

3 participants