Skip to content

Conversation

@LKFEIYI
Copy link

@LKFEIYI LKFEIYI commented Jan 7, 2026

Previously, the code seemed to perform unnecessary IFFT (G to R) transformations for each component (x, y, z) and an extra FFT (R to G) for the final result. So I reduced the number of FFT/IFFT calls per iteration from 10 to 6.

Then, the efficiency of the solvation model can be further increased by about 25%. For example, during the scf calculation of Ag-COOH example in #6836 (comment), the time for cal_vel further decreased from 375.72 s to 272.63 s (total time decreased from 667 s to 566 s, GNU toolchain, 7950x, mpirun -n 16).

I will appreciate it if you can check if they are correct and safe.

Reminder

  • Have you linked an issue with this pull request?
  • Have you added adequate unit tests and/or case tests for your pull request?
  • Have you noticed possible changes of behavior below or in the linked issue?
  • Have you explained the changes of codes in core modules of ESolver, HSolver, ElecState, Hamilt, Operator or Psi? (ignore if not applicable)

Linked Issue

Fix #...

Unit Tests and/or Case Tests for my changes

  • A unit test is added for each new feature or bug fix.

What's changed?

  • Example: My changes might affect the performance of the application under certain conditions, and I have tested the impact on various scenarios...

Any changes of core modules? (ignore if not applicable)

  • Example: I have added a new virtual function in the esolver base class in order to ...

Copy link
Collaborator

@dyzheng dyzheng left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants