optimize_mmi
- si_fab.components.mmi.optimization.opt_utils.optimize_mmi(mmi_class, width, taper_length, trace_template, initial_wg_spacing=2.0, initial_length=10.0, initial_taper_width=1.5, max_iter=50, wavelength=1.55, verbose=False, plot=True)
Optimizes the length and waveguide spacing of a 1x2 MMI at fixed wavelength, taper_length and width.
- Parameters:
- mmi_class
PCell class of the MMI to optimize
- widthfloat
Width of the mmi [um]
- initial_taper_widthfloat
Width of the taper in the mmi [um]
- taper_lengthfloat
Length of the taper [um]
- trace_template
Trace template of the MMI
- initial_wg_spacingfloat, optional, default=2.0
Initial waveguide separation of the MMI at the first iteration [um]
- initial_lengthfloat, optional, default=10.0
Initial length of the MMI at the first iteration [um]
- max_iterint, optional, default=50
Max number of iterations for the optimization
- wavelengthfloat, optional, default=1.55
Wavelength of the optimization [um]
- verboseboolean, optional, default=False
Print statements if True
- plotboolean, optional, default=True
Plot the optimized result
- Returns:
- optimized_length, optimized_waveguide_spacingfloat, float
Optimized length and waveguide spacing for the MMI