Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

The Absolute Zero Plan #4159

Closed
8 tasks
mohanchen opened this issue May 13, 2024 · 0 comments
Closed
8 tasks

The Absolute Zero Plan #4159

mohanchen opened this issue May 13, 2024 · 0 comments
Assignees
Labels
The Absolute Zero Reduce the "entropy" of the code to 0

Comments

@mohanchen
Copy link
Collaborator

mohanchen commented May 13, 2024

Describe the Code Quality Issue

In the next few months, in order to make the ABACUS framework more suitable for collaborative development, the ABACUS development team will focus on several aspects of code refactoring to remove unnecessary data structure dependencies and decouple all code elements, thus achieving higher development efficiency.
The name of the plan and the associated issue label is "The Absolute Zero".

The followings are the things we will do

  1. Refactor the grid integral code under the LCAO basis set (including CPU and GPU code).
  2. Remove all global classes of GlobalC and try to eliminate GlobalV global variables; for the remaining GlobalV global variables, they will be made non-arbitrarily modifiable by the user.
  3. Redesign the INPUT class and its usage methods. In the future, INPUT will not be treated as a globally accessible class. The new INPUT class will be easier to support Python integration.
  4. Redesign the Cell class to decouple unnecessary elements from modules within Cell. The new Cell class will also be tailored for easier Python integration.
  5. Refactor the HSolver module to support multiple precision calculations and various hardware computations, with the hope of isolating the HSolver module and providing Python integration for it.
  6. ESolver reconstruction to better accommodate the concurrent development of various DFT methods, including the DP method.
  7. Adopt a uniform format for standardizing the filenames of physical quantities and use a unified code framework to standardize the output of physical quantities.
  8. Delete LCAO_Matrix, ORB_control, Local_Orbital_wfc, Local_Orbital_Charge, LCAO_gen_fixedH in esolver_ks_lcao.h

Additional Context

No response

Task list for Issue attackers (only for developers)

  • Identify the specific code file or section with the code quality issue.
  • Investigate the issue and determine the root cause.
  • Research best practices and potential solutions for the identified issue.
  • Refactor the code to improve code quality, following the suggested solution.
  • Ensure the refactored code adheres to the project's coding standards.
  • Test the refactored code to ensure it functions as expected.
  • Update any relevant documentation, if necessary.
  • Submit a pull request with the refactored code and a description of the changes made.
@mohanchen mohanchen added the The Absolute Zero Reduce the "entropy" of the code to 0 label May 13, 2024
@mohanchen mohanchen self-assigned this May 13, 2024
@deepmodeling deepmodeling locked and limited conversation to collaborators May 23, 2024
@mohanchen mohanchen converted this issue into discussion #4212 May 23, 2024

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
The Absolute Zero Reduce the "entropy" of the code to 0
Projects
None yet
Development

No branches or pull requests

1 participant