# Threshold ax1.axhline(0.0, color="k", ls="-", alpha=0.5) # U(r) ax1.plot(r, U, "--k", alpha=0.5, label="Unperturbed ion") # Laser ax1.plot(r, laser, "-r", label="Laser") # U(r) + laser ax1.plot(r, Ubent, "-k", label="Effective") # Electron ax1.plot([0.0], [-Xe_Z0_Ip], "ob", ms=14) ar1 = fleches.arrow("Tunnel", [0.0, -Xe_Z0_Ip], [0.9 * r[-1], -Xe_Z0_Ip]) ar1.Plot(ax1, color="g") ax1.set_xlim((r[0], r[-1])) ax1.set_ylim((0.95 * Umin, Umax)) ax1.set_xlabel("r [bohr]") ax1.set_ylabel("Energy [Hartree]") leg = ax1.legend(loc="best") leg.get_frame().set_alpha(0.75) for ext in ["pdf", "svg"]: plot.savefig("ionization_tunnel." + ext) plot.show()
ax4.get_yaxis().set_visible(False) for ax in [ax1, ax1b, ax2, ax2b]: ax.get_xaxis().set_visible(False) # ********************** Before ************************ ax1.plot(r, U) ax1.plot([-r0, r0], [-Xe_Z0_Ip, -Xe_Z0_Ip], '-m', label = '5p') for ei in xrange(len(Xe_Z0_es_E)): r0e = min(abs(cs/Xe_Z0_es_E[ei]), r[-1]) ax1.plot([-r0e, r0e], [Xe_Z0_es_E[ei], Xe_Z0_es_E[ei]], linestyle = colors_and_symbols.symbol(ei+5), color = colors_and_symbols.color(ei), label = Xe_Z0_es_n[ei]) # Impacting electron ar1Ke = fleches.arrow('K_e', [0.75*r[0], 0.0], [0.75*r[0], Ke]) # Vertical (Ke) ar2Ke = fleches.arrow('K_e', [0.75*r[0], Ke], [0.75*r[0]+10, Ke]) # Horizontal (v) ar1Ke.Plot(ax1, color = 'b', label = '$K_e$', horizontalalignment = 'right', bidirectional = True) ar2Ke.Plot(ax1, color = 'b', label = '$v_e$', verticalalignment = 'top') ax1.plot([0.75*r[0]], [Ke], 'ob', ms = 14) # Bound electron ax1.plot([0.0], [-Xe_Z0_Ip], 'og', ms = 14) # ********************** During ************************ ax2.plot(r, U) ax2.plot([-r0, r0], [-Xe_Z0_Ip, -Xe_Z0_Ip], '-m', label = '5p') for ei in xrange(len(Xe_Z0_es_E)): r0e = min(abs(cs/Xe_Z0_es_E[ei]), r[-1]) ax2.plot([-r0e, r0e], [Xe_Z0_es_E[ei], Xe_Z0_es_E[ei]],
ax1, ax1b = plot.get_axis_two_scales(fig, scale_y = cst.Eh_to_eV, ax2_ylabel = 'Energy [eV]') # Ip ax1.plot([-r0, r0], [-Xe_Z0_Ip, -Xe_Z0_Ip], '-m') # U(r) ax1.plot(r, U, '-k') # Continuum ax1.fill([r[0],r[-1],r[-1],r[0]],[0.0,0.0,Umax,Umax], fill=False, hatch='/', alpha = 0.5) # Photon energy ar1 = fleches.arrow('GammaE', [0.0, -Xe_Z0_Ip], [0.0, GammaE-Xe_Z0_Ip]) ar1.Plot(ax1, color = 'r', label = r'$E_\gamma$', horizontalalignment = 'left') ax1.plot([0.0], [-Xe_Z0_Ip], 'ob', ms = 14, alpha = 0.6) # New electron velocity ar2 = fleches.arrow('N_e', [0.0, GammaE-Xe_Z0_Ip], [5.0, GammaE-Xe_Z0_Ip]) ar2.Plot(ax1, color = 'b', label = '$v_e$', horizontalalignment = 'center', verticalalignment = 'bottom') ax1.plot([0.0], [GammaE-Xe_Z0_Ip], 'ob', ms = 14) # Delta E x = -1.0 ar3 = fleches.arrow('D_e', [x, 0.0], [x, GammaE-Xe_Z0_Ip]) ar3.Plot(ax1, color = 'g', label = '$\Delta E.$', horizontalalignment = 'right', bidirectional = True) # Photon #photon(ax1, [r[0]+lr*0.1, -Xe_Z0_Ip/2.0], [0.0, -Xe_Z0_Ip/2.0], Xe_Z0_Ip/5.0)
ax2_ylabel = 'Energy [eV]', sharex = ax1, sharey = ax1, subplot = 122) ax1b.get_yaxis().set_visible(False) ax2.get_yaxis().set_visible(False) # ****************************************************** ax1.plot(r, U1) ax1.plot([-r0, r0], [-Xe_Z0_Ip, -Xe_Z0_Ip], '-m', label = '5p') # Electron ax1.plot([0.0], [-Xe_Z0_Ip], 'og', ms = 14) # Photon gamma = 0.5*Xe_Z0_Ip ar_e1 = fleches.arrow('e1', [0.0, -Xe_Z0_Ip], [0.0, gamma-Xe_Z0_Ip]) ar_e1.Plot(ax1, color = 'b', alpha = 0.5) photon(ax1, [r[0]+lr*0.1, -Xe_Z0_Ip], [0.0, -Xe_Z0_Ip], Xe_Z0_Ip/5.0, alpha = 0.5) ax1.plot([0.0], [gamma/2.0 - Xe_Z0_Ip], 'xr', ms = 30, markeredgewidth = 3) # ****************************************************** Uep = -1.5*Xe_Z0_Ip ax2.plot(r, U2) ax2.plot([-r0, r0], [Uep, Uep], '-m', label = '5p') # Electron ax2.plot([0.0], [Uep], 'og', ms = 14, alpha = 0.6) ax2.plot([0.0], [Uep+gamma], 'og', ms = 14 )
ax2_ylabel = 'Energy [eV]') ax1.plot(r, U) for ei in xrange(len(Xe_Z0_es_E)): r0e = min(abs(cs/Xe_Z0_es_E[ei]), r[-1]) ax1.plot([-r0e, r0e], [Xe_Z0_es_E[ei], Xe_Z0_es_E[ei]], linestyle = colors_and_symbols.symbol(ei+5), color = colors_and_symbols.color(ei), label = Xe_Z0_es_n[ei]) # 3 electrons al = 0.09 # arrow length e1_xy = [0.25*r[0], 0.8*Umax] e2_xy = [0.20*r[-1], 0.25*Umax] e3_xy = [0.75*r[0], 0.1*Umax] ar_e1 = fleches.arrow('e1', e1_xy, [e1_xy[0], e1_xy[1] +al*dU]) ar_e2 = fleches.arrow('e2', e2_xy, [e2_xy[0], e2_xy[1]-2.0*al*dU]) ar_e3 = fleches.arrow('e3', e3_xy, [e3_xy[0], e3_xy[1] +al*dU]) ar_e1.Plot(ax1, color = 'b') ar_e2.Plot(ax1, color = 'b') ar_e3.Plot(ax1, color = 'b') ax1.plot([e1_xy[0]], [e1_xy[1]], 'ob', ms = 14) ax1.plot([e2_xy[0]], [e2_xy[1]], 'ob', ms = 14) ax1.plot([e3_xy[0]], [e3_xy[1]], 'ob', ms = 14) ax1.set_xlabel('r [bohr]') ax1.set_ylabel('Energy [Hartree]') #leg = ax1.legend(loc = "lower right") ax1.axhline(0.0, linestyle = ':', color = 'k')
ax1b.get_yaxis().set_visible(False) ax2.get_yaxis().set_visible(False) # ********************** Before ************************ # Continuum ax1.fill([r[0],r[-1],r[-1],r[0]],[0.0,0.0,Umax,Umax], fill=False, hatch='/', alpha = 0.5) # Ip #ax1.axhline(-Xe_Z0_Ip, linestyle = '-', color = 'm', label = '5p') ax1.plot([-r0, r0], [-Xe_Z0_Ip, -Xe_Z0_Ip], '-m') ax1.plot(r, U, '-k') # Impacting electron ar1Ke = fleches.arrow('K_e', [0.75*r[0], 0.0], [0.75*r[0], Ke]) # Vertical (Ke) ar2Ke = fleches.arrow('K_e', [0.75*r[0], Ke], [0.75*r[0]+10, Ke]) # Horizontal (v) ar1Ke.Plot(ax1, color = 'b', label = '$K_e$', horizontalalignment = 'right', bidirectional = True) ar2Ke.Plot(ax1, color = 'b', label = '$v_e$', verticalalignment = 'top') ax1.plot([0.75*r[0]], [Ke], 'ob', ms = 14) # Bound electron ax1.plot([0.0], [-Xe_Z0_Ip], 'og', ms = 14) # ********************** After ************************ # Continuum ax2.fill([r[0],r[-1],r[-1],r[0]],[0.0,0.0,Umax,Umax], fill=False, hatch='/', alpha = 0.5) # Ip