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
163 stars 128 forks source link

LDOS calculation is needed #4192

Open Luc1anoo opened 3 months ago

Luc1anoo commented 3 months ago

Background

I'm tring to perform STM calculation using ASE.STM module. I have done the calculation using GPAW as calculator. When I try to change the calculator to ABACUS, the error thrown: Traceback (most recent call last): File "/personal/ABACUS-cases/10/stm_ABACUS/stm_ABACUS.py", line 72, in x, y, I = stm.scan2(bias=bias, z=height, repeat=(5,5)) File "/opt/mamba/lib/python3.10/site-packages/ase/dft/stm.py", line 163, in scan2 self.calculate_ldos(bias) File "/opt/mamba/lib/python3.10/site-packages/ase/dft/stm.py", line 68, in calculate_ldos ldos = np.zeros(calc.get_pseudo_wave_function(0, 0, 0).shape) AttributeError: 'Abacus' object has no attribute 'get_pseudo_wave_function'

I checked the source code of ASE.STM (Source code for ase.dft.stm) and found that the error may be due to the lack of LDOS calculation feature in ABACUS.

Describe the solution you'd like

Add LDOS calculation feature.

Task list only for developers

Notice Possible Changes of Behavior (Reminder only for developers)

No response

Notice any changes of core modules (Reminder only for developers)

No response

Notice Possible Changes of Core Modules (Reminder only for developers)

No response

Additional Context

No response

Task list for Issue attackers (only for developers)

WHUweiqingzhou commented 3 months ago

also see #3665