computational photonics beam propagation method (bpm) · 2019. 6. 7. · –beam propagation method...
TRANSCRIPT
-
Computational Photonics
– Beam Propagation Method (BPM) –
Dr. rer. nat. Thomas Kaiser
-
Introduction
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 2
-
Introduction
• so far: treated rigorous propagation:
– solving Maxwell’s equations directly without
approximations
(however, we were assuming material properties!)
– leapfrog iteration, 1st order PDE FDTD
– covers whole physics, includes all effects
(reflection, refraction, diffraction, field-enhancement,
polarization effects, … )
– but: numerically very expensive number of
treatable problems limited
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 3
-
Introduction
• We need less heavy numerical methods to
increase number of treatable problems
• Therefore, we need to get less rigorous
• We want to look at problems for approximated
cases now
• Which often-used approximations do we know?
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 4
-
Introduction
• no diffraction, interference or other wave
phenomena:
Ray Tracing
• no polarization effects,
paraxial approximation:
BPM
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 5
zeemax.com
-
https://pingo.coactum.de/421066
Which statement about the paraxial approximation is true?
-
The Slowly Varying Envelope Approximation (SVEA)
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 7
-
SVEA
• Recap from FOMO: paraxial approximation
• scalar Helmholtz equation:
• principal solutions without approximations:
– plane waves:
– spherical waves:
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 8
-
SVEA
• approximating the spherical wave by a parabolic wave:
• but what is the corresponding PDE?
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 9
spherical
parabolic
plane
-
SVEA
• starting with Helmholtz equation:
• introducing an ansatz which separates the fast
oscillations in z-direction with an average
• is a number which must be chosen depending on
the problem, e.g. with average refractive index
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 10
-
SVEA
• inserting into Helmholtz equation:
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 11
-
SVEA
• The equation for the envelop A(r) is still exact!
• Now comes the trick:
– we assume solutions where the envelop is just
slowly varying, i.e.
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 12
-
SVEA
• This is the slowly varying envelop approximation
• The implications are profound! The paraxial
Helmholtz equation is a parabolic PDE:
• In contrast to an elliptic PDE (boundary value
problem like mode calculation), the parabolic
Helmholtz equation can be numerically iterated
(initial value problem)
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 13
-
SVEA
• However, switching from an elliptic type of PDE to a parabolic type of PDE has consequences!
• Neglecting the 2nd derivative in z means that we do not have ±kz solutions any more (diffusion type problem)
in BPM, there are no backward waves!(and therefore also no reflections!)
• How can we iteratively solve the paraxial Helmholtz equation?
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 14
-
Discretization Schemes for parabolic PDEs
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 15
-
Finite Difference Schemes
• Let us rearrange the equation (assuming 2D for
simplicity)
• Task: Given A(x) in a plane z=0, calculate A(x,z)
in any other plane!
(initial value
problem)
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 16
z (n)
x (j)
-
Finite Difference Schemes
• paraxial Helmholtz equation in operator notation:
• operator just acts on x-coordinate!
• Let’s discretize it with usual scheme:
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 17
-
Finite Difference Schemes
• The operator L then has a tridiagonal
discretization:
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 18
-
Finite Difference Schemes
• The RHS of the equation is now ready in a
discretized fashion!
• Only remaining question:
How do we discretize the 1st order derivative
on the LHS?
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 19
-
Finite Difference Schemes
• Recap:
possibilities to discretize a 1st order derivative:
– forward differencing:
(1st order accurate)
– backward differencing:
(1st order accurate)
– central differencing:
(2nd order accurate)
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 20
-
BPM - explicit
• 1st choice: forward differencing (FTCS)
• We store the x-dependent field at each z-
position in a vector A
• Wow, it is trivial to iterate this vector explicitly
from step n to step (n+1):
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 21
-
BPM - explicit
• This explicit BPM scheme is very simple and
computationally effective (just multiplications of
sparse matrices)
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 22
• However, the method
is unstable under any
conditions (see next
lecture), errors grow
exponentially while
iterating
worthless!
-
BPM - implicit
• 2nd choice: backward differencing
• Oops, sth. goes wrong. We know and
want to know , not the other way around…
• Solving for requires to solve a linear system
of equations:
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 23
-
BPM - implicit
• This might look cumbersome and stupid, but the
system matrix is just tridiagonal and there are
very efficient numerical methods implemented
for solving such systems!
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 24
• Main argument for
this scheme: it’s
unconditionally
stable!
-
BPM – Crank-Nicolson
• 3rd choice: central differencing
• if things have to be implicit anyways, we could
go the extra mile and head for more accuracy
• central differences are 2nd order accurate!
• the equation is an explicit-implicit mixture:
Crank-Nicolson-Method
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 25
-
BPM – Crank-Nicolson
• Crank-Nicolson is the de-facto standard method
for iterating initial value problems (not just in the
BPM)
• it is unconditionally stable and 2nd order
accurate!
• It gives supreme results over the implicit BPM
scheme and the extra effort is rather minor (one
matrix multiplication)
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 26
-
BPM
• Comparison of the three schemes:
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 27
W.H. Press et al.,
“Numerical Recipes
in C++”, 2nd ed.
Cambridge
University Press
-
Next lecture
• Stability
• Boundaries
• Including polarization (vector BPM)
• Modifications for wide angles
07.06.2019 Computational Photonics SS2019 - Dr. Thomas Kaiser 28