In this example, we demonstrate the workflow for simulating a Quantum Confined Stark Effect (QCSE) Electro Absorption Modulator (EAM) based on a GaAs/AlGaAs quantum well structure. The simulated absorption vs. electric field will be compared with the measurements given in a reference. The simulation workflow in this example is significantly simplified and improved in Lumerical release 2022 R2.1, thanks to the new CHARGE/MQW coupled mode. In addition, variational method implemented in Lumerical release 2023 R2.1 can be used as an alternative to the direct method in the MQW solver for faster simulation.
Overview
Understand the simulation workflow and key results
Quantum Confined Stark Effect (QCSE) is used in electro-absorption modulators to provide a mechanism of modulation of optical absorption by changing the applied voltage (i.e. electric field). In the absorption regime, excitons are an important effect since they can be stable in quantum wells even at higher electric fields and significantly impact the shape of the absorption spectrum. The MQW solver includes the exciton model, which is solved by the direct method (default) or variational method (release 2023 R2.1). This solver can be run from CHARGE solver in an automatic coupled mode, which is a new feature in release 2022 R2.1 designed to improve the user experience, or it can be run separately, either using the MQW GUI or the MQW script command mqwindex to calculate the absorption with exciton effects included. Coupled CHARGE and MQW simulation is used in the main workflow of this example, while uncoupled CHARGE and MQW simulations are given in the appendix.
Step 1: Optical Mode Calculation
The first step is to calculate the optical mode profile and extract the effective and group indices of the fundamental (TE) mode as well as its confinement factor with respect to the absorption medium to be used in the next steps. These are all calculated in the vicinity of the nominal target frequency and are expected to be locally weakly frequency-dependent. This calculation is done using the FDE solver in MODE. The same simulation performed with FEEM is discussed in the appendix.
Step 2: Absorption Calculation
After running a single CHARGE/MQW coupled simulation, absorption is automatically calculated at different bias points. The absorption coefficients and perturbation to the real part of the refractive index for TE and TM modes are plotted. The transmission for the TE mode is then calculated and compared with the literature. The CHARGE/MQW coupled simulation is possible to run with 2022 R2.1 or later versions. This feature combines charge transport and quantum mechanical simulations in one step and avoids the need for data exchange between CHARGE and MQW through scripting.
The same simulation performed with uncoupled CHARGE and MQW solvers is discussed in the appendix. The benefit of the uncoupled simulation with two separate steps is that the MQW simulation step can be implemented as a parallelized sweep over electric fields, if the user has a suitable license. This will reduce the MQW simulation time, since the MQW simulation is longer per voltage step than the CHARGE simulation. The drawback of the uncoupled workflow is that there are two steps to run and data needs to be post-processed and exchanged between the steps via script. This makes the simulation workflow less user-friendly and more difficult to maintain and modify.
Step 3: Compact Modeling
The amplitude and phase of the transmission, as well as the group delay, calculated in previous steps will be used to create a compact model for EAM using a time-variant s-parameter element. A simple test-bench is set up and a time domain simulation is run to obtain the modulation response of the device.
Run and results
Instructions for running the model and discussion of key results
Step 1: Optical Mode Calculation
- Open QCSE_EAM_fde.lms .
- Download our III-V Semiconductor Optical Material Data Tool . It is best to download and extract it to the same folder as the lms file. Open and run GUI.lsf from the downloaded folder. In the Compound Material Wizard window, select Material Database (Al(x)Ga(1-x)As::adachi), set x composition (0.3), start wavelength (750nm), stop wavelength (1700nm), number of points (96), click Add the new material (Al(x)Ga(1-x)As adachi x=0.3) to the FDE material database. Before adding you can also visualize index. Close the wizard window.
- (Optional) Adjust the model object Setup Variables in QCSE_EAM_fde.lms for generating refractive index data of superlattice.
- Click Run and in the Eigensolver Analysis windows, set the frequency to the center frequency (352.697 THz) and click Calculate Modes button for calculating neff. Select Power and Impedance Integration from options, select rectangular integration type, and set x1 = -25 um, x2 = 25 um, z1 = 1.83 um, z2 = 1.9088 um to integrate power over all MQW layers for calculating confinement factor.
- Right click the model object and Run Analysis to calculate and export neff, ng, and confinement factor to a file. The analysis script in the model object for this purpose has already been created for this example.
In this example barriers are made of superlattice. To speed up the simulation we define the barrier material as a single material with an average index of the superlattice. The model Setup script and variables calculate and add this average index material to the optical material database. In step 1.4, the coordinates are set to include the region consisting of 3 barriers and 2 quantum wells. The mode overlap calculated this way is consistent with the absorption and index perturbation calculation from the CHARGE/MQW step, which also includes the full MQW thickness including the barriers.
The effective and group indices, as well as the confinement factor used in the subsequent steps, are stored in QCSE_EAM_opt.jso n .
Step 2: Absorption
Calculation
-
Open
QCSE_EAM_charge_mqw_coupled.ldev
. All the material, geometry, and solver options are already set in this file. There is a setup script in the model object that will load neff from step 1 and set it in CHARGE MQW options. If the user does not make any changes to
QCSE_EAM_charge_mqw_coupled.ldev,
edit and close (by clicking OK) the model object to make sure the setup of neff is refreshed. The default exciton method is 'direct', you can change it to 'variational' from the
configuration
tab of the MQW. Alternatively, you can set the exciton method from script by using setnamed('CHARGE','exciton method','variational'); Then save the file. Run the CHARGE simulation.
- Visualize 2D mqw_emission and mqw_index from CHARGE, set plot type as “Line”, change frequency parameter to energy and set its action as “plot x axis”, select Overplot Lines for V_anode and add desired voltage indices to include in the same plot.
-
Run
plot_and_export_mqw_results.lsf
. This step is necessary if the user wants to run the INTERCONNECT simulation in the next step.
The simulation will run voltages from 0V to -10V in steps of -0.5V and also -10.25V (the last one to have electric field that matches one of the measured fields). This simulation may take around 1h to 1.5h with the direct method, depending on the machine, while the variational method should run around 6x faster. Notice two new options in the CHARGE editor window: “mqw domains” in the General tab and the new MQW tab. All MQW domains (barriers and wells) need to be included in a structure group in the geometry section. CHARGE will automatically populate the layer table in the MQW tab and the user can set other available MQW options in a similar way as in the standalone MQW version. The only difference is that some options may not be available or they are disabled since they are not necessary in the CHARGE/MQW coupled mode.
The script in step 2.3 will calculate and export the transmission amplitude, phase, and group delay into the s-parameter format for the time-variant s-parameter element in INTERCONNECT in the next step. This simple calculation is done based on the length of the waveguide. It will also plot absorption coefficients, complex index, transmission coefficient vs. electric field and compare it to the measurement from ref. [1].
The absorption coefficients and index perturbation vs. electric field and bias for TE and TM modes are shown in the following plots, for both direct and variational methods. These plots are obtained by running the script file from step 2.3, but similar plots (except the value of electric field is not shown and the transmission plot is not included) can be obtained by simply using the visualizer as explained in step 2.2.
NOTE : The variational method is a faster but less accurate method compared to the direct method. It can accurately calculate the ground state exciton energies from the first subband transitions. This can be seen from the TE mode simulation below where the variational method fundamental absorption peak energies are accurate within 1% as compared with the direct method, including the QCSE shift. However, the variational method overestimates the magnitude of the absorption spectra. Also, the second subband exciton transition energies (higher energy absorption peaks) are only accurate within 20%. Therefore, the TM mode absorption spectrum from the variational method in this example is inaccurate as it depends on the second subband exciton transitions, so it is not shown. Being much faster compared to the direct method, the variational method offers users a choice of trade-off between accuracy and speed and is especially useful for simulating multiple coupled quantum wells, which would be impractical with the direct method due to system size. |
Additionally, the transmission coefficient is calculated for the TE mode using \( t=\exp(i\frac{\omega}{c}(n_{eff}+\Delta \bar{n}_{QW}\Gamma)L) \), where \(n_{eff}\) is the effective mode index considering bulk material properties as calculated in step 1, \(\Delta \bar{n}_{QW}=\Delta n_{QW}+i\kappa_{QW}\) is the quantum well index perturbation, including the real and imaginary parts, \(L\) is the length of the active layer, and \(\Gamma\) is the mode confinement factor as calculated in step 1. This transmission coefficient includes both the magnitude and the phase . The group delay through the modulator is calculated using \(GD=L/c \cdot n_g\), where \(n_g\) is the group index as calculated in step 1.
As demonstrated in the two figures above , the simulated curves for the negative natural logarithm of the TE transmission probability are consistent with those reported in the reference and are a good match with the measured data . The maximum of 4.4 at 0 kV/cm is within 20% of the reference value ( 3. 7 -- additional information that was not provided in the reference would be necessary to match the absolute magnitude ).
Step 3: Compact Modeling
- Open QCSE_EAM_interconnect.icp using INTERCONNECT and run.
Here the time-variant s-parameter element is used to build a compact model for the EAM structure under study in this example. When the simulation is run the time-variant s-parameter element reads the s-parameter file and creates a digital filter to fit and interpolate the transmission transfer function. This digital filter represents a parametric macro-model for the transmission controlled by voltage.
A simple test-bench is set up to test EAM performance. Here the modulator is connected to a laser source and is biased with a PRBS stream.
The test-bench is run for a time domain simulation and oosc_1 can be visualized to obtain modulation response of the modulator .
Important model settings
Description of important objects and settings used in this model
Refractive indices in FDE :
Values of refractive indices for AlGaAs layers are generated using our III-V Semiconductor Optical Material Data Tool . Based on [1] the structure consists of superlattice layers containing alternating thin layers of GaAs and AlGaAs. These layers are modeled in the FDE simulation with a single layer having an average refractive index.
Mesh override region in FDE :
The active layer under study in this example consists of thi n layers of quantum wells and barriers, so it is important to make sure the meshing is fine enough in that region for accurate results. A mesh override is added in that area in the FDE simulation.
Modes found near superlattice average refractive index :
The structure under study in this example has considerable mode loss in GaAs cladding and substrate layers. Here we are ignoring loss in those layers. We set the Eigensolver Analysis to find modes near the average refractive index of the superlattice to study modes confined in the QW regions.
R elative static permittivity (eps) :
This is a scalar value defined as an MQW option in the CHARGE editor window representing the active layer. Since an exciton represents a bound state of electron and hole due to Coulomb interaction, it is important to know the DC permittivity. In this example, the value of 10 gives the best match of the absorption spectra shape compared to the measurement curves. If this value is not set, the solver will automatically generate a value based on the permittivity of well and barrier materials and wavefunction overlap with each layer.
T ransverse wave vector : kt
This is an array of values defined as an MQW option in the CHARGE editor window. When the exciton model is turned on only the number of points is considered in order to define a special quadrature rule used by the algorithm, while the values are ignored. With the exciton model turned off the values are also taken as defined by this parameter (equidistant array). The more kt points there are the more time-consuming the simulation is.
N umber of QW subbands in the conduction and valence bands
With the exciton model turned on, this parameter defined as an MQW option in the CHARGE editor window can be used to limit the number of quantum well subbands to be included in the exciton calculation. The more subbands there are the more time-consuming the simulation is.
S ubband energy broadening : gamma
This QW energy level broadening due to intraband scattering processes is responsible for the finite absorption linewidth. It is defined as an MQW option in the CHARGE editor window.
C arrier density
This parameter defined in the MQW solver object edit window is ignored when the exciton model is turned on since full depletion is assumed in the absorption model. This is typically a good approximation in reverse-biased electro-absorption modulators, which can be confirmed from the CHARGE simulation results in step 2.
T emperature : T
The temperature is ignored for the purpose of MQW absorption calculation for similar reasons as the carrier density, except for the dependence of material properties with temperature.
Flag to enable QCSE: exciton
This parameter defined as an MQW option in the CHARGE editor window can be true or false and is used to turn on the exciton model in the simulation.
The rest of the MQW parameters have the same meaning as for the case without the exciton model, which can be found in our laser and gain examples and MQW documentation.
Updating the model with your parameters
Instructions for updating the model based on your device parameters
Changing the absorption region length
Changing the length of the absorption region will affect the transmission. Variable active_region_length in the plot_and_export_mqw_results.lsf script is used for this. This script is run after step 2 in order to prepare data for the circuit simulation in step 3.
Change QW layer thickness
This property needs to be modified in the geometry section in simulation files in steps 1 and 2. This requires modifying the expected center frequency for FDE and MQW calculations since the band gap is affected by the quantum well thickness due to quantization effects. All the steps need to be run afterward.
Taking the model further
Information and tips for users that want to further customize the model
- Carrier-dependent loss due to free-carrier absorption can be calculated in MODE or FDTD for GaAs substrate and cladding. Calculated transmission in step 2 (plot_and_export_mqw_results.lsf) can then be updated based on this additional loss.
- III-V Semiconductor Optical Material Data Tool can be used to calculate the optical properties of different ternary and quaternary III-V semiconductors. New ternary and quaternary III-V semiconductors can also be added to the Electrical/Thermal material database, as discussed in Tips for creating a new alloy material .
-
For a more realistic electro-absorption modulator, bandwidth, dark current and photocurrent can be calculated and included in the compact model. For bandwidth, resistance and capacitance can be extracted from CHARGE simulation.
Dark current can be extracted from CHARGE simulation.
For photocurrent generated by absorption, the complex index calculated by MQW should be imported to MODE, where generation rate data can be extracted. CHARGE simulation will use this data to calculate photocurrent . For an example of calculating these results and using it in a compact model please see Franz-Keldysh electro-absorption modulator example .
Additional resources
Additional documentation, examples, and training material
Related publications
- C Y.-P. Chao and S. L. Chuang, “Momentum-space solution of exciton excited states and heavy-hole-light-hole mixing in quantum wells”, Phys. Rev. B, 48, p. 8210, 1993.
See also
- Electro-absorption modulator
- Ring modulator
- PIN Mach-Zehnder modulator
- III-V Semiconductor Optical Material Data Tool
- Tips for creating a new alloy material
Related Ansys Innovation Courses
Appendix
Additional background information and theory
Exciton energies and wave functions
The users can also access additional physical outputs, such as exciton energies. The energies can be viewed by visualizing mqw_ex dataset in CHARGE results. The suffix (0, 1, 2, …) following mqw_ex designates the partition number, where partitioning of MQW domains can be set by the user. By default, there will be one quantum well per partition. For more discussion on partitioning check Setting the MQW Solver Layers and Partitions .
In a similar way other low-level MQW outputs can be visualized from CHARGE results, such as band structure and wave functions. For example, exciton wave functions can be visualized by visualizing mqw_phix dataset.
Optical Mode Simulation with FEEM
As an alternative option for step 1, the structure can be created in the Finite Element (FE) IDE for simulation using FEEM. FEEM solver can be used to calculate the optical mode profile and extract the effective index of the fundamental (TE) mode as well as its confinement factor with respect to the absorption medium. These are all calculated in the vicinity of the nominal target lasing frequency and are expected to be locally weakly frequency-dependent. The steps in the FEEM simulation are as follows:
- Open QCSE_EAM_feem.ldev .
- Download our III-V Semiconductor Optical Material Data Tool . It is best to download and extract it to the same folder as the lms file. Open and run GUI.lsf from the downloaded folder. In the Compound Material Wizard window, select Material Database (Al(x)Ga(1-x)As::adachi), set x composition (0.3), start wavelength (750nm), stop wavelength (1700nm), number of points (96), click Add the new material (Al(x)Ga(1-x)As adachi x=0.3) to the FDE material database. Before adding you can also visualize index. Close the wizard window.
- (Optional) Adjust the model object Setup Variables in QCSE_EAM_feem.ldev for generating refractive index data of the superlattice.
- Switch to Partition mode and note the domain IDs of the three barriers and two wells making up the MQW region. This can be done by clicking on each domain ID in the object tree and noting the highlighted region in the View window.
- Open script runFEEM.lsf . Assign the MQW domain IDs from the previous step to variable mqw_domain_IDs at the top of the script file. This will define the regions for the mode overlap calculation. Run the script. This script assumes that the first mode in the list is the fundamental TE mode. If the fundamental TE mode is at a different location in the mode list this script should be modified accordingly (for more details see below).
The script in step 5 above will first create three ldev files with suffixes _1, _2, and _3 from the base file and add jobs to the job manager to run these files. Each file is for one frequency. After the mode calculation is done in all files, the script will calculate the effective and group indices (neff, ng), and the mode confinement factor and store them in the file QCSE_EAM_opt.json at the center frequency . These results are similar to the results obtained from the FDE simulation in step 1 of the main workflow.
The users can check the mode properties in files with suffixes _1, _2, and _3, to make sure that the fundamental TE mode is the first mode in the mode list. If that is not the case the script in step 5 should be modified to take the proper mode into account. In this case only the second part of the script (after runjobs command) should be rerun.
If an appropriate license is available, the users can set Resource configuration for FEEM to run 3 parallel processes by setting Capacity column to 3. The FEEM simulation will be slower than the FDE simulation, partly because the mode overlap calculation has to be done in script and partly because the finite element mesher generates more mesh points in the thin MQW layers compared to the FDE anisotropic finite difference grid.
Electric field and Absorption calculation with uncoupled CHARGE and MQW
- Open file QCSE_EAM_charge_mqw_uncoupled.ldev . This will perform CHARGE simulation at different voltages. There is a setup script in the model object that will load neff from step 1 and set it in MQW options. If the user does not make any changes to QCSE_EAM_charge_mqw_uncoupled.ldev, edit and close (by clicking OK) the model object to make sure the setup of neff is refreshed. Then save the ldev file. Run the CHARGE simulation.
- Open and run script export_electric_field_from_charge.lsf to extract electric field in the quantum wells and save it to a file.
- Open and run script import_electric_field_to_mqw.lsf to set electric field and field-dependent energy broadening parameter in the MQW solver sweep object.
- Set the exciton method to be 'direct' (default) or 'variational'. This can be set from the GUI in the configuration tab of the MQW solver. Also it can be set from the script by the set command: set("exciton method","variational") ;
- Run MQW sweep, which will calculate absorption coefficients and complex index vs. electric fields for TE and TM mode.
- Run plot_and_export_mqw_results_uncoupled.lsf . This step is necessary if the user wants to run the INTERCONNECT simulation in the next step.
Since a sweep can be parallelized, in order to shorten the MQW simulation time it is possible to configure Resources under File tab in FE IDE to use multiple parallel processes for MQW. The easiest way is to simply add several resources (e.g. 3-4), depending how many cores are available, with default options (localhost for your local machine, 1 process per resource, and capacity 1). Alternatively, only one resource can be added with capacity equal to the number of parallel processes to be used. With the default settings, the variational method will take about 6x less time to run compared to the direct method in this CHARGE/MQW uncoupled simulation.
The script in step 3 above will also set the field-dependent energy broadening parameter gamma in the MQW solver. Gamma is considered larger at larger fields. The fitting of gamma values can give a better match with measurements.
The script in step 6 above will calculate and export the transmission amplitude, phase, and group delay into the s-parameter format for the time-variant s-parameter element in INTERCONNECT in the next step. This simple calculation is done based on the length of the waveguide. It will also plot absorption coefficients, complex index, transmission coefficient vs. electric field and compare it to the measurement from ref. [1].