Skip to content

LDOS calculation is needed #4192

Description

@Luc1anoo

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
  • Explain the changes of codes in core modules of ESolver, HSolver, ElecState, Hamilt, Operator or Psi

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)

  • Review and understand the proposed feature and its importance.
  • Research on the existing solutions and relevant research articles/resources.
  • Discuss with the team to evaluate the feasibility of implementing the feature.
  • Create a design document outlining the proposed solution and implementation details.
  • Get feedback from the team on the design document.
  • Develop the feature following the agreed design.
  • Write unit tests and integration tests for the feature.
  • Update the documentation to include the new feature.
  • Perform code review and address any issues.
  • Merge the feature into the main branch.
  • Monitor for any issues or bugs reported by users after the feature is released.
  • Address any issues or bugs reported by users and continuously improve the feature.

Metadata

Metadata

Labels

Features NeededThe features are indeed needed, and developers should have sophisticated knowledge

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions