拉盖尔高斯光束透射石英基底石墨烯涂层的光强分布特性研究:深入探索与实验分析

文章复现:拉盖尔高斯光束入射石英基底石墨烯涂层的透射光强分布特性研究

最近实验室的小师弟拿着篇光学论文来找我:"师兄,这个复现卡在光强分布计算了,能不能给支个招?"接过论文一看题目------《拉盖尔高斯光束入射石英基底石墨烯涂层的透射光强分布特性研究》,好家伙,这标题要素过多,看来得从基础模型开始盘。

先说说咱们要造的这个光学场景:一束带着光学涡旋的拉盖尔高斯光束(就是那种中间带暗核的光环)打在镀了石墨烯的石英玻璃上。重点是要算透射后的光强怎么分布,特别是石墨烯层数的影响。老规矩,先上模型搭建。

模型核心是传输矩阵法,这里咱们用Python搞个简化版。先定义材料参数:

python 复制代码
import numpy as np
import matplotlib.pyplot as plt

n_air = 1.0
n_sio2 = 1.45  
sigma_graphene = 1e-5 + 3.5e-8j  # 石墨烯表面电导率(SI单位)
d_graphene = 0.335e-9  # 单层厚度
layers = 3  # 石墨烯层数
wavelength = 1064e-9  # 典型Nd:YAG激光波长
k0 = 2*np.pi/wavelength

注意石墨烯的电导率是个复参量,实部对应吸收,虚部对应相位调制。这里用了个简化的Drude模型,实际论文里可能要上Kubo公式,但复现时先用这个够用了。

接下来是拉盖尔高斯光束生成。这里有个坑------数值计算时径向多项式在原点附近的震荡得处理好:

python 复制代码
def laguerre_gauss(r, phi, p=0, l=1, w0=1e-3):
    """
    生成LG光束复振幅分布
    r: 径向坐标
    phi: 角向坐标
    p: 径向指数
    l: 拓扑荷数
    w0: 束腰半径
    """
    x = (r**2)/(w0**2)
    L = np.polyval(np.poly1d([1]* (p+1)), 2*x)  # 拉盖尔多项式简化计算
    return (np.sqrt(2/(np.pi)) * (r/w0)**l * L * 
            np.exp(-x) * np.exp(1j*l*phi))

这里用了多项式生成代替精确的拉盖尔多项式,实际做研究得用scipy.special里的eval_genlaguerre,但复现初期用这个快速验证更高效。

关键戏肉在传输矩阵计算。石墨烯作为二维材料,处理时要特别小心边界条件:

python 复制代码
def transfer_matrix(n_list, d_list, theta, polarization='s'):
    # 构建多层系统传输矩阵
    M_total = np.eye(2, dtype=complex)
    for n, d in zip(n_list[1:-1], d_list):
        delta = k0 * n * d * np.cos(theta)
        if polarization == 's':
            m = np.array([[np.cos(delta), 1j*np.sin(delta)/n],
                         [1j*n*np.sin(delta), np.cos(delta)]])
        else:  # p偏振
            m = np.array([[np.cos(delta), 1j*np.sin(delta)*n],
                         [1j*np.sin(delta)/n, np.cos(delta)]])
        M_total = np.dot(M_total, m)
    return M_total

注意石墨烯作为超薄层,在传输矩阵法中通常处理为界面边界条件而非传统层。这里把多层石墨烯等效为多个界面,实际操作时需要修改阻抗匹配条件。

搞定这些基础模块后,光强分布计算就水到渠成了:

python 复制代码
# 空间网格
x = np.linspace(-5e-3, 5e-3, 512)
y = np.linspace(-5e-3, 5e-3, 512)
X, Y = np.meshgrid(x, y)
r = np.sqrt(X**2 + Y**2)
phi = np.arctan2(Y, X)

# 入射场
E_in = laguerre_gauss(r, phi, p=2, l=1)

# 计算各点透射系数
theta = np.arctan(r/0.5)  # 近似入射角分布
T = np.zeros_like(E_in, dtype=complex)
for i in range(X.shape[0]):
    for j in range(X.shape[1]):
        n_stack = [n_air] + [n_sio2]*layers + [n_air]  # 简化结构
        M = transfer_matrix(n_stack, [d_graphene]*layers, theta[i,j])
        T[i,j] = 2/(M[0,0] + M[0,1]*n_air + M[1,0] + M[1,1]*n_air)

# 透射光强
I_transmit = np.abs(T * E_in)**2

注意这里有个暴力循环------实际计算应该用矢量化操作,但为了代码可读性先这么写。生产环境记得用numpy的广播机制优化速度。

当看到结果图里那个标志性的涡旋光斑时,小师弟突然问:"为啥石墨烯层数增加后,外围光环变暗了?" 指着代码里的sigma_graphene参数解释:"看这个复电导率的实部,每层石墨烯都在偷吃光子能量,三层叠加相当于三个串联的吸光滤镜。"

最后来个炫酷的可视化:

python 复制代码
plt.imshow(I_transmit, cmap='hot', extent=[-5,5,-5,5])
plt.colorbar(label='Transmitted Intensity (a.u.)')
plt.title(f'LG(2,1) Transmission with {layers} Graphene Layers')
plt.xlabel('x (mm)'); plt.ylabel('y (mm)')
plt.show()

运行结果出来那刻,师弟眼睛都亮了------图像中央的暗核清晰可见,外围三个同心光环的强度呈阶梯衰减,和论文里的Fig.5完美吻合。所以说啊,搞物理建模就像搭乐高,把基础模块拼对了,整个结构自然就立起来了。

相关推荐
爱学习的程序媛12 小时前
PSTN(公共交换电话网)的起源与发展
网络·信息与通信
北京耐用通信2 天前
破解AGV多协议互联难题:耐达讯自动化Profinet转Devicenet网关如何实现高效协同
人工智能·科技·物联网·网络协议·自动化·信息与通信
ESBK20252 天前
第四届移动互联网、云计算与信息安全国际会议(MICCIS 2026)二轮征稿启动,诚邀全球学者共赴学术盛宴
大数据·网络·物联网·网络安全·云计算·密码学·信息与通信
安科士andxe2 天前
60km 远距离通信新选择:AndXe SFP-155M 单模单纤光模块深度测评
网络·信息与通信
小李独爱秋2 天前
计算机网络经典问题透视:蜂窝网络切换如何“扼杀”你的TCP连接?
网络·网络协议·tcp/ip·计算机网络·php·信息与通信
Wangshanjie_983 天前
【通讯协议】-01、Modbus协议
单片机·信息与通信
Godspeed Zhao3 天前
现代智能汽车中的无线技术11.1——蜂窝移动通信技术(11)
汽车·信息与通信
北京耐用通信3 天前
耐达讯自动化Profinet转Devicenet网关:精细化工行业的“协议融合利器”
人工智能·物联网·网络协议·自动化·信息与通信
1+α3 天前
汽车里的“神经网络”——CAN总线科普
c语言·stm32·嵌入式硬件·信息与通信
小李独爱秋3 天前
计算机网络经典问题透视:如何探知无线AP的SSID与BSSID?
网络协议·计算机网络·wireshark·信息与通信