Presentation is loading. Please wait.

Presentation is loading. Please wait.

Inverse design for nano-photonics

Similar presentations


Presentation on theme: "Inverse design for nano-photonics"— Presentation transcript:

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

34

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

56

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!


Download ppt "Inverse design for nano-photonics"

Similar presentations


Ads by Google