Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added support for EMESimulation in ModeSolver plugin #1802

Merged
merged 1 commit into from
Jul 16, 2024

Conversation

caseyflex
Copy link
Contributor

@caseyflex caseyflex commented Jul 5, 2024

Previously, we could add a ModeSolverMonitor to an EMESimulation, or we could convert the scene to a Simulation to use the ModeSolver plugin. Now, we can directly pass an EMESimulation to the ModeSolver plugin.

The change was suggested by @tomflexcompute here: #1633

It will also facilitate the planned ModeSimulation classes.

@caseyflex caseyflex marked this pull request as draft July 5, 2024 14:37
@caseyflex caseyflex force-pushed the casey/modesolveryee branch 2 times, most recently from 14804c8 to 7135294 Compare July 8, 2024 13:54
@caseyflex caseyflex marked this pull request as ready for review July 8, 2024 13:54
tidy3d/components/eme/data/sim_data.py Outdated Show resolved Hide resolved
tidy3d/plugins/mode/mode_solver.py Outdated Show resolved Hide resolved
tidy3d/web/api/mode.py Outdated Show resolved Hide resolved
tidy3d/web/api/mode.py Show resolved Hide resolved
tidy3d/plugins/mode/mode_solver.py Show resolved Hide resolved
@caseyflex caseyflex force-pushed the casey/modesolveryee branch 2 times, most recently from 9032511 to 9428854 Compare July 10, 2024 12:05
@caseyflex caseyflex requested a review from tylerflex July 10, 2024 12:05
Copy link
Contributor

@tomflexcompute tomflexcompute left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a great addition. Thanks @caseyflex . I wonder if one uses the local mode solver to solve for the modes and dose smatrix_in_basis for example with the mode solving result, would the accuracy be noticeably worse?

Copy link
Collaborator

@tylerflex tylerflex left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

make sure to update the changelog to put this in the Added section of Unreleased instead of 2.7.1

@caseyflex caseyflex force-pushed the casey/modesolveryee branch 2 times, most recently from cff45c1 to a3a0399 Compare July 11, 2024 10:19
@caseyflex
Copy link
Contributor Author

That's a great addition. Thanks @caseyflex . I wonder if one uses the local mode solver to solve for the modes and dose smatrix_in_basis for example with the mode solving result, would the accuracy be noticeably worse?

I actually imagine it wouldn't matter so much. The mode profile should be similar, only the details and the n_eff would change a bit. And n_eff is very important for propagating EME modes but perhaps not so much for port modes.

Copy link
Collaborator

@momchil-flex momchil-flex left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Does it really facilitate the ModeSimulation refactor?

@caseyflex
Copy link
Contributor Author

Looks good. Does it really facilitate the ModeSimulation refactor?

We would like to pass a ModeSimulation to the ModeSolver as well, without trying to come up with a way to convert it to an FDTD simulation.

@caseyflex
Copy link
Contributor Author

Looks good. Does it really facilitate the ModeSimulation refactor?

We would like to pass a ModeSimulation to the ModeSolver as well, without trying to come up with a way to convert it to an FDTD simulation.

(even if this isn't the primary web api, it will help internally to support it, and it may be helpful for users as well)

@momchil-flex momchil-flex merged commit 953bc80 into develop Jul 16, 2024
16 checks passed
@momchil-flex momchil-flex deleted the casey/modesolveryee branch July 16, 2024 09:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants