I want to use EME to calculate the loss of my s-bend waveguide, and then sweep the length of it to get the optimal length with low loss. However, I noticed that when I shrink or stretch the s-bend waveguide, the width of my waveguide will not be preserved, which means the results will be inaccurate.

I wonder can anyone suggest a better way?

# S-bend waveguide loss simulation and design using EME

**yug096**#1

**msaygin**#2

Hi, @yug096 !

The EME solver is based on calculating the modes in the cross-section interfaces:

**Basic Algorithm**

The EME method is a fully vectorial and bi-directional technique to solve Maxwell’s equations. The methodology relies on the modal decomposition of electromagnetic fields into a basis **set of eigenmodes, which are computed by dividing the geometry into multiple cells and then solving for the modes at the interface between adjacent cells**. Scattering matrices for each section are formulated by applying boundary conditions at the interface between each section. The solution to each section is then propagated bi-directionally to calculate the total transmission and reflection of the device, as well as the final field profile.

After that the solver (roughly speaking) overlaps the modes with account for propagation along the x-axes. Thus, it is particularly effective for long propagation distances. In other words, it is blind for tilted propagation directions.

For your task, I recommend full 3D simulation in FDTD, 2.5D propagation method.

**yug096**#3

Hi @msaygin,

Thank you so much for the reply! I have another question. When I try to sweep the length of my s-bend, the only property I can choose from the “sweep” interface is the “length” of the poles, as follows:

But I don’t know what does the “length” property mean, because I define my spline by four poles, and I actually want to sweep the x coordinate of the last two poles, as follows:

**nlui**#4

It’s not possible to directly set the pole positions of a waveguide object from the sweep, so alternatively you could set up a structure group that contains the waveguide object. You can add properties in the structure group for the x and y position of the last two poles that you want to sweep. The structure group can then use these values to set up the pole positions using the setup script.

An example showing how to set pole positions from the script is here:

https://kb.lumerical.com/en/index.html?ref_sim_obj_waveguide_bends.html

You can then set up the sweep to sweep the x and y pole position properties of the structure group in order to sweep the pole positions of the waveguide.

If you are not familiar with structure groups there is also a tutorial here:

https://kb.lumerical.com/en/index.html?ref_sim_obj_structure_groups.html

Let me know if you have additional questions.