新聞動(dòng)態(tài)

News Center

大功率激光系統(tǒng)的STOP分析5:OpticStudio STAR模塊工作流程

發(fā)布日期:
2023-01-09

瀏覽次數(shù):

大功率激光器廣泛用于各種領(lǐng)域當(dāng)中,例如激光切割、焊接、鉆孔等應(yīng)用中。由于鏡頭材料的體吸收或表面膜層帶來(lái)的吸收效應(yīng),將導(dǎo)致在光學(xué)系統(tǒng)中由于激光能量吸收所產(chǎn)生的影響也顯而易見(jiàn),大功率激光器系統(tǒng)帶來(lái)的激光能量加熱會(huì)降低此類光學(xué)系統(tǒng)的性能。為了確保焦距穩(wěn)定性和激光光束的尺寸和質(zhì)量,有必要對(duì)這種效應(yīng)進(jìn)行建模。在本系列的 5 篇文章中,我們將對(duì)激光加熱效應(yīng)進(jìn)行仿真,包括由于鏡頭材料溫度升高而引起的折射率變化,以及由機(jī)械應(yīng)力和熱彈性效應(yīng)造成的結(jié)構(gòu)形變。本篇是這個(gè)系列收關(guān)的一篇內(nèi)容。


使用 STAR 模塊分析 STOP 效應(yīng)


在您的 FEA 軟件中完成結(jié)構(gòu)與熱分析后,可將數(shù)據(jù)導(dǎo)出為一系列簡(jiǎn)單的文本文件,以便利用 STAR 模塊導(dǎo)入到 OpticStudio 中。在這篇文章中,我們將演示如何執(zhí)行完整的 OpticStudio 分析,以幫助您量化和了解系統(tǒng)光學(xué)性能的影響。有關(guān)所需 STAR 數(shù)據(jù)格式的完整詳細(xì)信息,請(qǐng)參閱 OpticStudio 幫助文件 STAR 選項(xiàng)卡> FEA 數(shù)據(jù)組>加載 FEA 數(shù)據(jù)章節(jié)。對(duì)于 Ansys Mechanical,有 ACT 擴(kuò)展可用于以正確格式自動(dòng)輸出數(shù)據(jù)。詳情請(qǐng)查看:OpticStudio STAR 模塊:Ansys 數(shù)據(jù)導(dǎo)出擴(kuò)展。https://support.zemax.com/hc/zh-cn/articles/4406536983315


在 OpticStudio 中加載和擬合 FEA 數(shù)據(jù)

注意:這些步驟操作需要您持有 STAR Module 以及 OpticStudio 授權(quán)。


1 首先,我們打開(kāi)文章下載附件中的 'Lens-3P_D25.4_2022.zar' 文件,這是系列文章首篇中介紹的原始序列模式光學(xué)系統(tǒng)。我們將在 STAR 模塊上應(yīng)用來(lái)自 FEA 工具的結(jié)構(gòu)和熱數(shù)據(jù),并評(píng)估其對(duì)名義光學(xué)系統(tǒng)性能的相關(guān)影響。


2 如果要加載 FEA 數(shù)據(jù),我們點(diǎn)擊?STAR…FEA數(shù)據(jù)…加載FEA數(shù)據(jù)(STAR…FEA Data…Load FEA Data),瀏覽到對(duì)應(yīng)數(shù)據(jù)文件位置,選擇全部相關(guān)文件,并點(diǎn)擊?打開(kāi)(Open)。這里有多個(gè)文件夾,其中包含了來(lái)自分析流程中不同時(shí)間點(diǎn)的數(shù)據(jù)。首先,我們使用來(lái)自 “FEA_Data_800W_0010s” 文件夾的數(shù)據(jù)。


大功率激光系統(tǒng)的STOP分析5:OpticStudio STAR模塊工作流程


下拉菜單可用于向正確的表面分配結(jié)構(gòu)數(shù)據(jù)集和熱數(shù)據(jù)集。右側(cè)顯示的布局圖可幫助我們檢查數(shù)據(jù)集是否良好匹配至系統(tǒng)元件表面,然后選擇確定(OK),以擬合數(shù)據(jù)。


大功率激光系統(tǒng)的STOP分析5:OpticStudio STAR模塊工作流程

大功率激光系統(tǒng)的STOP分析5:OpticStudio STAR模塊工作流程


使用擬合評(píng)估(Fit Assessment)工具可以檢查每個(gè)數(shù)據(jù)集的擬合誤差。默認(rèn)情況下,在擬合表面形變前會(huì)刪除每個(gè)數(shù)據(jù)集內(nèi)部的剛體運(yùn)動(dòng)(RBM)。這通??梢蕴岣邤M合準(zhǔn)確度,但用戶能夠完全控制該設(shè)置。


大功率激光系統(tǒng)的STOP分析5:OpticStudio STAR模塊工作流程


在結(jié)構(gòu)數(shù)據(jù)摘要與熱數(shù)據(jù)摘要(Structural Data Summary and Thermal Data Summary)表格中,用戶可以啟用或禁用每個(gè)表面的FEA數(shù)據(jù)集。


大功率激光系統(tǒng)的STOP分析5:OpticStudio STAR模塊工作流程


當(dāng)啟用STAR數(shù)據(jù)后,我們可以檢查分析窗口,以查看FEA數(shù)據(jù)對(duì)系統(tǒng)性能的影響,如波前圖(Wavefront Map)、點(diǎn)列圖(Spot Diagram)、矢高圖(Sag Map)等分析。


大功率激光系統(tǒng)的STOP分析5:OpticStudio STAR模塊工作流程

大功率激光系統(tǒng)的STOP分析5:OpticStudio STAR模塊工作流程

大功率激光系統(tǒng)的STOP分析5:OpticStudio STAR模塊工作流程


通過(guò) ZOS-API 將 FEA 數(shù)據(jù)導(dǎo)入到 STAR,并開(kāi)展光學(xué)性能分析


我們已經(jīng)演示了如何方便地將 FEA 數(shù)據(jù)手動(dòng)導(dǎo)入到 STAR。另一種方法是使用 STAR-API 的功能實(shí)現(xiàn)這個(gè)流程的自動(dòng)化。當(dāng)需要分析多個(gè) FEA 數(shù)據(jù)集時(shí),這種做法特別有用。在本節(jié)中,我們將演示如何使用 Matlab 腳本為 FEA 模擬的多個(gè)時(shí)步加載 FEA 數(shù)據(jù)。腳本 “TransientAnalysis.m” 將包含在文章附件中。


代碼中所包含的函數(shù)

將在代碼中創(chuàng)建以下六種函數(shù),并且在下方提供了對(duì)應(yīng)的講解。


大功率激光系統(tǒng)的STOP分析5:OpticStudio STAR模塊工作流程


ListFiles():將數(shù)據(jù)文件夾作為輸入字符串變量,該函數(shù)將讀取數(shù)據(jù)文件夾中的文件名,并根據(jù)命名規(guī)則識(shí)別表面編號(hào)以及數(shù)據(jù)文件是形變文件還是溫度文件。輸出項(xiàng)是一個(gè)結(jié)構(gòu) Data 和一個(gè)整數(shù)型文件數(shù),即文件夾中的文件數(shù)量。


RemoveAllFEA():該函數(shù)將允許從當(dāng)前系統(tǒng)中刪除所有導(dǎo)入的 FEA 數(shù)據(jù)。它將檢查是否為每個(gè)表面導(dǎo)入了溫度或形變數(shù)據(jù)集,然后卸載那些已導(dǎo)入的數(shù)據(jù)。


Surface = TheLDE.GetSurfaceAt(i);
StarData=Surface.STARData;
if StarData.Temperatures.FEAData.AreTemperaturesImported
StarData.Temperatures.FEAData.UnloadData()
fprintf('Remove Temperature Data @ surface %d\n',i)
end
if StarData.Deformations.FEAData.AreDeformationsImported
StarData.Deformations.FEAData.UnloadData()
fprintf('Remove Deformation Data @ surface %d\n',i)
end


FEALoad():用于從數(shù)據(jù)文件夾導(dǎo)入和加載變形和溫度數(shù)據(jù)集。必須先卸載先前導(dǎo)入的數(shù)據(jù),然后導(dǎo)入并應(yīng)用新的 FEA 數(shù)據(jù),否則結(jié)果將不會(huì)按預(yù)期更新??梢詫?FEA 數(shù)據(jù)集的坐標(biāo)轉(zhuǎn)換為每個(gè)表面的全局或局部坐標(biāo)??梢栽跀M合之前進(jìn)行可選擬合設(shè)置配置,例如在擬合結(jié)構(gòu)數(shù)據(jù)之前移除 RBM,并為熱數(shù)據(jù)設(shè)置 GRIN 步長(zhǎng)等。請(qǐng)注意,函數(shù) ImportDeformations()/ImportTemperatures() 不僅導(dǎo)入數(shù)據(jù),還執(zhí)行數(shù)據(jù)擬合,因此應(yīng)在此方法之前配置所有擬合設(shè)置。


if StarData.Deformations.FEAData.AreDeformationsImported
StarData.Deformations.FEAData.UnloadData() ;
end
StarData.Deformations.SetDataIsLocal;
StarData.Deformations.RBMs.Enable;
StarData.Deformations.FEAData.ImportDeformations(DeformationFilename);
StarData.Deformations.Fits.ApplyDeformations();
if StarData.Temperatures.FEAData.AreTemperaturesImported
StarData.Temperatures.FEAData.UnloadData() ;
end
StarData.Temperatures.SetDataIsGlobal;
StarData.Temperatures.Fits.GRINStep=0.2; StarData.Temperatures.FEAData.ImportTemperatures(TemperatureFilename);
StarData.Temperatures.Fits.ApplyTemperatures();


SpotDiagram():使用 ZOS-API 語(yǔ)法示例 22_seq_spot_diagram 中的代碼段在系統(tǒng)像面繪制點(diǎn)列圖。代碼包括以下步驟:


打開(kāi)批次化光線追跡工具:

raytrace = TheSystem.Tools.OpenBatchRayTrace();


執(zhí)行不考慮偏振的批次化光線追跡,使用歸一化光瞳坐標(biāo)進(jìn)行定義:

normUnPolData = raytrace.CreateNormUnpol((max_rays + 1) * (max_rays + 1),ZOSAPI.Tools.RayTrace.RaysType.Real,nsur);

normUnPolData.ClearData();


使用 Loop 添加追跡光線數(shù)目:

normUnPolData.AddRay(waveNumber, hx, hy_ary(field), px, py, ZOSAPI.Tools.RayTrace.OPDMode.None);


運(yùn)行光線追跡工具并開(kāi)始讀取結(jié)果:

raytrace.RunAndWaitForCompletion();
normUnPolData.StartReadingResults();


使用條件 While Loop,并且讀取光線結(jié)果:

[success, rayNumber, errCode, vigCode, x, y, ~, L, M, N, ~, ~, ~, ~, ~] = normUnPolData.ReadNextResult();


WavefrontMap():用于獲取系統(tǒng)的波前圖數(shù)據(jù)并且繪制對(duì)應(yīng)結(jié)果。上述代碼包含以下步驟。


創(chuàng)建新的波前圖,并獲取分析中的設(shè)置選項(xiàng):

WavefrontMapAnlysis=TheSystem.Analyses.New_WavefrontMap();
WavefrontSettings=WavefrontMapAnlysis.GetSettings();


配置分析中的設(shè)置選項(xiàng):

WavefrontSettings.Sampling=ZOSAPI.Analysis.SampleSizes.S_256x256;
WavefrontSettings.Field.SetFieldNumber(1);
WavefrontSettings.ShowAs=ZOSAPI.Analysis.ShowAs.FalseColor;
WavefrontSettings.STAREffects= ZOSAPI.Analysis.Settings.STAREffectsOptions.On;


應(yīng)用設(shè)置并獲取分析結(jié)果:

WavefrontMapAnlysis.ApplyAndWaitForCompletion();
WavefrontMap_Results = WavefrontMapAnlysis.GetResults();


對(duì)于 2D 結(jié)果,使用 DataGrids 取回?cái)?shù)據(jù)結(jié)果:

analysis_data =WavefrontMap_Results.DataGrids(1);
Nx=analysis_data.Nx;
Ny=analysis_data.Ny;
Z=zeros(Nx,Ny);
for x=1:1:Nx
for y=1:1:Ny
Z(x,y)=analysis_data.Values(x,y);
end
end


SagMap():用于獲取當(dāng)前系統(tǒng)內(nèi)的矢高圖數(shù)據(jù)并繪制對(duì)應(yīng)結(jié)果。代碼將執(zhí)行以下步驟。


創(chuàng)建新的矢高圖分析,并獲取分析中的設(shè)置選項(xiàng):

SagMapAnlysis=TheSystem.Analyses.New_SurfaceSag();
SagSettings=SagMapAnlysis.GetSettings();


配置分析中的設(shè)置選項(xiàng):

SagSettings.Sampling=ZOSAPI.Analysis.SampleSizes_Pow2Plus1_X.S_257x257;
SagSettings.ShowAs=ZOSAPI.Analysis.ShowAs.FalseColor;
SagSettings.Surface.SetSurfaceNumber(2);


應(yīng)用設(shè)置選項(xiàng)并獲取分析結(jié)果:

SagMapAnlysis.ApplyAndWaitForCompletion();
SagMap_Results = SagMapAnlysis.GetResults();


對(duì)于 2D 結(jié)果,使用 DataGrids 取回?cái)?shù)據(jù)結(jié)果:

analysis_data =SagMap_Results.DataGrids(1);
Nx=analysis_data.Nx;
Ny=analysis_data.Ny;
Z=zeros(Nx,Ny);
for x=1:1:Nx
for y=1:1:Ny
Z(x,y)=analysis_data.Values(x,y);
end
end


利用所創(chuàng)建的函數(shù)獲取光學(xué)性能分析結(jié)果


在這個(gè)示例中,從 FEA 軟件獲取不同表面在不同時(shí)間下的溫度和形變文件。本例中的時(shí)間分布包括 10 秒、60 秒、600 秒、1800 秒、3600 秒。

大功率激光系統(tǒng)的STOP分析5:OpticStudio STAR模塊工作流程

大功率激光系統(tǒng)的STOP分析5:OpticStudio STAR模塊工作流程


在主體函數(shù)中,已存在的 FEA 數(shù)據(jù)集將從系統(tǒng)中首先被移除,之后再將對(duì)應(yīng)時(shí)步的溫度和形變數(shù)據(jù)載入至系統(tǒng)當(dāng)中。我們可以使用 Matlab 將對(duì)應(yīng)的點(diǎn)列圖以及波前圖分析結(jié)果進(jìn)行展示和繪制。

RemoveAllFEA(TheSystem);
[Data,file_num]=ListFiles(Datafolder)
FEALoad(TheSystem,Data);

fig=SagMap(TheSystem,surf_num);
fig=SpotDiagram(TheSystem,[0]);
fig=WavefrontMap(TheSystem,field_num,STARoption);


保存 GIF 圖片


代碼的在后面的一個(gè)函數(shù)是把來(lái)自每個(gè)時(shí)間段文件夾的幀分析圖結(jié)合保存為 gif 格式圖形文件。

function SaveGif(figure,outputname,i)
Frame=getframe(figure);
nn=frame2im(Frame);
[nn,cm]=rgb2ind(nn,256);

if i==0
imwrite(nn,cm,outputname,'gif','LoopCount',inf,'DelayTime',1.5);
else
imwrite(nn,cm,outputname,'gif','WriteMode','append','DelayTime',1.5);
end
end


使用 SaveGif 與 For Loop,我們可以獲取連續(xù)的模擬分析結(jié)果。


使用 ZOS-API 代碼


該代碼為交互式代碼,需要確保在 Zemax License Manager 中已經(jīng)安裝 STAR 模塊授權(quán)。


1.打開(kāi)序列模式鏡頭文件。

2.在 Matlab下點(diǎn)擊交互式擴(kuò)展(Interactive Extension),生成交互式鏈接模板代碼。


大功率激光系統(tǒng)的STOP分析5:OpticStudio STAR模塊工作流程


3.點(diǎn)擊?編程…ZOP-API.NET應(yīng)用…交互式擴(kuò)展(Programming…ZOS-API.NET Applications…Interactive Extension)

大功率激光系統(tǒng)的STOP分析5:OpticStudio STAR模塊工作流程


4.在MATLAB中打開(kāi)交互式代碼 TransientAnalysis.m,相應(yīng)地調(diào)整下列部分,以自定義您的代碼:


大功率激光系統(tǒng)的STOP分析5:OpticStudio STAR模塊工作流程


5.運(yùn)行此代碼,將生成下列g(shù)if文件。


大功率激光系統(tǒng)的STOP分析5:OpticStudio STAR模塊工作流程


通過(guò)下面的 outSpot.gif 示例,可以看到點(diǎn)列圖從名義性能在形變和溫度影響下,在 10 秒、60 秒、600 秒、1800 秒和 3600 秒時(shí)間間隔的變化情況。



大功率激光系統(tǒng)的STOP分析5:OpticStudio STAR模塊工作流程

點(diǎn)擊圖片跳轉(zhuǎn)原文可觀看Gif文件



這里給出了 outWavefront 的示例。這個(gè) Gif 文件顯示了波前圖從名義系統(tǒng)到五個(gè)時(shí)步的變化情況。


大功率激光系統(tǒng)的STOP分析5:OpticStudio STAR模塊工作流程

點(diǎn)擊圖片跳轉(zhuǎn)原文可觀看Gif文件



結(jié)果與分析


當(dāng)把結(jié)構(gòu) FEA 數(shù)據(jù)集和熱 FEA 數(shù)據(jù)集加載到系統(tǒng)中后,我們就可以檢查 FEA 數(shù)據(jù)對(duì)系統(tǒng)性能的影響。例如,我們可以看下系統(tǒng)照射 10 秒激光后的情況。正如下列離焦 RMS 光斑半徑曲線所示,我們的名義系統(tǒng)達(dá)到了衍射極限。


大功率激光系統(tǒng)的STOP分析5:OpticStudio STAR模塊工作流程


我們可以在這個(gè)曲線上,添加照射 10 秒激光后只顯示熱梯度效應(yīng)以及同時(shí)顯示結(jié)構(gòu)形變和熱梯度的離焦 RMS 光斑半徑曲線,正如您所看到的,10 秒高強(qiáng)度激光光束照射會(huì)顯著降低系統(tǒng)性能。RMS 光斑尺寸從幾微米增加至近 300 微米。


大功率激光系統(tǒng)的STOP分析5:OpticStudio STAR模塊工作流程


此外,在對(duì)照射 10 秒后的系統(tǒng)分析像面上的軸上主光線位置時(shí),我們注意到主光線發(fā)生了顯著偏移。REAR 操作數(shù)返回了軸上主光線的徑向位置。它從名義位置移動(dòng)了 109 微米。這樣就造成了用于描述成像角度偏差的瞄準(zhǔn)誤差(BSER 操作數(shù))。


大功率激光系統(tǒng)的STOP分析5:OpticStudio STAR模塊工作流程


如果我們使用快速聚焦(Quick Focus)工具重新為系統(tǒng)聚焦,像面移動(dòng)近 4 毫米,而且性能會(huì)有所提高。現(xiàn)在,我們可以看到光斑尺寸縮小,波前差減少,但性能仍然遠(yuǎn)未達(dá)到衍射極限。不過(guò)在刪除大量離焦后,我們現(xiàn)在能在波前圖中觀察到一些由于熱效應(yīng)和結(jié)構(gòu)效應(yīng)導(dǎo)致的更精細(xì)結(jié)果。


大功率激光系統(tǒng)的STOP分析5:OpticStudio STAR模塊工作流程


接下來(lái),我們將比較名義系統(tǒng)和系統(tǒng)在 5 個(gè)時(shí)步(即 10 秒、60 秒、600 秒、1800 秒和3600 秒)的波前差。


大功率激光系統(tǒng)的STOP分析5:OpticStudio STAR模塊工作流程


根據(jù)相關(guān)結(jié)果,從名義系統(tǒng)到 10 秒激光照射后的系統(tǒng),我們觀察到 RMS 光斑半徑和 RMS 波前差顯著增加。這種性能下降是激光加熱的熱彈性效應(yīng)和熱光學(xué)效應(yīng)所導(dǎo)致的。隨著時(shí)間的推移,熱量可能會(huì)在系統(tǒng)上更加均勻地分布,從而導(dǎo)致光學(xué)元件的形狀和折射率梯度變化更加均勻/平滑。在較長(zhǎng)的照射時(shí)間下,這可能導(dǎo)致光斑尺寸縮小以及 RMS 波前差減少。


此外,STAR 模塊還可提供系統(tǒng)查看器(System Viewer)工具,方便您查看鏡頭體內(nèi)部的折射率梯度分布情況。下面所示的是 5 個(gè)時(shí)間間隔,即 10 秒、60 秒、600 秒、1800 秒、3600 秒時(shí)分別對(duì)應(yīng)的折射率梯度分布。


大功率激光系統(tǒng)的STOP分析5:OpticStudio STAR模塊工作流程


在這個(gè)系統(tǒng)中,熱致效應(yīng)導(dǎo)致聚焦光斑顯著增大,從而降低系統(tǒng)效率。如果改為使用更高透射率的光學(xué)膜層或修改系統(tǒng)外殼以改善冷卻,這些效應(yīng)可以得到緩解。OpticStudio、OpticsBuilder 和 STAR 實(shí)現(xiàn)的工作流程能方便地評(píng)估這些設(shè)計(jì)增強(qiáng)功能,并通過(guò)快速迭代獲得理想解決方案。


結(jié)論


在這篇文章中,我們使用 OpticStudio STAR 模塊演示了結(jié)構(gòu)、熱和光學(xué)性能分析的端到端工作流程。我們從經(jīng)過(guò)優(yōu)化的序列模式系統(tǒng)開(kāi)始,導(dǎo)出到 OpticsBuilder 開(kāi)展光機(jī)設(shè)計(jì),再導(dǎo)入回 OpticStudio 非序列模式,以執(zhí)行光線追跡,并使用體探測(cè)器來(lái)捕獲由于激光加熱而導(dǎo)致的每個(gè)元件上的吸收通量。然后從 OpticStudio 非序列模式導(dǎo)出相關(guān)結(jié)果,共享給 FEA 工程師,以便開(kāi)展 FEA 分析。在完成 FEA 分析后,我們使用 STAR 模塊把結(jié)構(gòu) FEA 結(jié)果和熱 FEA 結(jié)果導(dǎo)入回 OpticStudio 序列模式,以分析激光加熱導(dǎo)致的性能下降。


面向 OpticStudio 的 STAR 模塊提供的新功能可以將 FEA 結(jié)果直接集成到 OpticStudio 中。這有助于更全面地研究激光加熱引起的熱形變和結(jié)構(gòu)形變所造成的影響。


通過(guò)結(jié)合使用 Zemax 工具套件、OpticStudio、OpticsBuilder 和 STAR 模塊,設(shè)計(jì)團(tuán)隊(duì)能夠在其光學(xué)和光機(jī)設(shè)計(jì)工作流程中無(wú)縫集成 FEA 數(shù)據(jù)。此外,STAR-API 還可幫助工程師簡(jiǎn)化和自動(dòng)化完成整個(gè)流程。


相關(guān)推薦

Zemax手機(jī)鏡頭設(shè)計(jì) | 第四部分:結(jié)合 LS-DYNA 進(jìn)行沖擊碰撞性能分析
Ansys Optics本文是系列文章的第四部分,作為延展。該系列文章將...
LS-DYNA | 如何查找和消除初始穿透?
01.摘要本文介紹了何為交叉和穿透,和幾種不同的穿透類型。注:尤其不要混...
Maxwell如何將傅里葉變換結(jié)果參數(shù)化
電機(jī)的優(yōu)化設(shè)計(jì)問(wèn)題永遠(yuǎn)也繞不開(kāi)對(duì)諧波的優(yōu)化,雖然Maxwell后處理中自...
LS-DYNA隱式計(jì)算使用技巧 | 檢查清單
01.摘要本文介紹了LS-DYNA隱式計(jì)算的一些技巧,即在隱式求解前的一...