Designing a Waveguide Photodetector in Rsoft

The following images depict the first stages of a waveguide photodetector design in Rsoft., The input waveguide is 2 microns, followed by a tapered section to a 10 micron wide photodetector region. Three tapering typologies are used. Following these initial simulations come optimization of the photodetector region and electrical simulations.

First, the layer view. This section is at the input waveguide.

The InGaAs layers above the waveguide serve to absorb the optical power in the photodetector region:

Three different input tapers are used:

Exponential Taper:

Absorption in the photodetector region is in the range of 95%.

Quadratic Taper:

Here is the optical power remaining in the waveguide region:

Linear Taper:

IMD3: Third Order Intermodulation Distortion

We’ll begin a discussion on the topic of analog system quality. How do we measure how well an analog system works? One over-simplistic answer is to say that power gain determines how well a system operates. This is not sufficient. Instead, we must analyze the system to determine how well it works as intended, which may include the gain of the fundamental signal. Whether it is an audio amplifier, acoustic transducers, a wireless communication system or optical link, the desired signal (either transmitted or received) needs to be distinguishable from the system noise. Noise, although situationally problematic can usually be averaged out. The presence of other signals are not however. This begs the question, which other signals could we be speaking of, if there is supposed to be only one signal? The answer is that the fundamental signal also comes with second order, third order, fourth order and higher order distortion harmonic and intermodulation signals, which may not be averaged from noise. Consider the following plot:

We usually talk about Third Order Intermodulation Distortion or IMD3 in such systems primarily. Unlike the second and fourth order, the Third Order Intermodulation products are found in the same spectral region as the first order fundamental signals. Second and fourth order distortion can be filtered out using a bandpass filter for the in-band region. Note that the fifth order intermodulation distortion and seventh order intermodulation distortion can also cause an issue in-band, although these signals are usually much weaker.

Consider the use of a radar system. If a return signal is expected in a certain band, we need to be able to distinguish between the actual return and differentiate this from IMD3, else we may not be able to trust our result. We will discuss next how IMD3 is avoided.

Mode Converters and Spot Size Converters

 Spot size converters are important for photonic integrated circuits where a coupling is done between two different waveguide sizes or shapes. The most obvious place to find a spot size converter is between a waveguide of a PIC and a fiber coupling lens.

 Spot size converters feature tapered layers on top of a ridge waveguide for instance, to gradually change the mode while preventing coupling loss.

The below RSoft example shows how an optical path is converted from a more narrow path (such as a waveguide) to a wider path (which could be for a fiber).

While the following simulation is designed in Silicon, similar structures are realized in other platforms such as InP or GaAs/AlGaAs.

RSoft Beamprop simulation, demonstrating conversion between two mode sizes. Optical power loss is calculated in the simulation for the structure.


 This is the 3D structure. Notice the red section present carries the more narrower optical path and this section is tapered to a wider path.


 The material layers are shown:


Structure profile:


Discrete-Time Signals and System Properties

First, a comparison between Discrete-Time and Digital signals:

The independent variable (most commonly time) is represented by a sequence of numbers of a fixed interval. Both the independent variable and dependent variable are represented by a sequence of numbers of a fixed interval. 

Discrete-Time and Digital signal examples are shown below:

Discrete-Time Systems and Digital Systems are defined by their inputs and outputs being both either Discrete-Time Signals or Digital Signals.

Discrete-Time Signals

Discrete-Time Signal x[x] is sequence for all integers n.

  Unit Sample Sequence:
𝜹[n]: 1 at n=0, 0 otherwise.  
   Unit Step:
u[n] = 1 at n>=0, 0 otherwise.


Any sequence: x[n] = a1* 𝜹[n-1] + a2* 𝜹[n-2]+…
where a1, a2 are magnitude at integer n.

Exponential & Sinusoidal Sequences

Exponential sequence: x[n] = A 𝞪n
                                                 where 𝞪 is complex, x[n] = |A|ej𝜙 |𝞪|e0n=|A||𝞪|n ej(ω0n+𝜙)
                                                                                                     = |A||𝞪|n(cos(ω0n+𝜙)+j sin(ω0n+𝜙))
                Complex and sinusoidal: -𝝅< ω0< 𝝅 or 0< ω0< 2𝝅.

                                                Exponential sequences for given 𝞪 (complex 𝞪 left, real 𝞪 right):

Periodicity:        x[n] = x[n+N],  for all n. (definition). Period = N.
                                Sinusoid: x[n] = A cos(ω0n+𝜙) = A cos (ω0n+ ω0N+ 𝜙)
                                                Test: ω0N = 2𝝅k,                            (k is integer)

                                Exponential: x[n] = e0(n+N) = e0n,
                                                Test: ω0N = 2𝝅k,                            (k is integer)

System Properties

                                  System: Applied transformation y[n] = T{x[n]}

Memoryless Systems:

                                Output y[nx] is only dependent on input x[nx] where the same index nx is used for both (no time delay or advance).

Linear Systems:               Adherence to superposition. The additive property and scaling property.

Additive property:         Where y1[n] = T{x1[n]} and y2[n] = T{x2[n]},
y2[n] + y1[n] = T{x1[n]+ x2[n]}.

Scaling property:            T{a.x[n]} = a.y[n]           

Time-Invariant Systems:

                                Time shift of input causes equal time shift of output. T{x[n-M]} = y[n-M]


                                The system is causal if output y[n] is only dependent on x[n+M] where M<=0.


                                Input x[n] and Output y[n] of system reach a maximum of a number less than infinity. Must hold for all values of n.

Linear Time-Invariant Systems

                                Two Properties: Linear & Time-Invariant follows:

                “Response” hk[n] describes how system behaves to impulse 𝜹[n-k] occurring at n = k.

  • Convolution Sum: y[n] = x[n]*h[n].

Performing Discrete-Time convolution sum:

  1. Identify bounds of x[k] (where x[k] is non-zero) asN1 and N2.
  2. Determine expression for x[k]h[n-k].
  3. Solve for

General solution for exponential (else use tables):

Graphical solution: superposition of responses hk[n] for corresponding input x[n].

LTI System Properties

As LTI systems are described by convolution…

LTI is commutative: x[n]*h[n] = h[n]*x[n].

                                … is additive: x[n]*(h1[n]+h2[n]) = x[n]*h1[n] + x[n]*h2[n].

                                … is associative: (x[n]*h1[n])*h2[n] = x[n]*(h1[n]*h2[n])

                LTI is stable if the sum of impulse responses

                                … is causal if h[n] = 0 for n<0                  (causality definition).

Finite-duration Impulse response (FIR) systems:

                Impulse response h[n] has limited non-zero samples. Simple to determine stability (above).

Infinite-duration impulse response (IIR) systems:

                Example: Bh=

If a<1, Bh is stable and (using geom. series) =

Delay on impulse response: h[n] = sequence*delay = (𝜹[n+1]- 𝜹[n])* 𝜹[n-1] = 𝜹[n] – 𝜹[n-1].



Arrayed Waveguide Grating for Wavelength Division Multiplexing

Arrayed Waveguide Grating (or AWG) is a method for wavelength division multiplexing or demultiplexing. The approach for multiplexing is to use unequal path lengths to generate a phase delay and constructive interference for each wavelength at an output port of the AWG. Demultiplexing is done with the same process, but reversed.

Arrayed Waveguide Gratings are commonly used in photonic integrated circuits. While Ring Resonators are also used for WDM, ring resonators see other uses, such tunable or static filters. Further, a ring resonator selects a single wavelength to be removed from the input. In the case of AWGs, light is separated according to wavelength. For many applications, this is a more superior WDM, as it offers great capability for encoding and modulating a large amount of information according to a wavelength.

Both the design of the star coupler and the path length difference according to the designed wavelength division make up the significant amount of complexity of this component. RSoft by Synopsys includes an AWG Utility for designing arrayed waveguide gratings.

RSoft AWG Utility Guide

Using this utility, a star coupler is created below:

Star Coupler for AWG designed in RSoft using AWG Utility

Methods of Optical Coupling

An optical coupler is necessary for transferring optical energy into or out of a waveguide. Optical couplers are used for both free-space to waveguide optical energy transmission as well as a transmission from one waveguide to another waveguide, although the methods of coupling for these scenarios are different. Some couplers selectively couple energy to a specific waveguide mode and others are multimode. For the PIC designer, both the coupling efficiency and the mode selectivity are important to consider for optical couplers.

Where the coupling efficiency η is equal to the power transmitted into the waveguide divided by the total incident power, the coupling loss (units: dB) is equal to
L = 10*log(1/η).

Methods of optical coupling include:

  • Direct Focusing
  • End-Butt Coupling
  • Prism Coupling
  • Grating Coupling
  • Tapered Coupling (and Tapered Mode Size Converters)
  • Fiber to Waveguide Butt Coupling

Direct Focusing for Optical Coupling

Direct focusing of a beam to a waveguide using a lens in free space is termed direct focusing. The beam is angled parallel with the waveguide. This is also one type of transverse coupling. This method is generally deemed impractical outside of precision laboratory application. This is also sometimes referred to as end-fire coupling.

End-Butt Coupling

A prime example of end-butt coupling is for a case where a laser is fixated to a waveguide. The waveguide is placed in front of the laser at the light-emitting layer.

Prism Couplers

Prism coupling is used to direct a beam onto a waveguide when the beam is at an oblique incidence. A prism is used to match the phase velocities of the incident beam and the waveguide.

Prism Coupling

Grating Couplers

Similar to the prism coupler, the grating coupler also functions to produce a phase match between a waveguide mode and an oblique incident beam. Gratings perturb the waveguide modes in the region below the grating, producing a set of spatial harmonics. It is through gratings that an incident beam can be coupled into the waveguide with a selective mode.

Grating Coupler in RSoft

Tapered Couplers

Explained in one way, a tapered coupler intentionally disturbs the conditions of total internal reflection by tapering or narrowing the waveguide. Light thereby leaves the waveguide in a predictable manner, based on the tapering of the waveguide.

Tapered Mode Size Converters

Mode size converters exist to transfer light from one waveguide to another with a different cross-sectional dimension.

Butt Coupling

The procedure of placing the waveguide region of a fiber directly to a waveguide is termed butt coupling.

Programs for PIC (photonic Integrated Circuit) Design

For building PICs or Photonic Integrated Circuits, there are a number of platforms that are used in industry today. Lumerical Suite is a major player for instance with built in simulators. Cadence has a platform that can simulate both photonic and electronic circuits together, which for certain applications provides a major advantage. There are two platforms that I’ve become familiar with, which are the Synopsys PIC Design Suite (available for students with an agreement, underwritten by a professor at your university to ensure it’s use is for only educational purposes) and Klayout using Nazca Design packages.

Synopsys is another great company with advanced programs for photonic simulation and PIC design. Synopsys Photonic Design Suite can include components that are designed using Rsoft. OptoDesigner is the program in the PIC design suite where PICs are designed, yet the learning curve may not be what you were hoping. The 3,000+ page manual let’s the user dive into the scripting language PheoniX, which is necessary to learn for PIC design using Synopsys. Using a scripting language means that designing your PIC can be automated, thereby eliminating repetitive designing. There also comes other advantages to this such as being able to fine tune one’s design without needing to click and drag components. Coding for PIC design might sound tedious, but if you start to use it, I think you’ll realize that it’s really not and that it’s a very powerful way of designing PICs. If you’d like to use PheoniX scripting language using the Synopsys PIC design suite, note that the scripting language is similar to C.

Synopsys PIC Design Suite, Tutorial Program for Ring Resonator

One of the greatest aspects of OptoDesigner and the PIC Design Suite is the simulation capabilities. Much like the simulations that can be run in Rsoft, these are available in OptoDesigner.

Running FDTD in OptoDesigner

The downside of Synopsys PIC Design Suite is in the difficulty of obtaining a legal copy that can be used for any and all purposes, even commercial. I mentioned that I obtained a student version. This is great for learning the software, to a certain extent. The learning stops when I would like to build something that could be sent out to a foundry for manufacture. Let’s be honest though, there is a lot to learn before getting to that point. Still, if we would even like to use a Process Design Kit (PDK) which contains the real component models for a real foundry so that you can submit your design to be built on a wafer, you will need to convince Synopsys that the PDK is only used for educational purposes and not only for learning, but as part of an education curriculum. If your university let’s you get your hands on a PDK with Synopsys Student version, you will essentially have free range to design PICs to your hearts content. If you have a student version, you’ll still have to buy a professional version if you want to design a PIC using a foundy PDK, submit it for a wafer run and sell it. I’ll let you look up the cost for that. The best way to use Synopsys is to work for a company that has already paid for the profession version, in conclusion.

Now, if you find yourself in the situation where all the simulation benefits of using OptoDesigner are outweighed by the issue of needing to perform a wafer run, you might just want to use Klayout with Nazca Design photonic integrated circuit design packages. These are both open source. Game changer? Possibly. Suddenly, you picture yourself working as an independent contractor for PIC design someday and you’ll have Klayout to thank.

Klayout and the Nazca Design packages are based on the very popular Python programming language. Coding can be done in Spyder, Notepad or even Command Prompt (lol?). If you aren’t familiar with how Python works, PIC design might move you to learn. Python takes the place of PheoniX scripting language as is used in OptoDesigner, so you still have the automation and big brain possibilities that a scripting language gives you for designing PICs. As for simulations, you’ll have to go with your gut, but you could use discrete components to design your circuit and evaluate that.

Klayout doesn’t come with a 3,000+ page manual, but you’ll likely find that it is a simpler to use than OptoDesigner. Below is a Python script, which generates a .gds file and then the file opened in Klayout.

Python Script for PIC Design in Klayout using Nazca Design packages
.gds file opened in Klayout

Ring Resonators for Wavelength Division Multiplexing

The ring resonator is a rather simple passive photonic component, however the uses of it are quite broad.

The basic concept of the ring resonator is that for a certain resonance frequency, those frequencies entering port 1 on the diagram below will be trapped in the ring of the ring resonator and exit out of port 3. Frequencies that are not of the resonance frequency will pass through to port 2.


Ring resonators can be used for Wavelength Division Multiplexing (WDM). WDM allows for the transmission of information allocated to different wavelengths simultaneously without interference. There are other methods for WDM, such as an Asymmetric Mach Zehnder Modulator.

Here I present one scheme that will utilize four ring resonators to perform wavelength division multiplexing. The fifth output will transmit the remaining wavelengths after removing the chosen wavelengths dependent on the resonating frequency (and actually, the radius) of the ring resonators.





Quantum Well: InP-InGaAsP-InP

Quantum wells are widely used in optoelectronic and photonic components and for a variety of purposes. Two materials that are often used together are InP and InGaAsP. Two different models will be presented here with simulations of these structures. The first is an InP pn-junction with a 10 nm InGaAsP (unintentionally doped) layer between. The second is an InP pn-junction with 10 nm InGaAsP quantum wells positioned in both the positive and negative doped regions.

Quantum Well between pn-junction

quantum well

The conduction band and valence band energies are depicted below for the biased case:

quantum well2

The conduction current vector lines:


ATLAS program:

go atlas
Title Quantum Wells
# Define the mesh
mesh auto
x.m l = -2 Spac=0.1
x.m l = -1 Spac=0.05
x.m l = 1 Spac=0.05
x.m l = 2 Spac =0.1
#TOP TO BOTTOM – Structure Specification
region num=1 bottom thick = 0.5 material = InP NY = 10 acceptor = 1e18
region num=3 bottom thick = 0.01 material = InGaAsP NY = 10 x.comp=0.1393  y.comp = 0.3048
region num=2 bottom thick = 0.5 material = InP NY = 10 donor = 1e18
# Electrode specification
elec       num=1  name=anode  x.min=-1.0 x.max=1.0 top
elec       num=2  name=cathode   x.min=-1.0 x.max=1.0 bottom

#Gate Metal Work Function
contact num=2 work=4.77
models region=1 print conmob fldmob srh optr
models region=2 srh optr
material region=2

solve    init outf=diode_mb1.str master
output e.mobility h.mobility band.param photogen opt.intens recomb u.srh u.aug u.rad flowlines
tonyplot diode_mb1.str
method newton autonr trap  maxtrap=6 climit=1e-6
solve vanode = 2 name=anode
save outfile=diode_mb2.str
tonyplot diode_mb2.str
Quantum Well layers inside both p and n doped regions of the pn-junction
Simulation results:
#TOP TO BOTTOM – Structure Specification
region num=1 bottom thick = 0.25 material = InP NY = 10 acceptor = 1e18
region num=3 bottom thick = 0.01 material = InGaAsP NY = 10 x.comp=0.1393  y.comp = 0.3048
region num=4 bottom thick = 0.25 material = InP NY = 10 acceptor = 1e18
region num=2 bottom thick = 0.25 material = InP NY = 10 donor = 1e18
region num=6 bottom thick = 0.01 material = InGaAsP NY = 10 x.comp=0.1393  y.comp = 0.3048
region num=2 bottom thick = 0.25 material = InP NY = 10 donor = 1e18

Capacitance and Parallel Plate Capacitors

Capacitance relates two fundamental electric concepts: charge and electric potential. The formula that relates the two is Capacitance = charge / electric_potential.

The term equipotential surface refers to how a charge, if moved along a particular path or surface, the work done on the field is equal to zero. If there are many charges along the surface of a conductor (along an equipotential surface), then the potential energy of the charged conductor will be equal to 1/2 multiplied by the electric potential φ and the integral of all charges along this surface.

Ue = ½ φ ∫ dq.

Given a scenario in which both charge and electric potential are related, we may introduce capacitance. The following formula proves important for calculating the energy of a charged conductor:

Ue = ½ φ q = ½ φ2 C = q2 / (2C).

A parallel plate capacitor is a system of metal plates separated by a a dielectric. One plate of the capacitor will be positively charged, while the other is negatively charged. The potential difference and charge on the capacitor places causes a storage of energy between the two plates in an electric field.


Electric Potential and Electric Potential Energy

Electric potential can be summarized as the work done by an electric force to move a charge from one point to another. The units are in Volts. Electric potential is not dependent on the shape of the path that the work is applied. Being a conservative system, the amount of energy required to move a charge in a full circle, to return it back to where it started will be equal to zero.

The work of an electrostatic field takes the formula

W12 = keqQ(1/r1 – 1/r2),

which is found by integrating the the charge q times the electric field. The work of an electrostatic field also contains both the electric potential and electric potential energy. Electric potential energy, U is equal to the electric potential φ multiplied by the charge q. Electric potential energy is a difference of potentials, while electric potential uses the exact level of electric potential in the given case.


To calculate electric potential energy, it is convenient to assume that the potential energy is zero at a distance of infinity (and surely it should be). In this case, we can write the electric potential energy as equal to the work needed to move a charge from point 1 to infinity.


We’ll consider a quick application related to both the dipole moment and the electric potential. The dipole potential takes the formula in the figure below. Dipole potential decreases faster with distance r than it would for a point charge.


Dipole Moment

Consider we have both a positive and negative charge, separated by a distance. When applying supperposition of the electric force and electric field generated by the two charges on a target point, it is said that the positive and negative charges create an effect called a dipole moment. Let’s consider a few example of how an electric field will be generated for a point charge in the presence of both a positive and negative charge. Molecules also often have a dipole moment.

Here, the target point is at distance b at the center between the negative and positive charges. Where both charges are of the same magnitude, both the vertical attraction and repulsion components are cancelled, leaving the electric field to be generated in a direction parallel to the axis of the two charges.


Now, we’ll consider a target point along the axis of the two charges. Remember that a positive charge will produce an electric force and electric field that radiates from itself outward, while the force and field is directed inwards towards a negative charge. We can expect then, that the electric field will be different on either side. We can expect that the side of the positive charge will repel and the negative side will attract. This works, because the distance inverse proportionality is squared, making it so that the effect from the other charge will be less. This is a dipole.

Given how a dipole functions, it would be nice to have a different set of formulas and a more refined approach to solving electric field problems with dipoles. The dipole moment p is found using the formula, p=qI with units Couolumb*meter. I is the vector which points from the negative charge to the positive charge. The dipole moment is drawn as one point at the center of the dipole with vector I through it.dipole

In order to treat the two charges as a center of a dipole, there should be a minimum distance between the dipole and the target point. The distance between the dipole and the target should be much larger than the length l of the magnitude of vector I.


Finally, the formula for these electric fields using a dipole moment are

E1 = 2kep/b13

E2 = 2kep/b23

Electric Force & Electric Field

While the electric force describes the exertion of one charge or body to another, we also have to remember that the two objects do not need to be touching physically for this force to be applied. For this reason, we describe the force that is being exerted through empty space (i.e. where the two objects aren’t touching) as an electric field. Any charge or body or thing that exerts an electrical force, generated most importantly by the distance between the objects and the amount of charge present, will generate an electric field.

The electric field generated as a result of two charges is directly proportional to the electric force exerted on a charge, or Coulomb force and inversely proportional to the charge of the particle. In other words, if the Coulomb force is greater, then the electric field will be stronger, but it will also be smaller if the charge it is applied to is smaller. Coulomb force as mentioned previously is inversely proportional to the distance between the charges. The electric field, E then uses the formula E = F/q and the units are Volts per meter.

By combining both Coulomb’s Law and our definition for the electric field, the electric field can be written as

E1 = ke * q1/r2 er

where er again is the unit vector direction from charge q1.


When drawing electric field lines, there are three rules pay attention to:

  1. The direction is tangent to the field line (in the direction of flow).
  2. The density of the lines is proportional to the magnitude of the electric field.
  3. Vector lines emerge from positive charges and sink towards negative charges.


Adding electric fields to produce a resultant electric field is simple, thanks to the property of superposition which applies to electric fields. Below is an example of how a resultant electric field will be calculated geometrically. The direction of each individual field from the charges is determined by the polarity of the charge.


Coulomb Force

Electric charge is important in determining how a body or particle will behave and interact electromagnetically. It is also key for understanding how electric fields, electric potentials and electromagnetic waves come into existence. It starts with the atom and it’s number of protons and electrons.

Charges are positive or negative. In a neutral atom, the number of protons in a nucleus is equal to the number of electrons. When an atom loses or gains an electron from this state, it becomes a negatively or positively charged ion. When bodies or particles exhibit a net charge, either positive or negative, an electric force arises. Charges can be caused by friction or irradiation. Electrostatic force functions similar to the gravitational force – in fact the formulas look very similar! The difference between the two is most importantly that electrostatic force can be attraction or repulsion, but gravitational force is always attraction. However for small bodies, the electrostatic force is primary and the gravitational force is negligible.

Charles Coloumb conducted experiments around 1785 to understand how electric charges interact. He devised two main relations that would become Coulomb’s Law:

The magnitude of the force between two stationary point charges is

  1. proportional to the product of the magnitude of the charges and
  2. inversely proportional to the square of the distance between the two charges.

The following expression describes how one charge will exert a force on another:


The unit vector in the direction of charge 1 to charge 2 is written as e12 and the position of the two numbers indicates the direction of the force, moving from the first numbered position to the second. Reversing the direction of the force will result in a reversed polarity, F12 = -F21.

The coefficient ke will depend on the unit system and is related to the permittivity:


The permittivity of vacuum, ε0 = 8.85*10^(-12)  C^2N*m^2.

Coulomb forces obey superposition, meaning that a series of charges may be added linearly without effecting their independent effects on it’s ‘target’ charge. Coulomb’s Law extends to bodies and non-point charges to describe an applied electrostatic force on an object; the same first equation may be used in this scenario.

RSoft Tutorials 9. Using Real Materials and Multilayer Structures

Rsoft comes with a number of libraries for real materials. To access these materials, we can add them at any time from the Materials button on the side. However, to build a Multilayer structure that can utilize many materials, select “Multilayer” under 3D Structure Type.


Now, select “Materials…” to add desired materials. Move through the RSoft Libraries to chose a material and use the button in the top right (not the X button, silly) to use the material in the project. Now select OK to be brought back to the Startup Window, where we must now design a layered structure using these materials. Note that while building the layers, you can add more materials.


Selecting “Edit Layers…” on the Startup window brings you to the following window. Here, you can define your layers by selecting “New Layer”. Enter the Height and Material of the layer and select “Accept Layer” and repeat the process until the structure is finished. Select OK when done and select OK on the Startup window if all other settings are complete. This is my structure. Note that my structure size adds up to 1. Remember what the size of your layers are.


Now, design the shape of the structure. I’ve made a rectangular waveguide. What is also important to consider is where the beam should enter the structure. By default, the beam is focused across the entire structure. In the case where a particular layer is meant to be a waveguide, this should be reduced in size. By remembering the sizes of the layers however it will not be difficult to aim the beam at a particular section of the waveguide. For my structure, I will aim my beam at the 0.2 GaInAsP layer. The positioning, width, height, angle and more of the launch beam can be edited in the “Launch Parameters” window, accessible through “Launch Fields” on the right side.


Finally, run a simulation with your structure!