{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":629565741,"defaultBranch":"main","name":"wavesight","ownerLogin":"zia-lab","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-04-18T15:09:30.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/21014923?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1681830571.37128","currentOid":""},"activityList":{"items":[{"before":"f1a3e53460d86f10daf9cc355548815bf2746e4e","after":"4a9c93b2b3c28facad9c1418aa61558a1ec24285","ref":"refs/heads/main","pushedAt":"2024-02-12T02:29:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"README update","shortMessageHtmlLink":"README update"}},{"before":"f522b69f90ef2ba996d402832ca05688323bb0ff","after":"f1a3e53460d86f10daf9cc355548815bf2746e4e","ref":"refs/heads/main","pushedAt":"2023-12-15T15:14:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"Waveguide shortcut and tmux extravaganza\n\n+ fiber_bundle.py which is the script that creates the two bash scripts from templates now accounts for the possibility of skipping the mode launching calculation, assuming this was done in a previous run.\n+ templates.py now has useful indentation for the templates, which is good for understanding the logic, but which must be removed for bash to interpret everything correctly. More importantly it now accounts for the possibility of skipping the mode launching calculations.\n\n+ sniffer.py now also looks for out and err folders in mon_folder, this allows it to follow the outputs scripts even if they are moved to these folders.\n+ metaorchestra.py now allows for manually fixing a focal length, this is triggered by the presence of the key \"manual_focal_length\" in the configuration file.\n\n+ phase_factory.py now uses rando_id for identifying the output files instead of system time in nanoseconds.\n+ It is convenient to launch a given calculation within its own tmux terminal, the script tmux_launcher.sh is an example of how this can be done on a loop-a-loop.","shortMessageHtmlLink":"Waveguide shortcut and tmux extravaganza"}},{"before":"46c0bb8c5e5ad99ba8fe3fd6f83e4c97522fdde9","after":"f522b69f90ef2ba996d402832ca05688323bb0ff","ref":"refs/heads/main","pushedAt":"2023-12-15T03:12:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"Improved notation, improved memory management, and better partitioning of field propagation\n\n+ dev-config-example.jsonc has bee updated with a new required and optional key-value pairs.\n+ EH4_to_EH5.py now computes disjoint parts of the entire task of propagating EH4 to different z-planes. The previous alternative was producing collisions that were ill solved and resulted in some missed planes.\n+ sniffer.py now checks for a list of error messages, and sends notifications in case any flag is found in the output log.\n+ templates.py now takes into account change in script names.\n+ wavesight.py now includes a simple function to calculate unit vectors pointing in a given direction.\n+ misc.py now includes a function that allows approximating the time that a sigmoid-like looking data takes to reach its steady value. This function is now used in order to determine the required time for the mode launching calculations.\n+ More dependent variables are now computed in metaorchestra.py instead of being relegated to scripts that follow it.\n+ fiber_platform.py includes an assert that prevents more than 256 GB of RAM memory to be scheduled.\n+ What before in fiber_bundle.py was the variable called distance_to_monitor has been updated to wg_to_EH2.\n+ Since EH5_assembly.py was loading all of the slices into memory before exporting to a final file, the memory usage was liable to exceed alloted maximum. This is now less likely to occur since data is loaded in batches and saved to file.","shortMessageHtmlLink":"Improved notation, improved memory management, and better partitionin…"}},{"before":"739a8e54eef89f11e484624a75e91b6fe4f2fed0","after":"46c0bb8c5e5ad99ba8fe3fd6f83e4c97522fdde9","ref":"refs/heads/main","pushedAt":"2023-12-13T01:48:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"Much improved documentation and README\n\nImproved readme and rebuilt docs with Sphinx. Names of some scripts updated.","shortMessageHtmlLink":"Much improved documentation and README"}},{"before":"dc3f2575e6998117a6870f4323597a5ab42637d0","after":"739a8e54eef89f11e484624a75e91b6fe4f2fed0","ref":"refs/heads/main","pushedAt":"2023-12-10T02:07:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"A few things here and there\n\n+ The configuration file can now include an optional key that determines the number of hours that are allocated for the simulation that determines resource requirements.\n+ In sniffer.py, output_vigilante now print the command necessary to restart the log when killed with KeyboardInterrupt.\n+ dev-config-example.py is an example of how the configuration files need to be written at this stage.","shortMessageHtmlLink":"A few things here and there"}},{"before":"0f54f2d2e1c5be4dd089145a5858d6d3c0ce6914","after":"dc3f2575e6998117a6870f4323597a5ab42637d0","ref":"refs/heads/main","pushedAt":"2023-12-05T21:35:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"Using parallel MEEP\n\n+ Several scripts (across_ml.py, fiber_platform.py) can now be run with the parallelized version of MEEP. To save time-resolved fields required that the fields were saved to pickles instead of being saved by MEEP by appending to an h5 file. In addition to this a number of checks are made so that only the master process contributes to disk-write and logging operations.\n+ In datapipes.py, load_from_h5 can now be configures so that the comments are not returned so that only a dictionary is returned when loading the data in an h5 file.\n+ EH5_assembly.py is a script that puts together the separate slices for the EH5 fields into a single .h5 file.\n+ In templates.py the templates used to generate the two main bash scripts have been modified so as to include the necessary mpirun constructs for running parallel MEEP. A number of other options have also been included, including: MEEP_num_cores, python_bin, python_bin_MEEP, and others.\n+ housekeeping.py does some cleaning after a calculation has ended and send a completion notification.\n+ Convenience functions for posting, searching, and deleting messages on slack have been removed from misc.py and aggregated in slacking.py.\n+ metaorchestra.py, the script that schedules the entire sequence of calculations has been modified to account for the possibility of launching the simulations using the parallelized version of MEEP.\n+ device-config.jsonc is an example of the current configuration files necessary to trigger a calculation.","shortMessageHtmlLink":"Using parallel MEEP"}},{"before":"b6b804d928a940b3891e2cc1c09ba12b7acc82d2","after":"0f54f2d2e1c5be4dd089145a5858d6d3c0ce6914","ref":"refs/heads/main","pushedAt":"2023-11-29T04:37:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"Mostly together\n\n+ At this point the repo is capable of going all across a device.\n+ across_mp.py is the script that configures and launches the MEEP simulations necessary to propagate the fields across the metasurfae.\n+ EH4_animate.py and EH4_plotter.py produce animations and plots of the fields as the go across the metalens.\n\n+ H4-to-H5.py takes the fields that have gone across the metasurface and propagates them to a volume inside of the crystal host.\n+ wavesight.py now includes a function that simplifies creating the equivalent currents for a given sampled field.\n+ templates.py now integrates most of the different sub-tasks into a single command.\n\n+ sniffer.py is a simple script that allows inspecting the progress of a long calculation by monitoring the output files of the different launched jobs.","shortMessageHtmlLink":"Mostly together"}},{"before":"2cc980d88ab557721eb38a6613c41bcb3bb2971d","after":"b6b804d928a940b3891e2cc1c09ba12b7acc82d2","ref":"refs/heads/main","pushedAt":"2023-11-23T00:23:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"yml file, putting more together, colorful prints, and others\n\n+ datapipes.py has an improved convenience function to load data from json files. The files may have commets with the // syntax.\n+ fiber_bundle.py uses printech for printing progress messages.\n+ Consistency of nomenclature has been improved, for instance nBetween is now the name used for the refractive index of the medium between the waveguide and the metales. Also, now cell_width is called instead lattice_constant.\n+ flowchart_fiber_to_crystal.md includes a better Mermaid diagram of all the things going on in here.\n+ meta_designer.py now leaves certain parameters it needs to run to the main configuration file, which is loaded when the function meta_designer is called.\n+ metaorchestra.py is a script that triggers the entire sequence of calculations.\n+ In misc.py the function dict_summary now accepts additional options for achieving different formats in the return.\n+ templates.py now integrates the free space propagator, although at this point this part is being tested.\n+ printech.py is a file that uses the rich package in order to produce better printouts.\n+ fiber_fan.py is still present but has been commented out, as part of deprecating it.\n+ metalens_spec-testing.jsonc is an example of the configuration files that trigger an entire sequence of calculations.\n+ wavesight.yml is the output of conda env export > wavesight.yml","shortMessageHtmlLink":"yml file, putting more together, colorful prints, and others"}},{"before":"cf481bb313fbf6d0bee88e1d4945321ae53ac1c3","after":"2cc980d88ab557721eb38a6613c41bcb3bb2971d","ref":"refs/heads/main","pushedAt":"2023-11-21T02:04:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"Metal, better phases, and others\n\n+ metal.py contains a few useful functions for the design of meta-lenses.\n+ datapipes.py now includes a function to quickly load data store in json format. It also includes a couple of functions useful to interface with Python scripts with a CLI and json output.\n+ meta_designer.py is a script that launches RCWA simulations to approximate the response of meta-atoms of a given dielectric material, and for a given focal length, it creates the geometry of a metasurface that should approximate this behaviour.\n+ In misc.py an additional optional parameter can be provided to send_fig_to_slack which allows for posting figures in pdf format.\n+ In phase_factory.py the phase corresponding to a given meta-atom geoemtry is now calculated by determining the phase of the averaged field at the plane of the dielectric posts.\n+ design_params.json is an example of the input files that meta_designer.py requires.","shortMessageHtmlLink":"Metal, better phases, and others"}},{"before":"205a66401222f5e06e6c895fbfeedcad1d7b557a","after":"cf481bb313fbf6d0bee88e1d4945321ae53ac1c3","ref":"refs/heads/main","pushedAt":"2023-11-05T23:30:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"Better layouts and bringing in RCWA from S4\n\n+ phase_factory.py can be used to generate the phase vs. diameters for the simple case of cylindrical posts with incident linear polarization. This script relies on having correctly set up the environment in which S4 has been installed.\n+ wavesight.py has now an improved function to generate the general layout of a specific instrument design. This design shows a sketch of what would be the ray optics picture.","shortMessageHtmlLink":"Better layouts and bringing in RCWA from S4"}},{"before":"435f2f13f2a80615b247130e04b05ca5c474e5c8","after":"205a66401222f5e06e6c895fbfeedcad1d7b557a","ref":"refs/heads/main","pushedAt":"2023-11-01T20:53:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"Better quadrature and plotting propagated fields\n\n+ wavesight.py now provides an implementation that allows for using Simpson's rule to evaluate numerical instruments by quadrature. The new functions are simpson_quad_ND, and simpson_quad_1D.\n\n+ fiber_bridge.py now calculates and saves (in the .h5 file) quadrature integrals for E and H.\n\n+ ml_plot_in.py is a new script that takes the fields propagated from the end face of the fiber to the zProp previously provided to fiber_bridge.py.","shortMessageHtmlLink":"Better quadrature and plotting propagated fields"}},{"before":"184214a49313c01d7038323423db031fbb9f6c10","after":"435f2f13f2a80615b247130e04b05ca5c474e5c8","ref":"refs/heads/main","pushedAt":"2023-10-29T22:36:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"Datapipes, templates, and free space propagation\n\n+ datapipes.py includes a couple of functions that facilitates saving and loading data stored in dictionaries to h5 files.\n+ slurit.sh renames to slurmit.\n+ templates.py has a few changes in how the simulation scripts are composed.\n+ fiber_animate.py now saves the animations to the simulation folder, not to the repo folder.\n+ fiber_bundle.py has an updated nomenclature for the dictionary used to save the solution to the waveguide modes. This same nomenclature is now also used in fiber_platform.py.\n+ Some changes in fiber_plotter.py accounting for the new file structure in which the results of MEEP simulations are saved.\n+ misc.py includes two new functions. array_stretcher allows for the symmetric expansion or contraction of a coordinate array. sym_pad is a simple modification to numpy's pad for symmetric padding.\n+ Changes in wavesight.py are mostly reorganization of code into more legible sections.\n+ fiber_bridge.py is a script that takes the code identifying a specific waveguide, a propagation distance, and the refractive index of a homogeneous medium. It takees these and it takes the fields, as they have refracted out of th waveguide, and propagates them for the given distance, using a vectorial diffraction integral.","shortMessageHtmlLink":"Datapipes, templates, and free space propagation"}},{"before":"b8918ef422e421be8aa8c5473a52789aadbe1407","after":"184214a49313c01d7038323423db031fbb9f6c10","ref":"refs/heads/main","pushedAt":"2023-10-15T16:50:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"Savepoint and animations\n\n+ fiber_animate.py is a script that may be used to animate the steady state field plots. It creates movie for all of the modes of a provided waveguide ID.\n+ fiber_platform.py has an additional global parameter steady_time_boost that multiplies the time needed for reaching the steady state (as calculated from the zeroth mode).\n+ slurmit.sh is a bash script that facilitates submitting commands to the cluster as slurm jobs.\n+ templates.py now also saves the resolution to the simulation log.\n+ In wavesight.py the from_near_to_far_angular function now appropriately labels the figures depending on the given plotFun.\n+ .gitignore ignores the folder ./moovies/ where the animation sof fiber_animate.py are saved to.","shortMessageHtmlLink":"Savepoint and animations"}},{"before":"69d3525f53c9f7169d18b02d0e29803de08fbfb8","after":"b8918ef422e421be8aa8c5473a52789aadbe1407","ref":"refs/heads/main","pushedAt":"2023-10-11T20:20:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"Improvements and fixes here and there\n\n+ .gitignore ignores the pdf and bash_scripts folder which are used to temporarily hold pdf files created by fiber_plotter.py and the bash scripts created by fiber_bundle.py\n+ templates.py created to aggregate useful string templates.\n+ fiber_bundle.py now makes a more transparent use of the variables stored in the configuration dictionaries. It also adds an optional flag to the CLI so that the bash script can be triggered to be run automatically by the Python script.\n+ fiber_platform.py is now capable of dealing with simulations in which the fields are sampled at equal intervals, and other in which just the final fields are collected. When the time-resolved simulations are run, a time is computed such that the change in the electric field in the xy monitor is less than 0.01. Be mindful that there's a different way in which the time-resolved h5 are saved, compared to when just the final ones are collected.\n+ fiber_plotter.py takes this into account and is able to produce plots in either case.\n+ misc.py includes a function that implements a simple algorithm to detect when the transient of a given signal has died down to within some given tolerance. It also includes a function to format time according to the format expected by Slurm. And a function that can be used to ceil a give number to an integer multiple of a given unit.\n+ A couple of cosmetic changes in wavesight.py.\n+ standard_candle.py and standard_candle_parallel.py are a couple of scripts used to benchmark simulations. These are drafts and are only commited here for having a savepoint.","shortMessageHtmlLink":"Improvements and fixes here and there"}},{"before":"128c9e91886300ebc0a2ffcdaa130b7625cc9b95","after":"69d3525f53c9f7169d18b02d0e29803de08fbfb8","ref":"refs/heads/main","pushedAt":"2023-10-06T20:29:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"All in one and others\n\n+ fiber_bundle.py now creates two bash scripts that work in order to create an initial resource-allocation job, whose requirements are then read by the second script.\n+ misc.py includes a function that can be used to get the total size of files in a given directory. This is used in order to register the amount of disk space that a single simulation is estimated to required.\n+ The function dict_summary in misc.py is now able to identify numpy floats and ints.\n+ wavegraphics.py is a new submodule that will be used to store useful graphing routines. Presently it only includes a function that may be used to create a translucent frame with hatch shading.","shortMessageHtmlLink":"All in one and others"}},{"before":"6c0f0a5ee242dfe77cf7d76b601f4c2adbc1d515","after":"128c9e91886300ebc0a2ffcdaa130b7625cc9b95","ref":"refs/heads/main","pushedAt":"2023-10-04T21:20:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"From nearfield to farfield in spherical coords\n\n+ wavesight.py now includes a function, from_near_to_far_angular, which given a monochromatic scalar field returns what would be the farfield given in angular coordinates. It's a draft and shouldn't be much relied upon.\n+ .gitignore ignores scratch.ipynb which is a Jupyter notebook to polish bits of code.","shortMessageHtmlLink":"From nearfield to farfield in spherical coords"}},{"before":"c10f9efc8a707165f755c2fa5367849f6dae087d","after":"6c0f0a5ee242dfe77cf7d76b601f4c2adbc1d515","ref":"refs/heads/main","pushedAt":"2023-10-03T23:27:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"Plotting fields at xy monitor\n\n+ fiber_plotter.py now also produces a plot of the fields at the xy monitor after the field has refracted off of the end of the waveguide.\n+ IHUM-IKIP.sh is simply an example of the bash script that is used to trigger the sequence of calculations at the cluster.\n+ IHUM-IKIP-sagittal.pdf and IHUM-IKIP-xp.pdf are example of the plots generated by fiber_plotter.py\n+ fiber_platform.py is now made so that only about 10 simulations post to Slack for tracking the progression of a launched calculation. It also reduces the amount of plots that are posted there, when they are.","shortMessageHtmlLink":"Plotting fields at xy monitor"}},{"before":"176811d919f376eebd76f2d73f5fe8eb50249785","after":"c10f9efc8a707165f755c2fa5367849f6dae087d","ref":"refs/heads/main","pushedAt":"2023-10-03T21:25:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"Better workflow\n\n+ hail_david.py is a simple script to communicate calculation completion.\n+ in fiber_bundle.py now a more elaborate bash script is created. This script launches three slurm jobs, and primes the array job with an initial calculation.\n+ in fiber_platform.py a provision is now made so that a memory and time requirement file is created if it doesn't exist. Now the pkl file that saves the results does not include the data for all the times at which the fields were sampled. This data is saved in its entirety in the related h5 files.\n+ fiber_plotter.py is the script that creates a compendium of graphs for a given calculation.","shortMessageHtmlLink":"Better workflow"}},{"before":"f355691852fb73c7c464ec9f20888a89ceca9aa9","after":"176811d919f376eebd76f2d73f5fe8eb50249785","ref":"refs/heads/main","pushedAt":"2023-10-03T00:06:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"+ field_plotter.py opens the files generated by the simulations launched at the cluster and creates a pdf containing all of them. Presently it only does this for the sagittal xz and yz planes.","shortMessageHtmlLink":"+ field_plotter.py opens the files generated by the simulations launc…"}},{"before":"ef4e661ad5a3869a0c857696f75bc30494ef090a","after":"f355691852fb73c7c464ec9f20888a89ceca9aa9","ref":"refs/heads/main","pushedAt":"2023-10-01T20:57:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"+ fiber_bundle.py can be used to calculate the modes of a given step index fiber, and create the necessary files to launch the calculation in the cluster.\n+ fiber_platform.py is the script that actually configures the necessary simulation for each mode and runs it.\n+ in misc.py changes were made to the functions used to interface to Slack to be respectful and insistent on rate limits.\n+ sbatch-OXUX-ADUM.sh is an example of the files necessary to launch sbatch jobs on the cluster.","shortMessageHtmlLink":"+ fiber_bundle.py can be used to calculate the modes of a given step …"}},{"before":"b820d0fa3eaa249307f4d03b91b7f1ae2d8f9f6f","after":"ef4e661ad5a3869a0c857696f75bc30494ef090a","ref":"refs/heads/main","pushedAt":"2023-09-29T23:45:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"The refraction of waveguide modes\n\n* The script fiber_fan.py is a CLI that can be used to calculate the refracted fields from a multimode waveguide.\n* misc.py has some improvements in the functions used to post messages and files to Slack.\n* The notebook meep-fiber-launching.ipynb has been updated with some additions and subtractions.\n* fiber_bundle.py is a script that generates a pickle that may be used to configure the set of MEEP simulations that analyze the refraction off the end of a fiber.\n* fiber_platform.py is the script that takes a single argument, the index for a mode, and proceeds to calculate the corresponding fields.\n* Both these two are a little ad-hoc at the time.\n* diffkernels.py shortcircuits the absence of numba, this should be taken care of in a better manner.\n* .gitignore now ignores all .h5 and .pkl files.","shortMessageHtmlLink":"The refraction of waveguide modes"}},{"before":"c34408bc61813acbe3a3cc249e4a7b43bcec54ea","after":"b820d0fa3eaa249307f4d03b91b7f1ae2d8f9f6f","ref":"refs/heads/main","pushedAt":"2023-09-27T21:45:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"Together with MEEP, posting to Slack, and launching fiber modes\n\n> The notebook meep-fiber-launching.ipynb has two examples of launching fiber modes across fibers, and of refracting these into a homogeneous medium.\n> wavesight.py has a series of functions useful to calculate Fresnel coefficients: fresnel_ts_θ1, fresnel_t_θ1, fresnel_ts_θ1θ2, fresnel_t_θ1θ2.\n> wavesight.py has a function called field_sampler that can be used to sample the fiels of the propagating modes of a fiber, or generate the effective currents correspond to a plane perpendicular to the z-axis.\n> wavesight.py has a function called equivCurrents which returns the functions that define the equivalent currents that generate the fiber propagating modes. These functions are meant to be used as the amplitude functions for sources in MEEP.\n> The script fiber_launcher.py is the script equivalent of the code in meep-fiber-launching.ipynb for the case of testing out if we can launch fiber modes. It's a command line interface that takes four parameters: nCladding, nCore, coreRadius, and wavelength.\n> A number of convenience functions were added to misc.py to facilitate posting messages and figure to Slack.","shortMessageHtmlLink":"Together with MEEP, posting to Slack, and launching fiber modes"}},{"before":"091315415e82816f267c46d95ddd6dab58bcbacc","after":"c34408bc61813acbe3a3cc249e4a7b43bcec54ea","ref":"refs/heads/main","pushedAt":"2023-09-06T22:32:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"No jekyll","shortMessageHtmlLink":"No jekyll"}},{"before":"f29ef7d4b8c5de9d7a392fd6ec5fe4f33a20a712","after":"091315415e82816f267c46d95ddd6dab58bcbacc","ref":"refs/heads/main","pushedAt":"2023-09-06T22:21:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"Moving docs","shortMessageHtmlLink":"Moving docs"}},{"before":"ada75c93cb8de15bcd65d354e3c68da083754636","after":"f29ef7d4b8c5de9d7a392fd6ec5fe4f33a20a712","ref":"refs/heads/main","pushedAt":"2023-09-06T22:01:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"Mended gitignore to load docs\n\n> Commit built documentation.","shortMessageHtmlLink":"Mended gitignore to load docs"}},{"before":"a693d9aaaa97ad5599a0ffdc03ce1e035c85a51d","after":"ada75c93cb8de15bcd65d354e3c68da083754636","ref":"refs/heads/main","pushedAt":"2023-09-06T21:57:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"Sphinx documentation test\n\n> Testing Sphinx documentation to be used alongside GitHub Pages.","shortMessageHtmlLink":"Sphinx documentation test"}},{"before":"6cbd4fcd12ae78da0e44daf45ae193c9e203c80c","after":"a693d9aaaa97ad5599a0ffdc03ce1e035c85a51d","ref":"refs/heads/main","pushedAt":"2023-09-06T21:57:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"Plane waves and upgraded docstrings.\n\n> Normalized format for docstrings in anticipation of using Sphinx.\n> wavesight_figs.key is a Keynote presentation to create some figures, presently it only includes relevant geometry of the definition of polarization of plane waves.","shortMessageHtmlLink":"Plane waves and upgraded docstrings."}},{"before":"7a80b4c1907e61896d9f09b088c411f14dbb812b","after":"6cbd4fcd12ae78da0e44daf45ae193c9e203c80c","ref":"refs/heads/main","pushedAt":"2023-09-05T16:03:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"Electric and magnetic dipole radiation fields\n\n+ wavesight.py now includes functions that can provide the electric and magnetic field of electric or magnetic dipole radiators.\n+ farfield.ipynb includes an additional example using the field of a magnetic dipole close to the aperture.\n+ misc.py includes a function that allows validating if a given variable name will collide with others defined in globals().","shortMessageHtmlLink":"Electric and magnetic dipole radiation fields"}},{"before":"051582d7029dfa8049eea4caa774ec54af982434","after":"7a80b4c1907e61896d9f09b088c411f14dbb812b","ref":"refs/heads/main","pushedAt":"2023-09-01T22:04:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"New approach to vectorial diffraction\n\n> A more general approach to the vectorial diffraction integrals within the Smythe-Kirchhoff diffraction theory.\n> The Mathematica notebook diffinit.nb generates the script diffkernels.py which contain the kernels that define how the different components of the E and H fields diffract.\n> These kernels are then used in a general-purpose function to calculate convolutions using FFT. This function is called FFT2D_convolution_integral.\n> The functions that implement this for the purpose of vectorial diffraction are: electric_vectorial_diffraction and magnetic_vectorial_diffraction.\n> The notebook farfield.ipynb has been updated to show two examples that use the vectorial diffraction functions now included in wavesight.py.\n> The functions that implemented these before have been deprecated by these several improvements.\n> An error was fixed in the application of the Simpson's rule weights. They were being applied twice.","shortMessageHtmlLink":"New approach to vectorial diffraction"}},{"before":"3807e3098cd747d0c229ddb599f9d93109220091","after":"051582d7029dfa8049eea4caa774ec54af982434","ref":"refs/heads/main","pushedAt":"2023-08-30T22:04:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"juandlizarazo","name":"Juan David Lizarazo","path":"/juandlizarazo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8259615?s=80&v=4"},"commit":{"message":"Vectorial diffraction\n\n> wavesight.py now includes an implementation of the Smythe-Kirchhoff diffraction integrals. The notebook farfield.ipynb has a section showing one example.","shortMessageHtmlLink":"Vectorial diffraction"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAD-Aik9AA","startCursor":null,"endCursor":null}},"title":"Activity · zia-lab/wavesight"}