abacus-develop
abacus-develop copied to clipboard
The LCAO Hamiltonian of ABACUS should be read for NSCF calculations or other specific properties calculations
Background
Nowadays, people can directly obtain the Hamiltonian of a system by machine learning, thus bypassing the time-consuming self-consistent process, such as DeepH.
However, there is currently a lack of computational tools to directly deal with such Hamiltonians.
The Hamiltonian based on ABACUS prediction is very suitable for re-introducing into ABACUS for subsequent non-self-consistent calculations to obtain other physical properties.
If ABACUS can read the Hamiltonian of DeepH for non-self-consistent calculation, it will greatly expand the computing power of ABABCUS.
Especially in the face of super-large systems, the self-consistent calculation of ABACUS to obtain the energy ground state will also face a computational bottleneck. If the self-consistent process is replaced by DeepH, the non-self-consistent process can give full play to the advantages of ABACUS in calculating super-large systems.
By the way, the Hamiltonian prediction of DeepH is tested to be accurate enough.
Describe the solution you'd like
It is suggested that the DeepH Hamiltonian based on ABACUS prediction can be read by ABACUS and used to calculate other properties.
Additional Context
No response
Task list for Issue attackers
- [x] 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 and stakeholders 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.