This project implements numerical optimization of 1D dielectric waveguide gratings using coupled-mode theory. It computes optimized detuning and coupling profiles for desired reflection and transmission characteristics.
This repository includes:
Photonic_Optimization_Notebook.ipynb
– Interactive Jupyter notebook for transmission and reflection optimization.CoupledMode.jl
– Coupled-mode equation definition and solver.Objectives.jl
– Objective functions for optimization (amplitude + phase).Visualization.jl
– Minimal publication-quality plots.FieldMapPlot.jl
– Transmission field map over (z, δ).Project.toml
– Julia environment file (optional, not generated here).
- Julia ≥ 1.9
- Packages:
DifferentialEquations
Optimization
,OptimizationBBO
Plots
Interpolations
CSV
,DataFrames
Install dependencies by activating the environment:
using Pkg
Pkg.activate(".")
Pkg.instantiate()
Launch the notebook using:
jupyter notebook Photonic_Optimization_Notebook.ipynb
or run from the Julia REPL with Pluto.jl:
import Pluto
Pluto.run()
The notebook produces:
- Amplitude and phase plots of optimized reflection and transmission spectra
- A field map (|B(z, δ)|²) visualization of the transmitted wave
- Plots suitable for scientific publication
Theory follows the coupled-mode formalism outlined in:
Joannopoulos et al., Photonic Crystals: Molding the Flow of Light, Ch. 4 and 7
This code is part of a Master's thesis project in photonic inverse design.