Laser simulation with self-heating and power roll-off


  1. Introduction
  2. Run and results
    2.1: Self-heating simulation at 300 K and 370 K ambient temperatures
    2.2: Isothermal simulation at 300 K and 370 K ambient temperatures
    2.3: Plot results
  3. Important model parameters
  4. Parallelizing sweep in INTERCONNECT
  5. References


Self-heating related features in the laser model in Ansys Lumerical INTERCONNECT have been introduced in version 2020 R2.2. For this purpose, the laser model now includes temperature dependence options for main laser parameters, ambient temperature option, and heat generation and conduction options.

In this example we simulate an AlGaInAs/InP Fabry-Perot multi-quantum well laser diode including the self-heating effects as presented in reference [1].

Run and results

Before running the sweeps make sure to use INTERCONNECT in parallel, if possible, to speed up the calculation of independent sweep points. The short instructions how to set up parallel execution can be found in section Parallelizing sweep in INTERCONECT.

Step 1: Self-heating simulation at 300 K and 370 K ambient temperatures

  1. Open INTERCONNECT and change the working folder to the folder where the files for this example are located.

  2. Open script file set_and_run_sweep.lsf (2.5 KB) . Set the ambient temperature variable to 300 and uncomment the corresponding array of current values. Set “isothermal” variable to false. Run this file. This file will open project file twlm_selfheating.icp (285.5 KB) , set the ambient temperature and set and run the sweep over current values. Other temperature and heat related options are set in the project file according to the table given below in section Important model settings, except the waveguide loss. Self-heating will cause increase in carrier density in the active layer above threshold and corresponding increase in waveguide loss. Currently, the model for carrier dependent waveguide loss is included through the set_and_run_sweep.lsf script (loss_density_coeff variable).

  3. Repeat step 2, but change the ambient temperature to 370 K and uncomment the corresponding array of current values. This will use the same temperature related options except the ambient temperature will now be increased.

Step 2: Isothermal simulation at 300 K and 370 K ambient temperatures

  1. Repeat steps 2 and 3 of the self-heating simulation, but set “isothermal” variable to true. These simulations will exclude the effects of self-heating and only simulate the effects of increased ambient temperature. This regime may be achieved by using a pulsed current injection where the pulse fill factor is small enough to not cause any self-heating effects. Again, all the simulation options in the project file twlm_selfheating.icp are the same, except the temperature increase due to self-heating is turned off.

Step 3: Plot results

  1. To plot the LI curves for 300 K and 370 K, with and without the self-heating, open and run file plot_LI.lsf (5.6 KB) , while the icp project file is still open. This script file will load and plot both simulated and measured data. The difference between the isothermal and self-heating simulation is the power roll-off. The measured and simulated LI curves with self-heating have a good match with [1].

  1. To plot how is the total injection current split between different processes in the laser open and run script plot_current_components.lsf (2.3 KB) , while the icp project file is still open. This will plot the current components for the self-heating simulation at 370 K ambient temperature. This can be easily modified to plot the sweep at 300 K ambient temperature. The resulting figure shows different components of current that add up to the total injection current. This result has a good match with figure 10 in [1]. Notice the increase of thermionic leakage and nonradiative recombination (primarily Auger) with increasing current and temperature.


  1. To plot the average active layer temperature as a function of current above threshold, open and run script plot_temperature_vs_current.lsf (1.3 KB) . Similarly to the previous script, this will load sweep files and extract the active layer temperature profiles for each current. These profiles will be averaged and plotted as a function of current. The plot below shows the result from the 370 K sweep with self-heating and it has a good agreement with the maximum measured active layer temperature in [1], which is around 45 K above 370 K. This is expected since the ohmic resistance responsible for Joule heating, which is dominant at high currents, is fitted due to the lack of details in the paper.


  1. To plot spatial profiles of temperature and various heat sources the user can open one of the sweep files that store results and visualize results directly from GUI. For example, to plot the temperature profile at 0.3 A for the self-heating simulation at 370 K ambient temperature, we can go to the corresponding folder named “twlm_selfheating_sweep_370K” and open file with index 9, since that is the index of 0.3 A in the array of current values used to define the sweep. Then left click on the TWLM element and from the list of results in the result frame of the GUI window visualize “active layer temperature profile”. In the visualizer select the line plot and the last thermal iteration to visualize the converged result:

Similarly, to visualize the nonradiative recombination heat profile, for example, visualize the correspondingly named result from the list:

The total heat power can be obtained by summation over all positions. Each position represents the center of the spatial section of the travelling wave laser model.

Important model parameters

The list below contains important TWLM model parameters for self-heating simulation that are in addition to the usual parameters needed for an isothermal simulation.

ambient temperature – This sets the ambient temperature. Laser self-heating is on top of this temperature.

nonradiative linear recombination eta – The temperature dependence of the nonradiative linear recombination coefficient in the form
where A(300) is the value of the nonradiative linear recombination coefficient option at 300 K.

nonradiative cubic recombination activation energy – The activation energy for the temperature dependence of the nonradiative cubic recombination coefficient in the form
where C(300) is the value of the nonradiative cubic recombination coefficient option at 300 K and k is the Boltzmann constant.

gain shape – Currently only Lorentzian shape supports temperature dependence of gain profile. In this example the temperature dependence of gain profile is introduced through linear parameters for “gain coefficient” and “transparency density” in the form
where T_ref is the reference temperature parameter and A is the linear parameter. Note that it is also possible to define quadratic parameters.

enable SCH – true. Separate confinement heterostructure model should be turned on.

thermionic leakage model – This model is used for calculating the thermionic leakage from the active layer.

enable self-heating – if true, the heat equation will be solved and temperature updated, otherwise an isothermal simulation at ambient temperature will be performed.

active layer thermal resistivity – this is the thermal resistivity of the active layer in the plane of quantum wells (in the direction of optical propagation in the edge emitting laser cavity).

active-layer-to-ambient thermal resistance – this is the total thermal resistance between the active layer and ambient. It may consist of several resistances connected in parallel and in series depending on device design.

effective electrical resistance – electrical resistance for Joule heating in the form I^2 R, where I is the injection current. Depending on where the electrically resistive layer is located compared to the active layer, an effective resistance placed at the location of the active layer should be defined that will have the same effect on heating the active layer as the original resistance. Another way to define this resistance would be through fitting to measurements of temperature at high injection current, where Joule heating dominates, like done in this example.

Diagnostic – set the self-heating related outputs of interest to true in the Diagnostic section of TWLM before the simulation, in order to be able to visualize them (e,g. temperature profile, thermionic leakage, heat sources).

loss_density_coeff - defined in script set_and_run_sweep.lsf. The linear coefficient modeling the waveguide loss as a function of the QW carrier density.

When doing self-heating simulations, the analyzers, such as the power meter (OPWM), should take into account only the temperature-converged results.

The values of parameters used in this example are given in the table below:

Name Value Method
ambient temperature 300 K or 370 K As defined in measurement
nonradiative linear recombination eta -2.2 Nonradiative linear recombination coefficient includes SRH recombination and any lateral leakage. The value was chosen from eq. 3 in [1] to account for the lateral leakage temperature dependence which depends on QW mobility.
nonradiative cubic recombination activation energy 0.1 eV From eq. (2) in [1]
gain shape reference temperature 300 K From fig. 2 in [1]
gain coefficient linear parameter -7e-22 m^2/K Same
transparency density linear parameter 7.14286e+21 1/m^3/K Same
mode confinement factor 0.083 From [1]
quantum barrier height 0.225 eV From fig. 1 in [1]
SCH barrier height 0.2 eV Same
quantum well effective mass 0.05 m0 Approximate, could use MQW solver database or literature
quantum barrier effective mass 0.1 m0 Same
active layer thermal resistivity 0.25 m*K/W From table 1 in [1]
active-layer-to-ambient thermal resistance 50 K/W Equivalent total resistance calculated from the structure and data in [1]
effective electrical resistance 7.26 Ohm Fitted to produce the measured temperature increase at high injection current where Joule heating dominates
active layer bandgap 0.953725 eV From MQW solver, could be taken from fig. 1 in [1]
loss_density_coeff (defined in set_and_run_sweep.lsf) 11e-22 m^2 Waveguide loss density coefficient is chosen to fit the LI slope, like in [1]

Parallelizing sweep in INTERCONNECT

Set how many CPUs INTERCONNECT uses for a sweep in Simulation menu/Resource configuration (e.g. add a couple of localhosts with 1 process, keeping in mind how many free CPUs your machine has). This will parallelize the sweep and significantly reduce the total simulation time, as every sweep point is an independent simulation. Also make sure that the “number of threads” option in the Root element is set to 1, to avoid two different types of parallelization (multiprocess and multithread) combine and occupy more resources than your machine has, which may actually slow the simulation. The Root element in INTERCONNECT can be accessed by clicking on the white background, so that none of the other elements is selected.


[1] J. Piprek, K. White and A. J. SpringThorpe, “What Limits the Maximum Output Power of Long-Wavelength AlGaInAs/InP Laser Diodes,” IEEE JOURNAL OF QUANTUM ELECTRONICS, vol. 38, no. 9, p. 1253, 2002.