Interpolation of 2-component alloys¶
Attention
This tutorial is under construction
Header¶
- Input Files:
Interpolation_In(x)Ga(1-x)As_1D_nnp.in
- Scope of the tutorial:
- Main adjustable parameters in the input file:
parameter
$interpolation
parameter
$strain
- Relevant output files:
bias_00000\bandedges.dat
Introduction¶
In Interpolation schemes, you can see how to introduce interpolations in your simulation system. This tutorial helps you understand that more through plotting band offsets of a ternary compound In(x)Ga(1-x)As with the different interpolation schemes.
Band offsets also provides with some insights into how to define band offsets, which is related to this tutorial.
How to set up simulations and why¶
First, we define structure{} to build our simulation system.
35structure{
36 region{
37 ternary_linear{ # the composition x of In(x)Ga(1-x)As varies linearly
38 name = $material
39 alloy_x = [0.0, 1.0] # vary x from 0.0 to 1.0 in In(x)Ga(1-x)As
40 x = [$xmin, $xmax] # x coordinate of start and end point (nm)
41 }
42 line{
43 x = [$xmin, $xmax] # In(x)Ga(1-x)As exists from 0.0 to 1.0 along the x direction
44 }
45 contact{
46 name = edge # This region will be defined as a contact. In this case, the contact is called "edge"
47 }
48
49
50}
As a result, pure GaAs exists at \(x = 0~(nm)\) and pure InAs exists at \(x = 1~(nm)\). The composition varies linealy respect to x coordinate (nm).
Next, we consider what outputs to obtain from the simulation. We want to know the band offsets of In(x)Ga(1-x)As, therefore, we need the syntax classical{}.
55classical{
56 Gamma{} # a conduction band with a minimum at Gamma point
57 HH{} # a heavy-hole valence band with a minimum at Gamma point
58 LH{} # a light-hole valence band with a minimum at Gamma point
59 SO{} # a split-off valence band with a minimum at Gamma point
60 output_bandedges{} # obtain band edges above
61 output_bandgap{} # obtain a band gap energy (optional)
62}
The result is folded inside bias_00000\bandedges.dat.
We also have to initialize the poisson condition in poisson{}. We do not want to apply an electric field to the simulation because it affects the band offsets. Therefore, we explicitly define no electric field in the simulation.
65poisson{
66 electric_field { strength = 0 }
67}
If you use charge_neutral{}
instead, it causes an electric field to require charge neutrality at all grid points. You can get more information in poisson{}
Lastly, we introduce strain effects into the system. The strain is caused by the mismatch of lattice constants between the substrate InP and In(x)Ga(1-x)As. We assume that the strain is homogeneous.
Thus, we use pseudomorphic_strain{}
here.
8$STRAIN = 0 # Choose strain option: 1: include strain, 0: do not include strain (ListOfValues: 0, 1)
69strain{
70 pseudomorphic_strain{}
71}
To ignore the strain, we use $STRAIN
. If $STRAIN = 1
, we take account into strain. If $STRAIN = 0
, we do not.
73run{
74!IF($STRAIN)
75 strain{}
76!ENDIF
77}
This is necessary to calculate strain effects. We will see the strain effects to the band offsets of In(x)Ga(1-x)As at the end of this tutorial. Refer to strain{} for further information.
Interpolations¶
We have three interpolation schemes, according to Interpolation schemes. Note that material parameters \(P_{ABC}(x)\), \(P_{AC}\), and \(P_{BC}\) correspond to the ones of In(x)Ga(1-x)As, pure InAs and pure GaAs, respectively.
Linear - no bowing¶
In this scheme, the material parameter \(P_{ABC}(x)\) is represented as follows,
This formula means that all material parameters of In(x)Ga(1-x)As are independent of a bowing parameter. There are three necessary material parameters (the energy gap \(E_{g}^{\Gamma}\), the average energy of three top valence bands \(E_{v,av}\), and the spin-orbit splitting energy \(\Delta_{so}\) ) to obtain band offsets of In(x)Ga(1-x)As (Band offsets).
Therefore, for example, in terms of the energy gap (\(E_{g,InGaAs}^{\Gamma}\)), the following formula holds.
This is also true for the other two parameters (\(E_{v,av}\) and \(\Delta_{so}\)).
We need to define those parameters of InAs and GaAs with database{}
.
81database{
82 binary_zb{
83 name = InAs
84 conduction_bands{
85 Gamma{
86 bandgap = 0.417 # E_{g,InAs}^{Gamma}, Vurgaftman1 (0 K)
87 bandgap_alpha = 0.276e-3 # Vurgaftman1
88 bandgap_beta = 93 # Vurgaftman1
89 }
90 }
91 valence_bands{
92 bandoffset = 1.390 # E_{v,av,InAs}, A. Zunger
93 delta_SO = 0.39 # Delta_{so,InAs}, Vurgaftman1
94 }
95 # All the material parameters of InAs here (equivalent to P_InAs)
96 }
97 binary_zb{
98 name = GaAs
99 conduction_bands{
100 Gamma{
101 bandgap = 1.519 # E_{g,GaAs}^{Gamma}, Vurgaftman1 (0 K)
102 bandgap_alpha = 0.5405e-3 # Vurgaftman1
103 bandgap_beta = 204 # Vurgaftman1
104 }
105 }
106 valence_bands{
107 bandoffset = 1.346 # E_{v,av,GaAs}, A. Zunger
108 delta_SO = 0.341 # Delta_{so,GaAs}, Vurgaftman1
109 }
110 # All the material parameters of InAs here (equivalent to P_GaAs)
111 }
Then, we further define bowing parameters, which are all 0
in linear interpolation, inside database{}
as well.
118 ternary_zb{
119 name = "In(x)Ga(1-x)As"
120 valence = III_V
121 binary_x = InAs
122 binary_1_x = GaAs
123
124 conduction_bands{
125 Gamma{
126 bandgap = 0.0 # set to 0 deliberately
127 }
128 }
129 valence_bands{
130 bandoffset = 0.0 # set to 0 deliberately
131 delta_SO = 0.0 # set to 0 deliberately
132 }
133 # All bowing parameters are set to 0 in linear interpolation
134 }
The original database file (default: database_nnp.in) that nextnanomat refers to has data about In(x)Ga(1-x)As, thus, it is automatically adopted and overwrites your database unless you explicitly define that they are equivalent to 0
. Therefore, you have to check the original database and how the bowing parameters of materials are defined before you define them by your own.
Quadratic - constant bowing¶
In this scheme, the material parameter \(P_{ABC}(x)\) is represented as follows,
\(b_{InGaAs}\) is a constant bowing parameter and we have to define it inside database{}
in this case.
We also have to define parameters \(P_{InAs}\) and \(P_{GaAs}\) as well as in the linear scheme.
81database{
82 binary_zb{
83 name = InAs
84
85 # All the material parameters of InAs here (equivalent to P_InAs) as well as in the linear scheme
86 }
87 binary_zb{
88 name = GaAs
89
90 # All the material parameters of InAs here (equivalent to P_GaAs) as well as in the linear scheme
91 }
Then, we define constant bowing parameters \(b_{InGaAs}\) as follows.
141 ternary_zb{
142 name = "In(x)Ga(1-x)As"
143 valence = III_V
144 binary_x = InAs
145 binary_1_x = GaAs
146
147 conduction_bands{
148 Gamma{
149 bandgap = 0.477 # Vurgaftman1
150 }
151 }
152 valence_bands{
153 bandoffset = -0.43 # the band offset (=average valence band edge energy)
154 delta_SO = 0.15 # Vurgaftman1
155 }
156 # All bowing parameters are constant in quadratic interpolation
157 }
Here, some necessary parameters to describe band offsets, for example \(E_{g,InGaAs}^{\Gamma}\), is represented as follows,
\(b_{InGaAs}\) is the bowing parameter for the band gap and defined in the code as Gamma{ bandgap = 0.477}
.
This is true for the other two parameters (\(E_{v,av}\) and \(\Delta_{so}\)) as well.
Cubic - composition-dependent bowing¶
In this scheme, the material parameter \(P_{ABC}(x)\) is represented as follows,
\(b_{InGaAs}(x)\) is a composition-dependent bowing parameter. The \(b_{In(x)Ga(1-x)As \rightarrow InAs}\) is a constant bowing parameter for nearly pure InAs (\(x =1\)), while the \(b_{In(x)Ga(1-x)As \rightarrow GaAs}\) is also a constant bowing parameter for nearly pure GaAs (\(x =0\)).
To define \(b_{In(x)Ga(1-x)As \rightarrow InAs}\), and \(b_{In(x)Ga(1-x)As \rightarrow GaAs}\), we need bowing_zb{}
.
Moreover, ternary2_zb{}
should be used to relate all the bowing parameters and the component materials (InAs and GaAs) for the alloy (In(x)Ga(1-x)As).
Again, note that we also have to define parameters \(P_{InAs}\) and \(P_{GaAs}\) as well as in the linear scheme.
81database{
82 binary_zb{
83 name = InAs
84
85 # All the material parameters of InAs here (equivalent to P_InAs) as well as in the linear scheme
86 }
87 binary_zb{
88 name = GaAs
89
90 # All the material parameters of InAs here (equivalent to P_GaAs) as well as in the linear scheme
91 }
Then, we define composition-dependent bowing parameters as follows.
As explained before, the original database has data about In(x)Ga(1-x)As. Therefore, we need ternary2_zb{}
to have a different name from the one in ternary_zb{}
to avoid duplication between them.
166 bowing_zb{
167 name = "InGaAs_Bowing_InAs"
168 valence = III_V
169 conduction_bands{
170 Gamma{
171 bandgap = 0.359 # b_In(x)Ga(1-x)As ---> b_InAs (x = 1)
172 }
173 }
174 valence_bands{
175 bandoffset = -0.43 # the band offset (=average valence band edge energy)
176 delta_SO = 0.15 # Vurgaftman1
177 }
178 }
179 bowing_zb{
180 name = "InGaAs_Bowing_GaAs"
181 valence = III_V
182 conduction_bands{
183 Gamma{
184 bandgap = 1.43 # b_In(x)Ga(1-x)As ---> b_GaAs (x = 0)
185 }
186 }
187 valence_bands{
188 bandoffset = -0.43 # the band offset (=average valence band edge energy)
189 delta_SO = 0.15 # Vurgaftman1
190 }
191 }
192 ternary2_zb{
193 name = "In(x)Ga(1-x)As_cubic" # rename to avoid duplication with data on the original database
194 valence = III_V
195 binary_x = InAs
196 binary_1_x = GaAs
197 bowing_x = InGaAs_Bowing_InAs # b_In(x)Ga(1-x)As ---> b_InAs (x = 1)
198 bowing_1_x = InGaAs_Bowing_GaAs # b_In(x)Ga(1-x)As ---> b_GaAs (x = 0)
199 }
Here, some necessary parameters to describe band offsets, for example \(E_{g,InGaAs}^{\Gamma}\), is represented as follows, As explained before,
\(b_{InGaAs}(x)\) is the bowing parameter for the bang gap and defined as the formula below on the Table 6.14 in [Adachi2009].
Therefore,
Because we do not have formulas for the bowing parameters for \(E_{v,av}\) and \(\Delta_{so}\), we define them as the same values between InAs and GaAs in the code above. This means that the two bowing parameters are constant and have the quadratic scheme for the valence bands.
Band offsets with the different schemes¶
According to the three schemes, which is explained above, we plot band offsets of In(x)Ga(1-x)As (Figure 2.5.2.4).
Figure 2.5.2.4 Band edges of In(x)Ga(1-x)As with a linear scheme in (a). (b) is with a quadratic scheme. (c) is with a cubic scheme. The band edges without strain are plotted with solid lines. The ones with strain are plotted with dotted lines.¶
Note that we define the bowing parameters for \(E_{v,av,InGaAs}(x)\) and \(\Delta_{so,InGaAs}(x)\) as constant in the cubic scheme, therefore valence bands in the scheme are plotted with the quadratic scheme instead. Without strain, \(E_{HH}\) and \(E_{LH}\) are degenerated in the all schemes. When strain is introduced due to the mismatch of lattice constants between the substrate InP and In(x)Ga(1-x)As, band edges are bent. This is because interpolations are executed first and then the strain is introduced to shift band energies.
Exercises¶
- Plot band offsets of Al(x)Ga(1-x)As with the following steps:
check the original database and how it is defined in it
plot them with the linear scheme
plot them with the quadratic scheme
plot them with the cubic scheme
introduce strain into the simulations and check the effects
You can get some clues to solve them in Interpolation schemes and Band offsets.