Dear all,

I am trying to implement a transport calculation for the Haldane model on 
armchair and zig-zag graphene nanoribbons (with open boundary conditions along 
the y-direction and periodic boundary conditions along the x-direction, i.e., 
the transport direction). In particular, my system consists of a finite-sized 
scatterer attached to two semi-infinite leads. The system is "homogeneous," 
meaning that all three components (left lead, scatterer, and right lead) share 
the same Haldane Hamiltonian (https://doi.org/10.1103/PhysRevLett.61.2015).
I am writing to seek assistance because I am encountering two major problems 
when extracting the eigenstates of the scatterer at a fixed energy:

1)When the system is constructed with zig-zag edges, I find a limit on the 
width of the sample in the y-direction, beyond which the wave functions cannot 
be calculated using the kwant.wave_function() method. Specifically, if the 
ribbon exceeds this width, for certain energy values, calling 
kwant.wave_function(sys, energy) produces the following error:
"RuntimeError: Numbers of left- and right-propagating modes differ, possibly 
due to a numerical instability."
This appears to result from an accumulation of lead bands, which makes the 
identification of propagating modes inaccurate.
2)When the system is constructed with armchair edges, the 
kwant.wave_function(system, energy) method again fails to properly return the 
eigenstates of the scatterer. However, in this case, the error occurs for all 
ribbon widths (in the y-direction) and seems unrelated to the energy value. The 
error is:
"LinAlgError: Reordering failed; problem is very ill-conditioned."

I have not been able to resolve these issues and would greatly appreciate any 
insights or suggestions you might have for addressing them.
Thank you for your time.

Best regards,
Lorenzo Cavicchi

Reply via email to