Please enable JavaScript to view this site.

Application Gallery

Navigation: » No topics above this level «

Vertical Photodetector

Welcome to the new Application Gallery. Watch the 1min introductory video.
Scroll Prev Top Next More


This example describes a complete multiphysics (optical, electrical) simulation of a vertical Ge-Si photodetector, ending with a compact model circuit simulation in INTERCONNECT. Key results such as dark and photo currents, responsivity, and bandwidth are calculated. Links to other types of photodetectors, such as lateral, uni-travelling carrier, and avalanche photodetectors can be found in the additional resources. Photodetector length optimization using EME is described in the appendix.

Files and Required Solvers




Run and results

Important model settings

Updating the model with your parameters

Taking the model further

Additional resources

Appendix: Detector length optimization

Appendix: Calculating power absorption


Understand the simulation workflow and key results



This example is taken from T.-Y Liow et al., where a Ge-on-Si vertical photodetector illuminated at 1.55 um wavelength is fed from a Si waveguide into a Ge absorption layer through a taper. This input light signal generates electron hole pairs in Ge, which are subsequently separated under internal electric fields in the photodetector and flow towards electrical contacts forming charge current. FDTD is used to characterize the optical performance of the detector, while CHARGE is used to obtain the electric performance. Parameters from these simulations are imported into a compact model in INTERCONNECT to perform a photonic circuit simulation and obtaine an eye diagram.


T.-Y Liow et al., “Silicon Modulators and Germanium Photodetectors on SOI: Monolithic Integration, Compatibility and Performance Optimization”, IEEE Journal of Selected Topics in Quantum Electronics, Vol. 16, No.1 (2010)  


Step 1:

A detailed electromagnetic simulation using 3D FDTD with a mode source at 1.55 um wavelength calculates the field propagation through the taper and into the detector. The field distribution inside the Ge layer is used to calculate the absorption profile and optical generation rate. The optical generation rate is then imported into CHARGE to perform the electrical simulations. Single frequency simulations are appropriate for narrow band devices where the mode profiles are relatively constant over the wavelength range of operation.


Step 2:

The CHARGE solver is first used to calibrate the material properties in order to fit the calculated dark current to the dark current in the publication. This step does not require the generation rate data from FDTD. The dark current is sensitive to bulk and surface recombination rate material parameters. Run a parameter sweep over the Ge bulk recombination lifetime, surface recombination velocity at Ge/SiO2 interface, and the order of temperature dependency for surface recombination (eta). Once the recombination rates are optimized for a good fit of dark current values at different temperatures they will be imported into steps 3 (photocurrent) and 4 (bandwidth) and the dark current will be imported into the compact model for circuit simulation in INTERCONNECT in step 5.


Step 3:

To calculate the photo current, we need to import the optical generation rate from step 1 and use calibrated recombination parameters from step 2. Since the photodetector is relatively uniform along its length, the 3D optical generation rate from FDTD is averaged along the length, which allows doing 2D CHARGE simulations. This reduces the electrical simulation time significantly. Once the photo current is available, it is possible to calculate the responsivity as well, which will be later imported into the compact model in step 5 for circuit simulation.


Step 4:

The bandwidth of the photodetector is calculated by running a CHARGE transient simulation and performing a Fourier transform of the impulse current response. For this purpose, a global shutter is used to simulate turning on of the optical generation rate. The 3dB bandwidth will be imported into the compact model in step 5 for circuit simulation with INTERCONNECT.


Step 5:

Using simulation results from previous steps, we create a compact model of the photodetector in INTERCONNECT. It is then possible to perform circuit simulations. We calculate the eye diagram at different data rates.


Other types of photodetectors

For examples of Ge-on-Si lateral and avalanche photodetectors, as well as an InP based uni-travelling carrier photodetector see ‘Taking the model further’ section.


Detector length optimization

To optimize the photodetector length for maximum absorption it is much more efficient to run MODE (EME solver) parameter sweep than full FDTD simulations. For more information see Appendix.

Run and results

Instructions for running the model and discussion of key results

Step 1: Absorption and generation rate

1.Open vertical_photodetector_FDTD.fsp using FDTD.

2.Run the simulation. Since the photodetector length is 50 um and taper length is 18 um, this simulation will takes a few minutes to run.

3.Run the analysis by right clicking on ‘Generation_rate’ object in ‘Objects Tree’ window. This will calculate the generation rate due to absorption in Ge for 1 W injection source. The result will be saved in vertical_photodetector_generation.mat.

vertical_photodetector_layout_fdtd_zoom30 vertical_photodetector_exported_g_zoom42

Step 2: Dark current fitting

1.Open vertical_photodetector_DEVICE.ldev using DEVICE. This file has a nested parameter sweep set up to find the optimal material recombination parameters to match the dark current from the publication. The optical generation rate object ‘gen’ is disabled since we are interested in dark current. The reverse bias is set to -1 V.

2.Run the ‘life_time’ sweep in ‘Optimizations and Sweeps’ window. Since the nested sweep needs 135 simulations to run it may take a few hours. The parameters to sweep are bulk recombination time in Ge, surface recombination velocity at Ge-SiO2 interface, temperature dependence parameter eta for the surface recombination velocity, and global temperature.

3.Run script vertical_photodetector_dark_current_sweep.lsf, which will find the optimal parameters to fit the dark current from the publication and print them (eta=-3.8, surface recombination velocity=225000 cm/s, tau=1.5e-009 s), as well as plot the dark current vs. temperature curve and its comparison with the publication. The dark current at -1V reverse bias and 300K temperature is 0.34 uA, which agrees well with the publication.


Step 3: Photocurrent and responsivity

1.Open vertical_photodetector_DEVICE.ldev using DEVICE.

2.Update the simulation setup to measure the photocurrent and responsivity. The following script will make the appropriate modifications. Additionally, remember to use recombination parameters found in the previous step.
#Make sure the recombination rate parameters found in Step 2 are set.
setnamed('materials::Ge (Germanium) thin film::Ge (Germanium) thin film','recombination.trap model','Universal Temperature');
setnamed('materials::Ge (Germanium) thin film::Ge (Germanium) thin film','recombination.trap assisted.taun.universal temperature.A',1.5e-9);
setnamed('materials::Ge (Germanium) thin film::Ge (Germanium) thin film','recombination.trap assisted.taup.universal temperature.A',1.5e-9);
setnamed('CHARGE::boundary conditions::surface_recombination_Ge_SiO2','electron velocity',2250); #m/s
setnamed('CHARGE::boundary conditions::surface_recombination_Ge_SiO2','enable temperature model',true);
setnamed('CHARGE::boundary conditions::surface_recombination_Ge_SiO2','electron eta',-3.8);
#Enable optical generation rate object ‘gen’ and set power scale factor to give around 1 mA short circuit current
#(remember that the optical generation rate from FDTD was normalized to 1 W). This object already has generation
#data imported from file vertical_photodetector_generation.mat:
setnamed('CHARGE::gen','scale factor',1.2e-3);
#In ‘anode’ object set reverse bias sweep:
setnamed('CHARGE::boundary conditions::anode','sweep type','range');
setnamed('CHARGE::boundary conditions::anode','range start',0.25);
setnamed('CHARGE::boundary conditions::anode','range stop',-2);
setnamed('CHARGE::boundary conditions::anode','range num points',26);

3.Run the simulation.

4.To plot the normalized photo current and responsivity vs. voltage run the following lines:
Pin=1.2e-3; # Watts
I=-2*getdata("CHARGE", "anode.I");
plot(V,I_norm,"photo detector bias voltage(v)","I_(photo,norm)=I_(photo)/I_(norm)  a.u ");
plot(V,Resp,"photo detector bias voltage(v)","Responsivity (A/W) ");


The responsivity at -1 V reverse bias is 0.95 A/W, which agrees well with the publication.


Step 4: Impulse response and bandwidth.

1.Open vertical_photodetector_DEVICE.ldev using DEVICE.

2.If not already done, set recombination parameters using the first block of code in the script in step 3.2.

3.Use the following lines to set the remaining parameters:
#Turn on high field mobility model in Ge
setnamed('materials::Ge (Germanium) thin film::Ge (Germanium) thin film','electronic.l.mun.high model','monotonic');
setnamed('materials::Ge (Germanium) thin film::Ge (Germanium) thin film','electronic.l.mun.high field.driving field','grad Phi');
setnamed('materials::Ge (Germanium) thin film::Ge (Germanium) thin film','electronic.l.mup.high model','monotonic');
setnamed('materials::Ge (Germanium) thin film::Ge (Germanium) thin film','electronic.l.mup.high field.driving field','grad Phi');
#Set transient simulation and optical source shutter:
setnamed('CHARGE','solver mode','transient');
setnamed('CHARGE','transient min time step',1e-13); #s
setnamed('CHARGE','transient max time step',1e-10); #s
setnamed('CHARGE','shutter mode','step on');
setnamed('CHARGE','shutter ton',1e-12); #s
setnamed('CHARGE','shutter tslew',2e-12); #s
setnamed('CHARGE','shutter slew function','log');
setnamed('CHARGE','shutter slew cutoff',1e-6);
#Enable the optical generation rate object and set scale factor so that the step on current is approximately equal to the peak impulse current
#in the publication of around 0.1 mA. This object should already have data file imported:
setnamed('CHARGE::gen','scale factor',1.2e-4);
#Set transient reverse bias:
setnamed('CHARGE::boundary conditions::anode','bc mode','transient');
t=[0,1e-9]; #s
V=[-1,-1]; #V
setnamed('CHARGE::boundary conditions::anode','transient voltage time steps',t);
setnamed('CHARGE::boundary conditions::anode','transient voltage table',V);


4.Run the simulation. ‘Global Source Shutter’ in edit window of ‘CHARGE’ object under ‘Transient’ tab is set up to turn on the optical generation rate object ‘gen’ as a step function.

5.Run script vertical_photodetector_3dB_bandwidth.lsf, which will first calculate the impulse response from the step response and then perform a Fourier transform to find the frequency response. It will plot the impulse and step responses, as well as the 3 dB bandwidth, which is found to be 4 GHz at -1 V reverse bias agreeing well with the publication.


Step 5: Compact model and circuit simulation

1.Open file vertical_photodetector_INTERCONNECT.icp which represents a photonic circuit consisting of a CW laser source with 0.12 mW power (from step 4) and 1.55 um wavelength (from step 1), whose amplitude is modulated according to a random series of bits, driving a photodetector with 0.95 A/W responsivity (from step 3), 4 GHz bandwidth (from step 4), and 0.34 uA dark current (from step 2). The finite bandwidth of the photodetector is modeled by including an RC low pass filter with the cut-off frequency equal to the bandwidth.

2.Run 3 simulations, corresponding to different bit rates that can be set in the field ‘bitrate’ of ‘Root Element’: 2.5 Gb/s, 10 Gb/s, and 25 Gb/s.

3.For each of the 3 simulations visualize the eye diagram that can be accessed in ‘Result View’ window after selecting element ‘EYE_1’. Among other things, the eye diagrams shows the finite bandwidth of the photodetector with increasing bit rates of the source.



Important model settings

Description of important objects and settings used in this model

Step 1: FDTD simulation of absorption and optical generation rate

Ge absorption: At 1.55 um most of the optical absorption is in Ge layer on top of Si, while Si absorption can be neglected. The region where the optical generation rate is calculated can be limited to Ge layer.


Mode source: Only the fundamental mode is considered, which is calculated at the central frequency of the injected pulse at 1.55 um. The mode profile at other frequencies of the injected pulse is assumed constant, which is a good approximation for narrow band inputs.


Ge absorption layer length: While this length is reported to be 100 um in the publication, it is limited in the simulation to 50 um to minimize the simulation time. This is a good approximation as most of the light gets absorbed in the first 50 um (refer to Detector length optimization section in the Appendix).


Boundary conditions: y min boundary is set to anti-symmetric according to the symmetry rules of the fundamental TE mode. This will reduce the simulation region by a factor of two.


Generation rate analysis group: This object calculates the absorption and generation rate according to a theory described in the appendix. The optical source input power is normalized to 1 W, by setting the source intensity parameter to be equal to 1/(source area), where source plane is normal to x direction and from the source object it can be seen to be 15 um2.

Step 2: DEVICE (CHARGE) simulation of the dark current

Trap recombination (Rsrh): This Ge material parameter is one of the parameters in the sweep. The fitting of this parameter enables a good match of simulated and experimental dark currents. It is a reasonable assumption that this parameter will be process dependent and may need tweaking.


Surface recombination at Ge-SiO2 interface: The surface recombination velocity as well as its temperature dependence at the Ge-SiO2 interface are the other two parameters that are expected to play an important role in the dark current and whose values may be subject to some uncertainty, so they are also included in the sweep.


Doping: Doping is an important parameter that determines the internal electric field, which in turn determines the electron-hole separation dynamics and current flow. Therefore, it is important to create doping objects to resemble the doping profile in the real device as accurately as possible. This is especially important in devices with very high internal fields, such as avalanche photodiodes.


Surface recombination at other boundaries: Every interface has, to at least some extent, traps that lead to increased dark current, so it is important to include surface recombination objects at Si-Metal, Ge-Metal, and Si-Ge interfaces, with some reasonable values.


Photodetector length: Since DEVICE simulation is 2D the length of device should be specified in the field ‘norm length’ in ‘CHARGE’ edit window.

Step 3: DEVICE (CHARGE) simulation of the photo current and responsivity

Here it is important to reuse all the parameters found in Step 2.


Optical generation rate: The generation rate object calculated with FDTD was for 1 W input power. Here, it is important to properly set ‘scale factor’ in ‘gen’ object to represent the actual power used in the publication. An input power of 1.2 mW has been used, which corresponds to ~1 mA of short circuit current (i.e. current for zero bias) reported in the paper.

Step 4: DEVICE (CHARGE) simulation of the 3 dB bandwidth

Here it is important to reuse all the parameters found in Step 3.


Optical generation rate: The generation rate object calculated with FDTD was for 1 W input power. Here, it is important to properly set ‘scale factor’ in ‘gen’ object to represent the actual power used in the publication. Again, the paper reported the peak impulse response of 0.1 mA, so 0.12 mW input power was used (proportionally 10 times smaller than in Step 3).


High field mobility model: The photodetector bandwidth will depend on how fast generated electron-hole pairs can be separated under the internal electric field and how fast they will reach contacts. For this reason, it is important to turn on the high-field mobility model (i.e. velocity saturation) in material properties to avoid overestimating the bandwidth. In this example, we turned on the high field mobility model in Ge layer only as the electric field is highest there.


Time step: Even if the transient simulation converges nonlinear drift-diffusion equations successfully at each time step, the users may want to perform a result convergence test with respect to the time step size, by limiting the global min and max time step values in CHARGE’s edit window under Transient tab (the most stringent test would be to set max and min to the same small value). Sometimes smaller time steps will be required to get a more accurate and stable result for the bandwidth.

Step 5: INTERCONNECT simulation of the photodetector eye diagram

Circuit simulation in INTERCONNECT is done using an amplitude modulated CW laser source and assuming -1 V reverse bias of the photodetector. Since the bandwidth due to the amplitude modulation is much smaller than the optical frequency, using single frequency parameters for responsivity (steps 1 and 3) is a good approximation.


Bit rate: Random sequence of bits drives the amplitude modulation of the CW laser source. This quantity should be set at the root element, so that it can be reused in all the elements that need to know about it, which are in this case the PRBS generator and the eye diagram analyzer. To set the bit rate at these lower level elements set their bitrate expression field to %bitrate%.


Photodetector dark current and response: The photodetector circuit element accepts responsivity parameter as a constant or as a frequency dependent table. In this simulation we will set constant responsivity that was calculated in step 3 for a single frequency (1.55 um) and photodetector bias -1 V. Dark current is also set as a constant at -1 V bias.


Photodetector bandwidth: The easiest way to include a finite bandwidth of the photodetector in INTERCONNECT is by adding a low pass RC filter element, connect it to the output of the photodetector element, and set its cutoff frequency to the value of the 3dB bandwidth calculated in step 4.


CW laser frequency: this frequency should correspond to the optical source frequency in step 1 (1.55 um).

Updating the model with your parameters

Instructions for updating the model based on your device parameters

When updating the model to match your parameters, it is important to remember that multiple solvers and simulation files are involved. Changes must be made consistently in all the files. Some key parameters are listed below:


Photodetector geometry:

Change the photodetector length or width in steps 1-4. Rerun step 1 and import new optical generation rate into steps 3-4. Rerun step 2 with possibly different sweep recombination parameters or with fixed parameters and rerun to get the dark current and set the same recombination rate parameters (if changed) in steps 3-4. Rerun steps 3-4. Update the dark current, responsivity, and bandwidth parameters in step 5 and rerun.

Change the taper length in step 1 and rerun. Import new optical generation rate into steps 3-4 and rerun. Update the responsivity and bandwidth parameters in step 5 and rerun.


Optical source frequency: Change the source frequency in step 1 and rerun. Import new optical generation rate in steps 3-4 and rerun. Update the responsivity and bandwidth parameters and source frequency in step 5 and rerun.


Material: Change photodetector material in steps 1-4. Rerun step 1 and import new optical generation rate into steps 3-4. Rerun step 2 with possibly different sweep recombination parameters or with fixed parameters and rerun to get the dark current and set the same recombination rate parameters (if changed) in steps 3-4. Rerun steps 3-4. Update the dark current, responsivity, and bandwidth parameters in step 5 and rerun.


Doping profile: Change the doping profile in DEVICE simulations in steps 2-4. Rerun step 2 with possibly different sweep recombination parameters or with fixed parameters and rerun to get the dark current and set the same recombination rate parameters (if changed) in step 3-4. Rerun steps 3-4. Update the dark current, responsivity, and bandwidth parameters in step 5 and rerun.


Photodetector reverse bias: Change bias in step 2 and rerun using fixed recombination parameters. Step 3 already has bias sweep, so may not need to be rerun. Change bias in step 4 and rerun. Update the dark current, responsivity, and bandwidth parameters in step 5 at the new reverse bias and rerun.

Taking the model further

Information and tips for users that want to further customize the model

There are other photodetector examples in the Photonic Integrated Circuits > Photodetectors section that give details about simulating other important types of photodetectors. These examples focus on some of the important steps 1-5 (mainly FDTD and CHARGE simulations without parameter sweeps), but not all. The users can refer to those examples to find out how to simulate those steps for other types of photodetectors:


Germanium-on-Silicon Lateral Photodetector: An example of a lateral p-i-n photodetector.


InP/InGaAs Uni-Traveling Carrier Photodetector: An example of a uni-travelling carrier photodetector optimized for high speed.


Avalanche photodetector (APD): Examples of a 10 V Ge-on-Si APD with Si multiplication a 5 V Ge-on-Si APD with Ge and Si multiplication. Avalanche photodetectors leverage the process of impact ionization at high electric fields that provides internal gain for increased sensitivity.

Additional resources

Additional documentation, examples and training material

Lumerical University courses:

Course_FDTD100 Course_FDE100 Course_CT100 Course_INT100

Appendix: Detector length optimization

Additional background information and theory

It is important to determine the optimum device dimension, such as device length, since it may affect its performance, for example its ability to absorb light. However, such calculations (e.g. absorption vs. device length), can be time consuming when using FDTD. A length sweep of this VPD device can be done efficiently using the EME solver. The VPD structure is divided into several EME cell groups. Since the Ge structure has a uniform cross-section along the propagation axis, it is ideal to use the EME solver to sweep the length. In port 1, the fundamental TE mode is injected. Light is then coupled from the silicon waveguide to the Ge structure, and therefore light is absorbed. In this example, an analysis group is used to calculate the absorption.

The taper is not included in the structure and the waveguide is assumed to be constant in width that is equal to the wider end of the taper. This is an approximation because the taper will cause transmission to higher modes of such wide waveguide, while we only consider the fundamental mode. However, it is a good approximation, since around 80% of the power still remains in the fundamental mode after transmission through the taper.

Open vertical_photodetector_absorption_length_optimization.lms with MODE and run the simulation to find the modes. Once the simulation is run, we can make re-use of the calculated eigenmodes and the overlap results for propagation and return absorption as a function of device length. An absorption vs device length plot can be generated using vertical_photodetector_absorption_length_optimization.lsf. It is expected to observe a larger absorption as the device length increases. We can see that most of the light is absorbed in the first 50 um of the photodetector.



EME convergence testing: It is also important to check results convergence for the EME simulations. Number of eigenmodes used in the simulation is usually a critical parameter. In the plot below, the absorption of a 50 um long Ge VPD starts to converge when more than 70 modes are used in the EME simulations. Use vertical_photodetector_mode_convergence.lsf to generate the plot.

The number of modes used in the the EME calculations also affect the E-field profile. When more modes are used, we can observe that the field profiles can converge and become more comparable to the FDTD results. For devices that support a lot of modes, it is recommended to check results convergence with respect to the number of modes.


Appendix: Calculating power absorption

Additional background information and theory

As light is incident on the Germanium layer, it gets absorbed. The absorption per unit volume can be calculated from the divergence of the Poynting vector,


It is possible to calculate the absorption directly from this formula (see the Divergence of Poynting vector section), but divergence calculations tend to be very sensitive to numerical problems. Fortunately, there is a more numerically stable form. It can be shown that the above formula is equivalent to


With a little more work, we get the desired result


To calculate the absorption as a function of space and frequency, we only need to know the electric field intensity and the imaginary part of the permittivity.  Both quantities are easy to measure in an FDTD simulation. The number of absorbed photons per unit volume can then be calculated by dividing this value by the energy per photon:


The absorbed photons will generate electron hole pairs which will be separated out of the depletion region by the electric field and produce a flow of current.

Copyright Lumerical Inc. | Privacy | Site Map