INVERSE DESIGN FOR NANO-PHOTONICS Yablonovitch Group, UC Berkeley June 4 th 2013.
69
INVERSE DESIGN FOR NANO-PHOTONICS Yablonovitch Group, UC Berkeley June 4 th 2013
-
Upload
quentin-spencer -
Category
Documents
-
view
222 -
download
2
Transcript of INVERSE DESIGN FOR NANO-PHOTONICS Yablonovitch Group, UC Berkeley June 4 th 2013.
- Slide 1
- INVERSE DESIGN FOR NANO-PHOTONICS Yablonovitch Group, UC Berkeley June 4 th 2013
- Slide 2
- Seminar outline This morning: Theory General presentation on inverse design Our approach: the adjoint method Step by step example This afternoon: Software presentation Code structure outline Hands on experience
- Slide 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. ?
- Slide 4
- Typical figures of merit and constraints Figures of Merit - Transmission - Mode matching - Absorption - Field intensity - Scattering cross section Constraints - Materials available - Minimum dimensions - Radius of curvature - Periodicity
- Slide 5
- Typical figures of merit Transmission Mode-Match Field intensity Absorption
- Slide 6
- Typical constraints Radius of curvature Minimum dimension Materials Periodicity
- Slide 7
- Parameterization: describing shapes Index mapsLevel sets Splines ? Custom parameters
- Slide 8
- Optimizations: Heuristic methods Genetic algorithms Particle swarm optimization Ant colony Parameter sweeps
- Slide 9
- Opsis optimization: particle swarm 1500 2D simulations: -0.28 dB insertion loss
- Slide 10
- The problem: Simulations required: ~C^(variables) !!!
- Slide 11
- The solution: deterministic optimization Gradient descent
- Slide 12
- Calculating the gradient With this information we can calculate the gradient for any parameterisation
- Slide 13
- But how do we calculate the gradient? But how do we calculate that?
- Slide 14
- Our Approach
- Slide 15
- Duality in Linear Algebra gTgT gTgT = B B B B c c A A such that B is unknown Problem: Compute g T b such that Ab=c must solve for B first
- Slide 16
- Duality in Linear Algebra gTgT gTgT = B B B B c c A A sTsT sTsT = s s g g ATAT ATAT c c such that s T c = s T AB = (A T s) T B = g T B Problem: Compute g T b such that Ab=c Substitution of Variables: I could solve this dual problem instead
- Slide 17
- Iterative Gradient Descent
- Slide 18
- Slide 19
- Adjoint Method for Electromagnetics Goal = Efficiently solve for the gradient of Merit(E,H)
- Slide 20
- light input Optimization Problem
- Slide 21
- light input Where should I add material? Need to know dF/dx for all x
- Slide 22
- What happens when I add material? E0E0 Original Perturbation = small sphere of material 11 P 22 E perturbed 11
- Slide 23
- How can I approximate this perturbation? E0E0 E scattered E perturbed +
- Slide 24
- Gradient light input
- Slide 25
- Island Perturbation Approximation
- Slide 26
- Boundary Perturbation Approximation
- Slide 27
- Key Trick 1: (approximate every perturbation as a dipole scatterer) + +
- Slide 28
- Drive a dipole at x Find E at x 0 Drive a dipole at x 0 Find E at x equivalent Reciprocity (Rayleigh-Carson)
- Slide 29
- equivalent Reciprocity (Lorentz) J 1 E 2 = J 2 E 1 J1J1 E1E1 J2J2 E2E2 More generally:
- Slide 30
- equivalent J 1 E 3 = J 3 E 1 J 1 (x) E1E1 J 2 (x) E2E2 Problem: Solve for E 1 and E 2 Dual Problem: Solve for E 3 J3J3 E 3 (x) E 3 (x) J 2 E 3 = J 3 E 2 Reciprocity (Lorentz)
- Slide 31
- Gradient light input Treat electric field at x 0 as a current:
- Slide 32
- Key Trick 2: (Lorentz reciprocity) + +
- Slide 33
- + 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 What does this achieve?
- Slide 34
- Slide 35
- Step by step example: direct simulation Phase extracted=-137
- Slide 36
- Adjoint simulation Phase of dipole:13 7
- Slide 37
- The derivative field! Add some material here! Red = adding material will improve Merit Function
- Slide 38
- New geometry Inclusion of index=2
- Slide 39
- Result Constructive interference! E2E2 Iteration Incident field Scattered field
- Slide 40
- Repeat!
- Slide 41
- Software Implementation
- Slide 42
- Code Structure Optimizer GradientGeometryMerit Function FreeForm LevelSet FieldEnergy Transmission ModeMatch Lumerical FDTD Maxwell Solver Supports HPC cluster with MPI
- Slide 43
- Merit Function = ModeMatch Optimization Region Geometry (eps = Ta 2 O 5, epsOut = SiO 2 ) (minimum dimension = 300nm) (radius of curvature = 150nm) Source (frequency = 830nm) abs(E z )
- Slide 44
- How to run an optimization: setup.m baseFile.fsp runOpt.m Create a setup file Run runOpt in Matlab Create a Lumerical base file 1. 2. 3. % Lumerical Simulation % Frequency % Optimization Region % Geometry Properties % Merit Function Source Optimization Region Initial Geometry Field and Index monitors Merit Function monitors
- Slide 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
- Slide 46
- Merit Functions Transmission through a plane Field Energy in a volume Mode Match at a plane E intensity H intensity absorption E mode H mode ExH Propagating Mode transmission
- Slide 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
- Slide 48
- Custom Geometry Type
- Slide 49
- Install the software: Download all Inverse Design files Edit runOpt_params.m 1. 3. Install Lumerical 2.
- Slide 50
- Example Waveguide Couplers for Silicon Photonics
- Slide 51
- Level set geometry class Inside phi0
- Slide 52
- Example
- Slide 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 Doesnt (yet) support new shapes Can be computationally demanding if many mesh points (but is ok for most problems)
- Slide 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
- Slide 55
- Example 1: 50%/50% splitter
- Slide 56
- Slide 57
- Optimization video
- Slide 58
- Example Optical Antenna for Heat-Assisted Magnetic Recording
- Slide 59
- TE mode Optical Antenna Example 1 Media Coupling = Absorption in Storage Layer (FWHM) Power injected into Waveguide 10nm thick Storage Layer (FePt) Media Stack Optimization Region = Planar Gold Film Arm = 650 x 150 nm 2 Peg = 50 x 50 nm 2 Thickness = 40 nm
- Slide 60
- Antenna Geometry Media Coupling Efficiency (%) Optical Antenna Example 1 TE mode
- Slide 61
- storage layer cross-section 800 nm storage layer cross-section 800 nm Media Coupling 2% Wasted Antenna Absorption 26% Media Coupling 7% Wasted Antenna Absorption 27% Optical Antenna Example 1
- Slide 62
- TM mode Optical Antenna Example 2 10nm thick Storage Layer (FePt) Media Stack Optimization Region = Planar Gold Film Arm = 650 x 150 nm 2 Peg = 50 x 50 nm 2 Thickness = 40 nm Media Coupling = Absorption in Storage Layer (FWHM) Power injected into Waveguide
- Slide 63
- TM mode Optical Antenna Example 2 Antenna Geometry
- Slide 64
- media cross-section 800 nm media cross-section 800 nm Media Coupling 4% Wasted Antenna Absorption 31% Media Coupling 10% Wasted Antenna Absorption 32% Optical Antenna Example 2
- Slide 65
- TM mode Optical Antenna Example 3 Merit Function = Absorption in Storage Layer (FWHM) Absorption in Antenna Peg
- Slide 66
- Example Custom Wrapper for Silicon Photonics
- Slide 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
- Slide 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
- Slide 69
- Matlab setup file setup_EZSiPh_params Then type runOpt in matlab and enjoy!