In this tutorial we will see how to calculate quantum and optical properties of a AlGaN/GaN LED diode with three GaN quantum wells.
First of all, strain and polarization fields are calculated for this wurtzite heterostructure, then an increasing bias is applied to the diode until conduction regime is reached. Schroedinger equation is solved, with a single-band effective mass model for conduction band and with a 6-band k.p model for valence band. Eigenvalues and eigenfunctions are calculated to get energy levels and wavefunctions in the three quantum wells; then k.p optical matrix elements are calculated and used to find the emission spectrum, which finally is integrated in k-space.
In order to execute correctly the example you should have the following files in the same working directory:
led_spectrum.tib : input file for TiberCAD
led_spectrum.msh : mesh file produced by GMSH from the script led_spectrum.geo
Let's see the input file:
After a buffer n-doped AlGaN layer (Region n-AlGaN ), a Al0.78InN barrier layer is present (Region AlInN), then a series of three AlGaN/GaN quantum wells, each 2 nm-wide.
The AlGaN barriers are described with several Regions, in order to distinguish regions where quantum calculations will be applied.
For example, the Region AlGaN_barrier_quantum comprises all the GMSH mesh regions corresponding to barrier layers and which will be associated to quantum calculations:
Region AlGaN_barrier_quantum
{
mesh_regions = (algan_barr_quantum1, algan_barr_quantum2, algan_barr_quantum3)
structure = wz
y-growth-direction = (1,0,-1,0)
z-growth-direction = (-1,2,-1,0)
x-growth-direction = (0,0,0,1)
mat = AlGaN
x = 0.2
doping = 3e18
doping_type = donor
doping_level = 0.025
}
Region GaN_QWell
{
mesh_regions = (GaN_QW1, GaN_QW2, GaN_QW3)
structure = wz
y-growth-direction = (1,0,-1,0)
z-growth-direction = (-1,2,-1,0)
x-growth-direction = (0,0,0,1)
material = GaN
doping = 1e15 # intrinsic !!
doping_type = donor #
# doping_level = 0.025
}
Region p_AlGaN
{
structure = wz
y-growth-direction = (1,0,-1,0)
z-growth-direction = (-1,2,-1,0)
x-growth-direction = (0,0,0,1)
material = AlGaN
x = 0.250
doping = 3e19
doping_type = acceptor
doping_level = 0.170 g = 4 #p-doped Mg : Ea=170 meV
}
Cluster Quantum_1
{
mesh_regions = (algan_barr_quantum1,GaN_QW1)
}
Quantum_1 collects the regions related to the first quantum well.
Cluster Quantum_2
{
mesh_regions = (algan_barr_quantum2, GaN_QW2 )
}
Cluster Quantum_3
{
mesh_regions = (algan_barr_quantum3,GaN_QW3, i_AlGaN1_quantum)
}
Quantum_2 and Quantum_3 collect respectively the mesh regions related to the second and to the third quantum well.
A simulation model for drift-diffusion calculation is defined.
Physical models for srh recombination and direct (radiative) recombination are declared inside it.
physical_model recombination
{
model = direct
C = 0.47e-10 # GaN
}
A macrostrain simulation (simulation_name = strain) is defined with a boundary condition located in the AlGaN substrate (BC_Region n_contact ).
For the quantum calculations, we define several efaschroedinger model simulations, two (one for electrons and one for holes) for each quantum well.
model efaschroedinger
{
options
{
simulation_name = QW1_electrons
physical_regions = Quantum_1
}
}
model efaschroedinger
{
options
{
simulation_name = QW1_holes
physical_regions = Quantum_1
}
}
.................................
To each simulation, one Cluster is associated, for example
physical_regions = Quantum_1 for simulations QW1_electrons and QW1_holes.
In Solver section, we set Dirichlet b.c. and number_of_eigenstates = 20:
efaschroedinger
{
x-periodicity = false
Dirichlet_bc_everywhere = true # if false -> Neumann everywhere
number_of_eigenstates = 20 #60 #30
poisson_model_name = driftdiffusion # potential from driftdiffusion
strain_model_name = macrostrain
convergent_density = true
log_output= false
}
These settings are valid for all the efaschroedinger simulations; each simulation, instead, needs the proper particle specification (el or hl)
QW1_electrons
{
particle = el
}
QW1_holes
{
particle = hl
} In $Physics, we choose to use single-band model for conduction band:
QW1_electrons
{
particle = el
model = conduction_band #eff mass cb
} and 6x6 kp model for valence bands
QW1_holes
{
particle = hl
model = kp # k.p for valence band
kp_model = 6x6
}
For the optical properties, a simulation of the model opticskp is to be defined:
simulation_name = optics,
for one of the quantum clusters (in this case physical_regions = Quantum_3).
model opticskp
{
options
{
simulation_name = optics
physical_regions = Quantum_3 # ( 8,9,10 ) # 6,7 # 4,5
}
} We want to calculate the (k-space integrated) optical spectrum, so we need an opticalspectrum simulation :
model opticalspectrum
{
options
{
simulation_name = spectrum
}
}
In Solver section, we specify, in optics block:
initial_state_model = QW3_electrons, final_state_model = QW3_holes), which give the electron and hole states used in optical calculations; initial_eigenstates = (0, 19), final_eigenstates = (0, 19)
optics
{
initial_state_model = QW3_electrons # quantum_el
final_state_model = QW3_holes # quantum_hl
initial_eigenstates = (0, 19)
final_eigenstates = (0, 19)
}
As for optical spectrum calculation, we need to specify several information for spectrum simulation:
k_space_dimension = 2) and corresponding k vectorsrefine_fraction, number_of_nodes , etc.)optical_matr_elem_model = optics)Emin, Emax, dE) for the spectrum calculation
spectrum
{
k_space_dimension = 2
k-space_basis = true
k1 = (0, 0, 0.1)
k2 = (0, 0.1, 0)
refine_fraction = 0.30 # 1.0 # 0.30 # 0.20 1.0 -> uniform refinement !!
relative_accuracy = 0.01 # 0.07 # 0.01
refine_k_space = true
number_of_nodes = (2,2) # 4 4 nodes = numb. of elememts in k mesh, along x and y
wedge = quarter
optical_matr_elem_model=optics
polarization = (0, 0, 1)
Emin = 3.0
Emax = 5.0
dE = 0.001
}
In Simulation section we define the flow scheme of our calculations:
solve = (strain, sweep, QW3_electrons,QW3_holes, spectrum)
First we run strain simulation, to get deformation potentials and piezopolarization, than a sweep on drift-diffusion, until the diode is in conduction, than quantum efa calculations are performed (QW3_electrons, QW3_holes), to get the states in the third quantum well, which are finally used in optical calculations (spectrum, which by itself runs the opticskp model simulation as defined in Solver section).
tibercad led_spectrum.tib
As usual, we get the output files for drift-diffusion
and for strain:
for quantum:
First conduction band state (left) and valence band state (right) in the third quantum well.
Finally, since the plot variables optical_spectrum and k-space are defined, we get the output files

| Attachment | Size |
|---|---|
| led_spectrum.geo | 2.34 KB |
| led_spectrum.tib | 8.83 KB |
| led_spectrum.msh | 113.14 KB |