The circuit that is to be simulated is described in the Device input file. All the components in the circuit must be defined separately. One can choose the circuit components listed and described below.
Passive Waveguide - type_ID = 1
SYNTAX
waveguidename 1 length # This line defines a passive waveguide
DESCRIPTION
The only parameter is the length of the waveguide in units of the number of segments (length linked to the time step)
The propagation loss of the passive waveguide is set in the Parameter input file. This is two-port component.
Semiconductor Optical Amplifier - type_ID = 2
SYNTAX
soa_name 2 length source_number # This line defines a an optical amplifier
DESCRIPTION
The first parameter is the length of the amplifier in units of the number of segments (length linked to the time step).
The second parameter is the source_number. A number indicating to which current source the amplifier is connected.
The numbering of sources needs to start from 0 and increment by 1. The value with the source information is in units of Amperes.
The parameters for the amplifier are given in the Parameter input file.This is a two-port component (left and right).
Please note that the default starting carrier densities in the SOA, SA and ISO segments are the transparency densities.
In case one wants to deviate from those starting values (e.g. to start at 0), use the carrier densities input file.
Saturable Absorber - type_ID = 3
SYNTAX
sa_name 3 length source_number # This line defines a saturable absorber
DESCRIPTION
The first parameter is the length of the absorber in units of the number of segments (length linked to the time step).
The second parameter is the source_number. A number indicating to which current source the absorber is connected. The numbering of sources needs to start from 0 and increment by 1. The value with the source information is in units of Volts. This is not implemented yet though, you have to use the lifetime parameter in the Parameter input file to change the properties of the absorber. This is a two-port component (left and right).
The parameters for the absorber are separate from the amplifier and are given in the Parameter input file.
Isolation Section - type_ID = 4
SYNTAX
isosection_name 4 length # This line defines a an isolation section in an active (amplifier) waveguide
DESCRIPTION
The first parameter is the length of the isolation section in units of the number of segments (length linked to the time
step).
This is actually an amplifier component but with zero current and a specific carrier lifetime.
This is a two-port component (left and right).
The other parameters are those for the amplifier and these are given in the Parameter input file.
Reflection Segment - type_ID = 5
SYNTAX
reflector_name 5 Reflectivity Transmission_loss # This line defines a reflection
DESCRIPTION
The first parameter Reflectivity is the fraction of power reflected. The second parameter Transmission_loss is the
fraction of power that is lost in the transmitted light.
Using reflectivity of 0.0 this segment can function as a neutral density filter.
The phase of the reflected light is unchanged. This component is one segment long.
The reflection is effectively positioned in the middle of the segment.
This is is a two-port component (left and right).
Phase Modulator - type_ID = 6
SYNTAX
modulator_name 6 length source_number # This line defines a phase modulator
DESCRIPTION
The first parameter is the length of the modulator in units of the number of segments (length linked to the time step).
The second parameter is the source_number. A number indicating to which source the modulator is connected.
The numbering of sources needs to start from 0 and increment by 1.
The value with the source information for a phase modulator is in units of radians at the moment.
Note there is one list of sources and source settings for all components (phase modulators, soa, etc.) that need one.
When applying a phase modulator inside a laser cavity it is best to make the phase modulator have as many segments as possible.
Otherwise large phase steps per segment can create a problem in the simulation.
There is a limit to the phase step in each modulator segment of -pi to +pi.
This is a two-port component (left and right).
Digital Filter - type_ID = 7 (PLANNED - UNDER CONSTRUCTION)
SYNTAX
filter_name 7 other parameters # This line defines a spectral digital filter
DESCRIPTION
This will be a general digital filter component - still under development.
This is a two-port component (left and right).
IO Component Left hand side - type_ID = 8
SYNTAX
IO_left_name 8 # This line defines the input output point on the left hand side of the circuit.
DESCRIPTION
This is a single segment where the optical input signals going from left to right are entering the simulation.
These signals are the optical data in the signal input file.
It is no problem if there are less optical input data than the duration of the simulation. All input stays at the value
of the last value in the input file.
The power and phase going from right to left is recorded at this segment and written to the output file.
This is a single-port component (right).
There always needs to be one such component in the simulation.
IO Component Right hand side - type_ID = 9
SYNTAX
IO_right_name 9 # This line defines the input output point on the right hand side of the circuit.
DESCRIPTION
This is a single segment where the optical input signals going from right to left are entering the simulation.
These signals are the optical data in the signal input file.
It is no problem if there are less optical input data than the duration of the simulation. All input stays at the value
of the last value in the input file.
The power and phase going from left to right is recorded at this segment and written to the output file.
This is a single-port component (left).
There always needs to be one such component in the simulation.
Termination component - type_ID = 10
SYNTAX
Termination_name 10 # This line defines a termination segment.
DESCRIPTION
This is a single segment with a single port that can be left or right.
It must be used to terminate an open connection of a component.
It injects 0 power and 0 phase into the connected port and absorbs everything that goes into it.
This is a single-port component.
Waveguide including two photon absorption - type_ID = 11
SYNTAX
Waveguide_name 11 length # This line defines a passive waveguide including two-photon absorption.
DESCRIPTION
This is a passive waveguide section in which we take two-photon absorption into account.
The length of the waveguide is given in units of the number of segments (length linked to the time step). The passive loss is the same parameter as for the regular passive waveguide. There are other parameters specific for this waveguide.
Distributed Bragg Reflector waveguide - type_ID = 13
SYNTAX
DBR_waveguide_name 13 length coupling_strength wavelength # This line defines a DBR waveguide
DESCRIPTION
This is a passive DBR waveguide section.
The length of the waveguide is given in units of the number of segments (length linked to the time step). The passive loss is the same parameter as for the regular passive waveguide. The coupling_strength is the parameter that gives the strength of the grating in units of 1/meter. The center wavelength (in units of meter) of the reflection spectrum is the last parameter. Please note that the reflection spectrum of this DBR always gives rise to two reflection peaks in the full bandwidth of the simulation due to the fact that is is a higher order grating. When the wavelength of the DBR coincides with the central wavelength in the simulation the second peak is split right at both the edges of the spectrum. Typically one can use a one segment unbalance MZI filter in the circuit to select the correct reflection peak.
Splitter Component 1->2 - type_ID = 101
SYNTAX
splitter_name 101 # This line defines a power splitter.
DESCRIPTION
This is a power splitter. Power coming in at the left is split equally over the outputs on the right.
Power from one of the ports on the right goes to the left port with a 50% power loss.
Signals from the two ports on the right add coherently. It is a single segment component.
This is a three-port component (one left, two right).
Splitter Component 2->1 - type_ID = 102
SYNTAX
splitter_name 102 # This line defines a power splitter.
DESCRIPTION
This is a power splitter. Power coming in at the right is split equally over the outputs on the left.
Power from one of the ports on the left goes to the right port with a 50% power loss.
Signals from the two ports on the left add coherently. It is a single segment component.
This is a three-port component (two left, one right).
Coupler component 2 by 2 - type_ID = 103
SYNTAX
coupler_name 103 # This line defines a two by two coupler.
DESCRIPTION
This is a two by two coupler splitter. Power coming in at one side is split equally over the outputs on the the other side.
Both are then in anti-phase. Signals from two ports add coherently on the other side.
It is a single segment component. This is a four-port component (two left, two right).
Coupler component N (left) by M (right) - type_ID = 104
SYNTAX
coupler_name 104 #ports_left #ports_right matrix_data_file_name.txt # This line defines an N by M coupler.
DESCRIPTION
This is a N (left side) by M (right hand side) coupler. In total there are N + M ports. The function of the coupler is
given by a complex matrix which has to be given by the user.
The complex numbers describe the coupling for the electric field from one input port to an output port. To design a
matrix that represents a device can require quite a bit of work. Note the matrix is NOT an S matrix. It is more limited
(e.g. no back reflections on ports). The data on the matrix have to be presented in the text file matrix_data_file_name.txt .
This file contains two matrices of real numbers, together representing complex numbers in polar coordinates
(magnitude and angle). The matrices have M rows (nr connections on the right) and N columns
(number of connections on the left). The two matrices are separated by a line with some characters. See the
for the details on the format of the file. N and M each can be at most 50.
Looper component 2 by 2 - type_ID = 105
SYNTAX
looper_name 105 # This line defines a two by two port so called looper element.
DESCRIPTION
This is a two by two port device. Power coming in at one side in one port is returned to the other port on the same side.
No signals cross from the left to the right side or vice versa. The use is the creation of loops in a circuit.
Unused ports need to have a termination segment.
It is a single segment component. This is a four-port component (two left, two right).