Skip to content

BTD Inversion #101

@AleksBL

Description

@AleksBL

Hi,
Have worked a bit on the BTD inversion. One problem there is right now is the for-loops over energy in the NEGF code, which makes the code i have a bit hard to implement in your code. I worked a bit on a workaround, but it didnt work out right now.

In the attached file is a really barebones implementation for a BTD inversion (iG_dropin.py, the use of which is demonstrated in the bottom of the Test_Ribbon.py script)... for the example on a 1440 orbital Hamiltonian it is twice as fast as the scipy implementation. There is a lot of room to make it faster, and the secondlast block in the Test_Ribbon.py script hopefully demonstrates this, but we need to make the inversions in one go instead as this would remove a lot of overhead converting between sparse , block matrix and numpy formats.... :) The code can approach (but still a bit slower than) tbtrans speeds if larger batches of energy-points are used.

The Test_Ribbon script demonstrates the uses, and has an outcommented part where the DFT calculation is made.
Send.tar.gz

BR. Aleksander

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions