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 as demonstrated in ref [1]. The simulated absorption vs electric field will be compared with the measurements given in the reference.
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. This solver can be run using GUI, as of version 2021 R2, or using the mqwindex script command to calculate the absorption vs electric field with exciton effects included. MQW GUI is used in the main workflow of this example, while the script commands method is included 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 gain 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 or using FEEM (detailed in appendix).
Step 2: Electric Field Calculation
In this step, the structure is set up and simulated in CHARGE to calculate the electric field strength as a function of applied bias voltage. The materials, layer thickness, and doping values are set according to the reference. The fields in the quantum wells are obtained and exported, enabling the field-dependent calculations performed in the next step.
Step 3: Absorption Calculation
Using the MQW solver, absorption simulation is performed at several different electric fields and the absorption coefficients and perturbation to real part of the refractive index vs field results for TE and TM modes are plotted. The transmission for TE mode is then calculated and compared with the literature. There are two options for running MQW: using GUI or using mqwindex script command. The advantage of GUI is that it may be easier to define solver inputs and materials and it is possible to perform the sweep over different bias (i.e. electric field) in parallel. The MQW GUI solver is part of FE IDE, while mqwindex command can be run from any product if the license for MQW is available. The same license covers both the GUI and the mqwindex script command. MQW GUI is part of the main workflow in this example, while instructions how to do the same using the mqwindex script command can be found in appendix.
Step 4: 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
- Launch FDE and change the directory to where the application files are saved.
- Run the script input.lsf. This will initialize input data and simulation configuration parameters that are required for all three steps. This data will be saved in input.json, which will be called later on by scripts in different steps when needed.
- Run the script runFDEmaterial.lsf. This will calculate the refractive index of the materials as a function of frequency and import it into the optical simulation.
- Run the script runFDE.lsf. This will calculate the effective index as a function of frequency and confinement factor. The script requires the safe-mode to be turned off.
The effective and group indices, as well as the confinement factor used in the subsequent steps, are stored in wgSweep.neff, wgSweep.ng and wgSweep.confinement_factor, respectively. These results will also be stored in the file QCSE_EAM_opt.json.
Step 2: Electric field calculation
- Launch CHARGE and change the directory to where the application files are saved.
- Run the runCHARGE.lsf script. This will first open template project file charge_mqw.ldev and modify and run CHARGE simulation based on parameters specified in input.lsf and then export the field in quantum wells, needed for MQW.
The script opens charge_mqw.ldev template project file, modifies the geometry and contact voltage array as needed based on the information specified in input.lsf, saves the project file under a new name to avoid modifying the template file, and runs CHARGE simulation as a function of bias voltage. The superlattice outside the quantum wells is approximated as a bulk material with a uniform bandgap. The equilibrium band diagram illustrates the electronic structure:
Once the simulation is run, the script then extracts the field values (in z-direction) for the two quantum wells, average them at each bias voltage, and save them in a JSON file:
Step 3: Absorption Calculation
- Launch MQW and change the directory to where the application files are saved.
- Run the script runMQW.lsf. This will first open template project file charge_mqw.ldev, modify some material and solver parameters based on parameters specified in input.lsf and in the reference, save the project file under a new name to avoid modifying the template file, run MQW sweep over different electric fields and calculate absorption coefficients vs. electric fields for TE and TM mode. The sweep can be parallelized in order to speed up the simulation, by setting an appropriate number of parallel processes in the Resource Configuration menu in FE IDE.
The absorption coefficients vs fields for TE and TM mode are shown in the following plots:
Also, the complex index is calculated and perturbation to the real part of refractive index vs energy for different fields for TE and TM mode are plotted.
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 4: Compact modeling
- While still in CHARGE or MQW (both are in FE IDE), open and run the script file result_to_spar.lsf to write the calculated transmission amplitude, phase, and group delay into the s-parameter format for the time-variant s-parameter element.
- Open EAM_circuit.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 taken from [2]. Also 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 layer having the average refractive index.
Mesh override region in FDE:
The active layer under study in this example consists of thin 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 refractive index of the superlattice to study modes confined in the QW regions.
Relative static permittivity (eps) :
This is a scalar value defined in the MQW solver object edit window representing the MQW active layer. Since an exciton represents a bound state of electron and hole due to Coulomb interaction, it is important to know the permittivity. In this example, the value of 10 gives the best match of the absorption spectra shape compared to the measurement curves.
Transverse wave vector: kt
This is an array of values defined in the MQW solver object edit 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.
Number of QW subbands in the conduction and valence bands
With the exciton model turned on this parameter defined in the MQW solver object edit 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.
Subband energy broadening: gamma
This QW energy level broadening due to intraband scattering processes defined in the MQW solver object edit window and modifiable from input.lsf is made electric field dependent, to obtain a somewhat better match of absorption curves.
Carrier density: cden
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.
Temperature: T
This parameter defined in the MQW solver object edit window is ignored when the exciton model is turned on, except for the dependence of material properties with temperature.
Flag to enable QCSE: exciton
This parameter defined in the MQW solver object edit window can be true or false and is used to turn on the exciton model in the simulation.
Parallelizing MQW sweep
Since the sweep can be parallelized, in order to shorten the simulation time it is possible to configure Resources under File tab in FE IDE to use multiple parallel processes. 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.
The rest of the MQW solver parameters have the same meaning as for the case without the exciton model, which can be found in our previous examples and documentation.
Updating the model with your parameters
Instructions for updating the model based on your device parameters
Changing the gain region length
The variable mqw.length in the input.lsf file is used for this. input.lsf and runMQW.lsf need to be run afterwards.
Change QW layer thickness
The variable common.well_thickness in the input.lsf file is used for this. This may require modifying the expected center frequency common.centre_frequency for FDE and MQW calculations, since the band gap is affected by the quantum well thickness due to quantization effect. 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 3 can then be updated based on the result to get more agreement with values reported in reference.
- To change the gain material all the scripts and project files need to be adjusted. If you need further assistance with these changes, please contact Lumerical support.
- For a more realistic electro-absorption modulator, bandwidth, dark current and photo current 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 photo current. 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.
- S. Adachi, “GaAs, AlAs , and AlxGa1−xAs: Material parameters for use in research and device applications”, Journal of Applied Physics , Vol. 58, No. 3, 1985.
See also
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 ex dataset in MQW GUI, or by running the script command visualize(out.ex) on the variable "out" containing the output of mqwindex commands. In this example, a sweep is used to calculate the main results as a function of electric field, and ex has not been added as one of sweep results. The users can either add ex to the sweep results in the sweep object if using MQW GUI, or save the result in the for loop if using mqwindex approach. It is also possible to run a single field simulation, either using MQW GUI or mqwindex script command, and then visualize ex separately from sweep.
In a similar way exciton wave functions can be visualized by running the script command visualize(out.phix) or visualizing phix dataset from the MQW GUI object.
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 gain medium. These are all calculated in the vicinity of the nominal target lasing frequency and are expected to be locally weakly frequency-dependent. Once the mode calculation is done, the rest of the steps are identical. Hence, alternatively for step 1:
- Launch FEEM and change the directory to where the application files are saved.
- Run the script input.lsf. This will initialize input data and simulation configuration parameters that are required for all three steps. This data will be saved in input.json, which will be called later on by scripts in different steps when needed.
- Run the script runFEEMmaterial.lsf. This will calculate the refractive index of the materials as a function of frequency and import it into the optical simulation.
- Run the script runFEEM.lsf. This will calculate the effective index as a function of frequency and confinement factor. The script requires the safe-mode to be turned off.
The effective indices, as well as the confinement factor used in the subsequent steps, are stored in wgSweep.neff and wgSweep.confinement_factor, respectively. These results will also be stored in the file QCSE_EAM_opt.json.
Absorption Calculation using mqwindex script command (replacement for step 3)
- While still in CHARGE, open and run the script file runMQW_mqwindex_script_command.lsf to calculate absorption coefficients vs. electric fields for TE and TM mode.
This script first loads the results from the eigenmode simulation and electric field simulation. It will then set up the layer structure, calculate the material properties for the MQW gain region using the buildmqwmaterial script command and customize some of the properties using the values from the reference, and then run the MQW solver's mqwindex script command to calculate absorption coefficients vs fields for TE and TM mode.
The results are the same as when using MQW GUI.