3.2.3.12. lekkersim.PolRot

class lekkersim.PolRot(angle: float = None, angle_name: str = 'angle')

Model of a 2 modes polarization rotator

__init__(angle: float = None, angle_name: str = 'angle') None

Initialize the model

If angle is provided the rotation is fixed to that value. If not, the rotation is assumed

variable and the angle will be fetched form the parameter dictionary.

Parameters:
  • angle (float) – fixed value of the rotation angle (in pi units). Default is None

  • angle_name (str) – name of the angle parameter

Methods

S2PD([func])

Function for returning the Scattering Matrix as a PD Dataframe

__init__([angle, angle_name])

Initialize the model

create_S()

Function for returning the scattering matrix of the model

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()