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) ############################################################################ # Analytical calculation n = numpy.ones(N + 1, dtype=complex) n[0] = n_a n[1::2] = n_TiO2 n[2::2] = n_SiO2 n[-1] = n_g
(no, ne) = (1.5, 1.7) Dn = ne-no n_med = (ne + no)/2 LC = Berreman4x4.UniaxialNonDispersiveMaterial(no, ne) # ne along z R = Berreman4x4.rotation_v_theta(e_y, pi/2) # rotation round y LC = LC.rotated(R) # apply rotation from z to x # Cholesteric pitch: p = 0.65e-6 # One half turn of a right-handed helix: TN = Berreman4x4.TwistedMaterial(LC, p/2, angle=+pi, div=25) # Inhomogeneous layer, repeated layer, and structure IL = Berreman4x4.InhomogeneousLayer(TN) N = 5 # number half pitch repetitions h = N * p/2 L = Berreman4x4.RepeatedLayers([IL], N) s = Berreman4x4.Structure(front, [L], back) # Normal incidence: Kx = 0.0 # Calculation parameters lbda_min, lbda_max = 0.6e-6, 1.5e-6 # (m) lbda = numpy.linspace(lbda_min, lbda_max, 100) k0 = 2*pi/lbda ############################################################################ # Analytical calculation for the power reflection coefficient q = 2*pi/p alpha = q/k0 epsilon = (no**2+ne**2)/2