Commit Graph
54 Commits
Author SHA1 Message Date
edoardo 3276b3991c modified parameters for testing 2026-06-19 13:46:30 +02:00
edoardo f99dc5308e modified parameters for testing 2026-06-19 13:40:43 +02:00
edoardo 0d8c90c7fb modified parameters for testing 2026-06-19 13:38:07 +02:00
edoardo b57ec8e757 added metaprop_asm.py used to test the angular spectrum method 2026-06-19 13:37:41 +02:00
edoardo 1668de238d changing the grid system requires using a larger beamwaist for the input field. Effectively, the larger beam incides onto a larger number of unit-cells 2026-06-18 21:00:51 +02:00
edoardo 5e7ad710ba params. fix 2026-06-18 17:44:01 +02:00
edoardo a008cada72 more testing on grid size and propagation distances 2026-06-18 17:39:32 +02:00
edoardo b7271ffdf9 increasing domain size for testing 2026-06-18 14:04:06 +02:00
edoardo e275ea610b parameter change for testing 2026-06-18 11:48:30 +02:00
edoardo 24f3f24e5d code improvements and cleanup after introducing fftw 2026-06-18 10:45:31 +02:00
edoardo dee7bc9c8f fixed variable names 2026-06-17 14:18:31 +02:00
edoardo a87258a9c5 testing pyfftw 2026-06-17 13:49:25 +02:00
edoardo 93be0f6954 added timestamps for evaluation 2026-06-17 10:43:26 +02:00
edoardo e5ae6f6cf2 added metaprop_fibermode_doublet.py which implements the angular spectrum method, together with the adjoint formulation to simulate a metasurface doublet 2026-06-17 08:36:08 +02:00
edoardo 034f6c83c7 modified filter parameters. Using a conic filter with radius 0.5 2026-06-05 08:32:06 +02:00
edoardo 1f3e3d5775 uniform filter with radius 1 2026-06-04 17:07:50 +02:00
edoardo 54de099e46 added fiber_modes.ipynb useful utility to compute fiber modes 2026-06-04 14:29:31 +02:00
edoardo dae3d64b74 added metaprop_ad.py for testing automatic differentiation and conic filtering 2026-06-04 14:16:47 +02:00
edoardo 9b6842a061 added metaprop, implementing adjoint inverse design through the angular spectrum method 2026-06-02 23:17:21 +02:00
edoardo 15a1f59be6 fixed plots between epochs 2026-05-31 10:51:01 +02:00
edoardo 5523439021 I have seen that the first naive version does not converge well in the dft fields. So in the mean time I am running this version which outputs data more frequenctly 2026-05-30 22:36:03 +02:00
edoardo 4579f8544f updated parameters 2026-05-30 15:53:52 +02:00
edoardo 5ca07a7062 added metapeg_v2_unc.py, which is a naive implementation of topology optimization without filtering and projecting, which is useful to test the objective function alone and understand if the algorithm can produce the intended result under the most relaxed conditions (no binarization) 2026-05-30 15:52:30 +02:00
edoardo c9df747f4f solved conflict on folder creation among multiple processes 2026-05-29 14:42:29 +02:00
edoardo 5b18e7bce7 after the first tests, I increase the number of iterations per epoch 2026-05-29 14:29:30 +02:00
edoardo d01f28dab3 parameter change for testing 2026-05-27 14:58:10 +02:00
edoardo 1af0b18baf parameter change for testing 2026-05-27 14:55:58 +02:00
edoardo a283be231c 1) minor changes to metapeg_v2, but we no longer modify the chunk property and leave it to the default value (=True). Setting it to False causes segmentation errors in the adjoint loop, but works for direct simulations (for example in the normalization run) 2) added sim_opt_design, which is used to simulate an optimized design given the values of an optimized MaterialGrid after and outside the main optimization algorithm 2026-05-27 14:55:09 +02:00
edoardo 1fafc62824 trying split_chunks_evenly=True, previously it was set to false 2026-05-27 10:04:15 +02:00
edoardo caf555d248 testing for NaN 2026-05-27 09:27:44 +02:00
edoardo 7f8d9492d5 testing again for segm. errors. 2026-05-27 09:14:13 +02:00
edoardo 72517172c2 increased solution time for testing 2026-05-26 22:48:00 +02:00
edoardo df865759c3 increased resolution for testing 2026-05-26 13:43:00 +02:00
edoardo b21083f491 modified reshaping to automatically account for correct dimensions 2026-05-26 13:41:32 +02:00
edoardo 56d84e4c2f testing increasing resolution 2026-05-26 10:18:07 +02:00
edoardo 70a5391762 more debugging 2026-05-26 10:09:25 +02:00
edoardo f1a6fd25ab changed parameters for easier debugging 2026-05-26 08:50:50 +02:00
edoardo 249d39aa73 added faulthandler for testing 2026-05-26 08:43:49 +02:00
edoardo 2cfce678a3 testing for segmentation faults 2026-05-26 08:41:58 +02:00
edoardo 7f362f3e47 trying to lower resolution of design region to the same as the physics 2026-05-25 17:21:44 +02:00
edoardo c27f5a3896 another parameter test 2026-05-25 16:44:50 +02:00
edoardo 7039997fbd testing fields again 2026-05-25 15:38:48 +02:00
edoardo 1311203563 param. update 2026-05-25 14:41:00 +02:00
edoardo d113f54164 add field plot utilities for normalization run 2026-05-25 14:30:01 +02:00
edoardo 3be89321ee the stop condition on the normalization run needs to be better analyzed. Specifically, we should understand where to position the monitor point. Before, it was in a far field point, outside the simulation cell. I've seen the simulation does not converge, at first glance. Now I'll try position it in a real physical point inside the cell. Let's see if it converges in a different way. 2026-05-24 22:45:15 +02:00
edoardo 10db14256e minor changes 2026-05-24 21:00:07 +02:00
edoardo b6f36ecaa7 parameter update 2026-05-24 18:20:37 +02:00
edoardo 762938960a modified version of metapeg, using epigraph and linewidth/spacing constraints 2026-05-24 17:47:07 +02:00
edoardo af4c538b36 first debug on metapeg. At the moment there is only one frequency being optimized. Although we are not using the epigraph yet, it would still be convenient to still consider a small range around the central frequency and optimize the average objective between them. This would still be better than considering only one frequency, but for the moment I need to understand if this model can work or not. Before running a full batch, more debugging is required to better understand how everything works. In this release, the code has not been tested in the results part, but the main optimization function run a couple of rounds without throwing errors. We still need to assure the normalization we make on the far fields is reasonable or not. The next step is to run a dummy simulation until the end and observe the results generation works, then the true test would be to let it run a true optimization with the right resolution. 2026-05-13 22:43:54 +02:00
edoardo 1101a53d3a added metapeg.py, used to inversely design a metasurface that generates a desired far-field intensity pattern 2026-05-13 16:55:46 +02:00
edoardo 32503e330c fixed observed far-field component 2026-05-13 10:43:51 +02:00
edoardo 3cdb9e5f68 increase sim time to 1500 2026-05-13 00:13:45 +02:00
edoardo dceb2631f2 fixing plots 2026-05-13 00:04:27 +02:00
edoardo c3138ae776 fixed generation of results folder 2026-05-12 23:40:32 +02:00