-
Notifications
You must be signed in to change notification settings - Fork 8
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
hamiltonian
ignores some hopping terms
#167
Comments
The reason is that your
And the explanation: when you don't specify a I trust you know that the above example is unnecessarily verbose, and can be written much more succintly, yes? I'm glad you're back to playing with Quantica, by the way! |
Thanks for the clarification!
Yes, I am aware of that. I was just trying to understand how one could define Hamiltonians in a less "automagical" way. |
This is indeed one possibility that I considered, but I'm not sure it is what you want as default behavior in general. Imagine your cell has many orbitals. Do you want the default |
I was toying with the idea of designing a |
This could, by the way, join a |
Closing, but feel free to continue the conversation. I will reopen if you convince me there is something that should change in the default |
Hi Pablo. Thank you for the explanation! You have convinced me that the current default makes the most sense. The problem was that in my mind, (in a single orbital per site model) the sublattice completely specified the Wannier orbital. That is, in a Hamiltonian of the form I was thinking that sublattice = alpha, while in Quantica, alpha = (sublattice, site in sublattice, orbital in site). Am I correct?
I think the functional approach equally works. It is just a matter of being familiar with it. This brings another issue to my mind, but it is better to move the conversation to another place. |
As we were discussing in #172, alpha is actually a unique site index (an integer), not a triple, and h^{α,β} is an SMatrix over the orbitals in sites α and β. The reason to store things like this, internally, is to make the most of the information we have on a specific model (i.e. we pack interorbital blocks together, because they tend to be dense, while we keep the matrix h itself sparse) while keeping within the limitations of Julia design (e.g. well-defined eltypes of arrays). |
Makes sense. Thank you for the clarification |
I am trying to define the nearest neighbour TB model for graphene, without using any of the presets.
I define a lattice and a model as:
I get this:
There are 3 harmonics (I was expecting 5). When I inspect the harmonics, I get
The hoppings along the directions
dn = (1, 0)
anddn = (-1, 0)
were not included.Why is that?
The text was updated successfully, but these errors were encountered: