Download presentation
1
Inverse design for nano-photonics
Yablonovitch Group, UC Berkeley June 4th 2013
2
Seminar outline This morning: Theory This afternoon:
General presentation on inverse design Our approach: the adjoint method Step by step example This afternoon: Software presentation Code structure outline Hands on experience
3
Shape Optimization for photonic devices
Problem statement: Given FOM(E,H), find eps(x) such that FOM is maximum and eps(x) respects some constraints. ?
4
Typical figures of merit and constraints
- Transmission - Mode matching - Absorption - Field intensity - Scattering cross section Constraints - Materials available - Minimum dimensions - Radius of curvature - Periodicity
5
Typical figures of merit
Transmission Mode-Match Field intensity Absorption
6
Typical constraints Radius of curvature Minimum dimension Periodicity
Materials Periodicity
7
Parameterization: describing shapes
Index maps Level sets ? Splines Custom parameters
8
Optimizations: Heuristic methods
Genetic algorithms Particle swarm optimization Ant colony Parameter sweeps
9
Opsis optimization: particle swarm
1500 2D simulations: dB insertion loss
10
The problem: Simulations required: ~C^(variables) !!!
11
The solution: deterministic optimization
Gradient descent
12
Calculating the gradient
With this information we can calculate the gradient for any parameterisation
13
But how do we calculate the gradient?
But how do we calculate that?
14
Our Approach
15
Duality in Linear Algebra
Problem: Compute gTb such that Ab=c gT B A B c such that = B is unknown must solve for B first
16
Duality in Linear Algebra
Problem: Compute gTb such that Ab=c gT B A B c such that = Substitution of Variables: I could solve this dual problem instead sT c AT s g such that = sTc = sTAB = (ATs)TB = gTB
17
Iterative Gradient Descent
18
Iterative Gradient Descent
19
Adjoint Method for Electromagnetics
Goal = Efficiently solve for the gradient of Merit(E,H)
20
Optimization Problem light input
21
… Where should I add material? light input light input light input
Need to know dF/dx’ for all x’
22
Perturbation = small sphere of material
What happens when I add material? Original Perturbation = small sphere of material Eperturbed E0 ε1 ε1 ε2 P
23
How can I approximate this perturbation?
Eperturbed E0 Escattered ≈ +
24
Gradient light input
25
Island Perturbation Approximation
26
Boundary Perturbation Approximation
27
Key Trick 1: (approximate every perturbation as a dipole scatterer)
… + … +
28
Reciprocity (Rayleigh-Carson)
Drive a dipole at x’ Find E at x0 Drive a dipole at x0 Find E at x’ equivalent
29
Reciprocity (Lorentz)
More generally: equivalent J2 E2 J1 E1 J1 E2 = J2 E1
30
Reciprocity (Lorentz)
Problem: Solve for E1 and E2 Dual Problem: Solve for E3 J1(x’) E1 J3 E3(x’) E3(x’’) equivalent J1 E3 = J3 E1 J2(x’’) E2 J2 E3 = J3 E2
31
Gradient light input Treat electric field at x0 as a current:
32
Key Trick 2: (Lorentz reciprocity)
… + +
33
+ What does this achieve? 2 Simulations
Gradient of Merit Function with respect to changes in geometry and/or permittivity is calculated everywhere in the simulation volume Did not have to vary any geometric parameters Optimization Process Every iteration = Calculate the gradient and step closer to a local optimum
35
Step by step example: direct simulation
Phase extracted=-137°
36
Adjoint simulation Phase of dipole:137°
37
The derivative field! Add some material here!
Red = adding material will improve Merit Function
38
New geometry Inclusion of index=2
39
Constructive interference!
Result Constructive interference! Incident field Scattered field E2 Iteration
40
Repeat!
41
Software Implementation
42
Code Structure Optimizer Maxwell Solver Geometry Merit Function
Gradient Lumerical FDTD FreeForm FieldEnergy Supports HPC cluster with MPI LevelSet Transmission ModeMatch
43
Optimization Region Merit Function = ModeMatch abs(Ez) Geometry (eps = Ta2O5, epsOut = SiO2) (minimum dimension = 300nm) (radius of curvature = 150nm) Source (frequency = 830nm)
44
How to run an optimization:
1. Create a setup file setup.m %% Lumerical Simulation %% Frequency %% Optimization Region %% Geometry Properties %% Merit Function 2. Create a Lumerical base file baseFile.fsp Source Optimization Region Initial Geometry Field and Index monitors Merit Function monitors 3. Run runOpt in Matlab runOpt.m
45
FreeForm/LevelSet Geometries Binary 2D Geometry:
1 = eps, 0 = epsOut Constant thickness Materials: eps/epsOut = ‘material name’ or custom permittivity Optional Geometric constraints: minimum dimension, radius of curvature, minimum padding, symmetries Optional Optimization constraints: boundary changes only, allow new shapes to emerge Optional Non-Designable Region: 1 = Designable, 0 = Non-Designable
46
Merit Functions Transmission through a plane Field Energy in a volume
E intensity H intensity absorption Mode Match at a plane E mode H mode ExH Propagating Mode
47
Complex Merit Function
(j,k,l) = user defined (1), frequency (2), monitor (3) f = (transmission, field energy, mode match) Example: Waveguide Spectral Splitter: maximize the minimum transmission through branch 1 at frequency 1, branch 2 at frequency 2, etc. for N branches
48
Custom Geometry Type
49
Install the software: 1. Download all Inverse Design files 2.
Install Lumerical 3. Edit runOpt_params.m
50
Example Waveguide Couplers for Silicon Photonics
51
Level set geometry class
Inside phi<0 Outside phi>0
52
Example
53
Our implementation First order accurate
Can enforce radius of curvature constraints Can anchor points of the initial geometry Works great for Silicon photonics! Does not use the boundary derivative D/E calculation Doesn’t (yet) support new shapes Can be computationally demanding if many mesh points (but is ok for most problems)
54
Examples: 50%/50% splitter
Figure of merit: Mode-matching to the TE mode of two waveguides Optimized using level set geometry representation and an effective index method
55
Example 1: 50%/50% splitter
57
Optimization video
58
Example Optical Antenna for Heat-Assisted Magnetic Recording
59
Optical Antenna Example 1
TE mode Optimization Region = Planar Gold Film Arm = 650 x 150 nm2 Peg = 50 x 50 nm2 Thickness = 40 nm Media Coupling = Absorption in Storage Layer (FWHM) Power injected into Waveguide Media Stack 10nm thick Storage Layer (FePt)
60
Media Coupling Efficiency (%)
Optical Antenna Example 1 TE mode Antenna Geometry Media Coupling Efficiency (%)
61
Optical Antenna Example 1
storage layer cross-section 800 nm Media Coupling 2% Wasted Antenna Absorption 26% Media Coupling 7% Wasted Antenna Absorption 27% storage layer cross-section 800 nm
62
Optical Antenna Example 2
TM mode Optimization Region = Planar Gold Film Arm = 650 x 150 nm2 Peg = 50 x 50 nm2 Thickness = 40 nm Media Coupling = Absorption in Storage Layer (FWHM) Power injected into Waveguide Media Stack 10nm thick Storage Layer (FePt)
63
Optical Antenna Example 2
TM mode Antenna Geometry
64
Optical Antenna Example 2
media cross-section 800 nm Media Coupling 4% Wasted Antenna Absorption 31% Media Coupling 10% Wasted Antenna Absorption 32% media cross-section 800 nm
65
Optical Antenna Example 3
TM mode Merit Function = Absorption in Storage Layer (FWHM) Absorption in Antenna Peg
66
Example Custom Wrapper for Silicon Photonics
67
Easy Silicon Photonics Optimization
Extremely easy setup of an optimization Only figure of merit possible: Mode-matching Just one Lumerical file to set up and matlab file to modify Covers many Silicon Photonics applications
68
Easy Silicon Photonics Optimization
-Create a simulation file as if you were just going to test your own design -Name your source “Source” -Name your mode matching monitor “merit1” -Add a monitor around the region to optimize named “Velocity” -Use sources to create the mode you would like to couple into and call them mode1, mode2, etc…
69
Matlab setup file “setup_EZSiPh_params”
Then type runOpt in matlab and enjoy!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.