# 1D - Doping in Heterostructure¶

Attention

This tutorial is under construction

The sample input file for this tutorial is:

• basics_1D_doping_heterostructure.in

This tutorial is an example of defining a heterostructure with multiple doping regions (Figure 2.5.1.20). The device structure is shown in Figure 2.5.1.20.

Specifying the structure

Inside the group structure{}, we’ve separated the code into two blocks. In the first we defined material regions, and in the second we added doping.

42    # ---------
43    # materials
44    # ---------
45
46    region{
47        ternary_constant{                   # constant alloy composition
48            name = "In(x)Ga(1-x)As"         # material: InGaAs
49            alloy_x = 0.5                   # alloy composition
50        }
51        contact{ name = whatever }          # contact definition
52        everywhere{}                        # ranging over the complete device, from x=0.0 nm to x=1503.0 nm
53    }
54
55    region{
56        ternary_constant{                   # constant alloy composition
57            name = "AlAs(x)Sb(1-x)"         # material: AlAsSb
58            alloy_x = 0.85                  # alloy composition
59        }
60        line{ x = [ 300.0, 488.0] }         # overwriting InGaAs in the interval from x = 300.0 nm to  x=488.0 nm
61    }
62
63    region{
64        ternary_constant{                   # constant alloy composition
65            name = "Al(x)In(1-x)As"         # material: AlInAs
66            alloy_x = 0.5                   # alloy composition
67        }
68        line{ x = [ 488.0, 1493.0] }        # overwriting InGaAs in the interval from x = 388.0 nm to x=1493.0 nm
69    }
70
71    region{
72        quaternary_constant{                # constant alloy composition
73            name = "Al(x)Ga(y)In(1-x-y)As"  # material: AlGaInAs
74            alloy_x = 0.4                   # alloy composition
75            alloy_y = 0.2                   # alloy composition
76        }
77        line{ x = [ 593.0, 1193.0] }        # overwriting AlInAs in the interval from x = 593.0 nm to x=1193.0 nm
78    }
79
80    region{
81        ternary_constant{                   # constant alloy composition
82            name = "In(x)Ga(1-x)As"         # material: InGaAs
83            alloy_x = 0.5                   # alloy composition
84        }
85        line{ x = [ 643.0, 1143.0] }        # overwriting AlInAs in the interval from x = 643.0 nm to x=1143.0 nm
86    }


There are often many ways to create a desired structure. However, utilizing the symmetry of a structure can sometimes simplify things. In the code above we for example, we try to omit defining each material layer separately. Instead, we defined the outer material layers as one region and then overwriting it inside by the next inner layers. Thus, we do not have to define the two InGaAs or InAlGaAs regions separately.

 88    # ------
89    # doping
90    # ------
91
92    region{                             # region for adding doping
93        line{ x = [0.0, 300.0]}         # position: x=0.0 nm to 300.0 nm
94
95        doping{
96            constant{                   # constant doping concentration profile
97                name = "n-type-doping"  # name of impurity
98                conc = 1.0e19           # doping concentration [cm-3]
99            }
100        }
101    }
102
103    region{                             # region for adding doping
104        line{ x = [300.0, 400.0]}       # position: x=300.0 nm to 400.0 nm
105        doping{
106            constant{                   # constant doping concentration profile
107                name = "n-type-doping"  # name of impurity
108                conc = 5.0e18           # doping concentration [cm-3]
109            }
110        }
111    }
112
113    region{                             # region for adding doping
114        line{ x = [440.0, 484.0]}       # position: x=440.0 nm to 484.0 nm
115        doping{
116            constant{                   # constant doping concentration profile
117                name = "p-type-doping"  # name of impurity
118                conc = 1.0e18           # doping concentration [cm-3]
119            }
120        }
121    }
122
123    region{                             # region for adding doping
124        line{ x = [534.0, 589.0]}       # position: x=534.0 nm to 589.0 nm
125        doping{
126            constant{                   # constant doping concentration profile
127                name = "p-type-doping"  # name of impurity
128                conc = 5.0e18           # doping concentration [cm-3]
129            }
130        }
131    }
132
133    region{                             # region for adding doping
134        line{ x = [1193.0, 1493.0]}     # position: x=1193.0 nm to 1493.0 nm
135        doping{
136            constant{                   # constant doping concentration profile
137                name = "p-type-doping"  # name of impurity
138                conc = 5.0e18           # doping concentration [cm-3]
139            }
140        }
141    }
142
143    region{                             # region for adding doping
144        line{ x = [1493.0, 1503.0]}     # position: x=1493.0 nm to 1503.0 nm
145        doping{
146            constant{                   # constant doping concentration profile
147                name = "p-type-doping"  # name of impurity
148                conc = 1.0e19           # doping concentration [cm-3]
149            }
150        }
151    }


We define each doping region one at a time: first n-type regions and then p-type regions.

Specify impurity species

155impurities{ # required if doping exists
156    donor{                      # select the species of dopants
157        name = "n-type-doping"  # select doping regions with name = "n-type-doping"
158        energy = 0.045          # ionization energy of dopants
159        degeneracy = 2          # degeneracy of dopants
160    }
161    acceptor{                   # select the species of dopants
162        name = "p-type-doping"  # select doping regions with name = "p-type-doping"
163        energy = 0.045          # ionization energy of dopants
164        degeneracy = 4          # degeneracy of dopants
165    }
166}


Please help us to improve our tutorial. If you have any questions or comments, create a ticket here.