flexcompute / tidy3d

Fast electromagnetic solver (FDTD) at scale.
https://docs.flexcompute.com/projects/tidy3d/en/latest/
GNU Lesser General Public License v2.1
173 stars 40 forks source link

Potential improvement items for EME solver #1633

Open tomflexcompute opened 4 months ago

tomflexcompute commented 4 months ago

Been testing the EME solver today and it's no doubt a great addition to the FDTD solver. Thanks @caseyflex for the great efforts in the past few months. This is highly requested by a number of users and will be used by many people in the future. Here I list a few potential improvement items from my testing so far. Maybe some of them are already in the roadmap or proposed by someone so feel free to ignore them in that case:

caseyflex commented 4 months ago

Thanks @tomflexcompute .

Cost estimation and removing the URL are covered in this PR (and python-webapi PR): https://github.com/flexcompute/tidy3d/pull/1634

Progress bar is a nice suggestion, I can look into it.

You should be able to add a ModeSolverMonitor directly to the EME simulation, and then pass that data to smatrix_in_basis. Does that work for you? I should include an example of this in the demo notebook.

tomflexcompute commented 4 months ago

Thanks for the clarification @caseyflex ! I didn't realize that ModeSolverMonitor also works with EMESimulation. Does the mode solver plugin work with EMESimulation as well? It would be nice to clarify somewhere what works and what doesn't work with EMESimulation.

I'm experimenting with a MMI and that could be a good example to demonstrate smatrix_in_basis. Let me test it a bit more and see if we can publish it.

caseyflex commented 4 months ago

That would be great to have that example @tomflexcompute ! Let me know if you run into any other difficulties with the EME solver.

The mode solver plugin currently doesn't work with EMESimulation, although that should be fixable by replacing Simulation -> AbstractYeeGridSimulation throughout the plugin.