nextnanomat
Software documentation
Operating System
nextnano.cloud
nextnano++
Tutorials
Software documentation
Operating System
nextnano.cloud
Tutorials
Author: Takuma Sato, nextnano GmbH
A newer version of this tutorial can be found here: https://www.nextnano.com/manual/nextnanoplus_tutorials/1D/laser_diode.html
In this tutorial, we simulate optical emission of a 1D InGaAs multi-quantum well laser diode grown on InP substrate. The blue region is the separate confinement heterostructure (SCH), which forms an optical waveguide in the transverse direction to confine the emitted light (red arrow). The multi-quantum wells and SCH are clad by InP on both sides. A voltage bias is applied to the gray edges.
The corresponding input files are:
The properties of optoelectronic devices are governed by Poisson equation, Schroedinger equation, drift-diffusion and continuity equations. We denote by $n$ and $p$ the carrier number density per unit volume. The continuity equations in the presence of creation (generation, $G$) or annihilation (recombination, $R$) of electron-hole pairs read $$ -e\frac{\partial n}{\partial t} + \mathbf{\nabla}\cdot (-e\mathbf{j}_n(\mathbf{x})) = -e(G(\mathbf{x})- R(\mathbf{x})),\\ e\frac{\partial p}{\partial t} + \mathbf{\nabla}\cdot e\mathbf{j}_p(\mathbf{x}) = e(G(\mathbf{x})- R(\mathbf{x})), $$ where the current is proportional to the gradient of quasi Fermi levels $E_{F,n/p}(\mathbf{x})$ $$ \mathbf{j}_n(\mathbf{x}) = -\mu_n(\mathbf{x})n(\mathbf{x})\nabla E_{F,n}(\mathbf{x}),\\ \mathbf{j}_p(\mathbf{x}) = \mu_p(\mathbf{x})p(\mathbf{x})\nabla E_{F,p}(\mathbf{x}). $$ Here the charge current has the unit of (area)$^{-1}$(time)$^{-1}$. $\mu_{n/p}$ are the mobilities of each carrier. In nextnano++, $\mu_{n/p}$ are determined using the mobility model specified in the input file under currents{}. Hereafter we consider stationary solutions and set $\dot{n}=\dot{p}=0$. The governing equations then reduce to $$ \nabla\cdot\mu_n(\mathbf{x})n(\mathbf{x})\nabla E_{F,n}(\mathbf{x})=-(G(\mathbf{x})-R(\mathbf{x})),\\ \nabla\cdot\mu_p(\mathbf{x})p(\mathbf{x})\nabla E_{F,p}(\mathbf{x})=G(\mathbf{x})-R(\mathbf{x}), $$ which we call current equation (generation $G=0$ in the present case). nextnano++ solves this equation and Poisson equation self-consistently when one specifies it in the input file as:
run{ solve_current_poisson{} }
The generation/recombination rate, $R(\mathbf{x})$, originates from several physical processes. In nextnano++, the following mechanisms are implemented (cf. documentation)
Each mechanism can be turned on and off in the input file.
Radiative recombination describes the recombination of electron-hole pairs at a position $\mathbf{x}$ by emitting a photon and is given by $$ R_{\mathrm{rad}}(\mathbf{x}) = C n(\mathbf{x}) p(\mathbf{x}), $$ where $C$ is a material dependent constant given in the database and has the unit of cm$^3$/s.
Since the radiative recombination process involves no phonons, this transition is vertical and therefore this contribution is only relevant for semiconductors with a direct band gap such as GaAs.
In the beginning of the input file, we define several variables for the structure and parameters for simulation. The variables are shown below.
$NUMBER_OF_WELLS
determines the repetition of quantum wells. The program automatically sweeps the bias voltage starting from $BIAS_START
until $BIAS_END
, at intervals of $BIAS_STEPS
.Energy-dependent charge density and emission spectrum are calculated when the following is specified (see classical{} documentation for details):
classical{ energy_distribution{ min = -1.5 # Integrate from max = 0.5 # Integrate to energy_resolution = 0.005 # Integration resolution only_quantum_regions = yes # (default: no) } emission_spectrum{ min = -1.5 # Integrate from max = 0.5 # Integrate to energy_resolution = 0.005 # Integration resolution output_photon_density = yes output_power_density = yes } }
The mobility model and recombination models for the current equation are specified in currents{} as
currents{ mobility_model = constant # mobility_model = minimos recombination_model{ SRH = yes # 'yes' or 'no' Auger = yes # 'yes' or 'no' radiative = yes # 'yes' or 'no' } }
The run{} flag specifies which equations to solve. This is the main difference between LaserDiode_*_qm_nnp.in
and LaserDiode_*_cl_nnp.in
.
# qm run{ solve_strain{} # solves the strain equation solve_current_poisson{ # solves the coupled current and Poisson equations self-consistently output_log = yes } solve_quantum{} # solves the Schroedinger equation outer_iteration{ # solves the Schroedinger, Poisson and current equations self-consistently iterations = 2000 current_repetitions = 5 #10 alpha_fermi = 0.01 residual = 1e6 residual_fermi = 1e-8 output_log = yes } } # cl run{ solve_strain{} # solves the strain equation solve_current_poisson{ # solves the coupled current and Poisson equations self-consistently output_log = yes } }
In this case nextnano++ first solves the strain equation from the crystal orientation to decide the polarization charges (piezoelectric effect) and shifted bandedges. Then the program solves the coupled current-Poisson-Schroedinger equations in a self-consistent way (input file: LaserDiode_InGaAs_1D_qm_nnp.in
). For the classical calculation (LaserDiode_InGaAs_1D_cl_nnp.in
), solve_quantum{}
and outer_iteration{}
are commented out to restrict the calculation to the current-Poisson equations only.
The bandstructure and emission power spectrum of the system are stored in bandedges.dat
. Figures 2 shows the case for the bias $0.2$ V. Here the quasi Fermi level of electrons is lower than the quantum wells.
For the bias $0.8$ V (Figure 3), in contrast, it lies above the red line, allowing electrons to flow into the quantum wells. An electron trapped in the quantum wells is likely to recombine with a hole in the valence band, emitting a photon. In the input file \Optical\emission_photon_density.dat
, one can see that the photons are emitted from this active region (not shown). Figure 8 shows the emission spectrum in this case. When the bias is too small, e.g. Figure 2, the intensity is much smaller, as can be seen in Figure 10.
In the input file LaserDiode_InGaAs_1D_qm_nnp.in
, the single-band Schroedinger equation is coupled to the current-Poisson equation and solved self-consistently. The wave functions of electrons and holes along with eigenvalues are written in \Quantum\wf_probabilities_shift_quantum_region_Gamma_0000.dat
and \Quantum\wf_probabilities_shift_quantum_region_HH_0000.dat
(Figure 4 and 5). The light hole and split-off states are out of the quantum wells and not of our interest here.
The charge density with- and without quantum calculation shows different features due to the discretization of energy levels in quantum wells. In the output integrated_densities_vs_energy.dat
we find the electron and hole densities as a function of energy (Figure 6 and 7). This quantity is integrated over the device and has the unit [cm$^{-2}$eV$^{-1}$]. We observe a good correspondence between the spectra and relevant energies of the present structure.
The hole density has been calculated with higher energy resolution in Figure 7. The ratchet-like shape within the wells results from the step-like density of states multiplied by (quasi) Fermi-Dirac distribution (cf. Figure 9.8 in [Chuang]).
The spontaneous and stimulated emission spectra are written in \Optical\emission_spectrum_photons.dat
and \Optical\stim_emission_spectrum_photons.dat
, respectively (Figure 8). Please note that the stimulated emission calculation in nextnano++ assumes photon modes occupied by one photon each, i.e. takes into account neither energy-dependent photon density of states nor Bose-Einstein distribution.
The absorption coefficient $\alpha(E)$ and gain (coefficient) $g(E)$ are essentially the same quantity with opposite signs, \begin{equation} \alpha(E)=-g(E). \end{equation} These are by definition independent of the initial photon population. Please note that the gain spectrum in nextnano++ is cut off where it is negative.. For details, see classical{} documentation.
The spectrum changes its sign at the energy $E_{Fn}-E_{Fp}$, that is, the separation of the quasi Fermi levels. According to the output bandedges.dat
, this value is -0.0001-(-0.7702)=0.7701eV. The following result has been calculated classically. We also get qualitatively consistent results from quantum mechanical simulation.
The output file IV_characteristics.dat
contains right- and left-contact current in unit of [A/cm$^2$]. In the present case, the right-contact current is hole current, whereas the left-contact current is electron current. In Figure 10, we compare the hole current and photocurrent.
The holes and electrons recombine in the multi-quantum well layers, emitting one photon per electron-hole pair. The efficiency of conversion from charge current into photocurrent is called the internal quantum efficiency
$$
\eta = \frac{I_{\mathrm{photon}}}{I_{\mathrm{charge}}}.
$$
This quantity is written in internal_quantum_efficiency.dat
and shown in Figure 11.