-
Notifications
You must be signed in to change notification settings - Fork 19
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
Problems in Waveguide Mode Converter #22
Comments
Unfortunately, when the The example code is as follows.
|
I am also seeing the segmentation fault error in |
@mawc2019, would try modifying one line in change
to
|
The error remains. Instead, if I put
rather than the opposite, the error goes away. I remember I saw the same situation previously, but neglected it after finding However, even if the segmentation fault is temporarily avoided, the issue in the adjoint solver mentioned above remains in the current master branch. |
Does the segmentation fault still occur if you run the script using a single process ( |
The segmentation fault occurs when I run the script using |
This just changes the mode numbering. The first and second odd-z modes are (I think?) the first and third modes overall, so if you change to By not changing the mode number and switching to |
Try turning material grid smoothing off design_variables = mp.MaterialGrid(mp.Vector3(Nx, Ny), SiO2, Si, grid_type="U_MEAN",do_averaging=False) |
Using the example above, the test results with or without With
Without
|
When a random structure instead of a uniform structure in the design region is used, the gradients are much larger, and the finite-difference and adjoint gradients become consistent in this test. So we may need to start the optimization from a random initial guess. However, unlike the above test that deals with a single frequency, our waveguide mode converter deals with multiple frequencies. In this multi-frequency case, the |
The issue of incorrect adjoint gradients can be temporarily avoided by using a low resolution for FDTD simulation. For example, I tried to use |
See #25 for a working demonstration involving worst-case (minimax) optimization. |
When the current master branch of Meep is used to run mode_converter_meep.py,
Signal: Segmentation fault (11)
occurs. Additionally, there isSignal code: Invalid permissions (2)
if the code is run with one process, and there isSignal code: Address not mapped (1)
if the code is run with two processes.When v1.23.0 is used, such errors do not appear. Based on this version of Meep, the worst-case reflection and transmission for the two given design patterns are as follows.
The text was updated successfully, but these errors were encountered: