import sys sys.path.append('..') import numpy as N import plot_config from tango import tango from matplotlib import pyplot as P from epsilons import epsilon_Al min_wavelength, max_wavelength = 200e-9, 2000e-9 percentage_formatter = P.FormatStrFormatter('%i%%') # Calculate with Drude-Lorentz model from Rakic et al. wl_DL = N.linspace(min_wavelength, max_wavelength, 200) n_Al_DL = N.sqrt(epsilon_Al(wl_DL)) R_DL = N.abs((1 - n_Al_DL) / (1 + n_Al_DL))**2 # Calculate with tabulated data from Palik _, wl_P_microns, nr_P, ni_P = N.loadtxt('Aluminum index data.csv', skiprows=3, delimiter=',', unpack=True) mask = (wl_P_microns >= min_wavelength * 1e6) & (wl_P_microns <= max_wavelength * 1e6) n_Al_P = nr_P[mask] + 1j * ni_P[mask] R_P = N.abs((1 - n_Al_P) / (1 + n_Al_P))**2 fig = P.figure() ax = fig.gca() # Create rainbow ncolors = 50
import sys sys.path.append('..') import numpy as N import plot_config from tango import tango from matplotlib import pyplot as P from epsilons import epsilon_Al min_wavelength, max_wavelength = 200e-9, 2000e-9 percentage_formatter = P.FormatStrFormatter('%i%%') # Calculate with Drude-Lorentz model from Rakic et al. wl_DL = N.linspace(min_wavelength, max_wavelength, 200) n_Al_DL = N.sqrt(epsilon_Al(wl_DL)) R_DL = N.abs((1 - n_Al_DL) / (1 + n_Al_DL)) ** 2 # Calculate with tabulated data from Palik _, wl_P_microns, nr_P, ni_P = N.loadtxt('Aluminum index data.csv', skiprows=3, delimiter=',', unpack=True) mask = (wl_P_microns >= min_wavelength * 1e6) & (wl_P_microns <= max_wavelength * 1e6) n_Al_P = nr_P[mask] + 1j * ni_P[mask] R_P = N.abs((1 - n_Al_P) / (1 + n_Al_P)) ** 2 fig = P.figure() ax = fig.gca() # Create rainbow ncolors = 50 rainbow_data = N.linspace(0, 1, ncolors)[N.newaxis, :] rainbow_wavelengths = N.linspace(380.0, 750.0, ncolors) ax.pcolor(rainbow_wavelengths, N.array([0, 100]), rainbow_data,
import sys sys.path.append('..') import numpy as N import plot_config from tango import tango from matplotlib import pyplot as P from epsilons import epsilon_Al min_wavelength, max_wavelength = 500e-9, 1200e-9 # Calculate with Drude-Lorentz model from Rakic et al. wl_DL = N.linspace(min_wavelength, max_wavelength, 200) e_DL = epsilon_Al(wl_DL) # Calculate with tabulated data from Palik _, wl_P_microns, nr_P, ni_P = N.loadtxt('Aluminum index data.csv', skiprows=3, delimiter=',', unpack=True) mask = (wl_P_microns >= min_wavelength * 1e6) & (wl_P_microns <= max_wavelength * 1e6) e_P = (nr_P[mask] + 1j * ni_P[mask]) ** 2 fig = P.figure() ax = fig.gca() real_DL, = ax.plot(wl_DL * 1e9, -e_DL.real, color=tango.skyblue3) real_P, = ax.plot(wl_P_microns[mask] * 1e3, -e_P.real, 'o', color=tango.skyblue3, markeredgecolor=tango.skyblue3) imag_DL, = ax.plot(wl_DL * 1e9, e_DL.imag, color=tango.scarletred3) imag_P, = ax.plot(wl_P_microns[mask] * 1e3, e_P.imag, 'o', color=tango.scarletred3, markeredgecolor=tango.scarletred3) ax.set_xlabel('Wavelength (nm)') ax.set_ylabel('Dielectric constant (dimensionless)') #ax.set_ylim(0, 1)