Multiple quantum wells and finite superlattices

Author: Brandon Loke

This tutorial simulates a real layered structure with a finite number of quantum wells. The transition between a finite superlattice and a multiple quantum well system is also observed. This tutorial aims to reproduce the figures in Paul Harrison’s book “Quantum Wells, Wires and Dots” (Section 3.10, “Multiple Quantum Wells and Finite Superlattices”)

The input file used for this tutorial is

  • Superlattice_N_wells_nnp.in

The corresponding Jupyter Notebook for this tutorial can be found over here: MQW_Superlattices.ipynb.

Structure

The structure consists of N repeats of 4 nm GaAs wells and 4 nm Ga0.8Al0.2As quantum wells. This superlattice structure is sandwiched between 20 nm Ga0.8Al0.2As barriers.

We first define key variables, such as the well width, the right and left wall width, and the number of wells.

# Global constants
$TEMPERATURE                          = 300           # Temperature (DisplayUnit:K)(ListOfValues:270, 280, 290, 300, 310, 320, 330)

# Structure

$WELL_WIDTH                           = 10.0           # Width of the quantum well (DisplayUnit:nm)(HighlightInUserInterface)(ListOfValues:5.0, 6.0, 7.0, 8.0, 9.0)  (RangeOfValues:From=5.0,To=9.0,Step=1.0)
$BARRIER_WIDTH                        = 10.0           # Width of the barrier      (DisplayUnit:nm)(HighlightInUserInterface)(ListOfValues:7.0, 8.0, 9.0, 10.0, 11.0)(RangeOfValues:From=57.0,To=11.0,Step=1.0)
$NUMBER_OF_WELLS                      = 4              # number of quantum wells   (DisplayUnit:)(HighlightInUserInterface)(ListOfValues:4, 5, 6, 7, 8)(RangeOfValues:From=3,To=10,Step=1)

$SUPERLATTICE_WIDTH                   = $NUMBER_OF_WELLS * ( $BARRIER_WIDTH + $WELL_WIDTH ) - $BARRIER_WIDTH    # (DisplayUnit:nm)(DoNotShowInUserInterface)

$LEFT_BARRIER_WIDTH                       = 10            # Width of the Separate Confinement Heterostructure (SCH) (on the left) (DisplayUnit:nm)
$RIGHT_BARRIER_WIDTH                      = 10            # Width of the Separate Confinement Heterostructure (SCH) (on the right)(DisplayUnit:nm)

$FINE_GRID_SPACING                    = 0.1               # (DisplayUnit:nm)(ListOfValues:0.1, 0.5, 1.0)(DoNotShowInUserInterface)
$COARSE_GRID_SPACING                  = 1.0               # (DisplayUnit:nm)(ListOfValues:0.5, 1.0, 5.0)(DoNotShowInUserInterface)

# Materials and doping
$ALLOY_X = 0.8

Following this, we are able to generate the structure of the GaAs/Ga0.8Al0.2As superlattice under structure{}. The keywords array_x{} duplicate the structure in the x-direction to give us the number of wells required.

region{                                            # LEFT WALL
   line{
      x = [-$LEFT_BARRIER_WIDTH,   0]
   }
   ternary_constant{
      name     = "Ga(x)Al(1-x)As"                  # Ga0.8Al0.2As
      alloy_x  = $ALLOY_X
   }
}

# SUPERLATTICE

region{                                            # Barrier
   array_x{
      shift          = $BARRIER_WIDTH + $WELL_WIDTH
      max            = $NUMBER_OF_WELLS - 1
   }
   line{
      x = [0,   $BARRIER_WIDTH]
   }
   binary{
      name     = "GaAs"
   }
}
region{                                            # Quantum well
   array_x{
      shift          = $BARRIER_WIDTH + $WELL_WIDTH
      max            = $NUMBER_OF_WELLS - 2
   }
   line{
      x = [$BARRIER_WIDTH,   $BARRIER_WIDTH + $WELL_WIDTH]
   }
   ternary_constant{
      name     = "Ga(x)Al(1-x)As"
      alloy_x  = $ALLOY_X
   }
}
region{                                            # RIGHT WALL
   line{
      x = [$SUPERLATTICE_WIDTH,   $SUPERLATTICE_WIDTH + $RIGHT_BARRIER_WIDTH]
   }
   ternary_constant{
      name    = "Ga(x)Al(1-x)As"
      alloy_x = $ALLOY_X
   }
}

Simulation Settings

Under quantum{}, we specify

quantum {
   region{
       name = "quantum_region"
       x = [                         - $LEFT_BARRIER_WIDTH, $SUPERLATTICE_WIDTH + $RIGHT_BARRIER_WIDTH ]                         # Schrödinger equation is solved only in region of LEFT WALL + SUPERLATTICE + RIGHT WALL

       boundary{
   #       x  = dirichlet                                  # Dirichlet boundary condition for the Schrödinger equation,     psi = 0
           x  = neumann                                    #   Neumann boundary condition for the Schrödinger equation, dpsi/dx = 0
       }

       Gamma{
           num_ev = 70
                                   # 70 eigenvalues have to be calculated
       }

       HH{
           num_ev = 250                                    # 150 eigenvalues have to be calculated
       }

       LH{
           num_ev = 70                                    # 70 eigenvalues have to be calculated
       }

       SO{
           num_ev = 100                                    # 100 eigenvalues have to be calculated
       }

       output_wavefunctions{
           max_num = 20                                    # only 20 eigenfunctions from 100 calculated are shown in output
           amplitudes = yes
           probabilities = yes
       }
   }
}

We want to obtain the energies and the amplitudes of the wave functions outputted.

Ground state energies

After generating the input file, we are able to run the simulation for a variable number of quantum wells using the variable sweep functionality in nextnanomat. One can go to “Template” on the tabs at the top, under “Sweep”, select the variable of interest and the range or list of values to iterate over. Click on “Create input file” at the bottom and run the simulations in the “Simulation” tab.

The following graphs were generated with nextnanopy. The reference potential energy used in Harrison’s book and nextnano++ is different. Thus, post-processing was done in Python to match the reference energy levels.

../../../_images/EnergyVsN.png

Figure 2.5.10.8 Ground state energies plotted as a function of N. Convergence at higher number of wells is observed.

Wave function in a superlattice

The wave functions can also be plotted. The first example in Harrison’s book has the following parameters:

  • 10 wells

  • 4 nm Ga0.8Al0.2As barrier

  • 4 nm Ga0.8Al0.2As quantum well width

  • 20 nm left and right Ga0.8Al0.2As walls

../../../_images/wf1.png

Figure 2.5.10.9 The wave function for a superlattice system

This figure is in agreement with Harrison’s result. It is observed that the system functions as a superlattice as the wave function in each well overlaps with the wave function of the adjacent wells.

Wave function in a multiple quantum well system

Harrison’s final figure uses the following parameters:

  • 4 wells

  • 10 nm Ga0.6Al0.4As barriers

  • 10 nm Ga0.6Al0.4As quantum wells

  • 10 nm Ga0.6Al0.4As left and right walls

../../../_images/wf2.png

Figure 2.5.10.10 The wave function for a multiple quantum well system

This figure is also in good agreement with Harrison’s results. It is observed from the figure that this system functions as a multiple quantum well because the wave function reaches zero between the wells.

Last update: nn/nn/nnnn