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

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!