# EME
Editor: Create New Project › EME · Python: td.EMESimulation
An EME (eigenmode expansion) project computes how light passes through a device along one axis. The solver splits the device into cells, finds the modes of each cell, and joins them into a scattering matrix (S-matrix). The S-matrix gives the share and the phase of each mode that leaves each port.
EME suits long devices that change slowly along one axis, such as tapers, couplers and Bragg gratings. A sweep of cell lengths or repetitions reuses the modes, so it costs little. For devices where light spreads in all directions, use an FDTD project. To find only the modes of one cross-section, use a Mode project.
# How It Works
- Model: add the structures and their mediums.
- Setup: set the wavelengths, the ports, the cells and modes, an optional sweep, monitors and the configuration.
- Run Simulation: click Check Simulation, then run the simulation.
- Results: see the S-matrix, the port modes, and the data of your monitors.
# Get Started
Follow Create Your First Project and choose the EME tab. For a complete example, follow Sweep the Length of a Waveguide Taper. Then set up:
- Structures in the Model tab.
- Wavelengths, Ports, Cells & Modes and EME Sweep in Setup › EME Specifications.
- Monitors, if you need data inside the device.
- Configuration: the background medium, the grid, the symmetry and advanced settings.
- Script Objects, if you need them.
Then see the EME Results. If something goes wrong, see EME Troubleshooting.