大功率激光器廣泛用于各種領(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)變形。
FEA 分析準(zhǔn)備
在本文中,我們將在OpticStudio中打開(kāi)完整的光機(jī)系統(tǒng),準(zhǔn)備記錄光束穿過(guò)鏡頭和反射鏡時(shí)被吸收的激光功率。隨后,我們使用可以導(dǎo)入到FEA軟件的格式來(lái)導(dǎo)出此數(shù)據(jù)。打開(kāi)附件中的‘system_NSC_2022.zar’ 文件。
體探測(cè)器物體
與 2D 探測(cè)器物體(例如矩形探測(cè)器、表面探測(cè)器、顏色探測(cè)器等)不同,體探測(cè)器為 3D 物體形式的探測(cè)器,探測(cè)器將通過(guò)像元(體積形式的像素)記錄對(duì)應(yīng)的吸收通量、入射通量以及體吸收通量。為了獲得鏡頭中對(duì)應(yīng)的吸收通量數(shù)據(jù),我們將在系統(tǒng)中使用體探測(cè)器物體。
當(dāng)使用體探測(cè)器時(shí),我們可以充分利用非序列模式中的嵌套規(guī)則,計(jì)算鏡頭等物體內(nèi)部吸收的通量。如果兩個(gè)非序列模式物體在空間里重疊,則重疊區(qū)域中的光線行為由嵌套規(guī)則進(jìn)行確定。嵌套規(guī)則規(guī)定:如果光線在空間里的同一位置上照射到一個(gè)以上的物體,NSC編輯器中列出的最后一個(gè)物體將用于確定該位置上用于與光線相互作用的表面屬性或體屬性。
添加體探測(cè)器物體
為了獲得鏡頭吸收的通量,我們將為每個(gè)元件添加一個(gè)體探測(cè)器物體。根據(jù)嵌套規(guī)則,在NSCE的每個(gè)鏡頭前面插入一個(gè)略大于相應(yīng)鏡頭元件的體探測(cè)器。#X Pixel、#Y Pixel和#Z Pixel等參數(shù)可用于指定每個(gè)體探測(cè)器物體中的像元總數(shù)量。此時(shí),我們應(yīng)該與FEA工程師進(jìn)行溝通如何設(shè)置該像元數(shù)量,這樣有助于確保無(wú)需使用過(guò)多像元數(shù)量的情況下為FEA分析提供足夠高的分辨率設(shè)置,以避免進(jìn)行過(guò)多數(shù)量的光線追跡。在本例中,我們決定使用適中的像元采樣100x100x100。
根據(jù)以下 NSCE 截圖,添加對(duì)應(yīng)的體探測(cè)器物體。
為機(jī)械元件應(yīng)用膜層
現(xiàn)在,我們?yōu)樗袡C(jī)械元件(NSCE中的14-26號(hào)CAD物體)應(yīng)用反射、吸收和散射屬性,可通過(guò)物體屬性...膜層/散射 (Object Properties…Coat/Scatter) 部分進(jìn)行設(shè)置。我們可以針對(duì) Face 0 設(shè)置膜層 AL_LASER 用于指定反射和吸收特性,散射則可以通過(guò)使用 散射分?jǐn)?shù)=1 的朗伯散射模型進(jìn)行定義。這些設(shè)置通用于 NSCE 中高亮表示的所有對(duì)應(yīng)物體。
物體屬性設(shè)置
在所有導(dǎo)入的CAD元件仍處于選中狀態(tài)的情況下,我們打開(kāi)物體屬性……類型(Object Properties…Type)并勾選物體作為探測(cè)器(‘Object is A Detector’)選項(xiàng)。這樣就能將這些物體設(shè)置為探測(cè)器(用于渲染CAD物體的三角形網(wǎng)格被視為像素網(wǎng)格記錄數(shù)據(jù)),從而能夠記錄物體表面上吸收的通量。
對(duì)于被用作探測(cè)器的 CAD 元件而言,被用作像素探測(cè)面的默認(rèn)數(shù)值可能不足以提供準(zhǔn)確記錄數(shù)據(jù)所需的分辨率。通過(guò)修改 物體屬性…CAD…ZUI大邊長(zhǎng)(Object Properties…CAD…Maximum edge length)參數(shù)為默認(rèn)值 0,我們可以縮小探測(cè)面/像素尺寸(并增加像素?cái)?shù)量)。
在本例中,我們將每個(gè)CAD元件的ZUI大邊長(zhǎng)值設(shè)置為0.8mm。
系統(tǒng)選項(xiàng):非序列模式設(shè)置
根據(jù)ZUI小相對(duì)光線強(qiáng)度(Minimum Relative Ray Intensity)的默認(rèn)設(shè)置,從CAD元件的膜層表面反射的光線在其功率降低至初始功率的0.1%(1e-3)以下時(shí)被終止。在我們對(duì)這個(gè)大功率激光器的分析中,即使功率閾值降低至初始功率相對(duì)較小的部分,每條光線所攜帶的能量仍然會(huì)導(dǎo)致系統(tǒng)加熱,必須予以考慮。為避免這個(gè)閾值所導(dǎo)致的能量損耗,我們將ZUI小相對(duì)光線強(qiáng)度(Minimum Relative Ray Intensity)設(shè)置為1.0000E-007。
本階段操作的實(shí)例文件 'system_NSC_2022_Final.zar’ 可通過(guò)點(diǎn)擊原文鏈接下載。
光線追跡和取回吸收數(shù)據(jù)
在使用如下所示設(shè)置運(yùn)行光線追跡后,吸收的通量數(shù)據(jù)將存儲(chǔ)在探測(cè)器中,并且可通過(guò)ZOS-API進(jìn)行使用和取回。
任何物體作為探測(cè)器(‘Object is Detector’)的表面上輻照度都可以在實(shí)體(Shaded)模型中直觀地顯示。
而且體探測(cè)器內(nèi)部的吸收通量可以在探測(cè)器查看器中進(jìn)行查看。
ZOS-API 作為一種有助于自動(dòng)化運(yùn)行數(shù)據(jù)導(dǎo)出流程的強(qiáng)大工具。在下一部分中,我們將演示如何使用ZOS-API腳本來(lái)取回探測(cè)器上存儲(chǔ)的通量數(shù)據(jù),并對(duì)輸出進(jìn)行配置,以符合您FEA軟件的輸入要求。
示例中所需的數(shù)據(jù)格式
在OpticStudio中,不同類型的探測(cè)器能夠存儲(chǔ)不同類型的數(shù)據(jù)。下表總結(jié)了我們從FEA分析所使用的每種探測(cè)器中抽取的數(shù)據(jù)類型。
探測(cè)器類型 | 數(shù)據(jù)類型 | 輻射單位 | 能量單位 |
矩形探測(cè)器 | 輻射照度 | 瓦/平方米 | 焦耳/平方米 |
瓦/平方厘米 | 焦耳/平方厘米 | ||
瓦/平方毫米 | 焦耳/平方毫米 | ||
瓦/平方英尺 | 焦耳/平方英尺 | ||
瓦/平方英寸 | 焦耳/平方英寸 | ||
輻射強(qiáng)度 | 瓦/球面度 | 焦耳/球面度 | |
輝度 | 瓦/球面度-平方米 | 焦耳/球面度-平方米 | |
體探測(cè)器 | 入射通量 | 瓦 | 吸收通量/體積 |
吸收通量 | 瓦 | 焦耳 | |
吸收通量/體積 | 瓦/立方米 | 焦耳/立方米 | |
瓦/立方厘米 | 焦耳/立方厘米 | ||
瓦/立方毫米 | 焦耳/立方毫米 | ||
瓦/立方英尺 | 焦耳/立方英尺 | ||
瓦/立方英寸 | 焦耳/立方英寸 | ||
物體作為探測(cè)器 | 入射通量 | 瓦/平方米 | 焦耳/平方米 |
瓦/平方厘米 | 焦耳/平方厘米 | ||
瓦/平方毫米 | 焦耳/平方毫米 | ||
瓦/平方英尺 | 焦耳/平方英尺 | ||
吸收通量 | 瓦/平方英寸 | 焦耳/平方英寸 |
下方表格中總結(jié)了可從各種探測(cè)器中獲取并用于 FEA 分析的數(shù)據(jù)類型:
探測(cè)器類型 | 像素形狀 | 數(shù)據(jù)類型 |
輻射學(xué) 單位 |
ZOS-API 語(yǔ)句 | |
矩形探測(cè)器 | 矩形 | 輻照度 |
瓦/ 平方厘米 |
bool | GetDetectorData(int ObjectNumber, int pixel, int Data(=2), out double Value) |
體探測(cè)器 | 矩形體積 | 吸收通量/體積 |
瓦/ 立方厘米 |
bool | GetDetectorData(int ObjectNumber, int pixel, int Data(=2), out double Value) |
物體作為探測(cè)器 | 三角形 | 吸收通量 |
瓦/ 平方厘米 |
double | AbsorbedIrradiance[get] |
本例中使用的 FEA 軟件是 Ansys Mechanical,它可以將吸收通量數(shù)據(jù)作為外部熱源導(dǎo)入,以用于熱模擬。導(dǎo)入數(shù)據(jù)所需的格式如下:
X Y Z AbsorbedData
X、 Y、Z 是每個(gè)像素中心的全局坐標(biāo),而 AbsorbedData 是上面列出的數(shù)據(jù)類型的值。
請(qǐng)注意,當(dāng)從 “探測(cè)器查看器” 窗口檢查吸收通量數(shù)據(jù)時(shí),針對(duì) “物體作為探測(cè)器” 選項(xiàng)數(shù)據(jù)盡快在 “文本” 選項(xiàng)卡中進(jìn)行查看?!拔谋尽?選項(xiàng)卡將顯示每個(gè)三角形像素的 “通量” 和 “輻照度” 值的文本列表。X、Y 和 Z 值是每個(gè)像素中心的局部坐標(biāo)。在 STOP 分析過(guò)程中,最好使用一個(gè)統(tǒng)一的全局坐標(biāo)系。如果要在全局坐標(biāo)中導(dǎo)出數(shù)據(jù),則需要進(jìn)行適當(dāng)?shù)淖鴺?biāo)轉(zhuǎn)換。
使用 ZOS-API 導(dǎo)出吸收數(shù)據(jù)
我們創(chuàng)建了自動(dòng)運(yùn)行這個(gè)流程,用于取回、格式排版和導(dǎo)出數(shù)據(jù)的Python腳本,如文章附件 ‘ExportAbsorbedFlux.py’。以下章節(jié)內(nèi)容將解釋該部分代碼的具體意義。
計(jì)算旋轉(zhuǎn)矩陣
首先,我們需要確定系統(tǒng)中每個(gè)物體的旋轉(zhuǎn)矩陣。如果未勾選 “物體屬性…類型…使用全局 XYZ 旋轉(zhuǎn)順序” 選項(xiàng),則使用以下公式計(jì)算物體的旋轉(zhuǎn)矩陣,其中 A、B 和 C 是 NSCE 中列出的傾斜 X、Y、Z 角度。
相反,如果勾選了 “使用全局 XYZ 旋轉(zhuǎn)順序” 選項(xiàng),則物體的旋轉(zhuǎn)矩陣取決于:
以上計(jì)算將在 rotation_matrix 函數(shù)中得到定義:
將局部坐標(biāo)轉(zhuǎn)換為全局坐標(biāo)
將物體局部坐標(biāo)轉(zhuǎn)換為全局坐標(biāo)的公式形式可以表達(dá)為如下形式:
其中,g 下標(biāo)表示全局坐標(biāo),o 表示偏移,l 表示局部物體坐標(biāo)。R11、R12…R33 是物體旋轉(zhuǎn)矩陣 R 的分量。
以上計(jì)算將在 convert_to_global 函數(shù)中得到定義:
計(jì)算局部坐標(biāo)并取回吸收通量數(shù)值
對(duì)于 “物體作為探測(cè)器” 選項(xiàng)而言:
局部坐標(biāo)將通過(guò)以下代碼的各鱗甲像素循環(huán)形式進(jìn)行計(jì)算:
position_1 = detector.GetVertex(0, 0.0, 0.0, 0.0)
position_2 = detector.GetVertex(1, 0.0, 0.0, 0.0)
position_3 = detector.GetVertex(2, 0.0, 0.0, 0.0)
x_position = (position_1[1] + position_2[1] + position_3[1])/3
y_position = (position_1[2] + position_2[2] + position_3[2])/3
z_position = (position_1[3] + position_2[3] + position_3[3])/3value = detector.AbsorbedIrradiance
position_1、position_2、position_3 代表各三角形像素的三個(gè)頂點(diǎn)。
bool GetVertex (int vertexNumber, out double X, out double Y, out double Z)
GetVertex 方法將用于取回指定頂點(diǎn)的 X、Y、Z 坐標(biāo)值。之后,該三角形中心的坐標(biāo)值將得到計(jì)算。
對(duì)于矩形探測(cè)器和體探測(cè)器而言,局部坐標(biāo)將通過(guò)以下代碼中的矩形像素/矩形體積像素循環(huán)中得到計(jì)算。
# Detector Rectanglelocal_x = ((j % pixelsX) - ((pixelsX - 1) / 2)) * (widthX / pixelsX)
local_y = (((j // pixelsX) % pixelsX) - ((pixelsY - 1) / 2)) * (widthY / pixelsY)
local_z = 0.0
value = TheNCE.GetDetectorData(i + 1, j + 1, 2, 0.0)[1]
# Detector Volumelocal_x = ((j % voxelsX) - ((voxelsX - 1) / 2)) * (widthX / voxelsX)
local_y = (((j // voxelsX) % voxelsY) - ((voxelsY - 1) / 2)) * (widthY / voxelsY)
local_z = ((j // (voxelsX * voxelsY)) - ((voxelsZ - 1) / 2)) * (widthZ / voxelsZ)
value = TheNCE.GetDetectorData(i + 1, j + 1, 2, 0.0)[1]
對(duì)吸收的數(shù)據(jù)進(jìn)行逐像素?cái)?shù)據(jù)取回,其中 i 表示物體序號(hào)的循環(huán),j 表示像素序號(hào)的循環(huán)。參考的本地坐標(biāo)系位于該物體的中心,在決定如何循環(huán)并依據(jù)從像素到像素順序獲取數(shù)據(jù)時(shí),應(yīng)注意探測(cè)器的像素編號(hào)。對(duì)于每種探測(cè)器類型,可以在 OpticStudio 幫助文件條目中查看探測(cè)器的像素編號(hào)注釋。
將局部坐標(biāo)轉(zhuǎn)換為全局坐標(biāo)并獲取結(jié)果
將提前創(chuàng)建空的數(shù)據(jù)陣列,例如 ‘detectorData’ 將用于存放局部坐標(biāo)以及探測(cè)器數(shù)據(jù),‘global_detectorData’ 將用于存放全局坐標(biāo)以及探測(cè)器數(shù)據(jù):
detectorData = []
global_detectorData = []
局部數(shù)據(jù)將作為各探測(cè)器像素循環(huán)計(jì)算的附加項(xiàng):
detectorData.append([local_x, local_y, local_z, float(value)])
最終,各探測(cè)器具有局部坐標(biāo)的陣列將轉(zhuǎn)換為具有全局坐標(biāo)的數(shù)據(jù)陣列:
detectorData.append([local_x, local_y, local_z, float(value)])
如何使用 Python 代碼
該代碼將結(jié)合 OpticStudio 的交互擴(kuò)展形式 (Interactive Extension) 運(yùn)行。
首先打開(kāi)非序列模式鏡頭文件,運(yùn)行光線追跡,勾選使用偏振(‘Use Polarization’)。
點(diǎn)擊編程……交互式擴(kuò)展(Click Programming…Interactive Extension),然后在Python IDE 中運(yùn)行 ExportAbsorbedFlux.py 代碼。
數(shù)據(jù)將保存為代碼中指定的文件夾下的 txt 文件。在運(yùn)行代碼的過(guò)程中將顯示附加數(shù)據(jù)的狀態(tài):
結(jié)論
我們已經(jīng)成功仿真了激光光束穿過(guò)光學(xué)系統(tǒng)時(shí)的吸收情況,并生成了吸收通量數(shù)據(jù)的文件。該數(shù)據(jù)與完整光機(jī)系統(tǒng)的模型相結(jié)合,可以為 FEA 工具中的結(jié)構(gòu)分析和熱分析提供輸入。在下一篇文章中,我們將演示如何使用 STAR 模塊獲得結(jié)構(gòu)分析和熱分析的輸出,并導(dǎo)入到 OpticStudio 中。
審核編輯:劉清
-
探測(cè)器
+關(guān)注
關(guān)注
14文章
2656瀏覽量
73285 -
激光器
+關(guān)注
關(guān)注
17文章
2544瀏覽量
60759 -
CAD
+關(guān)注
關(guān)注
18文章
1097瀏覽量
72813
原文標(biāo)題:大功率激光系統(tǒng)的STOP分析4:使用OpticStudio仿真激光吸收
文章出處:【微信號(hào):光電資訊,微信公眾號(hào):光電資訊】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
【TL6748 DSP申請(qǐng)】可調(diào)諧激光吸收光譜技術(shù)用于濃度場(chǎng)測(cè)量
AD603 會(huì)自動(dòng)補(bǔ)償激光微弱衰減(激光對(duì)某些氣體吸收引起的)嗎
半導(dǎo)體制造商ROHM株式會(huì)社三種新型雙波長(zhǎng)激光二極管
有什么方法可以增加材料對(duì)激光的吸收率
半導(dǎo)體材料中的光吸收機(jī)制
![半導(dǎo)體材料中的<b class='flag-5'>光吸收</b>機(jī)制](https://file.elecfans.com/web2/M00/0F/FC/poYBAGEZ1vmAHFQOAAAzEnJARR0890.png)
OpticStudio STAR模塊工作流程
使用OpticStudio進(jìn)行閃光激光雷達(dá)系統(tǒng)建模(上)
如何安裝OpticStudio的完整過(guò)程
使用OpticStudio進(jìn)行閃光激光雷達(dá)系統(tǒng)建模(中)
如何在OpticStudio中模擬人眼
Zemax:安裝Ansys版本的OpticStudio
解析Zemax OpticStudio中復(fù)合表面的工作原理
![解析Zemax <b class='flag-5'>OpticStudio</b>中復(fù)合表面的工作原理](https://file.elecfans.com/web2/M00/91/19/pYYBAGPq82mAemo9AAHGdJ2QlHQ171.png)
機(jī)載式激光甲烷泄漏遙測(cè)儀優(yōu)勢(shì)及產(chǎn)品特點(diǎn)
![機(jī)載式<b class='flag-5'>激光</b>甲烷泄漏遙測(cè)儀優(yōu)勢(shì)及產(chǎn)品特點(diǎn)](https://file1.elecfans.com/web2/M00/C0/8A/wKgZomXWsAuAA0hbAAI2E3KweDc333.png)
銅合金3D打印難點(diǎn)和激光吸收率影響因素
![銅合金3D打印難點(diǎn)和<b class='flag-5'>激光吸收</b>率影響因素](https://file1.elecfans.com/web2/M00/F9/A3/wKgZomaLXHSAMAJGAABEm3GDU54127.png)
評(píng)論