-
Notifications
You must be signed in to change notification settings - Fork 626
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
x parity constraints for eigenmodes #1109
Comments
i.e. if the waveguide is in the y direction, rotate the coordinates to (y,z,x), and if the waveguide is in the z direction, rotate them to (z,x,y) |
(The tricky part is just to make sure that we do this consistently. You have to transform all the inputs, lattice vectors etcetera, and also all of the outputs like fields and group velocity.) |
Examples of place that would need to be change:
Note that you have to cycle both the (x,y,z) coordinates and the field components (Ex,Ey,Ez). There will be some |
For example, |
Note that the parity flags are defined here. In particular, you should think of We define our own bits for |
Two questions related to implementation:
|
|
This would be nice, as discussed in NanoComp/mpb#72. However, implementing it in MPB is rather subtle as discussed in NanoComp/mpb#74 because of the interaction with MPB's transverse basis.
Seems like it might be more straightforward to just do a cyclic rotation of the coordinates in Meep's
src/mpb.cpp
so that the x direction is always the propagation direction.The text was updated successfully, but these errors were encountered: