tidy3d.EMECoefficientData

tidy3d.EMECoefficientData#

class EMECoefficientData[source]#

Bases: AbstractMonitorData, EMECoefficientDataset

Data associated with an EMECoefficientMonitor.

Parameters:
  • A (Optional[EMECoefficientDataArray] = None) – Coefficient for forward mode in this cell.

  • B (Optional[EMECoefficientDataArray] = None) – Coefficient for backward mode in this cell.

  • n_complex (Optional[EMEModeIndexDataArray] = None) – Complex-valued effective propagation indices associated with the EME modes.

  • flux (Optional[EMEFluxDataArray] = None) – Power flux of the EME modes.

  • interface_smatrices (Optional[EMEInterfaceSMatrixDataset] = None) – S matrices associated with the interfaces between EME cells.

  • overlaps (Optional[EMEOverlapDataset] = None) – Overlaps between EME modes.

  • monitor (EMECoefficientMonitor) – EME coefficient monitor associated with this data.

Notes

Contains the forward (A) and backward (B) mode amplitudes in each EME cell, as well as optional diagnostic quantities such as propagation indices (n_complex), power flux (flux), interface S matrices (interface_smatrices), and mode overlaps (overlaps).

Example

>>> from tidy3d import EMECoefficientMonitor, EMECoefficientDataArray
>>> import numpy as np
>>> monitor = EMECoefficientMonitor(
...     center=(0,0,0), size=(1,1,1), freqs=[2e14], num_modes=2, name="coeffs"
... )
>>> f = [2e14]
>>> sweep_index = [0]
>>> eme_port_index = [0, 1]
>>> eme_cell_index = [0, 1]
>>> mode_index_out = [0, 1]
>>> mode_index_in = [0, 1]
>>> coords = dict(
...     f=f, sweep_index=sweep_index, eme_port_index=eme_port_index,
...     eme_cell_index=eme_cell_index,
...     mode_index_out=mode_index_out, mode_index_in=mode_index_in,
... )
>>> A = EMECoefficientDataArray((1+1j) * np.random.random((1, 1, 2, 2, 2, 2)), coords=coords)
>>> data = EMECoefficientData(monitor=monitor, A=A, B=A)

Attributes

monitor

A

B

n_complex

flux

interface_smatrices

overlaps

monitor#