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

Gaussian beam power normalization in 2D #664

Closed
tomflexcompute opened this issue Jan 19, 2023 · 5 comments · Fixed by #693
Closed

Gaussian beam power normalization in 2D #664

tomflexcompute opened this issue Jan 19, 2023 · 5 comments · Fixed by #693
Assignees
Labels
Bug something isnt working

Comments

@tomflexcompute
Copy link
Contributor

Currently in Tidy3D, Gaussian beam's power normalization is off in 2D simulations. This is likely the reason why Joaquin's 2D grating coupler result is incorrect.

In general, when the simulation domain size is smaller than the Gaussian beam waist, not 100% of the power is injected but the normalization still assumes 100% of the power. In a 3D simulation, this is probably fine. It's the user's responsibility to make sure the domain size is considerably larger than the beam waist. However, we can also consider throwing a warning when the domain size is not a few times larger than the beam waist for example.

In a 2D simulation, the normalization should work completely differently by assuming the Gaussian beam in uniform in the zero dimension. This seems to be the case in both Lumerical and Meep so the normalization works out correctly.

Details can be found in the attached notebook.

2D_Gaussian_Beam_Test.zip

@momchil-flex
Copy link
Collaborator

We will look at that, but I'm curious about one thing: is the gaussian beam actually normalized in Meep, or is a normalization run needed? I thought that you always needed normalization runs in Meep. Having a normalization run could be a way to get around this in Tidy3D too, for now.

@tomflexcompute
Copy link
Contributor Author

Oh yeah that's a good point. I think it actually might be the case.

@tylerflex tylerflex added the Bug something isnt working label Feb 9, 2023
@tylerflex tylerflex assigned momchil-flex and unassigned tylerflex Feb 9, 2023
@momchil-flex
Copy link
Collaborator

@shashwat-sh do you think you can look into this?

@shashwat-sh
Copy link
Contributor

shashwat-sh commented Feb 14, 2023 via email

@shashwat-sh shashwat-sh linked a pull request Feb 16, 2023 that will close this issue
@shashwat-sh
Copy link
Contributor

Normalization is already correct; added a warning when absorbing / PML boundaries are used in a 2D simulation along the zero dimenion; see this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug something isnt working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants