Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Visualize local density of states in semi-infinite systems #151

Closed
pablosanjose opened this issue Jan 15, 2021 · 0 comments · Fixed by #152
Closed

Visualize local density of states in semi-infinite systems #151

pablosanjose opened this issue Jan 15, 2021 · 0 comments · Fixed by #152

Comments

@pablosanjose
Copy link
Owner

pablosanjose commented Jan 15, 2021

Currently, we can visualize a field, such as an eigenstate or the LDOS of a finite or unbounded system using e.g. vlplot(h, field), where field is a vector. Since an infinite system has a uniform LDOS (each unit cell has the same LDOS at a given energy), this is enough visualize the LDOS in this case. However, it doesn't allow us to visualize the LDOS of a semi-infinite system, or a system with boundaries. The PR #150 now allows us to compute the spatial Greens function in semi-infinite quasi1D systems, so it would be good to enable a way to visualize fields in semi-infinite lattices too.

A flexible way would be to allow a method vlplot(h::Hamiltonian{LA,L}, field::AbstractVector{<:Pair{NTuple{L,Int}}}) that accepts things like field = [(1,1) => [amplitudes at cell (1,1)...], (1,2) => ...]. Then, vlplot would plot the cells contained in field with their specific fields.

One problem with this is that there is no way to indicate where the boundaries are, or where to represent the shaded cells that represent the unbounded direction. Perhaps that could be solved by passing a boundaries kwarg similar to the one for greens, and have vlplot compute a bounding box that includes the boundaries. Another, more natural way, would be to include cells to be shaded inside field in some way.

However, I think it would be best to not overcomplicate things and forego shading of open cells. Ultimately, we want this to encode information about the field, of which we know nothing in unspecified cells, so nothing should be plotted there, probably. At most, we could allow an opacity directive that depends on the cell variable

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant