-
Notifications
You must be signed in to change notification settings - Fork 607
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
computing mode coefficients of eigenmodes with negative wavevector components #476
Comments
As an example based on the binary grating tutorial, an oblique planewave pulsed source with center frequency |
Suppose the Bloch wavevector is
So, to get the right sign, just compute (In the normal-incident case, you have a degeneracy between |
What about the case when |
Once NanoComp/mpb#71 is merged, we can modify the get-eigenmode-coefficients function to return the list of dominant k vectors (in addition to group velocity, k, etc). In diffraction problems, these dominant k vectors are exactly the k vectors of the diffracted planewave, with no post-processing needed. |
There doesn't seem to be a way to compute the mode coefficients of eigenmodes with negative wavevector components (i.e., diffraction orders with negative angles) given the current framework of
get_eigenmode_coefficients
. The binary grating example tutorial involved a normally incident source where the positive diffraction orders (i.e., those withm
> 0) are equivalent to the negative orders by symmetry. This saves a factor of 2 in the computation which is nice. However for an oblique source which breaks the symmetry, it is necessary to compute the diffraction orders with negative angles. This may involve modifyingget_eigenmode_coefficients
to operate on modes with negative wavevector components. Currently, the wavevector components of the modes are always non negative.The text was updated successfully, but these errors were encountered: