仿真:透鏡建模與波前分析實(shí)踐)
1. 項(xiàng)目概述光學(xué)仿真中的基礎(chǔ)與進(jìn)階在光學(xué)系統(tǒng)設(shè)計(jì)與分析領(lǐng)域理解光波通過(guò)光學(xué)元件時(shí)的傳播特性至關(guān)重要。COMSOL Multiphysics作為一款強(qiáng)大的多物理場(chǎng)仿真軟件其波動(dòng)光學(xué)模塊能夠精確模擬從簡(jiǎn)單透鏡到復(fù)雜光子器件的各種光學(xué)現(xiàn)象。本次我們將聚焦兩個(gè)基礎(chǔ)但極具教學(xué)意義的光學(xué)模型點(diǎn)光源發(fā)射和平面波入射情況下光波通過(guò)透鏡的完整傳播過(guò)程。為什么選擇這兩個(gè)案例點(diǎn)光源模擬了理想球面波的產(chǎn)生與變換而平面波則代表了遠(yuǎn)場(chǎng)近似下的平行光束。通過(guò)對(duì)比這兩種截然不同的入射條件在相同透鏡作用下的行為差異我們可以直觀理解波前曲率與光學(xué)系統(tǒng)成像特性的關(guān)系。這不僅是光學(xué)課程中的經(jīng)典教學(xué)內(nèi)容更是實(shí)際光學(xué)系統(tǒng)設(shè)計(jì)如顯微鏡物鏡、相機(jī)鏡頭中必須掌握的基礎(chǔ)分析能力。2. 模型構(gòu)建基礎(chǔ)準(zhǔn)備2.1 物理場(chǎng)選擇與域設(shè)置在COMSOL中創(chuàng)建光學(xué)模型時(shí)首先需要明確物理場(chǎng)的選擇。對(duì)于可見(jiàn)光波段400-700nm的仿真我們通常使用電磁波頻域接口。在波長(zhǎng)較短且不考慮非線性效應(yīng)的情況下波動(dòng)光學(xué)模塊提供的電磁波波束包絡(luò)接口能顯著提升計(jì)算效率。具體到透鏡模型工作波長(zhǎng)設(shè)定為532nm綠光這是光學(xué)設(shè)計(jì)中常用的參考波長(zhǎng)計(jì)算域尺寸應(yīng)至少為透鏡直徑的3倍避免邊界反射影響PML完美匹配層厚度設(shè)為1-2個(gè)波長(zhǎng)用于吸收 outgoing waves關(guān)鍵提示對(duì)于高數(shù)值孔徑系統(tǒng)必須啟用矢量元件選項(xiàng)以準(zhǔn)確模擬偏振效應(yīng)這是許多初學(xué)者容易忽略的設(shè)置。2.2 透鏡幾何建模技巧標(biāo)準(zhǔn)球面透鏡的建模有兩種主流方法參數(shù)化建模法% COMSOL with MATLAB 參數(shù)示例 f 10e-3; % 焦距10mm n 1.5; % 折射率 R1 (n-1)*f; % 第一曲面半徑 R2 -R1; % 第二曲面半徑(對(duì)稱(chēng)雙凸透鏡)導(dǎo)入CAD法從Zemax/OpticStudio導(dǎo)出STEP文件在COMSOL中通過(guò)幾何-導(dǎo)入加載使用形成裝配體確保光學(xué)表面精度對(duì)于復(fù)雜非球面透鏡建議使用參數(shù)方程定義曲面z (cr2)/[1sqrt(1-(1k)c2r2)] α?r2 α?r? ...其中c為曲率k為圓錐常數(shù)α為高次項(xiàng)系數(shù)。3. 點(diǎn)光源模型的實(shí)現(xiàn)細(xì)節(jié)3.1 點(diǎn)光源的數(shù)學(xué)描述與設(shè)置理想點(diǎn)光源在COMSOL中可通過(guò)兩種方式實(shí)現(xiàn)電流源激勵(lì)法在電磁波接口中添加電流節(jié)點(diǎn)設(shè)置點(diǎn)電流密度J δ(x-x?)δ(y-y?)δ(z-z?)頻率設(shè)為光頻如532nm對(duì)應(yīng)約563THz背景場(chǎng)法% 背景場(chǎng)表達(dá)式 E_bg exp(-1i*k0*sqrt((x-xs)^2(y-ys)^2(z-zs)^2))/sqrt((x-xs)^2(y-ys)^2(z-zs)^2);其中(xs,ys,zs)為點(diǎn)光源位置k0為波數(shù)。3.2 網(wǎng)格劃分的特殊處理點(diǎn)光源附近的場(chǎng)強(qiáng)變化劇烈需要特殊的網(wǎng)格劃分策略在光源位置添加頂點(diǎn)網(wǎng)格控制設(shè)置徑向增長(zhǎng)的邊界層網(wǎng)格第一層厚度λ/20增長(zhǎng)率1.2層數(shù)10使用曲率自適應(yīng)網(wǎng)格% 網(wǎng)格控制參數(shù) hmax λ/2; % 最大單元尺寸 hmin λ/10; % 最小單元尺寸 hcurve 0.3; % 曲率因子3.3 后處理與結(jié)果分析關(guān)鍵后處理步驟包括場(chǎng)分布可視化電場(chǎng)模normE sqrt(abs(Ex)^2 abs(Ey)^2 abs(Ez)^2)相位分布arg(Ex)波前分析% 提取等相位面 phase atan2(imag(Ex),real(Ex)); isosurface(phase, 0); % 提取0相位面光束質(zhì)量評(píng)估M2因子計(jì)算光束寬度1/e2強(qiáng)度處直徑遠(yuǎn)場(chǎng)發(fā)散角4. 平面波入射的建模要點(diǎn)4.1 平面波的多種實(shí)現(xiàn)方式端口激勵(lì)法添加端口邊界條件選擇用戶定義模式輸入平面波表達(dá)式E0exp(-1ik0*z)背景場(chǎng)法% 斜入射平面波表達(dá)式 theta 30; % 入射角(度) E_bg E0*exp(-1i*k0*(x*sind(theta) z*cosd(theta)));遠(yuǎn)場(chǎng)近似法使用散射邊界條件設(shè)置入射場(chǎng)為平面波4.2 透鏡對(duì)平面波的調(diào)制作用通過(guò)監(jiān)測(cè)不同位置的場(chǎng)分布可以觀察到焦平面處的強(qiáng)度分布% 焦平面場(chǎng)強(qiáng) I_focal abs(Ex(x,y,z_f)).^2 abs(Ey(x,y,z_f)).^2;點(diǎn)擴(kuò)散函數(shù)(PSF)計(jì)算PSF abs(fftshift(fft2(E_focal))).^2;斯特列爾比(Strehl ratio)SR max(I_actual)/max(I_ideal);4.3 像差分析與優(yōu)化常見(jiàn)的像差類(lèi)型及其COMSOL實(shí)現(xiàn)球差通過(guò)改變透鏡曲率觀察波前畸變彗差離軸點(diǎn)光源產(chǎn)生的非對(duì)稱(chēng)像差場(chǎng)曲像平面彎曲現(xiàn)象色差多波長(zhǎng)分析下的焦距差異優(yōu)化示例% 使用COMSOL內(nèi)置優(yōu)化模塊 model.study.create(opt); model.study(opt).create(param, Parameter); model.study(opt).feature(param).set(pname, {R1 R2}); model.study(opt).feature(param).set(plistarr, {linspace(0.9*R1,1.1*R1,10) linspace(0.9*R2,1.1*R2,10)}); model.study(opt).create(eval, Evaluation); model.study(opt).feature(eval).set(expr, SR);5. 高級(jí)技巧與疑難排解5.1 計(jì)算效率優(yōu)化策略對(duì)稱(chēng)性利用對(duì)于軸對(duì)稱(chēng)系統(tǒng)使用2D軸對(duì)稱(chēng)建模對(duì)對(duì)稱(chēng)入射情況應(yīng)用對(duì)稱(chēng)邊界條件掃頻計(jì)算技巧% 參數(shù)化掃描設(shè)置 wavelengths linspace(400e-9,700e-9,10); model.study(std).feature(param).set(plist, wavelengths);GPU加速在首選項(xiàng)-求解器中選擇GPU計(jì)算需要NVIDIA CUDA兼容顯卡5.2 常見(jiàn)報(bào)錯(cuò)與解決方案網(wǎng)格劃分失敗檢查幾何完整性幾何-修復(fù)調(diào)整曲率因子和狹窄區(qū)域解析度求解器不收斂增加最大迭代次數(shù)調(diào)整阻尼因子嘗試不同的預(yù)條件器內(nèi)存不足使用域分解求解方法降低網(wǎng)格密度啟用Out-of-core求解模式5.3 實(shí)際工程中的驗(yàn)證方法網(wǎng)格收斂性分析% 網(wǎng)格收斂性測(cè)試 h_list [λ/2, λ/3, λ/4, λ/5]; error zeros(size(h_list)); for i 1:length(h_list) model.mesh(mesh1).feature(size).set(hmax, h_list(i)); model.solve; error(i) compute_error(); end理論驗(yàn)證點(diǎn)薄透鏡公式驗(yàn)證1/f (n-1)(1/R1 - 1/R2)焦斑尺寸驗(yàn)證d ≈ 2.44λf/D實(shí)驗(yàn)對(duì)比方法使用光束分析儀測(cè)量實(shí)際光斑干涉儀測(cè)量波前畸變CCD相機(jī)記錄強(qiáng)度分布6. 模型擴(kuò)展與應(yīng)用實(shí)例6.1 多透鏡系統(tǒng)仿真復(fù)雜光學(xué)系統(tǒng)的建模策略序列模式建模逐個(gè)添加光學(xué)元件使用射線光學(xué)模塊快速驗(yàn)證光路非序列模式建模啟用多次散射選項(xiàng)設(shè)置合理的最大反彈次數(shù)系統(tǒng)性能指標(biāo)% MTF計(jì)算示例 [freq, mtf] computeMTF(E_image, pixel_size); semilogx(freq, mtf);6.2 偏振效應(yīng)分析偏振光源設(shè)置線偏振E [1; 0; 0] (x方向偏振)圓偏振E [1; 1i; 0]/sqrt(2)雙折射材料建模% 各向異性材料定義 epsilon [nx^2 0 0; 0 ny^2 0; 0 0 nz^2]; model.material(mat1).propertyGroup(def).set(relpermittivity, epsilon);偏振像差分析Jones矩陣描述偏振態(tài)追蹤6.3 熱-光學(xué)耦合分析多物理場(chǎng)耦合設(shè)置添加固體傳熱接口定義熱源如激光吸收設(shè)置溫度依賴(lài)的折射率熱透鏡效應(yīng)建模% 熱致折射率變化 n n0 dn_dT*(T-T0); model.material(glass).set(n, n);結(jié)構(gòu)熱變形分析添加固體力學(xué)接口定義熱膨脹系數(shù)觀察鏡面形變?cè)谕瓿蛇@些基礎(chǔ)模型后建議嘗試將這些技術(shù)應(yīng)用于具體的光學(xué)系統(tǒng)設(shè)計(jì)場(chǎng)景如顯微鏡物鏡優(yōu)化、激光擴(kuò)束系統(tǒng)設(shè)計(jì)或光學(xué)傳感器性能分析。COMSOL的強(qiáng)大之處在于能夠?qū)⒐鈱W(xué)仿真與其他物理場(chǎng)耦合實(shí)現(xiàn)真正意義上的多物理場(chǎng)協(xié)同仿真。