Describe the Code Quality Issue
Currently, ABACUS has three functions to calculate the inner product of two vector in recip space, namely:
Charge_Mixing::inner_product_recip()
Charge_Mixing::inner_product_recip_new1()
Charge_Mixing::inner_product_recip_new2()
Too many similar functions will confuse others.
Since the data stored in rhog is not what Charge_Mixing want, the input data of Charge_Mixing::inner_product_recip() and Charge_Mixing::inner_product_recip_new1() is different. I will:
- move
Charge_Mixing::inner_product_recip() and get_drho() into Charge
- let all mix functions use
Charge_Mixing::inner_product_recip_new1()
This is a step for refactor of Charge_Mixing class #3363.
Additional Context
No response
Task list for Issue attackers (only for developers)