Пример #1
0
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
Пример #2
0
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,
Пример #3
0
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)