### Describe the Code Quality Issue - **Symptom**: `pw → lcao` (`dftu.h`, `spin_constrain.h`, `module_ri/*`) and `lcao → pw` (`structure_factor.h`, `onsite_proj.h`, `forces.h`, …) **depend on each other**. - **Fix**: - components shared by both sides — `dftu`, `deltaspin(spin_constrain)`, `RI`: if basis-independent, sink into `source_base` / a standalone module; - lift hybrid-method logic like LCAO-in-PW (lcaopw) up into `source_esolver` (`esolver_ks_lcaopw` already lives there). - **Acceptance**: `pw` and `lcao` no longer include each other. ### 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.
Describe the Code Quality Issue
pw → lcao(dftu.h,spin_constrain.h,module_ri/*) andlcao → pw(structure_factor.h,onsite_proj.h,forces.h, …) depend on each other.dftu,deltaspin(spin_constrain),RI: if basis-independent, sink intosource_base/ a standalone module;source_esolver(esolver_ks_lcaopwalready lives there).pwandlcaono longer include each other.Additional Context
No response
Task list for Issue attackers (only for developers)