deepmodeling / abacus-develop

An electronic structure package based on either plane wave basis or numerical atomic orbitals.
http://abacus.ustc.edu.cn
GNU Lesser General Public License v3.0
159 stars 127 forks source link

using velocity gauge is much slower than length gauge in TDDFT #4664

Open Satinelamp opened 1 month ago

Satinelamp commented 1 month ago

Details

If I use velocity gauge in TDDFT(td_stype=1), ABACUS is much slower than the length gauge, Here is the input and log files I used: compareGagus.tar.gz Based on the time consumption log, my guess is the bottleneck is in the modules Evolve_elec evolve_psi HSolverLCAO solve HamiltLCAO updateHk

Besides, it seems the 1st electronic step in each ionic step is the most time consuming. Snipaste_2024-07-12_14-02-46

I wish the developers could help to improve the performance when using velocity gauge.

Task list for Issue attackers (only for developers)

ESROAMER commented 1 month ago

I noticed this problem quite early, but at that time it was secondary to ensuring the correctness of the code. The main cause of this problem is that the Interface snap_psibeta_half_tddft takes too long, as can also be seen from your logs. It was used to calculate nonlocal potential terms for velocity gague. We will try to optimize this interface to improve the performance of the code.