tidy3d.EMELengthSweep#
- class EMELengthSweep[source]#
Bases:
EMESweepSpecSpec for sweeping EME cell lengths.
- Parameters:
scale_factors (ArrayLike) – Length scale factors to be used in the EME propagation step. The EME propagation step is repeated after scaling every cell length by this amount. The results are stored in ‘sim_data.smatrix’. If a 2D array is provided, the first index is the sweep index and the second index is the cell index, allowing a nonuniform cell scaling along the propagation axis.
Notes
Varies the lengths of EME cells without re-solving modes. This is useful for optimizing device length, since only the propagation phase accumulated within each cell changes. If a 2D array is provided for
scale_factors, different cells can be scaled independently at each sweep index.For bent EME cells, this reuse remains valid only if the local mode problem is unchanged. In particular, bent anisotropic cells are rejected when changing the cell lengths would change the absolute tensor orientation seen by a reused mode, and bent custom media are only supported when no global-frame remapping of custom data is required.
Example
>>> sweep_spec = EMELengthSweep(scale_factors=[0.5, 1.0, 1.5, 2.0])
Attributes
Number of sweep indices.
Whether the sweep changes the propagation within a cell.
- scale_factors#
- property num_sweep#
Number of sweep indices.
- property sweep_cells#
Whether the sweep changes the propagation within a cell.