3.2.3.17. lekkersim.TH_PhaseShifter

class lekkersim.TH_PhaseShifter(L: float, Neff: Callable, R: float = None, w: float = None, wl: float = None, pol: int = None, param_name: str = 'PS')

Model of thermal phase shifter (dispersive waveguide + phase shifter)

__init__(L: float, Neff: Callable, R: float = None, w: float = None, wl: float = None, pol: int = None, param_name: str = 'PS') None

Initialize the model

Parameters:
  • L (float) – length of the waveguide

  • Neff (function) – function returning the effective index of the wavegude. It must be a function of wl,R,w, and pol

  • wl (float) – default wavelength of the waveguide

  • w (float) – default width of the waveguide

  • R (float) – default bending radius of the waveguide

  • pol (int) – default mode of the waveguide

  • param_name (str) – name of the parameter of the Phase Shifter

Methods

S2PD([func])

Function for returning the Scattering Matrix as a PD Dataframe

__init__(L, Neff[, R, w, wl, pol, param_name])

Initialize the model

create_S()

Function for returning the scattering matrix of the model :returns: Scattering matrix of the model :rtype: ndarray

expand_mode(mode_list)

This function expands the model by adding additional modes.

get_A(pin1, pin2)

Function for returning complex amplitude of the transmission between two ports

get_PH(pin1, pin2)

Function for returning the phase of the transmission between two ports

get_T(pin1, pin2)

Function for returning the energy transmission between two ports

get_output(input_dic[, power])

Returns the outputs from all ports of the model given the inputs amplitudes

get_pin_basenames()

Returns a list of the basenames of the pins

get_pin_modes(basename)

Parse the pins for locating the pins with the same base name

inspect()

Function that print self.

is_empty()

Checks if model is empy

pin_mapping(pin_mapping)

Function for changing the names of the pins of a model

print_S([func])

Function for nice printing of scattering matrix in agreement with pins

prune()

Check if the model is empty

put([source_pin, target_pin, param_mapping])

Function for putting a model in a Solver object, and eventually specify connections

show_free_pins()

Function for printing pins of model

solve(**kargs)

Function for returning the solved model

update_params(update_dic)

Update the parameters of model, setting defaults when value is not provides

update_pins()