Esempio n. 1
0
lbda0 = 1.550e-6
k0 = 2 * pi / lbda0
nr_SiO2 = 1.47
nr_TiO2 = 2.23
alpha_SiO2 = 0e2  # (m⁻¹)
alpha_TiO2 = 42e2  # (m⁻¹)
ni_SiO2 = alpha_SiO2 * lbda0 / (4 * pi)
ni_TiO2 = alpha_TiO2 * lbda0 / (4 * pi)
n_SiO2 = nr_SiO2 + 1j * ni_SiO2
n_TiO2 = nr_TiO2 + 1j * ni_TiO2

SiO2 = Berreman4x4.IsotropicNonDispersiveMaterial(n_SiO2)
TiO2 = Berreman4x4.IsotropicNonDispersiveMaterial(n_TiO2)

# Layers
L_SiO2 = Berreman4x4.HomogeneousIsotropicLayer(SiO2, ("QWP", lbda0))
L_TiO2 = Berreman4x4.HomogeneousIsotropicLayer(TiO2, ("QWP", lbda0))

print("Thickness of the SiO2 QWP: {:.1f} nm".format(L_SiO2.h * 1e9))
print("Thickness of the TiO2 QWP: {:.1f} nm".format(L_TiO2.h * 1e9))

# Repeated layers: n periods
L = Berreman4x4.RepeatedLayers([L_TiO2, L_SiO2], 4, 0, 0)

# Number of interfaces
N = 2 * L.n + 1

# Structure
s = Berreman4x4.Structure(front, [L], back)

############################################################################
############################################################################
# Structure definition

# Refractive indices
n_f = 1.5
n_s = 1.0
n_b = 1.7

# Materials:
glass1 = Berreman4x4.IsotropicNonDispersiveMaterial(n_f)
air = Berreman4x4.IsotropicNonDispersiveMaterial(n_s)
glass2 = Berreman4x4.IsotropicNonDispersiveMaterial(n_b)

# Layer and half-spaces:
front = Berreman4x4.IsotropicHalfSpace(glass1)
layer = Berreman4x4.HomogeneousIsotropicLayer(air)
back = Berreman4x4.IsotropicHalfSpace(glass2)

# Structure:
s = Berreman4x4.Structure(front, [layer], back)

# Wavelength and wavenumber:
lbda = 1e-6
k0 = 2 * pi / lbda
Phi_i = pi / 2 * 0.6  # Incidence angle (higher than the limit angle)

# Air thickness variation range
d = numpy.linspace(0, 1.0e-6)

############################################################################
# Analytical calculation