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 monitors — EMEFieldMonitor,
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.
One |
|
|
Propagate modes through the device to compute the full S-matrix. |
|
Express a locally propagated S-matrix in another modal basis. |
|
Stage modes and compute all per-cell and per-interface overlaps. |
Propagate to the device S-matrix using pre-computed overlaps. |
|
|
Validate, filter, and stamp mode data for one cell. |
|
Compute self-overlap, complex refractive index, and flux for one cell. |
Compute cross-cell overlaps for one interface. |
|
|
Compute homogeneous propagation S-matrix for one cell at one sweep point. |
Compute interface S-matrix for one interface at one sweep point. |
|
|
Stack cell and interface S-matrices into the final device S-matrix. |