FresnelReflection¶
-
graphenemodeling.graphene.monolayer.
FresnelReflection
(q, omega, gamma, FermiLevel, T, eps1, eps2, polarization)¶ The Fresnel Reflection coefficients of light incident from above (medium 1, eps1).
Equation 5.4 of Ref 1
Parameters: - q (array-like, rad/m) – Wavenumber at which to evaluate FresnelReflection. In-plane momentum of incident light.
- omega (array-like, rad/s) – Angular frequency of incident light.
- eps1 (scalar, unitless) – Permittivity in upper half-space
- eps2 (scalar, unitless) – Permittivity in lower half-space
- polarization (string) – ‘s’/’TE’ or ‘p’/’TM’ for s- or p-polarization.
Examples
Plot the TM polarized Fresnel Reflection coefficient. This will highlight the plasmon. Replicates Fig. 5.2 in Ref [1].
>>> import matplotlib.pyplot as plt >>> import matplotlib.cm as cm >>> from graphenemodeling.graphene import monolayer as mlg >>> from scipy.constants import elementary_charge, hbar >>> eV = elementary_charge >>> FermiLevel = 0.4 * eV >>> gamma = 0.012 * eV / hbar >>> kF = mlg.FermiWavenumber(FermiLevel,model='LowEnergy') >>> q = np.linspace(1e-2,3,num=200) * kF >>> w = np.linspace(1e-2,3,num=200) * FermiLevel / hbar >>> fresnelTM = mlg.FresnelReflection(q,w[:,np.newaxis],gamma,FermiLevel,T=0, ... eps1=1,eps2=1, ... polarization='TM') >>> fig, ax = plt.subplots(figsize=(6,6)) >>> ax.imshow(-np.imag(fresnelTM), ... extent=(q[0]/kF,q[-1]/kF,hbar*w[0]/FermiLevel,hbar*w[-1]/FermiLevel), ... origin='lower',aspect='auto',cmap=cm.hot,vmin=-16,vmax=0) >>> ax.set_xlabel('$q/k_F$') >>> ax.set_ylabel('$\hbar\omega/E_F$') >>> ax.set_ylim(0,3) >>> ax.set_xlim(0,3) >>> fig.suptitle('Fresnel Reflection Coefficient (TM)') >>> plt.show()
(Source code, png, hires.png, pdf)
References
[1] Christensen, T. (2017). From Classical to Quantum Plasmonics in Three and Two Dimensions (Cham: Springer International Publishing). http://link.springer.com/10.1007/978-3-319-48562-1.