Skip to content

[Dependency] Electronic state source_estate depending back on the method layer #7600

Description

@Critsium-xy

Describe the Code Quality Issue

  • Symptom: estate directly includes concrete basis implementations (dftu.h, spin_constrain.h, gint, module_rt, structure_factor.h, vnl_pw.h, parallel_grid.h, …), while lcao→estate and pw→estate also hold — a large bidirectional cycle.
  • Fix: push "how to compute density/potential under a given basis" down into the method layer — pw/lcao each derive an ElecState subclass; estate keeps only the base class and shared logic. The direction converges to one-way pw/lcao → estate.
  • Acceptance: cut estate → pw/lcao.

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