tidy3d.ModeSource

class tidy3d.ModeSource(source_time, center, size, direction='forward', angle_theta=0.0, angle_phi=0.0, amplitude=1.0, name=None)

Eigenmode source spanning a 2D cross section of a given size inside a Simulation. The source needs to be added to a Simulation object before the eigenmodes can be computed. They are computed using the material parameters defined by the Simulation in the 2D cross section, and the central frequency of the ModeSource time dependence. Periodic boundary conditions are assumed in the 2D plane. The modes are sorted by their effective index (propagation constant in the normal direction), in decreasing order. Before the Simulation can be run, the index of the eigenmode to be used by the ModeSource has to be specified.

__init__(source_time, center, size, direction='forward', angle_theta=0.0, angle_phi=0.0, amplitude=1.0, name=None)

Construct.

Parameters
  • source_time (SourceTime) – Object describing the time dependence of the source.

  • 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.

  • direction ({'forward', 'backward'}) – Specifying propagation along the positive or negative direction of the normal axis.

  • 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.

  • amplitude (float, optional) – Scaling amplitude of the source.

  • name (str or None, optional) – Custom name of the source.

Methods

__init__(source_time, center, size[, …])

Construct.