Long MMI Computation time and boundary conditions


I am attempting to simulate a long MMI ~2mm, and have a question about the EME symmetric boundary conditions while simulating an MMI structure. Since the MMI is so long it takes a long computation time, so long that my CPU almost fries and I in the end get no interference patterns in my monitor. If I use symmetric boundary conditions this time is reduced and I get some interference patterns from the monitor. My concern however is if using the symmetric bc to reduce the time will negatively effect the results. Any deeper understanding on the solver boundary conditions would be appreciated as I am new to the simulation software. Also is there any tricks to reducing computation time without significantly hurting the resolution of the solutions?


Dear @mattstott.bcm

Indeed, 2mm simulation span is large and is computationally expensive. While symmetry will speed up the process, you might loose the information about the modes that does not support the symmetry. For more information, this link should be a good starting point:


You should be able to find many examples on KX and KB by performing a search. Other thing is to coming up with smart ideas to simplify the simulation or maybe using MODE source as in this link:




From what I have read I could be loosing information by using symmetry.
The example

doesn’t explain how they accomplished the MODE source in the file so I am at a loss, being new to the program. Attached is an image of where I think the MODE source would be in port_1 however my source doesn’t look good. Any suggestions on how to accomplish the correct source? Can I generate one based off of FDE mode profiles and then import it to the port in EME?
Thank you for your help @bkhanaliloo


Dear @mattstott.bcm

The idea that you have in mind is correct, and the good news is that you don’t need to do this manually as software has built in port objects:https: //kb.lumerical.com/en/index.html?ref_sim_obj_fdtd_ports.html

From the port objects, you can select the injected mode and its location. Here I provided you with the screenshot on how it has been set for this specific example:

Please take a look at port object, and the application examples and keep me updated if you had further questions.