Inverse design for nano -photonics
description
Transcript of Inverse design for nano -photonics
Inverse design for nano-photonics
Inverse design fornano-photonicsYablonovitch Group, UC BerkeleyJune 4th 2013Seminar outlineThis morning: TheoryGeneral presentation on inverse design Our approach: the adjoint method Step by step example This afternoon:Software presentation Code structure outline Hands on experienceShape Optimization for photonic devicesProblem statement:
Given FOM(E,H), find eps(x) such that FOM is maximum and eps(x) respects some constraints.?Typical figures of merit and constraintsFigures of Merit- Transmission- Mode matching- Absorption- Field intensity- Scattering cross section Constraints- Materials available- Minimum dimensions- Radius of curvature- Periodicity Typical figures of merit
Transmission
Mode-Match
Field intensity
AbsorptionTypical constraints
Radius of curvature
Minimum dimension
Materials
Periodicity
Parameterization: describing shapes
Index maps
Level sets
Splines?Custom parametersOptimizations: Heuristic methodsGenetic algorithms
Particle swarm optimization
Ant colony
Parameter sweeps
Opsis optimization: particle swarm
1500 2D simulations: -0.28 dB insertion lossThe problem:Simulations required: ~C^(variables) !!!
The solution: deterministic optimization
Gradient descentCalculating the gradient
With this information we can calculate the gradient for any parameterisationBut how do we calculate the gradient?But how do we calculate that?
Our ApproachDuality in Linear AlgebragT=BBcAsuch thatB is unknownProblem:Compute gTb such that Ab=cmust solve for B firstDuality in Linear AlgebragT=BBcAsT=sgATcsuch thatsuch thatsTc = sTAB = (ATs)TB = gTBProblem:Compute gTb such that Ab=cSubstitution of Variables:I could solve this dual problem instead
Iterative Gradient Descent
Iterative Gradient DescentAdjoint Method for Electromagnetics
Goal = Efficiently solve for the gradient of Merit(E,H)light input
Optimization Problem
light input
light input
light input
Where should I add material?Need to know dF/dx for all xWhat happens when I add material?E0OriginalPerturbation = small sphere of material1P2Eperturbed1How can I approximate this perturbation?E0EscatteredEperturbed+Gradientlight input
Island Perturbation Approximation
Boundary Perturbation ApproximationKey Trick 1: (approximate every perturbation as a dipole scatterer)
+
+
27Drive a dipole at xFind E at x0Drive a dipole at x0Find E at xequivalent
Reciprocity (Rayleigh-Carson)equivalentReciprocity (Lorentz)J1 E2 = J2 E1J1E1J2E2More generally:equivalentJ1 E3 = J3 E1J1(x)E1J2(x)E2Problem: Solve for E1 and E2Dual Problem: Solve for E3J3E3(x)E3(x)J2 E3 = J3 E2Reciprocity (Lorentz)Gradientlight input
Treat electric field at x0 as a current:
Key Trick 2: (Lorentz reciprocity)
+
+
32
+
2 SimulationsGradient of Merit Function with respect to changes in geometry and/or permittivity is calculated everywhere in the simulation volumeDid not have to vary any geometric parameters
Optimization ProcessEvery iteration = Calculate the gradient and step closer to a local optimumWhat does this achieve?33
Step by step example: direct simulation
Phase extracted=-137Adjoint simulation
Phase of dipole:137The derivative field!
Add some material here!Red = adding material will improve Merit FunctionNew geometry
Inclusion of index=2
Result
Constructive interference!E2IterationIncident fieldScattered fieldRepeat!
Software ImplementationCode StructureOptimizerGradientGeometryMerit FunctionFreeFormLevelSetFieldEnergyTransmissionModeMatch
Lumerical FDTD
Maxwell SolverSupports HPC clusterwith MPI
Merit Function = ModeMatchOptimization RegionGeometry(eps = Ta2O5, epsOut = SiO2)(minimum dimension = 300nm)(radius of curvature = 150nm)Source(frequency = 830nm)abs(Ez)How to run an optimization:setup.m baseFile.fsp
runOpt.mCreate a setup fileRun runOpt in MatlabCreate a Lumerical base file1.2.3.%% Lumerical Simulation%% Frequency%% Optimization Region%% Geometry Properties%% Merit FunctionSourceOptimization RegionInitial GeometryField and Index monitorsMerit Function monitorsFreeForm/LevelSet Geometries
Binary 2D Geometry:1 = eps, 0 = epsOutConstant 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-DesignableMerit FunctionsTransmission through a planeField Energy in a volumeMode Match at a plane
E intensityH intensityabsorptionE modeH modeExH Propagating Mode
transmissionComplex 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 transmissionthrough branch 1 at frequency 1, branch 2 at frequency 2, etc. for N branches
Custom Geometry Type
Install the software:Download all Inverse Design filesEdit runOpt_params.m1.3.
Install Lumerical2.ExampleWaveguide Couplers for Silicon PhotonicsLevel set geometry class
Inside phi0
Example
Our implementationFirst order accurateCan enforce radius of curvature constraintsCan anchor points of the initial geometryWorks great for Silicon photonics!
Does not use the boundary derivative D/E calculation
Doesnt (yet) support new shapesCan be computationally demanding if many mesh points (but is ok for most problems)Examples: 50%/50% splitter
Figure of merit:
Mode-matching to the TE mode of two waveguidesOptimized using level set geometry representation and an effective index methodExample 1: 50%/50% splitter
Optimization video
ExampleOptical Antenna for Heat-Assisted Magnetic RecordingTE mode
Optical Antenna Example 1Media Coupling =Absorption in Storage Layer (FWHM)Power injected into Waveguide
10nm thick Storage Layer (FePt)Media StackOptimization Region = Planar Gold FilmArm = 650 x 150 nm2Peg = 50 x 50 nm2Thickness = 40 nm
Antenna GeometryMedia Coupling Efficiency (%)Optical Antenna Example 1TE mode
storage layercross-section800 nm
storage layercross-section800 nmMedia Coupling2%
Wasted Antenna Absorption26%Media Coupling7%
Wasted Antenna Absorption27%Optical Antenna Example 1TM mode
Optical Antenna Example 2
10nm thick Storage Layer (FePt)Media StackOptimization Region = Planar Gold FilmArm = 650 x 150 nm2Peg = 50 x 50 nm2Thickness = 40 nmMedia Coupling =Absorption in Storage Layer (FWHM)Power injected into Waveguide62TM mode
Optical Antenna Example 2
Antenna Geometry63
mediacross-section800 nm
mediacross-section800 nmMedia Coupling4%
Wasted Antenna Absorption31%Media Coupling10%
WastedAntenna Absorption32%
Optical Antenna Example 2TM mode
Optical Antenna Example 3Merit Function =Absorption in Storage Layer (FWHM)Absorption in Antenna Peg
65ExampleCustom Wrapper for Silicon PhotonicsEasy Silicon Photonics OptimizationExtremely 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 applicationsEasy 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
Matlab setup file setup_EZSiPh_params
Then type runOpt in matlab and enjoy!