Crystal Coordinate Systems¶
For zinc-blende materials there are three-digit Miller indices. The Miller indices define a plane. There exists a vector that is perpendicular to this plane, e.g. in zinc blende blende materials, the [hkl] vector is always perpendicular to the (hkl) plane. However, for wurtzite, this is not necessarily true. For instance, although the [0001] vector is perpendicular to the (0001) plane, in general is does not hold that the vector that is perpendicular to the (hkil) plane is defined by [hkil]. Note: For a 1D simulation, the heterostructure is always grown along the x axis. For a 2D simulation, always the (x,y) plane is used.
Zinc blende
crystal_zb{ x_hkl = [1, 0, 0] # Specify (hkl) plane perpendicular to x axis y_hkl = [0, 1, 0] # Specify (hkl) plane perpendicular to y axis
The x axis of the simulation coordinate system is perpendicular to this (hkl) plane of the crystal, here: (1 0 0). The y axis of the simulation coordinate system is perpendicular to this (hkl) plane of the crystal, here: (0 1 0). The Miller indices (here: (0 0 1)) for the z axis are determined automatically. For zinc blende it holds: The vector [hkl] is perpendicular to the (hkl) plane.
Another example:
crystal_zb{ x_hkl = [3, 1, 1] # y_hkl = [0, -1, 1] #
x axis of simulation coordinate system is perpendicular to (3 1 1) plane of crystal coordinate system, i.e. the x axis is along [311] direction. y axis of simulation coordinate system is perpendicular to (0 -1 1 ) plane of crystal coordinate system, i.e. the y axis is along [0-11] direction. The Miller indices (here: [2, -3, -3]) for the z axis are determined automatically, i.e. (2 -3 -3) plane, i.e. the z axis is along [311] direction.
Wurtzite
Usually for wurtzite, the four-digit Miller-Bravais indices (h k i l) are used.
We also use this notation but omit the ‘i’ because i = - h - k.
The three integer values (Miller indices) that are given for x_hkl
refer to a plane and not to a direction.
The x direction is then the one that is perpendicular to this plane.
This vector along the x axis has indices that are in general not identical to the Miller indices in wurtzite.
crystal_wz{ # e.g. hexagonal [0001] axis along x axis x_hkl = [ 0, 0, 1] # Specify (hkil) plane perpendicular to x axis: ( 0, 0, 0, 1) y_hkl = [ 1, 0, 0] # Specify (hkil) plane perpendicular to y axis: ( 1, 0, -1, 0)
This corresponds to the four-digit Miller-Bravais indices hkil = ( 0, 0, 0, 1) that define the (hkil)=(0001) plane. Coincidently, the vector [0001] is pependicular to it. This corresponds to the four-digit Miller-Bravais indices hkil = ( 1, 0, -1, 0) that define the (hkil)=(10-10) plane. The Miller-Bravais indices for the (hkil) plane perpendicular to the z axis are determined automatically inside the code (here: (-1 2 -1 0)).
Another example:
crystal_wz{ # e.g. (10-10) plane is perpendicular to x axis x_hkl = [ 1, 0, 0] # hkil = ( 1, 0, -1, 0) y_hkl = [-1, 2, 0] # hkil = (-1, 2, -1, 0)
This corresponds to the four-digit Miller-Bravais indices hkil = ( 1, 0, -1, 0) that define the (hkil)=(10-10) plane. The x axis of the simulation coordinate system is perpendicular to this plane. This corresponds to the four-digit Miller-Bravais indices hkil = (-1, 2, -1, 0) that define the (hkil)=(-12-10) plane. The y axis of the simulation coordinate system is perpendicular to this plane. The Miller-Bravais indices of the (hkil) plane perpendicular to the z axis are determined automatically inside the code (here: (0001)). Coincidently, the vector [0001] is pependicular to it. In this particular case, no rotation has to be applied to the crystal (rotation matrix = identity matrix).
crystal_wz{ ... rotation_c_a_ratio_use_substrate = yes # (default: yes) rotation_c_a_ratio = 1.63299 # c/a ratio
In wurtzite, the c/a ratio of the two lattice constants ‘c’ and ‘a’ is important.
The ideal one, \(c/a=\sqrt{8/3}=1.63299...\), is not the one present in GaN, AlN or InN, i.e. in real materials.
For the rotation of the crystal coordinate system to the simulation coordinate system, a specific c/a ratio has to be assumed.
By default, we use the one of the substrate material.
If you want to use the ideal c/a ratio, you have to specify rotation_c_a_ratio_use_substrate = no
.
Additionally, one can specify a custom value for the c/a ratio.
If no customized value is specified, rotation_c_a_ratio = sqrt(8/3)
(default).
The actually used rotation matrix is written to the log file.
x_hkl = [ ., ., .] y_hkl = [ ., ., .] z_hkl = [ ., ., .]
Exactly two of these three axes have to be specified, the third one is calculated internally.