... | ... | @@ -20,8 +20,8 @@ be defined "on the fly" as it can now in Kwant-1. |
|
|
### Sites and Site Ordering
|
|
|
The low-level format just considers sites as integers. A concrete
|
|
|
implementation *may* provide a mapping from these integers to more
|
|
|
rich objects (as `FinalizedBuilder` does to high-level `Site` objects).
|
|
|
but this is not required by the low-level interface.
|
|
|
rich objects (as `kwant.builder.System` does to high-level `Site` objects).
|
|
|
but this mapping is not required by the low-level interface.
|
|
|
|
|
|
Sites are arranged in the following way:
|
|
|
|
... | ... | @@ -30,9 +30,11 @@ Sites are arranged in the following way: |
|
|
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~
|
|
|
site family "a" site family "b"
|
|
|
|
|
|
The site families are ordered by their number of orbitals. This means that the
|
|
|
low-level site families refer to a contiguous block of sites. This choice of
|
|
|
ordering has two advantages:
|
|
|
The site families are ordered by their number of orbitals. The order of site
|
|
|
families with the same number of orbitals is not defined by the low-level
|
|
|
interface; implementations may choose an order convenient for them. This means
|
|
|
that the low-level site families refer to a contiguous block of sites. This
|
|
|
choice of ordering has two advantages:
|
|
|
|
|
|
+ site families can be represented by 2 integers,
|
|
|
`(num_orbitals, first_site)`, as opposed to an integer and an
|
... | ... | |