inverse design for nano -photonics

69
INVERSE DESIGN FOR NANO-PHOTONICS Yablonovitch Group, UC Berkeley June 4 th 2013

Upload: lot

Post on 24-Feb-2016

144 views

Category:

Documents


11 download

DESCRIPTION

Inverse design for nano -photonics. Yablonovitch Group, UC Berkeley. June 4 th 2013. Seminar outline. This morning: Theory General presentation on inverse design Our approach: the adjoint method Step by step example This afternoon: Software presentation - PowerPoint PPT Presentation

TRANSCRIPT

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!