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 ID: 535708
Download Presentation The PPT/PDF document "Inverse design for" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Inverse design fornano-photonics
Yablonovitch Group, UC Berkeley
June
4
th
2013Slide2
Seminar outlineThis 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 Slide3
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.
?Slide4
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 Slide5
Typical figures of merit
Transmission
Mode-Match
Field intensity
AbsorptionSlide6
Typical constraints
Radius of curvature
Minimum dimension
Materials
PeriodicitySlide7
Parameterization: describing shapes
Index maps
Level sets
Splines
?
Custom parametersSlide8
Optimizations: Heuristic methods
Genetic algorithms
Particle swarm optimization
Ant colony
Parameter sweepsSlide9
Opsis optimization: particle swarm
1500 2D simulations: -0.28 dB insertion lossSlide10
The problem:Simulations required: ~C^(variables) !!!Slide11
The solution: deterministic optimization
Gradient descentSlide12
Calculating the gradient
With this information we can calculate the gradient for any parameterisationSlide13
But how do we calculate the gradient?
But how do we calculate that? Slide14
Our ApproachSlide15
Duality in Linear Algebra
g
T
=
B
B
c
Asuch thatB is unknownProblem:Compute gTb such that Ab=cmust solve for B firstSlide16
Duality in Linear Algebra
g
T
=
B
B
c
AsT=sgATcsuch thatsuch thatsTc = sTAB = (ATs)TB = gTBProblem:Compute gTb such that Ab=cSubstitution of Variables:I could solve this dual problem insteadSlide17
Iterative Gradient DescentSlide18
Iterative Gradient DescentSlide19
Adjoint Method for Electromagnetics
Goal = Efficiently solve for the gradient of Merit(E,H)Slide20
light input
Optimization ProblemSlide21
light input
light input
light input
…
Where should I add material?
Need to know
dF
/dx’ for all x’Slide22
What happens when I add material?
E
0
Original
Perturbation = small sphere of material
ε
1
P
ε
2
Eperturbed
ε
1Slide23
How can I approximate this perturbation?
E
0
E
scattered
E
perturbed
+
≈Slide24
Gradient
light inputSlide25
Island Perturbation ApproximationSlide26
Boundary Perturbation ApproximationSlide27
Key Trick 1:
(approximate every perturbation as a dipole scatterer
)
…
…
+
+Slide28
Drive a dipole at x’Find E at x
0
Drive a dipole at x
0
Find E at x’
e
quivalent
Reciprocity
(Rayleigh-Carson)Slide29
e
quivalent
Reciprocity
(Lorentz)
J
1
E2 = J2 E1J1E1J2E2More generally:Slide30
e
quivalent
J
1
E
3 = J3 E1J1(x’)E1J2(x’’)E2
Problem: Solve for E1
and E2
Dual Problem: Solve for E3
J
3E3(x’)
E3(x’’)
J
2
E
3
=
J
3
E
2
Reciprocity
(Lorentz)Slide31
Gradient
light input
Treat
e
lectric field at x
0
as a current:Slide32
Key Trick 2:
(Lorentz reciprocity)
+
…
+Slide33
+
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?Slide34Slide35
Step by step example: direct simulation
Phase extracted=-137°Slide36
Adjoint simulation
Phase of dipole:137°Slide37
The derivative field!
Add some material here!
Red = adding material will improve Merit FunctionSlide38
New geometry
Inclusion of index=2Slide39
Result
Constructive interference
!
E
2
Iteration
Incident field
Scattered fieldSlide40
Repeat!Slide41
Software ImplementationSlide42
Code Structure
Optimizer
Gradient
Geometry
Merit Function
FreeForm
LevelSet
FieldEnergyTransmissionModeMatchLumerical FDTDMaxwell SolverSupports HPC clusterwith MPISlide43
Merit Function =
ModeMatch
Optimization Region
Geometry
(
eps
= Ta
2O5, epsOut = SiO2)(minimum dimension = 300nm)(radius of curvature = 150nm)Source(frequency = 830nm)abs(Ez)Slide44
How to run an optimization:
s
etup.m
baseFile.fsp
runOpt.m
Create a setup file
Run runOpt in MatlabCreate a Lumerical base file1.2.3.%% Lumerical Simulation%% Frequency%% Optimization Region%% Geometry Properties%% Merit FunctionSourceOptimization RegionInitial GeometryField and Index monitorsMerit Function monitorsSlide45
FreeForm/
LevelSet Geometries
Binary 2D Geometry:
1 =
eps
, 0 =
epsOut
Constant thicknessMaterials:eps/epsOut = ‘material name’ or custom permittivityOptional Geometric constraints:minimum dimension, radius of curvature, minimum padding, symmetriesOptional Optimization constraints:boundary changes only, allow new shapes to emergeOptional Non-Designable Region:1 = Designable, 0 = Non-DesignableSlide46
Merit Functions
Transmission
through a plane
Field Energy
in a volume
Mode Match
at a plane
E intensityH intensityabsorptionE modeH modeExH Propagating ModetransmissionSlide47
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 transmissionthrough branch 1 at frequency 1, branch 2 at frequency 2, etc. for N branchesSlide48
Custom Geometry TypeSlide49
Install the software:
Download all
Inverse Design
files
Edit
runOpt_params.m
1.
3.Install Lumerical2.Slide50
ExampleWaveguide Couplers for Silicon PhotonicsSlide51
Level set geometry class
Inside phi<0
Outside phi>0 Slide52
ExampleSlide53
Our implementationFirst order accurate
Can enforce radius of curvature constraintsCan anchor points of the initial geometryWorks 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)Slide54
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 methodSlide55
Example 1: 50%/50% splitterSlide56Slide57
Optimization videoSlide58
ExampleOptical Antenna for Heat-Assisted Magnetic RecordingSlide59
TE mode
Optical Antenna Example 1
Media 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 nmSlide60
Antenna Geometry
Media Coupling Efficiency (%)
Optical Antenna Example 1
TE modeSlide61
storage layer
cross-section
8
00 nm
s
torage layer
cross-section
800 nmMedia Coupling2%Wasted Antenna Absorption26%Media Coupling7%Wasted Antenna Absorption27%Optical Antenna Example 1Slide62
TM mode
Optical Antenna Example 2
10nm thick Storage Layer (
FePt
)
Media Stack
Optimization Region = Planar Gold Film
Arm = 650 x 150 nm2Peg = 50 x 50 nm2Thickness = 40 nmMedia Coupling =Absorption in Storage Layer (FWHM)Power injected into WaveguideSlide63
TM mode
Optical Antenna Example 2
Antenna GeometrySlide64
media
cross-section
8
00 nm
media
cross-section
8
00 nmMedia Coupling4%Wasted Antenna Absorption31%Media Coupling10%WastedAntenna Absorption32%Optical Antenna Example 2Slide65
TM mode
Optical Antenna Example 3
Merit Function =
Absorption in Storage Layer (FWHM)
Absorption in Antenna PegSlide66
ExampleCustom Wrapper for Silicon PhotonicsSlide67
Easy Silicon Photonics OptimizationExtremely easy setup of an optimizationOnly figure of merit possible: Mode-matching
Just one Lumerical file to set up and matlab file to modify
Covers many Silicon Photonics applicationsSlide68
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…Slide69
Matlab setup file “setup_EZSiPh_params”
Then type
runOpt
in
matlab
and enjoy!