Skip to content

[Dependency] Method-layer lateral coupling pw ↔ lcao #7604

Description

@Critsium-xy

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions