Exemplo n.º 1
0
data = ip(run.backfold_k(k_sample))

data = data.reshape(tuple(map(len, axes)) + (-1, ))

# axis to project along, 0: x, 1: y, 2: z
axis_to_project = 2

visible_axes = [0, 1, 2]
visible_axes.remove(axis_to_project)

axis_labels = [
    r'$k_x / \mathrm{\AA}^{-1}$', r'$k_y / \mathrm{\AA}^{-1}$',
    r'$k_z / \mathrm{\AA}^{-1}$'
]

im = run.band.smooth_overlap(data, e=0, scale=0.04, axis=axis_to_project)
im = im.T  # so the first axis (x) is displayed horizontally not vertically

plt.imshow(im,
           extent=(axes[visible_axes[0]][0], axes[visible_axes[0]][-1],
                   axes[visible_axes[1]][0], axes[visible_axes[1]][-1]),
           interpolation="bicubic",
           origin='lower')
plot_bz_proj(run, plt.gca(), axis=axis_to_project, color='grey')

plt.xlabel(axis_labels[visible_axes[0]])
plt.ylabel(axis_labels[visible_axes[1]])
plt.legend()
plt.tight_layout()
plt.show()
Exemplo n.º 2
0
R = rot_v1_v2(surface_normal, [0, 0, 1])
phi = np.deg2rad(15)
c, s = np.cos(phi), np.sin(phi)
R = np.dot(np.array(((c, -s, 0), (s, c, 0), (0, 0, 1))), R)

# todo: order of rotation operations
# todo: setup_arpes_geometry(photon momentum, angles, ...)

plt.figure(figsize=(8, 8))
gs = gridspec.GridSpec(3, 3)
ax1 = plt.subplot(gs[0, 0])
ax2 = plt.subplot(gs[1:, 0])
ax3 = plt.subplot(gs[:, 1:])

plot_bz_proj(run, ax1, rot=R.T, axis=2, color='grey', lw=0.1)
ax1.set_xlabel(r'$k_\| / \mathrm{\AA}^{-1}$',)
ax1.set_ylabel(r'$k_{\|2} / \mathrm{\AA}^{-1}$')


plot_bz_proj(run, ax2, rot=R.T, axis=1, color='grey', lw=0.1, neighbours=[])


k_p = k_arpes(theta=theta, e_photon=e_photon, phi_det=workfunc_analyzer, v0=v0, theta2=theta2)

ax2.plot(k_p[:, 0], k_p[:, 2], label='sampled k-points')


k = k_p @ R  # aligned -> calculation

k_1bz = run.backfold_k(k)
Exemplo n.º 3
0
e_photon = 665

R = rot_v1_v2(surface_normal, [0, 0, 1])
phi = np.radians(-15)
c, s = np.cos(phi), np.sin(phi)
R = np.dot(np.array(((c, -s, 0), (s, c, 0), (0, 0, 1))), R)
ex, ey, ez = R

# todo: order of rotation operations
# todo: setup_arpes_geometry(photon momentum, angles, ...)

ax1 = plt.subplot(121)
plot_bz_proj(run,
             ax1,
             rot=R,
             axis=1,
             color='grey',
             lw=0.1,
             neighbours=[[5, 0, 0], [4, 0, 0], [3, 0, 0], [2, 0, 0], [1, 0,
                                                                      0]])

k_par, k_par2, k_perp = k_arpes(theta, e_photon - workfunc_analyzer, v0,
                                theta2)
ax1.plot(k_par, k_perp, label='sampled k-points')

print(k_par2)

# since y was projected:
k = (ex * k_par[:, np.newaxis] + ey * k_par2[:, np.newaxis] +
     ez * k_perp[:, np.newaxis])

print("kpar=", ex)