All posts by mbenkerumass

Rsoft Tutorials 7. Index Grating

Index grating is a common method to alter the frequency characteristics of light. In Rsoft, a graded index component is found under the “Index Taper” tab when right-clicking on a component. By selecting the tab “Tapers…”, one can create a new index taper.


Here, the taper is called “User 1” and defined by an equation step(M*z), with z being the z-coordinate location.


Selecting “Test” on the User Taper Editor will plot the index function of the tapered component:


The index contour is plotted below:


Here, the field pattern:


Light contour plot:



Rsoft Tutorials 6. Multiple Launch Fields, Merging Parts

Launch Fields define where light will enter a photonic device in Rsoft CAD. An example that uses multiple launch fields is the beam combiner.




On the sidebar, select “Edit Launch Fields”. To add a new lauch, select New and chose the pathway. A waveguide will be selected by default. Moving the launch to a new location however will place it elsewhere. Input a parameter other than “default” to change the location, and other beam parameters.


Choosing “View Launch” will plot the field amplitude of the launches. For the plot below, the third launch was removed.


Merging Waveguides

Right-clicking on the structure will give the option to chose the “Combine Mode.” Be sure that Merge is selected to allow waveguides to combine.



The Pockels Effect and the Kerr Effect

The Electro-optic effect essentially describes the phenomena that, with an applied voltage, the refractive index of a material can be altered. The electro-optic effect lays the ground for many optical and photonic devices. One such application would be the electro-optic modulator.

If we consider a waveguide or even a lens, such as demonstrated through problems in geometrical optics, we know that the refractive index can alter the direction of propagation of a transmitted beam. A change in refractive index also changes the speed of the wave. The change of light propagation speed in a waveguide acts as phase modulation. The applied voltage is the modulated information and light is the carrier signal.

The electro-optic effect is comprised of both a linear and non-linear component. The full form of the electro-optic effect equation is as follows:


The above formula means that, with an applied voltage E, the resultant change in refractive index is comprised of the linear Pockels Effect rE and a non-linear Kerr Effect PE^2.

The Pockels Effect is dependent on the crystal structure and symmetry of the material, along with the direction of the electric field and light wave.



Rsoft Tutorials 5. Pathway Monitoring (BeamPROP)

When stringing multiple parts together, it is important to check a lightwave system for losses. BeamPROP Simulator, part of the Rsoft package will display any losses in a waveguide pathway. Here we have an example of an S-bend simulation. There appears to be losses in a few sections.


Here, the design for the S-bend waveguide has a few locations that are leaking, as indicated by the BeamPROP simulation.


The discontinuities are shown below, which are a possible source of loss:


After fixing these discontinuities, the waveguide can be simulated again using BeamPROP. In fact the losses are not fixed. This loss is called bending loss.



Bending loss is an important topic for wavguides and becomes critical in Photonic Integrated Circuits (PIC).

Rsoft Tutorials 4. Multi-Layer Profiles

Rsoft has the ability to create multilayered devices, as was done previously using ATLAS/TCAD. Rather than defining a structures through scripts as is done with ATLAS, information about the layers can be defined in tables that are accessed in Rsoft CAD.


To begin adding layers to a device, such as a waveguide, first draw the device in Rsoft CAD. To design a structure with a substrate and rib waveguide, select Rib/Ridge 3D Structure Type in the Startup Window.


Next, design the structure in Rsoft CAD.


The Symbol Table Editor is needed now not only to define the size of the waveguide, but also the layer properties. The materials for this waveguide will be defined simply using basic locally defined layers with a user-defined refractive index. Later, we will discuss importing layer libraries to use real materials.To get used to the parameters typically needed for this exercise, layer properties may not need to be defined now before entering the Layer Table Editor.


The Layer Table Editor is found on the Rsoft CAD sidebar. First, assign the substrate layer index and select new later. The layer name, index and height are defined for this exercise.


After layers have been chosen, the mode profile can be simulated.



Rsoft Tutorials 3. Fiber Structures and BeamPROP Simulation Animations

An interesting feature of BeamPROP simulations and other simulators in the Rsoft packages is that the simulation results can be displayed in a running animation. The following simulation is the result of a simulation of an optical fiber. BeamPROP simulates the transverse field in an animation as a function of the z parameter, which is the length of the optical fiber.

fiberBeamPROP sim

To design an optical fiber component with Rsoft CAD, select under 3D structure type, “Fiber” when making a new project.


To build a cylinder that will be the optical fiber, select the cylinder CAD tool (shown below) and use the tool to draw in the axis that the base of the cylinder is found.


Dimensions of the fiber can be specified using the symbol tool discussed previously and by right-clicking the object to assign these values. Note that animations of mode patterns through long waveguides is not only available for cylindrical fibers. Fibers may consist of a variety of shapes. Multiple pathways may be included. Simulations can indicate if a waveguide has potential leaks in it or the interaction of light with a new surface.




Rsoft Tutorials 2. Simulating a Waveguide using BeamPROP and Mode Profile

BeamPROP is a simulator found in the Rsoft package. Here, we will use BeamPROP to calculate the field distributions of our tapered waveguides. Other methods built withing Rsoft CAD are will also be explored.


Tapered Waveguide

The tapered waveguide that we are simulating is found below. We will use the BeamPROP tool to simulate the field distributions in the waveguide. We will also use the mode calculation tool to simulate the mode profile at each end of the waveguide.

BeamPROP Simulation Results


Rsoft CAD


Mode Profile Simulation

The mode simulation tool is found on the sidebar:


Before choosing the parameters of the Mode Simulator, let’s first take a look at the coordinates of the beginning and end of the waveguide. This dialog is found by right-clicking on the component. The window shows that the starting point along the z axis is 1 and the ending point is 43 (the units are actually micrometers, by the way). We will choose locations along the waveguide close to the ends of the waveguide at z equals 1.5 and 42.5.


Parameter selection window:


Results at z = 1.5:


Results at z = 42.5:


Rsoft Tutorials 1. Getting Started with CAD (tapered waveguide)

Rsoft is a powerful tool for optical and photonic simulations and design. Rsoft and Synopsys packages come with a number of different tools and simulators, such as BeamPROP, FullWAVE and more. There are also other programs typically found with Rsoft such a OptoDesigner, LaserMOD and OptSim. Here we focus on the very basics of using the Rsoft CAD environment. I am using a student version, which is free for all students in the United States.

New File & Environment

When starting a new file, the following window is opened. We can select the simulation tools needed, the refractive index of the environment (“background index”) and other parameters. Under dimensions, “3D” is selected.


The 3D environment is displayed:


Symbol Editor


On the side bar, select “Edit Symbols.” Here we can introduce a new symbol and assign it a value using “New Symbol,” filling out the name and expression and selecting “Accept Symbol.”









Building Components

Next we will draw a rectangle, which will be our waveguide.  Select the rectangular segment below:


Now, select the bounds of the rectangle. See example below:


Editing Component Parameters

Right click on the component to edit parameters. Here, we will now change the refractive index and the length of the component. The Index Difference tab is the difference in refractive index compared to the background index, which was defined when we created the file. We’ll set it to 0.1 and since our background index was 1.0, that means the refractive index of the waveguide is 1.1. Alternatively, the value delta that was in the box may be edited from the Symbol menu. We also want to use our symbol “Length” to define the length of our waveguide. We also want this waveguide to be tapered, so the ending vertex will be set to width*4. Note that width may also be edited in the symbol list.


Here, we have a tapered waveguide:


Methods of Calculation for Signal Envelope

The envelope of a signal is an important concept. When a signal is modulated, meaning that information is combined with or embedded in a carrier signal, the envelope follows the shape of the signal on it’s upper and lower most edges.

There are a number of methods for calculating an envelope. When given an in-phase and quadrature signal, the envelope is defined as:

E = sqrt(I^2  + Q^2).

This envelope, if plotted will contain the exact upper or lower edge of the signal. An exact envelope may be sought, depending on the level of detail required for the application.

Here, this data was collected as a return from a fiber laser source. We seek to identify this section of the data to determine if the return signal fits the description out of a number of choices. The exact envelope using the above formula is less useful for the application.

The MATLAB formula is used to calculate the envelope:

[upI, lowI] = envelope(I,x,’peak’);

And this is plotted below with the I and Q signals:


Here are two envelopes depicted without the signal shown. By selecting the range of interpolation, this envelope can be smoother. Typically it is less desirable for an envelope to contain so many carrier signals, as is the following where x=1000, the range of interpolation.


Further methods involving the use of filters may also be of consideration. Below, the I and Q signals are taken through a bandpass filter (to ensure that the data is from the desired frequency range) and finally a lowpass filter is applied to the envelope to remove higher frequency oscillation.


Semiconductor Growth Technology: Molecular Beam Epitaxy and MOCVD

The development of advanced semiconductor technologies presents one important challenge: fabrication. Two methods of fabrication that are being used to in bandgap engineering are Molecular Beam Epitaxy (MBE) and Metal organic chemical vapour deposition (MOCVD).

Molecular Beam Epitaxy uses high-intensity vacuums to fabricate compound semiconductor materials and compounds. Atoms or molecules containing the desired atoms are directed to a heated substrate. Molecular Beam Epitaxy is highly sensitive. The vacuums used make use of diffusion pumps or cryo-pumps; diffusion pumps for gas source MBE and cryo-pumps for solid source MBE. Effusion cells are found in MBE and allow the flow of molecules through small holes without collusion. The RHEED source in MBE stands for Reflection Hish Energy Electron Diffraction and allows for information regarding the epitaxial growth structure such as surface smoothness and growth rate to be registered by reflecting high energy electrons. The growth chamber, heated to 200 degrees Celsius, while the substrate temperatures are kept in the range of 400-700 degrees Celsius.

MBE is not suitable for large scale production due to the slow growth rate and higher cost of production. However, it is highly accurate, making it highly desired for research and highly complex structures.



MOCVD is a more popular method for growing layers to a semiconductor wafer. MOCVD is primarily chemical, where elements are deposited as complex chemical compounds containing the desired chemical elements and the remains are evaporated. The MOCVD does not use a high-intensity vacuum. This process (MOCVD) can be used for a large number of optoelectronic devices with specific properties, including quantum wells. High quality semiconductor layers in the micrometer level are developed using this process. MOCVD produces a number of toxic elements including AsH3 and PH3.

MOCVD is recommended for simpler devices and for mass production.



Heterostructures & Carrier Recombination

Heterojunction is the term for a region where two different materials interact. A Heterostructure is a combination of two or more materials. Here, we will explore several interesting cases.


The AlGaAs-InGaAs interaction is interesting due to the difference in energy bandgap levels. It was found that AlGaAs has a higher bandgap level, while InGaAs has a lower bandgap. By layering these two materials together with a stark difference in bandgap levels, the two materials make for an interesting demonstration of a heterostructure.

The layering of a smaller bandgap material between a wider bandgap material has an effect of trapping both electrons and holes. As shown on the right side of the below picture, the center region, made of AlGaAs exibits high concentrations of both electrons and holes. This leads to a higher rate of carrier recombination, which can generate photons.


Here, the lasing profile of the material under bias:






A commonly used group of materials is InGaAsP, InGaAs and InP. Unlike the above arrangements, these materials may be lattice-matched. Lattice-matching may be explored in depth later on.Simulations suggest low or non-existent recombination rates. Although this is a heterostructure, one can see that there are no jagged or sudden drastic movements in the conduction and valence band layers with respect to each other to create a discontinuity that may result in a high recombination rate.



Materials & Photogeneration Rate at 1550 nm

We now seek to understand how different materials respond and interact with light. Photogeneration is the rate at which electrons are created through the absorption of light.

A program is built in ATLAS TCAD to simulate a beam incident on a block of material. A PN junction is used, similar to previous iterations. An example of the code for the Photogeration Simulator will be provided at the end of this article.

The subject of photogeneration certainly can see a more thorough examination that is provided here. Consider this as an introduction and initial exploration.

GaAs-InP-GaAs PN Junction


Here we see that a cross section of this unintentionally doped InP region, sandwiched between a GaAs PN junction exhibits a level of photogeneration, while the GaAs regions do not.

Adding more layers of other materials, as well as introducing a bias of the structure, we notice that the InP region still exhibits the highest (only) level of photogeneration of the materials tested in this condition. Interestingly, this structure emits light under the conditions tested.


Also consider that a photogeneration effect may not be sought. If, for instance, a device is supposed to act as a waveguide, there will be no benefit to having a photogeneration effect, let alone losses in the beam that result from it.


InGaAsP-InP-InGaAs Heterostructure

A common set of materials for use in Photodetectors is InGaAsP, InP and InGaAs. This particular structure features a simple, n-doped InGaAsP, unintentionally doped InP and p-doped InGaAs. The absorption rate of InP was already demonstrated above. InGaAs proves also to exhibit absorption at 1500 nm.



go atlas

Title Photogeneration Simulator

#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 = GaAs NY = 20 acceptor = 1e17

region num=3 bottom thick = 0.5 material = InP NY = 10

region num=2 bottom thick = 0.5 material = GaAs NY = 20 donor = 1e17

#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 fermi

models region=2 srh optr print conmob fldmob srh optr fermi

models material=GaAs fldmob srh optr fermi print \

laser gainmod=1 las_maxch=200. \

las_xmin=-0.5 las_xmax=0.5 las_ymin=0.4 las_ymax=0.6 \

photon_energy=1.43 las_nx=37 las_ny=33 \

lmodes las_einit=1.415 las_efinal=1.47 cavity_length=200

beam     num=1 x.origin=0 y.origin=4 angle=270 wavelength=1550 min.window=-1 max.window=1

output band.param ramptime TRANS.ANALY photogen opt.intens e.mobility h.mobility band.param photogen opt.intens recomb u.srh u.aug u.rad flowlines

method newton autonr trap  maxtrap=6 climit=1e-6



solve    init

SOLVE B1=1.0

output band.param ramptime TRANS.ANALY photogen opt.intens e.mobility h.mobility band.param photogen opt.intens recomb u.srh u.aug u.rad flowlines

outf=diode_mb1.str master

tonyplot diode_mb1.str

method newton autonr trap  maxtrap=6 climit=1e-6

LOG outf=electrooptic1.log

solve vanode = 0.5

solve vanode = 1.0

solve vanode = 1.5

solve vanode = 2.0

solve vanode = 2.5

save outfile=diode_mb2.str

tonyplot diode_mb2.str

tonyplot electrooptic1.log


HF Antenna Matched Network for a Radio Broadcasting Station

The goal of this demonstration is to explain the importance of a matched network and the role of transmission lines (coax) for an HF Antenna matched network. This network is designed for the 20-meter band in the HF domain of the radio frequency region of the electromagnetic spectrum.

Consider you have an HF antenna load, which is positioned on a tower. The tower height is a consideration as a feed coax line will be connected to the antenna from the bottom (roughly) of the tower. Secondly, another coax line will be connected from the base of the tower to the radio station.

The reflection coefficient is the measure for an impedance matched network. A matched network will mean that loss will be minimal. SimSmith is a free tool that is useful for smith chart matching. In SimSmith, the load (left), transmission lines (as mentioned in the previous paragraph) and the radio are plotted on the smith chart.


The length chosen for T1 was chosen at 18.23 feet, which gives a clear shot for an impedance match towards the center using a stub transmission line.


We now add a shorted stub between both coax lines and adjust the length of the excess line until the impedance is matched at the radio station.


As shown above, the the excess length on the stub is about 6′. Plotting the SWR shows that the system is matched well for the whole band, meaning that this station is set up well for an HF radio broadcasting station for extra class amateur radio broadcasters.


Conduction & Valence Band Energies under Biasing (PN & PIN Junctions)

Previously, we discussed the effect of doping concentrations on the energy band gap. The conclusion of this process was that the doping concentration alone does not alter the band gap. The band gap is the difference between the conduction band and valence bands. Under biasing, the conduction and valence bands are in fact affected by doping concentration.

One method to explain how the doping level will influence the conduction band and valence band under bias is by demonstrating the difference between the energy bands of a PN Junction versus that of a PIN Junction. Simulations of both are presented below. The intermediate section found between the p-doped and n-doped regions of the PIN junction diode offer a more gradual transition between the two levels. A PN junction offers a sharper transition at the conduction and valence band levels simulatenously. A heterostructure, which is made of more than one material (which will have different band gaps) may produce even greater discontinuities. Depending on the application, a discontinuity may be sought (think, Quantum well), while in other situations, it may be necessary to smooth the transition between band levels for a desired result.

The conduction and valence bands are of great importance for determining the carrier concentrations and carrier mobilities in a semiconductor structure. These will be discussed soon.

PN Junction under biasing (conduction and valence band energies):


Code Used (PN Junction):

#TOP TO BOTTOM – Structure Specification
region num=1 bottom thick = 0.5 material = GaAs NY = 20 acceptor = 1e18
region num=2 bottom thick = 0.5 material = GaAs NY = 20 donor = 1e18


PIN Junction Biased:


PIN Junction Unbiased:


Code Used (PIN Junction):

#TOP TO BOTTOM – Structure Specification
region num=1 bottom thick = 0.5 material = GaAs NY = 20 acceptor = 1e18
region num=3 bottom thick = 0.2 material = GaAs NY = 10
region num=2 bottom thick = 0.5 material = GaAs NY = 20 donor = 1e18

Here, the carrier concentrations are plotted:


Energy Bandgaps

Previously, a PN Junction Simulator in ATLAS program was posted. Now, we will use and modify this program to explore more theory in respect to semiconductor materials, high speed electronics and optoelectronics.

The bandgap, as mentioned previously is the difference between the conduction band energy and valence band energy. The materials GaAs, InP, AlGaAs, InGaAs and InGaAsP are simulated and the bandgap values for each are estimated (just don’t use these values for anything important).

  • GaAs: ~ 1.2 eV
  • InP: ~ 1.35 eV
  • AlGaAs: ~ 1.8 eV
  • InGaAs: ~0.75 eV
  • InGaAsP: 1.1 eV


Here the conduction band and valence band are shown.


The structure used in the PN Junction Simulator is found below:

#TOP TO BOTTOM – Structure Specification
region num=1 bottom thick = 0.5 material = GaAs NY = 20 acceptor = 1e17
region num=3 bottom thick = 0.001 material = InP NY = 10
region num=4 bottom thick = 0.001 material = GaAs NY = 10
region num=5 bottom thick = 0.001 material = AlGaAs NY = 10 x.composition=0.3 grad.3=0.002
region num=6 bottom thick = 0.001 material = GaAs NY = 10
region num=7 bottom thick = 0.001 material = InGaAs NY = 10 x.comp=0.468
region num=8 bottom thick = 0.001 material = GaAs NY = 10
region num=9 bottom thick = 0.001 material = InGaAsP NY = 10 x.comp=0.145 y.comp = 0.317
region num=2 bottom thick = 0.5 material = GaAs NY = 20 donor = 1e17

Is the bandgap affected by doping the concentration level?

A quick simulation (below) will tell us that the answer is no. What might influence the bandgap however? And what could the concentration level change?


This (above) is a simulation of GaAs with layers at different doping concentration levels. The top is a contour of the bandgap, which is constant, as expected. The top right is a cross section of this GaAs structure (technically still a pn junction diode); the bandgap is still constant. The bottom two images are the donor and acceptor concentrations.

The bandgap energy E_g is the amount of energy needed for a valence electron to move to the conduction band. The short answer to the question of how the bandgap may be altered is that the bandgap energy is mostly fixed for a single material. In praxis however, Bandgap Engineering employs thin epitaxial layers, quantum dots and blends of materials to form a different bandgap. Bandgap smoothing is employed, as are concentrations of specific elements in ternary and quarternary compounds. However, the bandgap cannot be altered by changing the doping level of the material.