... | ... | @@ -43,13 +43,13 @@ the following questions about the camel backs in the valence band: |
|
|
`kdotpy` is registered as a command that can be used from the command line
|
|
|
without further setup. Then, you can simply run
|
|
|
```sh
|
|
|
$ kdotpy 2d
|
|
|
kdotpy 2d
|
|
|
```
|
|
|
with some extra arguments that we will get into shortly.
|
|
|
|
|
|
Alternatively, use
|
|
|
```sh
|
|
|
$ python3 -m kdotpy 2d
|
|
|
python3 -m kdotpy 2d
|
|
|
```
|
|
|
followed by the extra arguments.
|
|
|
|
... | ... | @@ -61,7 +61,7 @@ the following questions about the camel backs in the valence band: |
|
|
for which we use the option `8o`. Alternatively `6o` for six orbitals may be used.
|
|
|
Let us also specify that we do not want to use the axial approximation by entering `noax`.
|
|
|
```sh
|
|
|
$ kdotpy 2d 8o noax
|
|
|
kdotpy 2d 8o noax
|
|
|
```
|
|
|
|
|
|
3. Let us now enter the substrate material and 'layer stack'. We use `msubst`
|
... | ... | @@ -69,7 +69,7 @@ the following questions about the camel backs in the valence band: |
|
|
the layer thicknesses. We also enter the resolution of the discretization in
|
|
|
the z (growth) direction with `zres`; 0.25 nm is a good value to start with.
|
|
|
```sh
|
|
|
$ kdotpy 2d 8o noax msubst CdZnTe 4% mlayer HgCdTe 68% HgTe HgCdTe 68% llayer 10 7 10 zres 0.25
|
|
|
kdotpy 2d 8o noax msubst CdZnTe 4% mlayer HgCdTe 68% HgTe HgCdTe 68% llayer 10 7 10 zres 0.25
|
|
|
```
|
|
|
Note that we have taken the barriers to be 10 nm thick. Usually, even if the
|
|
|
barriers are much larger in reality, setting the thickness to 10 nm gives an
|
... | ... | @@ -81,7 +81,7 @@ the following questions about the camel backs in the valence band: |
|
|
momentum axis, symmetric around zero, with `k -0.6 0.6 / 60`. The axis has a 45 degree
|
|
|
angle with the kx axis, hence we enter `kphi 45`.
|
|
|
```sh
|
|
|
$ kdotpy 2d 8o noax msubst CdZnTe 4% mlayer HgCdTe 68% HgTe HgCdTe 68% llayer 10 7 10 zres 0.25 k -0.6 0.6 / 60 kphi 45
|
|
|
kdotpy 2d 8o noax msubst CdZnTe 4% mlayer HgCdTe 68% HgTe HgCdTe 68% llayer 10 7 10 zres 0.25 k -0.6 0.6 / 60 kphi 45
|
|
|
```
|
|
|
More detailed information [here](reference/vectors-and-ranges).
|
|
|
|
... | ... | @@ -91,33 +91,33 @@ It looks promising, but let us improve the result. |
|
|
|
|
|
5. The default energy range is [-100, 100] meV. Let us zoom in a bit with `erange -80 0`.
|
|
|
```sh
|
|
|
$ kdotpy 2d 8o noax msubst CdZnTe 4% mlayer HgCdTe 68% HgTe HgCdTe 68% llayer 10 7 10 zres 0.25 k -0.6 0.6 / 60 kphi 45 erange -80 0
|
|
|
kdotpy 2d 8o noax msubst CdZnTe 4% mlayer HgCdTe 68% HgTe HgCdTe 68% llayer 10 7 10 zres 0.25 k -0.6 0.6 / 60 kphi 45 erange -80 0
|
|
|
```
|
|
|
|
|
|
6. If we would like to get curves instead of dots, the [band alignment algorithm](features/band-alignment) needs to be able to connect them. Here, this fails because of band degeneracy. We split the degeneracy using `split 0.01`. The value 0.01 (in meV) hardly ever needs to be changed. Omitting this option is usually not advisable.
|
|
|
```sh
|
|
|
$ kdotpy 2d 8o noax msubst CdZnTe 4% mlayer HgCdTe 68% HgTe HgCdTe 68% llayer 10 7 10 zres 0.25 k -0.6 0.6 / 60 kphi 45 erange -80 0 split 0.01
|
|
|
kdotpy 2d 8o noax msubst CdZnTe 4% mlayer HgCdTe 68% HgTe HgCdTe 68% llayer 10 7 10 zres 0.25 k -0.6 0.6 / 60 kphi 45 erange -80 0 split 0.01
|
|
|
```
|
|
|
|
|
|
7. Let us colour the states using the orbital degree of freedom. We set this by `obs orbitalrgb`. We also include the figure legend with `legend`.
|
|
|
```sh
|
|
|
$ kdotpy 2d 8o noax msubst CdZnTe 4% mlayer HgCdTe 68% HgTe HgCdTe 68% llayer 10 7 10 zres 0.25 k -0.6 0.6 / 60 kphi 45 erange -80 0 split 0.01 obs orbitalrgb legend
|
|
|
kdotpy 2d 8o noax msubst CdZnTe 4% mlayer HgCdTe 68% HgTe HgCdTe 68% llayer 10 7 10 zres 0.25 k -0.6 0.6 / 60 kphi 45 erange -80 0 split 0.01 obs orbitalrgb legend
|
|
|
```
|
|
|
|
|
|
8. We add subband character labels with `char`.
|
|
|
```sh
|
|
|
$ kdotpy 2d 8o noax msubst CdZnTe 4% mlayer HgCdTe 68% HgTe HgCdTe 68% llayer 10 7 10 zres 0.25 k -0.6 0.6 / 60 kphi 45 erange -80 0 split 0.01 obs orbitalrgb legend char
|
|
|
kdotpy 2d 8o noax msubst CdZnTe 4% mlayer HgCdTe 68% HgTe HgCdTe 68% llayer 10 7 10 zres 0.25 k -0.6 0.6 / 60 kphi 45 erange -80 0 split 0.01 obs orbitalrgb legend char
|
|
|
```
|
|
|
|
|
|
9. We choose a label for the filenames `out -7nm` and the folder where the files should go `outdir data-qw`.
|
|
|
```sh
|
|
|
$ kdotpy 2d 8o noax msubst CdZnTe 4% mlayer HgCdTe 68% HgTe HgCdTe 68% llayer 10 7 10 zres 0.25 k -0.6 0.6 / 60 kphi 45 erange -80 0 split 0.01 obs orbitalrgb legend char out -7nm outdir data-qw
|
|
|
kdotpy 2d 8o noax msubst CdZnTe 4% mlayer HgCdTe 68% HgTe HgCdTe 68% llayer 10 7 10 zres 0.25 k -0.6 0.6 / 60 kphi 45 erange -80 0 split 0.01 obs orbitalrgb legend char out -7nm outdir data-qw
|
|
|
```
|
|
|
**Note**: If `outdir` is omitted, the files will end up in the subfolder `data` if it exists, and in the current folder otherwise.
|
|
|
|
|
|
10. Finally, we add the post-processing option `localminmax`.
|
|
|
```sh
|
|
|
$ kdotpy 2d 8o noax msubst CdZnTe 4% mlayer HgCdTe 68% HgTe HgCdTe 68% llayer 10 7 10 zres 0.25 k -0.6 0.6 / 60 kphi 45 erange -80 0 split 0.01 obs orbitalrgb legend char out -7nm outdir data-qw localminmax
|
|
|
kdotpy 2d 8o noax msubst CdZnTe 4% mlayer HgCdTe 68% HgTe HgCdTe 68% llayer 10 7 10 zres 0.25 k -0.6 0.6 / 60 kphi 45 erange -80 0 split 0.01 obs orbitalrgb legend char out -7nm outdir data-qw localminmax
|
|
|
```
|
|
|
|
|
|
### The result ###
|
... | ... | |