The mode source is used to inject a guided mode into the simulation region. The geometry of the mode source (i.e. center location, and span) is used to compute the guided modes for the structure. In three-dimensional simulations, the modes are computed across a plane, while in two-dimensions they are computed across a line. From a list of possible modes, a single mode is selected for injection into the simulation region.
This section describes the operation of the integrated mode solver to inject guided waves into FDTD simulations or the Propagator in MODE. The mode solver itself uses the same discretization mesh as the FDTD/propagator algorithm, so the profile of the guided modes as computed with the mode solver naturally interface with the underlying FDTD/propagator mesh. Overall, this facilitates the injection of guided modes with minimal back-reflection.
By default, this source will inject the fundamental mode (the mode with the largest effective index). You can control the polarization of the automatically selected mode by setting the MODE SELECTION field to fundamental TE or TM. With these settings, the mode source will automatically update the mode profile as the structure is modified. This can be very helpful for tasks such as parameter sweeps where the waveguide geometry is changed.
Alternatively, it is possible to select an arbitrary mode by setting MODE SELECTION to "user-defined". In this case, the integrated mode solver is launched by pressing the SELECT MODE button within the mode source edit window. The following pages describe the integrated mode solver. If you choose to select your own mode source please note that the mode profile will not automatically update as the waveguide geometry is modified. It is necessary to manually reselect the mode or use the script command updatesourcemode .
In MODE, note that the fundamental mode will be automatically selected for a 2.5D FDTD simulation. In this case, the SELECT MODE button will be grayed out unless "user select" is chosen from the "mode selection" list. In addition, note that the polarization of the mode source is determined by the polarization chosen in the Effective index tab of the Propagator simulation region.
- You must choose a mode with a polarization that matches the polarization you have chosen in the Effective index tab of the Propagator simulation region.
Note: Broadband simulations
By default, the Mode source calculates the spatial mode profile at one frequency point, which is the center frequency of the specified frequency range, then injects that mode profile at all frequencies. This method keeps the mode profile calculation computationally inexpensive. This approach works very well for single frequency and narrowband simulations as the injection errors are very low at the center frequency, but they grow larger with distance due to the mode profile mismatch.
Therefore, it is recommended to use multiple frequency points for broadband simulation in order to reduce the injection error. For more information, see Mode source - Broadband
- INJECTION AXIS: Sets the axis along which the mode source will propagate.
- DIRECTION: This field specifies the direction in which the TFSF source propagates. FORWARD corresponds to propagation in a positive direction, while BACKWARD corresponds to propagation in a negative direction.
- AMPLITUDE: The amplitude of the mode source as explained in the Units and normalization section.
- PHASE: The phase of the point source, measured in units of degrees. Only useful for setting relative phase delays between multiple radiation sources.
- MODE SELECTION: Defines whether to inject fundamental mode or other user-selected mode chosen via the "Select Mode" button.
- SELECT MODE: Mode source only. Launches the mode solver and allows the user to select the desired mode for injection. For more information on using the mode source, consult the mode analysis section.
- VISUALIZE DATA: Opens a visualizer to show the mode profile of currently selected mode. If multifrequency mode calculation is enabled, the slider can be used to visualize the mode profile at various frequency points.
- CLEAR DATA: Clears the selected mode for mode sources, or clears the imported data for imported sources
- NUMBER OF TRIAL MODES: The number of modes specified to look for in order to find a fundamental mode. This will affect the modes that the solver finds. If this number is too small, the desired modes may not be found. Often, setting this number to 100 modes will ensure that no physical modes have been missed. If more than 100 modes exist, then a larger number should be used if one is interested in higher-order modes.
- MULTIFREQUENCY MODE CALCULATION: Used for broadband simulations, this option enables mode profile calculations at n frequency points
- FREQUENCY POINTS: Specifies the number of frequency points between the start and stop frequency at which the mode profile will be calculated to minimize mode mismatch error
- BENT WAVEGUIDE: Calculates the mode profile for a waveguide with a bent specified by radius and orientation as described in this article.
- BEND RADIUS: Sets the bend radius for bent waveguide calculation
- BEND ORIENTATION: Sets the bend orientation for bent waveguide calculation(e.g. to define whether the waveguide bends in XZ or XY plane)
- THETA: In 3D simulations, this is the angle of propagation, in degrees, with respect to the injection axis of the source. In 2D simulations, it is the angle of propagation, in degrees, rotated about the global Z-axis in a right-hand context, i.e. the angle of propagation in the XY plane.
- PHI: In 3D simulations, this is the angle of propagation, in degrees, rotated about the injection axis of the source in a right-hand context. In 2D simulations, this value is not used.
- OFFSET: Allows users to set an offset to the plane where the mode is calculated. This is useful for ensuring that mode sources at an angle do not intersect with structures that are not part of the waveguide/fiber.
The geometry tab contains options to change the size and location of the sources.
The Frequency/Wavelength tab is shown below. This tab can be accessed through the individual source properties or the global source properties. Note that the plots on the right-hand side of the window update as the parameters are updated, so that you can easily observe the wavelength (top figure), frequency (middle figure), and temporal (bottom figure) content of the source settings.
At the top-left of the tab, it is possible to chose to either SET FREQUENCY / WAVELENGTH or SET TIME-DOMAIN. In most simulations, the 'SET FREQUENCY / WAVELENGTH ' option is recommended.
If you choose to directly modify the time domain settings, please keep the following points in mind:
- PULSE DURATIONS: Choose a pulse duration that can accurately span your frequency or wavelength range of interest. However, very short pulses contain many frequency components and therefore disperse quickly. As a result, short pulses require more points per wavelength for accurate simulation.
- PULSE OFFSET: This parameter defines the temporal separation between the start of the simulation and the center of the input pulse. To ensure that the input pulse is not truncated, the pulse offset should be at least 2 times the pulse duration. This will ensure that the frequency distribution around the center frequency of the source is close to symmetrical, and the initial fields are close to zero at the beginning of the simulation.
- SOURCE TYPE: In general, you can choose between ‘standard’ and ‘broadband’ source types. Standard sources consist of a Gaussian pulse at a fixed optical carrier, while the broadband sources consist of a Gaussian pulse with an optical carrier which varies across the pulse envelope. Broadband sources can be used to perform simulations in which wideband frequency data is required – for instance, from 200 to 1000 THz. This type of frequency range cannot be accurately simulated using the standard source type.
Set frequency wavelength
If the SET FREQUENCY / WAVELENGTH option was chosen, this section makes it possible to either set the frequency or the wavelength and choose to either set the center and span or the minimum and maximum frequencies of the source.
For single frequency simulations, simply set both the min and max wavelengths to the same value.
Set time domain
The options in the time domain section are:
- SOURCE TYPE: This setting is used to specify whether the source is a standard source or a broadband source. The standard source consists of an optical carrier with a fixed frequency and a Gaussian envelope. The broadband source, which contains a much wider spectrum, consists of a chirped optical carrier with a Gaussian envelope. When the user uses the script function setsourcesignal, this field will be set as "user input".
- FREQUENCY: The center frequency of the optical carrier.
- PULSE LENGTH: The full-width at half-maximum (FWHM) power temporal duration of the pulse.
- OFFSET: The time at which the source reaches its peak amplitude, measured relative to the start of the simulation. An offset of N seconds corresponds to a source which reaches its peak amplitude N seconds after the start of the simulation.
- BANDWIDTH: The FWHM frequency width of the time-domain pulse.
For more information, please visit Changing the source bandwidth
- ELIMINATE DISCONTINUITY: Ensures the function has a continuous derivative (smooth transitions from/to zero) at the start and end of a user-defined source time signal. Enabled by default.
- OPTIMIZE FOR SHORT PULSE: Use the shortest possible source pulse.
- This option is enabled by default in the FDTD solver. It should only be disabled when it is necessary to minimize the power injected by the source that is outside of the source range (eg. convergence problems related to broadband steep angled injection).
- This option is disabled by default in the varFDTD solver, as it improves the algorithms numerical stability.
- ELIMINATE DC: Eliminates the DC component by forcing signal symmetry
Manual calculation of the source time signal
As explained above, the 'Standard' source type uses a fixed carrier with a Gaussian envelope. The following script code shows how to calculate the source time signal used by the source.
# calculate standard pulse time signal frequency = 300e12; pulselength = 50e-15; offset = 150e-15; t = linspace(0,600e-15, 10000); w_center = frequency*2*pi; delta_t = pulselength/(2*sqrt(log(2))); pulse = sin( -w_center*(t-offset)) * exp( -(t-offset)^2/2/delta_t^2 ); plot(t*1e12,pulse,"t (fs)","source pulse time signal");
There are some small differences between the pulse generated by this code and the actual time signal generated by the 'standard' source pulse setting. If you need very precise control over or knowledge of the source time signal, you should create your own Custom time signal.
The 'broadband' option is generated with a more complex function. The precise function is not provided. To create your own arbitrary source time signals, see the Custom time signal page.
- NEFF: Effective index as a function of frequency/wavelength is returned.
- MODE PROFILES: Mode profiles (E, H, and index) are returned as a function of position and frequency/wavelength.
- TIME SIGNAL: Time-domain signal of the source pulse.
- SPECTRUM: The Fourier transform of the time signal.