beam propagation method for waveguide device …chrisadas.com/files/pdfslide-example.pdf3/29 beam...
TRANSCRIPT
1/29
�
�
�
�
�
�
Beam propagation methodfor waveguide device simulation
Chrisada SookdhisPhotonics Research Centre, Nanyang Technological University
This is for III-V Group Internal Tutorial
2/29
�
�
�
�
�
�
Overview• EM theory, scalar and vectorial wave equation
• Finite-difference BPM
• Optiwave BPM
• Examples
3/29
�
�
�
�
�
�
Beam propagation method (BPM)Beam propagation method is a mathematical procedure used to
study the evolution of electromagnetic fields in arbitrary inhomoge-nious medium. BPM yields the response of a given device to an exter-nal optical sigal, similar to in an experiment.
Applications
• Devices that defy eigenmode study, e.g. tapers
• Avoids difficult approximations
• Cases where radiation is important.
• Behaviours of special devices.
4/29
�
�
�
�
�
�
Starting from Maxwell’s Equations (CGS units)
∇× E = −1
c
∂H
∂t− 4π
c
∂M
∂t
∇× H =1
c
∂E
∂t+
4π
c
∂P
∂t+
4π
cJ
∇ · E = −4π∇ · P + 4πρ
∇ ·H = −4π∇ ·M
(1)
Assumptions: Non-magnetic materials M = 0, no charge ρ = 0, zerocurrent J = 0, linear isotropic media P = χeE, eiωt time dependence.
∇× E = −ik0H
∇× H = ik0εE
∇ · εE = 0
∇ ·H = 0,
(2)
where ε = 1 + 4πχe = n2
5/29
�
�
�
�
�
�
From (2), we can eliminate the electric or magnetic field to arrive atthe Helmholtz equations
∇× (∇× E) = k20εE (3)
∇× 1
ε(∇× H) = k2
0H (4)
E = Et + Ezz , H = Ht + Hzz
and
∇ = ∇t +∂
∂z
6/29
�
�
�
�
�
�
E formulationEquation (3) can be written as
∇2E + k20εE = ∇(∇ · E)
z-invariant media∂ε
∂zEz ≈ 0
∇2Et + εk20Et = −∇t (∇t ln ε · Et) (5)
or in terms of x and y components:
∇2Ex + εk20Ex = − ∂
∂x
(∂ ln ε
∂xEx
)− ∂
∂x
(∂ ln ε
∂yEy
)∇2Ey + εk2
0Ey = − ∂
∂y
(∂ ln ε
∂xEx
)− ∂
∂y
(∂ ln ε
∂yEy
)
7/29
�
�
�
�
�
�
Slowly varying envelope approximation
Et = Ete−in0k0z,
∣∣∣∣∂2Et
∂z2
∣∣∣∣ � 2n0k0
∣∣∣∣∂Et
∂z
∣∣∣∣With above approximations, the electric field’s evolution is given by
Vectorial BPM
i∂
∂z
(Ex
Ey
)=
(Axx Axy
Ayx Ayy
) (Ex
Ey
)(6)
where (for illustration)
AxyEy =1
2n0k0
(∂
∂x
[1
ε
∂(εEy)
∂y
]−
∂2Ey
∂x∂y
)Axx = · · · , Ayy = · · · , Ayx = · · ·
8/29
�
�
�
�
�
�
Semi-vector BPM
i∂Ex
∂z= AxxEx
i∂Ey
∂z= AyyEy
(7)
This taks into account the polarization (Axx 6= Ayy), but neglects thecoupling between Ex and Ey (Axy = Ayx = 0).
When variation of refractive index is small in transverse dimen-sion, polarization dependency and coupling are weak and may beneglected.
It is safe to treat the two polarizations as decoupled, as long as theyare not synchronized with some mechanism within the device.
9/29
�
�
�
�
�
�
Scalar BPM
i∂E
∂z= AscalarE (8)
where
Ascalar =1
2n0k0
(∂2
∂x2+
∂2
∂y2+ (ε− n2
0)k20
)(8) governs the conventional scalar beam propagation method. This isuseful where device is weakly-guiding and/or polarization dependencecan be neglected.
10/29
�
�
�
�
�
�
Finite-difference schemeIn beam propagation
zz+∆z
we apply the propagator U to calculate
Et(z + ∆z) = U(∆z)Et
Propagator U can take many forms, depending on the chosen BPMtechnique, e.g.
11/29
�
�
�
�
�
�
• Paraxial/Wide angle
• Vectorial/Scalar BPM
• Boundary conditions
Discretization
n n+1n-1
n n+1n-1
m+1m
m-1
x
y
2D FD-BPM
3D FD-BPM
12/29
�
�
�
�
�
�
Finite-difference BPM
n n+1n-1
m+1m
m-1
x
y
n n+1n-1
m+1m
m-1
x
yz
z+∆z
Discretize the device volume and re-place differentiations in BPM propagator with difference operator.
∆x = xm+1 − xm∂fm
∂x=
fm+1 − fm−1
2∆x
fm(x) = f (xm)∂2fm
∂x2=
fm+1 − 2fm + fm−1
∆x2
13/29
�
�
�
�
�
�
For example
AxyEy =1
2n0k0
(∂
∂x
[1
ε
∂(εEy)
∂y
]−
∂2Ey
∂x∂y
)becomes
AxyEy =1
8n0k0∆x∆y
([ε(m + 1, n + 1, l)
ε(m + 1, n, l)− 1
]· Ey(m + 1, n + 1)
−[ε(m + 1, n− 1, l)
ε(m + 1, n, l)− 1
]· Ey(m + 1, n− 1)
−[ε(m− 1, n + 1, l)
ε(m− 1, n, l)− 1
]· Ey(m− 1, n + 1)
−[ε(m− 1, n− 1, l)
ε(m− 1, n, l)− 1
]· Ey(m + 1, n− 1)
)All are known quantities. ε is from device definition, while Ey is from
the last calculation step.
14/29
�
�
�
�
�
�
So we replace
i∂
∂z
(Ex
Ey
)=
(Axx Axy
Ayx Ayy
) (Ex
Ey
)with
Et(z + ∆z) = UFD-BPM(∆z)Et (9)
This has been a simplest discussion, the method entails much morefiner points and best left to experts—or commercial software develop-ers.
Things we have not consider:
• Iterative algorithms for solving the coupled equations
• Speed
• Boundary conditions
• Stability
15/29
�
�
�
�
�
�
Optiwave OptiBPMDevice definition
16/29
�
�
�
�
�
�
Profile definition
This is a new implementation from version 5 of OptiBPM. The ma-terial and profile library can be called from many layout files.
17/29
�
�
�
�
�
�
18/29
�
�
�
�
�
�
2D vs. 3D FD-BPM
Comparing the time complexity O of 2D- and 3D-BPM,
O3D
O2D≥ nx (10)
It is recommended to use 2D algorithm whenever possible.So when is it possible?
• Device is actually 2D. (slab waveguides)
• Using Effective index method (EIM) for
– Weakly guiding structures with low level of radiation– Full-vectorial BPM is not required
ε(x,y)
ε(y)
19/29
�
�
�
�
�
�
After calculation, the electric field distribuion within the device is dis-played. We can choose to open the Analyzer module for data analysis.
20/29
�
�
�
�
�
�
Examples of data presentation
21/29
�
�
�
�
�
�
22/29
�
�
�
�
�
�
Waveguide mode calculation
3 micron
3 micron
Waveguide modes are solved using Alternate Direct Implicit (ADI)method. Users can specify
• The solver engine (Vectorial, scalar)
• Boundary conditions (Transparent, Neumann)
• Accuracy of the resultant mode field (e.g. to 1E-007)
• whether to start with the fundamental mode or any other mode.
23/29
�
�
�
�
�
�
Waveguide mode summary table
24/29
�
�
�
�
�
�
Star couplers
25/29
�
�
�
�
�
�
26/29
�
�
�
�
�
�
3dB couplers
27/29
�
�
�
�
�
�
Scanning script
Const NumIterations = 7d = 0For x = 1 to NumIterations
ParamMGR.SetParam "offset", CStr(d)ParamMgr.SimulateWGMgr.Sleep(5)d = d - 0.2
NextParamMGR.SetParam "offset", 0
28/29
�
�
�
�
�
�
Scanning script results. Best performance is between iteration 3 and4. So we know the separation should be ≈ 2.5 µm.
29/29
�
�
�
�
�
�
The EndWe have discussed
• What is BPM
• The technical backgrounds behind BPM
• Optiwave BPM and its features
– Device definition– Path monitor and output extractions– Waveguide Mode solver– Parameterization and scripting for optimization of device
Q & A