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

Feature out_dm should be deleted, and rename out_dm1 to out_dm. Also feature of init_dm is needed. #4368

Closed
14 tasks
dyzheng opened this issue Jun 13, 2024 · 1 comment · Fixed by #4374 or #4509
Closed
14 tasks
Assignees
Labels
Input&Output Suitable for coders without knowing too many DFT details

Comments

@dyzheng
Copy link
Collaborator

dyzheng commented Jun 13, 2024

Background

In ABACUS, out_dm feature only support gamma-only calculation, and only density matrix of gamma_point will be outputted as dense matrix, which is useless now.

I suggest to modify this feature to output real space density matrix (DMR) with non-zero matrix elements as CSR format (the feature of out_dm1).

Feature of init_dm for reading DMR file to restart SCF calculation is also needed.

Describe the solution you'd like

  1. delete code of out_dm.
  2. refactor code of out_dm1, use DensityMatrix::DMR to print CSR format file but not current code.
  3. add feature of init_dm.

Task list only for developers

  • Notice possible changes of behavior
  • Explain the changes of codes in core modules of ESolver, HSolver, ElecState, Hamilt, Operator or Psi

Notice Possible Changes of Behavior (Reminder only for developers)

No response

Notice any changes of core modules (Reminder only for developers)

No response

Notice Possible Changes of Core Modules (Reminder only for developers)

No response

Additional Context

No response

Task list for Issue attackers (only for developers)

  • Review and understand the proposed feature and its importance.
  • Research on the existing solutions and relevant research articles/resources.
  • Discuss with the team to evaluate the feasibility of implementing the feature.
  • Create a design document outlining the proposed solution and implementation details.
  • Get feedback from the team on the design document.
  • Develop the feature following the agreed design.
  • Write unit tests and integration tests for the feature.
  • Update the documentation to include the new feature.
  • Perform code review and address any issues.
  • Merge the feature into the main branch.
  • Monitor for any issues or bugs reported by users after the feature is released.
  • Address any issues or bugs reported by users and continuously improve the feature.
@pxlxingliang
Copy link
Collaborator

I will refactor the interface of out_dm by using DensityMatrix.DMK instead of loc.DM

@mohanchen mohanchen added the Input&Output Suitable for coders without knowing too many DFT details label Jun 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment