3.2.3.18. lekkersim.UserWaveguide
- class lekkersim.UserWaveguide(L: float, func: Callable, param_dic: Dict[str, Any] = None, allowedmodes: Dict[str, Dict] = None)
Template for a user defined waveguide
- __init__(L: float, func: Callable, param_dic: Dict[str, Any] = None, allowedmodes: Dict[str, Dict] = None) None
Initialize the model
- Parameters:
L (float) – length of the waveguide
func (function) – index function of the waveguide
param_dic (dict) – dictionary of the default parameters to be used (common to all modes)
allowedmodes (dict) – Dict of allowed modes and settings. Form is name:extra. extra is a dictionary containing the extra parameters to be passed to func Default is for 1 mode, with no name and no parameters
Methods
S2PD([func])Function for returning the Scattering Matrix as a PD Dataframe
__init__(L, func[, param_dic, allowedmodes])Initialize the model
create_S()Created the scattering Matrix
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()