Пример #1
0
      "'Spectroscopic Ellipsometry',\nby H. Fujiwara.\n")
print("*** Air / anisotropic sample ***")
print("We reproduce figure 6.16, p. 238...")

# Orientations of the anisotropic substrate
Phi_E = pi/2                        # 1st Euler angle
Theta_E_list = [0, pi/4, pi/2]      # 2nd Eulet angle

# Incidence angles
Phi_i_list = numpy.linspace(0, 0.999*pi/2, 37)  # array of Phi_i values
Phi_i_deg = Phi_i_list*180/pi
Kx_list = front.get_Kx_from_Phi(Phi_i_list)     # array of Kx values

data = []
for Theta_E in Theta_E_list:
    R = Berreman4x4.rotation_Euler((Phi_E, Theta_E, 0))
    back.setMaterial(uniaxialMaterialRef.rotated(R))
    l = []
    for Kx in Kx_list:
        Jr = s.getJones(Kx)[0]
        l.append(Berreman4x4.extractEllipsoParam(Jr))
    data.append(l)
data = numpy.array(data)

fig = pyplot.figure()
ax = fig.add_subplot(111)
ax.plot(Phi_i_deg, data[:,:,0,0].T)
ax.set_xlabel(r"$\theta_i$")
ax.set_ylabel(r"$\Psi_{pp}$")

pyplot.tight_layout()
      "'Spectroscopic Ellipsometry',\nby H. Fujiwara.\n")
print("*** Air / anisotropic sample ***")
print("We reproduce figure 6.16, p. 238...")

# Orientations of the anisotropic substrate
Φ_E = pi/2                      # 1st Euler angle
θ_E_list = [0, pi/4, pi/2]      # 2nd Eulet angle

# Incidence angles
Φ_i_list = numpy.linspace(0, 0.999*pi/2, 300)   # array of Φ_i values
Φ_i_deg = Φ_i_list*180/pi
Kx_list = front.get_Kx_from_Phi(Φ_i_list)       # array of Kx values

data = Berreman4x4.DataList()
for θ_E in θ_E_list:
    R = Berreman4x4.rotation_Euler((Φ_E, θ_E, 0))
    back.setMaterial(uniaxialMaterialRef.rotated(R))
    data.append([s.evaluate(Kx) for Kx in Kx_list])

Psi = data.get('Ψ')

fig = pyplot.figure()
ax = fig.add_subplot(111)
ax.plot(Φ_i_deg, Psi.T)
ax.set_xlabel(r"$\theta_i$")
ax.set_ylabel(r"$\Psi_{pp}$")

pyplot.tight_layout()

##############################################################################
# We reproduce figure 6.17
Пример #3
0
      "'Spectroscopic Ellipsometry',\nby H. Fujiwara.\n")
print("*** Air / anisotropic sample ***")
print("We reproduce figure 6.16, p. 238...")

# Orientations of the anisotropic substrate
Φ_E = pi / 2  # 1st Euler angle
θ_E_list = [0, pi / 4, pi / 2]  # 2nd Eulet angle

# Incidence angles
Φ_i_list = numpy.linspace(0, 0.999 * pi / 2, 300)  # array of Φ_i values
Φ_i_deg = Φ_i_list * 180 / pi
Kx_list = front.get_Kx_from_Phi(Φ_i_list)  # array of Kx values

data = Berreman4x4.DataList()
for θ_E in θ_E_list:
    R = Berreman4x4.rotation_Euler((Φ_E, θ_E, 0))
    back.setMaterial(uniaxialMaterialRef.rotated(R))
    data.append([s.evaluate(Kx) for Kx in Kx_list])

Psi = data.get('Ψ')

fig = pyplot.figure()
ax = fig.add_subplot(111)
ax.plot(Φ_i_deg, Psi.T)
ax.set_xlabel(r"$\theta_i$")
ax.set_ylabel(r"$\Psi_{pp}$")

pyplot.tight_layout()

##############################################################################
# We reproduce figure 6.17
Пример #4
0
numpy.set_printoptions(suppress=True, precision=4)

n_i = 1.0  # incident medium is air
n_o = 2.0  # ordinary index of thin layer
n_e = 2.5  # extraordinary index of thin layer
w = 3.04e15  # pulsation (rad/s)
Phi_i = 70 * pi / 180  # 70° indicence angle (rad)
d = 0.1e-6  # thin layer thickness (m)
# Orientation of the anisotropy of the thin layer
Phi_E = pi / 4  # 1st Euler angle
Theta_E = pi / 4  # 2nd Eulet angle

print("\n*** Air / anisotropic film / silicon substrate ***")

filmMaterialRef = Berreman4x4.UniaxialNonDispersiveMaterial(n_o, n_e)
R = Berreman4x4.rotation_Euler((Phi_E, Theta_E, 0))
filmMaterial = filmMaterialRef.rotated(R)
print("\nPermittivity tensor of the anisotropic film (eq 6.63, p. 241):")
print(filmMaterial.getTensor())
"""
matrix([[ 4.5625, -0.5625,  0.7955],
        [-0.5625,  4.5625, -0.7955],
        [ 0.7955, -0.7955,  5.125 ]])
"""

air = Berreman4x4.IsotropicNonDispersiveMaterial(n_i)
front = Berreman4x4.IsotropicHalfSpace(air)  # Front half-space
Kx = front.get_Kx_from_Phi(Phi_i)
print("\nValue of Kx: {:.4f}".format(Kx))
"""
Kx = 0.9397