Local Propagation

Local Propagation#

EMESimulation exposes a pipeline for running EME end-to-end on a local machine, combining the local mode solver with a set of per-element stage methods for propagation. The convenience entry point is EMESimulation.propagate(); the staged methods give finer control for iterative design, caching intermediates to HDF5, or cloud-parallelizing mode solves. The propagation methods require the optional tidy3d-extras package with the local_eme feature; see the EME FAQ for recipes and prerequisites.

Note

The local pipeline returns only the device S-matrix. Any EMESimulation monitorsEMEFieldMonitor, EMEModeSolverMonitor, EMECoefficientMonitor, etc. — are dropped with a warning; run the simulation through the remote backend if you need monitor data. EMEFreqSweep and anisotropic media in bent cells with bend_medium_frame="global" are also unsupported on this path.

EMESimulation.mode_simulations

One ModeSimulation per EME cell, at full mode count.

EMESimulation.propagate(mode_data)

Propagate modes through the device to compute the full S-matrix.

EMESimulation.smatrix_in_basis(smatrix, ...)

Express a locally propagated S-matrix in another modal basis.

EMESimulation.compute_overlaps(mode_data)

Stage modes and compute all per-cell and per-interface overlaps.

EMESimulation.propagate_from_overlaps(...)

Propagate to the device S-matrix using pre-computed overlaps.

EMESimulation.stage_cell_modes(mode_data, ...)

Validate, filter, and stamp mode data for one cell.

EMESimulation.compute_cell_overlap(cell_modes)

Compute self-overlap, complex refractive index, and flux for one cell.

EMESimulation.compute_interface_overlap(...)

Compute cross-cell overlaps for one interface.

EMESimulation.compute_cell_smatrix(cell_overlap)

Compute homogeneous propagation S-matrix for one cell at one sweep point.

EMESimulation.compute_interface_smatrix(...)

Compute interface S-matrix for one interface at one sweep point.

EMESimulation.compute_smatrix(cell_overlaps, ...)

Stack cell and interface S-matrices into the final device S-matrix.