Esempio n. 1
0
from epsilons import epsilon_Au

wl = 800e-9
n_air = 1.0
n_glass = 1.5
high_na = 0.8
low_na = 0.2
widths = N.arange(100, 501, 10) * 1e-9
k0 = 2 * N.pi / wl

fig1 = P.figure(figsize=(plot_config.pagewidth, 2.5))
# fig2 = P.figure(figsize=(plot_config.pagewidth, 2.5))

calc = SlitSystem(slit_widths=widths,
                  wavelength=wl,
                  metal_epsilon=epsilon_Au(wl),
                  metal_thickness=200e-9,
                  incidence_index=n_glass,
                  slit_index=n_air,
                  outcoupling_index=n_air,
                  collection_index=n_air,
                  numerical_aperture=low_na,
                  angle_of_incidence=0.0,
                  caching=False)

ratio1 = calc.collection_eff_TM / calc.collection_eff_TE
# absolute1 = calc.collection_eff_TE

calc = SlitSystem(slit_widths=widths,
                  wavelength=wl,
                  metal_epsilon=epsilon_Au(wl),
Esempio n. 2
0
wl = 800e-9
n_air = 1.0
n_glass = 1.5
high_na = 0.8
low_na = 0.2
widths = N.arange(100, 501, 10) * 1e-9
k0 = 2 * N.pi / wl

fig1 = P.figure(figsize=(plot_config.pagewidth, 2.5))
# fig2 = P.figure(figsize=(plot_config.pagewidth, 2.5))

calc = SlitSystem(
    slit_widths=widths,
    wavelength=wl,
    metal_epsilon=epsilon_Au(wl),
    metal_thickness=200e-9,
    incidence_index=n_glass,
    slit_index=n_air,
    outcoupling_index=n_air,
    collection_index=n_air,
    numerical_aperture=low_na,
    angle_of_incidence=0.0,
    caching=False)

ratio1 = calc.collection_eff_TM / calc.collection_eff_TE
# absolute1 = calc.collection_eff_TE

calc = SlitSystem(
    slit_widths=widths,
    wavelength=wl,
import plot_config
import epsilons
from matplotlib import pyplot as P
from matplotlib import gridspec, patches
from diffraction import calculation_figure

# Free parameters
wl = 830e-9            # light wavelength in free space in meters
width = 26e-6          # width of view in meters
eps2 = 1.0             # dielectric medium is air, n = 1
w0 = 2.2e-6            # width parameter of incident beam in meters
L = 50e-6              # length of slits in meters (also size of simulation)
res = 1e-7             # size of one pixel in meters

# Calculated parameters
eps1 = epsilons.epsilon_Au(wl)
k0 = 2 * N.pi / wl
kSP = k0 * N.sqrt(eps1 * eps2 / (eps1 + eps2))

gs = gridspec.GridSpec(1, 6, width_ratios=[1, 1, 1, 1, 1, 0.05])
fig = P.figure(figsize=(plot_config.pagewidth, 1.21))

calc_args = {'k': kSP, 'w0': w0, 'L': L, 'res': res, 'exact': False,
    'normalize': True, 'find_zeroes': True}
axis_args = {'aspect': 'equal', 'xticks': [], 'yticks': []}
circle_args = {'facecolor': 'none', 'linestyle': 'dashed'}

ax = fig.add_subplot(gs[0], **axis_args)
p = calculation_figure(ax, 3, 50e-6, **calc_args)
# Manually put the circle in since the goddamn contour plot doesn't work
ax.add_patch(patches.Circle((0, 0), 4.0, **circle_args))
Esempio n. 4
0
import plot_config
import epsilons
from matplotlib import pyplot as P
from matplotlib import gridspec
from diffraction import calculation_figure, measurement_figure

# Free parameters
wl = 830e-9  # light wavelength in free space in meters
width = 20e-6  # width of view in meters
eps2 = 1.0  # dielectric medium is air, n = 1
w0 = 2.2e-6  # width parameter of incident beam in meters
L = 50e-6  # length of slits in meters (also size of simulation)
res = 1e-7  # size of one pixel in meters

# Calculated parameters
eps1 = epsilons.epsilon_Au(wl)
k0 = 2 * N.pi / wl
kSP = k0 * N.sqrt(eps1 * eps2 / (eps1 + eps2))

gs = gridspec.GridSpec(1, 6, width_ratios=[1, 1, 1, 1, 1, 0.05])
fig = P.figure(figsize=(plot_config.pagewidth, 1.21))

axis_args = {'aspect': 'equal', 'xticks': [], 'yticks': []}

ax = fig.add_subplot(gs[0], **axis_args)
reflection = misc.imread('../../data/20100429 l=3.5 plate/far field.png')[
    150:350, 115:315]
ax.imshow(reflection, origin='upper')
ax.subfigure_label('(a)', pos='lower_right')

ax = fig.add_subplot(gs[1], **axis_args)