Describe the bug
For a BTD device, the retarded Green function is represented in diagonal and nearest-neighbour blocks. The left and right lead self-energies are inserted into the outer diagonal blocks.
However, in current version, NEGFHamiltonianInit.Hamiltonian_initialized derived coupling_width["lead_L"] and coupling_width["lead_R"] from the current device--lead coupling matrix HDL. It then supplied those widths to get_block_tridiagonal.
Those widths are only lower bounds. The historical optimized splitter is free to move a cut point or absorb additional orbitals into an edge block in order to obtain a sparse BTD representation. Thus, even if two devices have identical electrode regions, a small change in their scattering regions can change the sparsity pattern and yield different endpoint partitions.
A cache generated by the first calculation cannot be inserted into the second calculation even though the electrodes and their physical self-energies are intended to be shared.
The problem was therefore not an incorrect self-energy calculation. It was a loss of the cached self-energy's required device-subspace dimension during the later BTD construction.
Expected behavior
No response
To Reproduce
No response
Environment
No response
Additional Context
No response
Describe the bug
For a BTD device, the retarded Green function is represented in diagonal and nearest-neighbour blocks. The left and right lead self-energies are inserted into the outer diagonal blocks.
However, in current version, NEGFHamiltonianInit.Hamiltonian_initialized derived coupling_width["lead_L"] and coupling_width["lead_R"] from the current device--lead coupling matrix HDL. It then supplied those widths to get_block_tridiagonal.
Those widths are only lower bounds. The historical optimized splitter is free to move a cut point or absorb additional orbitals into an edge block in order to obtain a sparse BTD representation. Thus, even if two devices have identical electrode regions, a small change in their scattering regions can change the sparsity pattern and yield different endpoint partitions.
A cache generated by the first calculation cannot be inserted into the second calculation even though the electrodes and their physical self-energies are intended to be shared.
The problem was therefore not an incorrect self-energy calculation. It was a loss of the cached self-energy's required device-subspace dimension during the later BTD construction.
Expected behavior
No response
To Reproduce
No response
Environment
No response
Additional Context
No response