Berreman 4 X 4
Berreman 4 X 4
Olivier Castany(a)
Department of Optics, Telecom Bretagne, 29238 Brest, France
June 16, 2013
Abstract
Electromagnetic plane wave propagation in stratified anisotropic media was described by Berreman with the
use of 44 matrices. Berreman4x4 is a numerical implementation of the method in Python. Examples of
applications are ellipsometry analysis, design of Bragg mirrors or study of twisted liquid crystal structures.
(a)
Description of Berreman4x4
Olivier Castany
Er
Front
half-space
Ei
Ex
Et
Back half-space,
anisotropic
s
Sample
tion point towards the sample in the front and exit half
spaces2 . In our work, we used a different convention, in
which the base electric vectors point towards the x direction in both half-spaces. With this convention, the
base electric vectors for the incident, reflected and transmitted waves are all in the same direction in the case of
reflection with normal incidence.
Gaussian units are used in the detail of the calculation. This makes it easier to compare our results with
past literature, which uses Gaussian units for the most
part. Of course, reflection and transmission coefficients
have no unit and do not depend on the choice of unit.
Conversion between units is presented in the appendix on
electromagnetic units in reference 6. In Gaussian units,
Maxwells equations read
Presentation
E =
1 B
c t
and H =
1 D
.
c t
E
40
and HS.I. =
H
,
40
E = ik0 H
and H = ik0 E,
2 In Fujiwaras book, reference 5, p. 223, the base electric vectors for p polarization point towards the z direction, which leads
to the same definition as Schuberts.
(1)
= ik0 (z)(z), with =
Hx ,
z
Hy
where (z) is a 4 4 matrix. For a general dielectric
tensor, the matrix is 4 (z) =
3,1
3,2
Kx2
Kx
0 1
Kx
3,3
3,3
3,3
0
0
1
0
3,1
2,3
3,2
2,3
2,1 Kx2 2,2 + 2,3
0
Kx
3,3
3,3
3,3
3,1
3,2
1,3
1,1 1,3
1,2 1,3
0 Kx
3,3
3,3
3,3
The reduced wave number Kx = kx /k0 is a constant
throughout the sample and depends only on the angle of
the incident wave.
For a homogeneous slab z1 < z < z2 , the matrix (z)
is constant and equation 1 can be integrated into (z2 ) =
Phs (z2 , z1 ) (z1 ), where the propagator is given by the
matrix exponential
Phs (z2 , z1 ) = exp i (z2 z1 ) k0
The numerical computation of a matrix exponential is
generally slow. Berreman suggested to diagonalize the
matrix by searching the eigenvalues and eigenvectors 3 .
However, the knowledge of the eigenvectors is not necessary and the result can be expressed based on the eigenvalues only4 . I. Abdulhalim et al. used the LagrangeSylvester interpolation polynomial 79 and Whler et al.
used Cayley-Hamiltons theorem 10,11 . Both approaches
lead to the same expression. The eigenvalues can be
calculated numerically as the roots of the characteristic
polynomial. Literal expressions can be found for specific
situations, like for a uniaxial material 10,11 or in the case
of normal incidence 7 . Also, in the case of a diagonal
tensor, a specific solution for Phs is available 8 .
If a part of the sample is inhomogeneous, it is subdivided into slices over which the variation of (z) is small.
For such a slice, the propagator P (z2 , z1 ) is approximated
by a homogeneous slab for which the matrix is evaluated in the middle of the interval,
z1 + z2
P (z2 , z1 ) ' exp i (z2 z1 ) k0
.
2
3 In Berremans article, there is a misprint in equation (3), it
should read C = MG.
4 Knowledge of the eigenvectors is necessary only for the exit
transition matrix if the back half-space is anisotropic.
Transition to half-spaces
Eis
Ets
Ers
0
(0) = Lf
and (zb ) = Lb
Eip
Etp
Erp z=z
0 z=z
f
0
0
cos() cos()
1
1
0
0
L=
n cos() n cos()
0
0
0
0
n
n
+
3
When the back half-space is anisotropic, we can not decompose the transmitted wave on s and p polarizations,
but by analogy, we decompose (zb ) over the eigenvectors k of the b matrix,
(zb ) =
4
X
ck k
k=1
1 1 0 3 1 0
c1
12 0 32 0
0
(zb ) = Lb
c3 with Lb = 13 0 33 0
1 4 0 3 4 0
0
Eis
c1
c1
Ers
0
1
0
Eip = Lf P (zf , zb ) Lb c3 = T c3 .
Erp z
0
0
can be extracted,
T31
c3
c3
= Tit
T11
c1
c1
T41
c3
c3
= Trt
.
T21
c1
c1
When fields are decomposed over the s and p polarizations, the basis for the Jones vectors is (Ep , Es ) with
1
0
Ep =
and Es =
.
0
1
Ellipsometry parameters
eipp
eisp
!
tan(ps ) eips
1
rpp /rss rps /rss
=
.
rsp /rss
1
10
TODO
General:
Structure
+frontHalfSpace
+backHalfSpace
+layers
-__init__(self,front=None,layers=None,back=None)
+setFrontHalfSpace(halfSpace)
+setBackHalfSpace(halfSpace)
+setLayers(layers)
+getPermittivityProfile(lbda)
+getPropagationMatrix(Kx,k0=1e6,inv=False)
+getStructureMatrix(Kx,k0=1e6)
+getJones(Kx,k0=1e6)
+getIndexProfile(lbda=1e-6,v=e_x)
+drawStructure(lbda,margin=0.15)
Material
+getTensor(lbda)
NonDispersiveMaterial
+epsilon
IsotropicMaterial
+getRefractiveIndex(lbda)
-__init__(self,epsilon=None)
+getTensor(lbda=None)
+rotated(R)
UniaxialNonDispersiveMaterial
+n
-__init__(self,no=1.5,ne=1.7)
BiaxialNonDispersiveMaterial
+n
IsotropicNonDispersiveMaterial
IsotropicDispersive
+n
+law
-__init__(self,n=1.5)
+getRefractiveIndex(lbda=None)
-__init__(self,law=None)
+getTensor(lbda)
+getRefractiveIndex(lbda)
-__init__(self,diag=(1.5,1.6,1.7))
DispersionLaw
+getValue(lbda)
Berreman4x4 module
+c, pi
+rotation_Euler(angles)
+rotation_V(V)
+rotation_v_theta(v,theta)
+buildDeltaMatrix(Kx,eps)
+hs_propagator(Delta,h,k0,method="linear",q=None)
+hs_propagator_lin(Delta,h,k0,q=None)
+hs_propagator_Pade(Delta,h,k0,q=7)
+hs_propagator_Taylor(Delta,h,k0,q=5)
+hs_propagator_eig(Delta,h,k0,q=None)
+extractCoefficient(Jones,coeff_name)
+circularJones(Jones)
+extractEllipsoParam(Jr)
SellmeierLaw
+A, B, lbda0
-__init__(self,coeff=(1.0, 1.0, 300e-9))
+getValue(lbda)
Layer
RepeatedLayers
+getPermittivityProfile(lbda)
+getPropagationMatrix(Kx,k0,inv)
MaterialLayer
+material
+setMaterial(material)
HomogeneousLayer
+h
+material
+hs_propagator: function
+hs_order
-__init__(self,material=None,h=1e-6,
hs_method="eig",hs_order=2)
+setThickness(h)
+setMethod(hs_method,hs_order=2)
+getPermittivityProfile(lbda)
+getPropagationMatrix(Kx,k0=1e6,inv=False)
+getDeltaMatrix(Kx,k0=1e6)
+n
+before
+after
+layers
-__init__(self,layers=None,n=2,before=0,after=0)
+setRepetition(n,before=0,after=0)
+setLayers(layers)
+getPermittivityProfile(lbda)
+getPropagationMatrix(Kx,k0=1e6,inv=False)
InhomogeneousLayer
+material
+z
+getSlicePropagator: function
+hs_propagator: function
+hs_order
+__init__(self,material=None,evaluation="midpoint",
hs_method="Pad",q=2)
+setMethod(evaluation,hs_method,q)
+getPermittivityProfil(lbda)
+getPropagationMatrix(Kx,k0=1e6,inv=False)
+getSlicePropagator_mid(z2,z1,Kx,k0=1e6)
+getSlicePropagator_sym(z2,z1,Kx,k0=1e6)
HomogeneousIsotropicLayer
+setThickness(h)
+get_QWP_thickness(lbda=1e-6)
InhomogeneousMaterial
+getTensor(z,lbda)
+getSlices()
Berreman4x4.HalfSpace
+material
-__init__(self,material=None)
+setMaterial(material)
+getTransitionMatrix(Kx,k0=1e6)
Berreman4x4.IsotropicHalfSpace
+material
-__init__(self,material=None)
+get_Kx_from_Phi(Phi,k0=1e6)
+get_Phi_from_Kx(Kx,k0=1e6)
+getTransitionMatrix(Kx,k0=1e6,inv=False)
T
wistedMaterial
+material
+d
+angle
+div
-__init__(self,material=None,
d=4e-6,angle=pi/2,div=25)
+setMaterial(material)
+setThickness(d)
+setAngle(angle)
+setDivision(div)
+getTensor(z,lbda=None)
+getSlices(self)
In validation-Fujiwara-642.py, we reproduce Fujiwaras results with our code and obtain the same values,
except for a few places where a sign is reversed. The reason is that Fujiwara uses the convention of ellipsometry
for orienting Erp , which is the opposite of our convention. We also reproduce figure 6.19, p. 242, when the
orientation of the anisotropic film is varied.
Er
Er
x
Ex
Et
Ei
s
Air
Et
i
Ei
Film
i
s
Air
Silicon substrate
Anisotropic substrate
~ = H(x, z) ~y
H
Presentation
We consider the situation on figure 6, where two halfspaces with indices nf and nb are separated by a medium
of index ns and thickness d. The three media are assumed to be lossless. The incoming plane wave defines
vector kx throughout the structure. The reduced wave
vector is Kx = kx /k0 = nf sin(i ). The scalar Helmholtz
equation ( + k02 ){E, H} = 0, holds separatley inside
the three media, and implies that there are at most two
waves in each medium, with wave vector kz , given by
kz2 = k02 n2 kx2 .
t=
2
d
Er
nb
t
z
p
i
Ei
s
z=0
z=d
with
Er
, for both s and p polarizations.
Ei
Kz
~ = E(x, y) 0 ,
we deduce H
Kx
Kz
~ = E0 eiti(kx x+kz z) 0 ,
H
Kx
Kx
~ t = c |E0 |2 e2kz00 z 0 .
and hi
(2)
8
Kz0
t
E+
r=
~ = E(x, y) ~y
E
p
Et
and
Back half-space
ns
nf
Et
Ei
x
Front half-space
z H
i
~ =
0 .
and E
k0
x H
~ = H(x, y) ~y
H
we deduce
with
Kz
H(x,
y)
~ =
0 ,
E
Kx
~ = H0 eiti(kx x+kz z) ~y ,
H
Kx
2
00
c
|H
|
0
~ t=
and hi
e2kz z 0 .
8
Kz0
(3)
(4)
z E
1
~ =
0 .
and H
ik0
x E
8
9
x
kz real
~ = H ~y
H = H0 eit+i(kx xkz z) .
H
kz purely complex
~ = E ~y
E = E0 eit+i(kx xkz z) .
E
The magnetic excitation is
Kz
Kz
= E+ 0 + E 0 .
Kx
Kx
~ =H
~++H
~
H
Kx
Kx
00
00
c
~ t=
|E + |2 e2kz z 0 + |rs |2 e2kz z 0 +
hi
8 0
Kz0
Kz0
Kx cos(s 2kz0 z)
0
+2 |rs |
0
00
Kz sin(s 2kz z)
where we defined rs = |rs | e . The first and second
terms correspond to the incident and reflected waves.
The third term arises from the interference of the two
waves. If Kz is real, the expression in curly braces becomes
Kx
Kx
Kx cos(s 2kz z)
0 + |rs |2 0 + 2 |rs |
.
0
Kz
Kz
0
is
Kx
Kx
Kx rs0
00
00
e2kz z 0 + |rs |2 e2kz z 0 + 2 0 ,
0
0
Kz00 rs00
Kz
Kz
H+
H
0 .
0 +
=
Kx
Kx
(5)
Kx
Kx
+ 2
00
00
|H
|
c
0
~ t=
e2kz z 0 + |rp |2 e2kz z 0 +
hi
8
Kz0
Kz0
Kx cos(p 2kz0 z)
.
0
+2 |rp |
00
0
Kz sin(p 2kz z)
If Kz is purely complex, there is an energy flow in the
z direction, proportionnal to Kz00 rp00 . Figure 8 represents
the variation of the Poynting vector along z, in the case
of evanescent waves.
x
~ t
hi
h
x it
Interface
h+
x it
hx,int it
hz,int it
z=0
kz1 kz2
kz1 + kz2
and
ts = 1 + rs =
2 kz1
.
kz1 + kz2
10
The expressions are valid for complex wave vectors and
we deduce
rs0 =
|kz1 |2 |kz2 |2
|kz1 + kz2 |2
and
rs00 =
00 0
0
00
2(kz1
kz2 kz1
kz2
)
.
2
|kz1 + kz2 |
002
kz1
|kz2 |2
00
|ikz1 + kz2 |2
and
rs00 =
00 0
2kz1
kz2
.
00
|ikz1 + kz2 |2
+
+
+
and tH
field are rpH = H1p
/H1p
p = H2p /H1p with
rpH
2 kz1 1 kz2
=
2 kz1 + 1 kz2
and
tH
p
1+rpH
22 kz1
=
.
2 kz1 + 1 kz2
and
2n1 n2 kz1
tp =
.
2 kz1 + 1 kz2
00 0
0
00
21 2 (kz1
kz2 kz1
kz2
)
.
2
|2 kz1 + 1 kz2 |
002
|1 kz2 |2 22 kz1
00
|2 ikz1 + 1 kz2 |2
and
rp00 =
00 0
21 2 kz1
kz2
.
00
|2 ikz1 + 1 kz2 |2
h
z1 it
= |r|2
+
hz1 it
and
T =
h+
k0
2
z2 it
= z2
+
0 |t| .
kz1
hz1 it
tsf
1 rf s rbs ei2kz d
E (0)/Ei (0) =
r = Er (0)/Ei (0) =
t = Et (d)/Ei (0) =
and
T =
hzt it
k0
= 0zb |t|2 .
hzi it
kzf
Various examples
Cline Molinaro, Olivier Castany
Glass layer
30
i
Air
n = 1.0
Glass
n = 1.5
Bragg Mirror
Air
Reflection on an interface
t
z
i
x
n1
n2
Air
TiO2
SiO2
TiO2
SiO2
Glass
period
t
t
i
i
12
x
Glass
LC
Glass
A
z
d
FIG. 12: Twisted nematic liquid crystal between glass
substrates with polarizer and analyzer.
Glass
Glass
z
Bibliography
[1]
[2]
S. Teitler and B. W. Henvis. Refraction in stratified, anisotropic media. J. Opt. Soc. Am., 60
(6):830834, Jun 1970. doi: 10.1364/JOSA.60.
000830. URL http://www.opticsinfobase.org/
abstract.cfm?URI=josa-60-6-830.
[3]
[4]
Mathias Schubert. Polarization-dependent optical parameters of arbitrarily anisotropic homogeneous layered systems. Phys. Rev. B, 53:4265
4274, Feb 1996.
doi: 10.1103/PhysRevB.53.
4265. URL http://link.aps.org/doi/10.1103/
PhysRevB.53.4265.
Hiroyuki Fujiwara.
Spectroscopic Ellipsometry:
Principles and Applications. John Wiley & Sons,
March 2007. ISBN 9780470016084.
[6]
J.D. Jackson.
1998.
[7]
I. Abdulhalim, L. Benguigui, and R. Weil. Selective reflection by helicoidal liquid crystals. results of an exact calculation using the 4
4 characteristic matrix method.
J. Phys.
France, 46(5):815825, 1985. doi: 10.1051/jphys:
01985004605081500. URL http://dx.doi.org/10.
1051/jphys:01985004605081500.
[9]
Dwight W. Berreman.
Optics in stratified
and anisotropic media:
44-matrix formulation.
J. Opt. Soc. Am., 62(4):502510, Apr
1972.
doi: 10.1364/JOSA.62.000502.
URL
http://www.opticsinfobase.org/abstract.
cfm?URI=josa-62-4-502.
[5]
[8]
[11] H. Whler, M. Fritsch, G. Haas, and D. A. Mlynski. Characteristic matrix method for stratified
anisotropic media: optical properties of special
configurations. J. Opt. Soc. Am. A, 8(3):536
540, Mar 1991. doi: 10.1364/JOSAA.8.000536.
URL http://josaa.osa.org/abstract.cfm?URI=
josaa-8-3-536.
Classical Electrodynamics.
[14] R. Clark Jones. A new calculus for the treatment of optical systems. J. Opt. Soc. Am., 31
(7):488493, Jul 1941. doi: 10.1364/JOSA.31.
000488. URL http://www.opticsinfobase.org/
abstract.cfm?URI=josa-31-7-488.
Wiley,
http://
Feliks Ruvimovich Gantmakher. The Theory of Matrices. American Mathematical Soc., 1959. ISBN
9780821813768.
[10] H. Whler, G. Haas, M. Fritsch, and D. A. Mlynski. Faster 4 4 matrix method for uniaxial inhomogeneous media. J. Opt. Soc. Am. A, 5(9):1554
1557, Sep 1988. doi: 10.1364/JOSAA.5.001554.
URL http://josaa.osa.org/abstract.cfm?URI=
josaa-5-9-1554.
13