Skip to content

Broken tutorial notebooks #34

@smartalecH

Description

@smartalecH

monitors.ipynb:

ValueError                                Traceback (most recent call last)
Input In [2], in <cell line: 5>()
      1 eme.reset(full_reset=False)
      3 monitor = eme.add_monitor(axes="xz")
----> 5 eme.propagate()  # propagate at given wavelength
      7 plt.figure()
      8 monitor.visualize(component="n")

File ~/GitHub/emepy/emepy/eme.py:654, in EME.propagate(self, left_coeffs, right_coeffs)
    652 # Update monitors
    653 if self.state >= 6:
--> 654     self.field_propagate(left_coeffs, right_coeffs)
    656 return self.network

File ~/GitHub/emepy/emepy/eme.py:353, in EME.field_propagate(self, left_coeffs, right_coeffs)
    351 just_z_list = [i[1] for i in z_list]
    352 z_index = [i[0] for i in z_list]
--> 353 fields = self._layer_field_propagate_part2(
    354     layer_index,
    355     layer,
    356     left_coeffs[:],
    357     right_coeffs[:],
    358     cur_len * 1,
    359     just_z_list[:],
    360     m,
    361     S,
    362     checked_l_pins,
    363 )
    365 # Update the monitor
    366 for i, f in zip(z_index, fields):

File ~/GitHub/emepy/emepy/eme.py:1063, in EME._layer_field_propagate_part2(self, i, l, left_coeffs, right_coeffs, cur_len, z_list, m, S, checked_l_pins)
   1061 result_list = []
   1062 input_map = self._build_input_array(left_coeffs, right_coeffs, S, m)
-> 1063 coeffs_ = compute(S, input_map, 0)
   1064 coeff_left = np.zeros(len(l.modes), dtype=complex)
   1065 coeff_right = np.zeros(len(l.modes), dtype=complex)

File ~/GitHub/emepy/emepy/models.py:1047, in ModelTools.compute(model, pin_values, freq)
   1045         cfs[key_index[key]] = value
   1046 matrix = model.s_parameters(np.array([freq]))
-> 1047 output = np.matmul(matrix, cfs)[0]
   1048 return dict(zip(pin_names, output))

ValueError: matmul: Input operand 1 has a mismatch in its core dimension 0, with gufunc signature (n?,k),(k,m?)->(n?,m?) (size 4 is different from 2)

taper.ipynb

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Input In [5], in <cell line: 1>()
----> 1 eme.propagate(left_coeffs=[1])

File ~/GitHub/emepy/emepy/eme.py:654, in EME.propagate(self, left_coeffs, right_coeffs)
    652 # Update monitors
    653 if self.state >= 6:
--> 654     self.field_propagate(left_coeffs, right_coeffs)
    656 return self.network

File ~/GitHub/emepy/emepy/eme.py:353, in EME.field_propagate(self, left_coeffs, right_coeffs)
    351 just_z_list = [i[1] for i in z_list]
    352 z_index = [i[0] for i in z_list]
--> 353 fields = self._layer_field_propagate_part2(
    354     layer_index,
    355     layer,
    356     left_coeffs[:],
    357     right_coeffs[:],
    358     cur_len * 1,
    359     just_z_list[:],
    360     m,
    361     S,
    362     checked_l_pins,
    363 )
    365 # Update the monitor
    366 for i, f in zip(z_index, fields):

File ~/GitHub/emepy/emepy/eme.py:1063, in EME._layer_field_propagate_part2(self, i, l, left_coeffs, right_coeffs, cur_len, z_list, m, S, checked_l_pins)
   1061 result_list = []
   1062 input_map = self._build_input_array(left_coeffs, right_coeffs, S, m)
-> 1063 coeffs_ = compute(S, input_map, 0)
   1064 coeff_left = np.zeros(len(l.modes), dtype=complex)
   1065 coeff_right = np.zeros(len(l.modes), dtype=complex)

File ~/GitHub/emepy/emepy/models.py:1047, in ModelTools.compute(model, pin_values, freq)
   1045         cfs[key_index[key]] = value
   1046 matrix = model.s_parameters(np.array([freq]))
-> 1047 output = np.matmul(matrix, cfs)[0]
   1048 return dict(zip(pin_names, output))

ValueError: matmul: Input operand 1 has a mismatch in its core dimension 0, with gufunc signature (n?,k),(k,m?)->(n?,m?) (size 8 is different from 2)

mmi.ipynb

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Input In [1], in <cell line: 164>()
    161 eme.add_layer(Layer(output_channel, num_modes_output, wavelength, output_length))
    163 # Add a monitor
--> 164 monitor = eme.add_monitor(axes="xyz", mesh_z=200)
    166 # Visualize the layout
    167 plt.figure()

File ~/GitHub/emepy/emepy/eme.py:449, in EME.add_monitor(self, axes, sources, mesh_z, z_range, location, components, exempt)
    444 components = ["Ex", "Ey", "Ez", "Hx", "Hy", "Hz", "n"] if components is None else components
    445 if exempt and (self.layers[0].mode_solver.PML and isinstance(self.layers[0].mode_solver, MSEMpy)):
    446     x = (
    447         len(
    448             self.layers[0].mode_solver.x[
--> 449                 self.layers[0].mode_solver.nlayers[1] : -self.layers[0].mode_solver.nlayers[0]
    450             ]
    451         )
    452         + 1
    453     )
    454     y = (
    455         len(
    456             self.layers[0].mode_solver.y[
   (...)
    460         + 1
    461     )
    462 else:

AttributeError: 'MSEMpy' object has no attribute 'nlayers'

bragg_grating.ipynb

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Input In [5], in <cell line: 1>()
----> 1 eme.propagate(left_coeffs=[],right_coeffs=[])

File ~/GitHub/emepy/emepy/eme.py:654, in EME.propagate(self, left_coeffs, right_coeffs)
    652 # Update monitors
    653 if self.state >= 6:
--> 654     self.field_propagate(left_coeffs, right_coeffs)
    656 return self.network

File ~/GitHub/emepy/emepy/eme.py:353, in EME.field_propagate(self, left_coeffs, right_coeffs)
    351 just_z_list = [i[1] for i in z_list]
    352 z_index = [i[0] for i in z_list]
--> 353 fields = self._layer_field_propagate_part2(
    354     layer_index,
    355     layer,
    356     left_coeffs[:],
    357     right_coeffs[:],
    358     cur_len * 1,
    359     just_z_list[:],
    360     m,
    361     S,
    362     checked_l_pins,
    363 )
    365 # Update the monitor
    366 for i, f in zip(z_index, fields):

File ~/GitHub/emepy/emepy/eme.py:1063, in EME._layer_field_propagate_part2(self, i, l, left_coeffs, right_coeffs, cur_len, z_list, m, S, checked_l_pins)
   1061 result_list = []
   1062 input_map = self._build_input_array(left_coeffs, right_coeffs, S, m)
-> 1063 coeffs_ = compute(S, input_map, 0)
   1064 coeff_left = np.zeros(len(l.modes), dtype=complex)
   1065 coeff_right = np.zeros(len(l.modes), dtype=complex)

File ~/GitHub/emepy/emepy/models.py:1047, in ModelTools.compute(model, pin_values, freq)
   1045         cfs[key_index[key]] = value
   1046 matrix = model.s_parameters(np.array([freq]))
-> 1047 output = np.matmul(matrix, cfs)[0]
   1048 return dict(zip(pin_names, output))

ValueError: matmul: Input operand 1 has a mismatch in its core dimension 0, with gufunc signature (n?,k),(k,m?)->(n?,m?) (size 6 is different from 2)

(cc @hammy4815 )

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingdocumentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions