Skip to content

Reconstruction of the charge mixing module #2768

@mohanchen

Description

@mohanchen

Describe Current Status and Possible Solution

The charge mixing codes will be reconstructed soon. Following aspects are considered this time:

  1. correctness of mixing method name. In previous code the 'pulay' mixing_type is actually implemented as 'broyden', and 'broyden' is itself. This time this will be corrected.
  2. implementation of standard Pulay mixing method.
  3. feature support. For DFT+U needs mixing of density matrix, other quantities will be possible to mix in the future, while previous code only support mixing of charge density data, there is also another place (module_ri) where mixing of density matrix is implemented, this time the mixing of density matrix will be also supported, the related code in module_ri is also planned to re-organized.
  4. heterogeneous programming. The container Tensor is designed for supporting heterogeneous computing. To minimize data exchange between devices, i.e., CPU and GPU, history data will be directly saved in Tensor in device perform computation.

Additional Context

No response

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions