tidy3d.ModeMonitor

class tidy3d.ModeMonitor(center, size, freqs, angle_theta=0.0, angle_phi=0.0, Nmodes=1, store=['E', 'H', 'modes', 'mode_amps'], name=None)

FreqMonitor subclass defining a 2D plane in which the recorded frequency-domain fields can be decomposed into propagating eigenmodes.

__init__(center, size, freqs, angle_theta=0.0, angle_phi=0.0, Nmodes=1, store=['E', 'H', 'modes', 'mode_amps'], name=None)

Construct.

Parameters
  • center (array_like) – (micron) 3D vector defining the center of the 2D plane.

  • size (array_like) – (micron) 3D vector defining the size of the 2D plane. Exactly one of the values must be 0, defining the normal direction.

  • freqs (float or list of float) – Frequencies at which the fields are sampled.

  • angle_theta (float, optional) – (radian) Polar angle of propagation from the normal axis.

  • angle_phi (float, optional) – (radian) Azimuth angle of propagation in the plane orthogonal to the normal axis.

  • Nmodes (int) – Compute the decomposition into the first Nmodes modes in order of decreasing effective index.

  • store (List of attributes to be recorded. Valid entries are) – 'modes', 'mode_amps', 'E', 'H', and 'flux'.

  • name (str, optional) – Custom name of the monitor.

Methods

__init__(center, size, freqs[, angle_theta, …])

Construct.