新聞動態(tài)

News Center

大功率激光系統(tǒng)的STOP分析4:使用OpticStudio仿真激光吸收

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

瀏覽次數(shù):

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


FEA 分析準(zhǔn)備


在本文中,我們將在OpticStudio中打開完整的光機系統(tǒng),準(zhǔn)備記錄光束穿過鏡頭和反射鏡時被吸收的激光功率。隨后,我們使用可以導(dǎo)入到FEA軟件的格式來導(dǎo)出此數(shù)據(jù)。打開附件中的?‘system_NSC_2022.zar’ 文件。


光線追跡和取回吸收數(shù)據(jù)


在使用如下所示設(shè)置運行光線追跡后,吸收的通量數(shù)據(jù)將存儲在探測器中,并且可通過ZOS-API進行使用和取回。


大功率激光系統(tǒng)的STOP分析4:使用OpticStudio仿真激光吸收

任何物體作為探測器(‘Object is Detector’)的表面上輻照度都可以在實體(Shaded)模型中直觀地顯示。


大功率激光系統(tǒng)的STOP分析4:使用OpticStudio仿真激光吸收




而且體探測器內(nèi)部的吸收通量可以在探測器查看器中進行查看。


大功率激光系統(tǒng)的STOP分析4:使用OpticStudio仿真激光吸收



ZOS-API 作為一種有助于自動化運行數(shù)據(jù)導(dǎo)出流程的強大工具。在下一部分中,我們將演示如何使用ZOS-API腳本來取回探測器上存儲的通量數(shù)據(jù),并對輸出進行配置,以符合您FEA軟件的輸入要求。如果您不熟悉ZOS-API,請參閱 ZOS-API – Zemax入門(https://www.zemax.com/blogs/free-tutorials/getting-started-with-zos-api)了解完整指南和技巧提示,以充分發(fā)揮其功能優(yōu)勢。


示例中所需的數(shù)據(jù)格式


在OpticStudio中,不同類型的探測器能夠存儲不同類型的數(shù)據(jù)。下表總結(jié)了我們從FEA分析所使用的每種探測器中抽取的數(shù)據(jù)類型。


探測器類型

數(shù)據(jù)類型

輻射單位

能量單位

矩形探測器

輻射照度

瓦/平方米

焦耳/平方米

瓦/平方厘米

焦耳/平方厘米

瓦/平方毫米

焦耳/平方毫米

瓦/平方英尺

焦耳/平方英尺

瓦/平方英寸

焦耳/平方英寸

輻射強度

瓦/球面度

焦耳/球面度

輝度

瓦/球面度-平方米

焦耳/球面度-平方米

體探測器

入射通量

吸收通量/體積

吸收通量

焦耳

吸收通量/體積

瓦/立方米

焦耳/立方米

瓦/立方厘米

焦耳/立方厘米

瓦/立方毫米

焦耳/立方毫米

瓦/立方英尺

焦耳/立方英尺

瓦/立方英寸

焦耳/立方英寸

物體作為探測器

入射通量

瓦/平方米

焦耳/平方米

瓦/平方厘米

焦耳/平方厘米

瓦/平方毫米

焦耳/平方毫米

瓦/平方英尺

焦耳/平方英尺

吸收通量

瓦/平方英寸

焦耳/平方英寸


下方表格中總結(jié)了可從各種探測器中獲取并用于 FEA 分析的數(shù)據(jù)類型:


探測器類型

像素形狀

數(shù)據(jù)類型

輻射學(xué)
單位

ZOS-API 語句

矩形探測器

矩形

輻照度

瓦/
平方厘米

bool

GetDetectorData (int ObjectNumber, int pixel, int Data(=2), out double Value)

體探測器

矩形體積

吸收通量/體積

瓦/
立方厘米

bool

GetDetectorData (int ObjectNumber, int pixel, int Data(=2), out double Value)

物體作為探測器

三角形

吸收通量

瓦/
平方厘米

double

AbsorbedIrradiance [get]


本例中使用的 FEA 軟件是 Ansys Mechanical,它可以將吸收通量數(shù)據(jù)作為外部熱源導(dǎo)入,以用于熱模擬。導(dǎo)入數(shù)據(jù)所需的格式如下:

X Y Z AbsorbedData

X、 Y、Z 是每個像素中心的全局坐標(biāo),而 AbsorbedData 是上面列出的數(shù)據(jù)類型的值。


請注意,當(dāng)從 “探測器查看器” 窗口檢查吸收通量數(shù)據(jù)時,針對 “物體作為探測器” 選項數(shù)據(jù)盡快在 “文本” 選項卡中進行查看?!拔谋尽?選項卡將顯示每個三角形像素的 “通量” 和 “輻照度” 值的文本列表。X、Y 和 Z 值是每個像素中心的局部坐標(biāo)。在 STOP 分析過程中,適合使用一個統(tǒng)一的全局坐標(biāo)系。如果要在全局坐標(biāo)中導(dǎo)出數(shù)據(jù),則需要進行適當(dāng)?shù)淖鴺?biāo)轉(zhuǎn)換。


使用 ZOS-API 導(dǎo)出吸收數(shù)據(jù)


我們創(chuàng)建了自動運行這個流程,用于取回、格式排版和導(dǎo)出數(shù)據(jù)的Python腳本,如文章附件 ‘ExportAbsorbedFlux.py’。以下章節(jié)內(nèi)容將解釋該部分代碼的具體意義。


計算旋轉(zhuǎn)矩陣

首先,我們需要確定系統(tǒng)中每個物體的旋轉(zhuǎn)矩陣。如果未勾選 “物體屬性…類型…使用全局 XYZ 旋轉(zhuǎn)順序” 選項,則使用以下公式計算物體的旋轉(zhuǎn)矩陣,其中 A、B 和 C 是 NSCE 中列出的傾斜 X、Y、Z 角度。


大功率激光系統(tǒng)的STOP分析4:使用OpticStudio仿真激光吸收

大功率激光系統(tǒng)的STOP分析4:使用OpticStudio仿真激光吸收


相反,如果勾選了 “使用全局 XYZ 旋轉(zhuǎn)順序” 選項,則物體的旋轉(zhuǎn)矩陣取決于:


大功率激光系統(tǒng)的STOP分析4:使用OpticStudio仿真激光吸收


以上計算將在 rotation_matrix 函數(shù)中得到定義:

大功率激光系統(tǒng)的STOP分析4:使用OpticStudio仿真激光吸收


將局部坐標(biāo)轉(zhuǎn)換為全局坐標(biāo)

將物體局部坐標(biāo)轉(zhuǎn)換為全局坐標(biāo)的公式形式可以表達為如下形式:

大功率激光系統(tǒng)的STOP分析4:使用OpticStudio仿真激光吸收

其中,g 下標(biāo)表示全局坐標(biāo),o 表示偏移,l 表示局部物體坐標(biāo)。R11、R12…R33 是物體旋轉(zhuǎn)矩陣 R 的分量。


以上計算將在 convert_to_global 函數(shù)中得到定義:


大功率激光系統(tǒng)的STOP分析4:使用OpticStudio仿真激光吸收



計算局部坐標(biāo)并取回吸收通量數(shù)值

對于 “物體作為探測器” 選項而言:

局部坐標(biāo)將通過以下代碼的各鱗甲像素循環(huán)形式進行計算:

detector.CurrentFace = 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 代表各三角形像素的三個頂點。


bool GetVertex (int vertexNumber, out double X, out double Y, out double Z)


GetVertex 方法將用于取回指定頂點的 X、Y、Z 坐標(biāo)值。之后,該三角形中心的坐標(biāo)值將得到計算。


對于矩形探測器和體探測器而言,局部坐標(biāo)將通過以下代碼中的矩形像素/矩形體積像素循環(huán)中得到計算。

# 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]


對吸收的數(shù)據(jù)進行逐像素數(shù)據(jù)取回,其中 i 表示物體序號的循環(huán),j 表示像素序號的循環(huán)。參考的本地坐標(biāo)系位于該物體的中心,在決定如何循環(huán)并依據(jù)從像素到像素順序獲取數(shù)據(jù)時,應(yīng)注意探測器的像素編號。對于每種探測器類型,可以在 OpticStudio 幫助文件條目中查看探測器的像素編號注釋。


將局部坐標(biāo)轉(zhuǎn)換為全局坐標(biāo)并獲取結(jié)果

將提前創(chuàng)建空的數(shù)據(jù)陣列,例如 ‘detectorData’ 將用于存放局部坐標(biāo)以及探測器數(shù)據(jù),‘global_detectorData’ 將用于存放全局坐標(biāo)以及探測器數(shù)據(jù):

detectorData = []
global_detectorData = []


局部數(shù)據(jù)將作為各探測器像素循環(huán)計算的附加項:

detectorData.append([local_x, local_y, local_z, float(value)])


***終,各探測器具有局部坐標(biāo)的陣列將轉(zhuǎn)換為具有全局坐標(biāo)的數(shù)據(jù)陣列:

detectorData.append([local_x, local_y, local_z, float(value)])


如何使用 Python 代碼

該代碼將結(jié)合 OpticStudio 的交互擴展形式 (Interactive Extension) 運行。

  1. 首先打開非序列模式鏡頭文件,運行光線追跡,勾選使用偏振(‘Use Polarization’)。

  2. 點擊編程……交互式擴展(Click Programming…Interactive Extension),然后在Python IDE 中運行 ExportAbsorbedFlux.py 代碼。


大功率激光系統(tǒng)的STOP分析4:使用OpticStudio仿真激光吸收

大功率激光系統(tǒng)的STOP分析4:使用OpticStudio仿真激光吸收

  1. 數(shù)據(jù)將保存為代碼中指定的文件夾下的 txt 文件。在運行代碼的過程中將顯示附加數(shù)據(jù)的狀態(tài):


大功率激光系統(tǒng)的STOP分析4:使用OpticStudio仿真激光吸收

大功率激光系統(tǒng)的STOP分析4:使用OpticStudio仿真激光吸收



結(jié)論


我們已經(jīng)成功仿真了激光光束穿過光學(xué)系統(tǒng)時的吸收情況,并生成了吸收通量數(shù)據(jù)的文件。該數(shù)據(jù)與完整光機系統(tǒng)的模型相結(jié)合,可以為 FEA 工具中的結(jié)構(gòu)分析和熱分析提供輸入。在下一篇文章中,我們將演示如何使用 STAR 模塊獲得結(jié)構(gòu)分析和熱分析的輸出,并導(dǎo)入到 OpticStudio 中。


相關(guān)推薦

【Lumerical系列】一種高效多模耦合/(解)復(fù)用的新方案
本期文章將介紹一種通過引入硅平面光波電路(PLC)作為中間體來實現(xiàn)高效多...
用于光子集成電路的集成微透鏡和光柵耦合器
本文介紹了一種用于光子集成電路光纖-波導(dǎo)耦合系統(tǒng)的多尺度仿真工作流程。光...
【2024 R2】Ansys Fluent 電池?zé)崾Э睾彤a(chǎn)氣模型案例教程
01簡要說明‐ Ansys Fluent 2024R2版本正式發(fā)布了電池...
Zemax | 如何在OpticStudio內(nèi)對斜切端面光線進行建模
本文介紹了如何在 OpticStudio 中對具有一定角度斜切端面的接收...