ZEMAX軟件編程使用技巧教程:使用ZPL宏進行優化——ZPLM操作數
本文介紹了如何通過使用ZPLM優化操作數在評價函數編輯器(Merit Function Editor )中使用ZPL宏定義復雜的優化目標。本文介紹了如何使用ZPLM約束系統的質心,以確保其能正確地平衡。作者 Alessandra Croce附件下載文章附件簡介OpticStudio中有將近400個操作數,幾乎可以將任何感興趣的值作為目標,包括SINE,PROD,SQRT等數學操作數,可以定義詳盡的評價函數。有時所需的值需要進行復雜的計算,但是無法在評價函數編輯器中執行。在這種情況下,可以使用優化操作數ZPLM執行宏來確定操作數的值。運行宏,并使用OPTRETURN關鍵字將值返回給評價函數。ZPLM操作數ZPLM 操作數包含六個參數: Mac#, Data, Hx, Hy, Px, Py
Mac#是OpticStudio應該執行的宏的編號。應將與ZPLM操作數一起使用的宏另存為ZPLnn.zpl,其中,00 ≤ nn ≤ 99。
例如,ZPLM調用宏ZPL03.zpl時,Mac#應該為3。
Data是由宏計算出來的數據值。單個宏中最多可以計算51個數據值 (0 ≤ Data ≤ 50)。 為了提高效率,僅當Data = 0時才執行宏;否則,將使用來自先前宏調用的數據(即Data = 0,至少需要調用一次)。
Hx, Hy, Px, 和 Py 是可以傳遞給宏以用于計算的值,它們不一定必須是歸一化的視場/光瞳坐標:
下面的示例將說明與ZPLM優化操作數一起使用的宏的定義。
ZPLM 示例:質心約束在某些光學系統(瞄準鏡,雙筒望遠鏡,安裝在三腳架上的照相機等)中,質心是要考慮的重要的機械因素。假設我們正在設計瞄準鏡,其中一個約束條件是使系統平衡。這意味著,質心(CM)應該位于前組元件和后組元件之間的中間位置。加載示例文件: <Documents>\Zemax\Samples\Sequential\Afocal\Afocal Riflescope.zmx
出于本示例的目的,將做出一些簡化示例的假設:
所有透鏡均旋轉對稱
所有材料為均勻介質
每個透鏡的質心都位于頂點的中間(嚴格來說,這僅適用于曲率相等且符號相反的透鏡)
表面1是全局坐標參考(GCRS)
每個元件的全局位置
每個元件的質量
系統總長(前透鏡至后透鏡)
GLCZ() 函數返回表面的全局z坐標
OPEV() 函數使用TMAS優化操作數提取元件的質量
GETSYSTEMDATA 關鍵字返回總光路長度(表面1到像面)
OPTRETURN 關鍵字將數據返回到宏
將宏另存為: ZPL01.ZPL,以便可以使用Mac#= 1調用它。評價函數中的 ZPLM在評價函數中,添加 Mac#= 1,Data= 0 的ZPLM操作數,這將運行宏并返回系統的質心。
此處僅返回一個值,要返回其他值,只需在宏中添加額外的 OPTRETURN 行:OPTRETURN data_number, value在此示例中,不進行優化,但是,操作過程與其他操作數相同(即設置所需的目標值和非零權重)。請注意,宏返回的值的單位可以是任意的,因此需要考慮ZPLM操作數的權重,以準確地表達此目標值相對于評價函數中列出的其他目標值的重要性。特別是,此宏需要非常小的權重才能使ZPLM與其他針對系統性能的操作數保持平衡。如前所述,ZPLM可以使用最多四個值(Hx,Hy,Px,Py)將數據傳遞到宏。可以使用 PVHX(), PVHY(), PVPX(), PVPY() 數值函數在宏中訪問傳遞的值。在此示例中,可以將鏡筒質心的位置和質量傳遞給宏,以說明鏡筒和透鏡組合的質心。
Hx = 鏡筒質心到系統中心的距離
Hy = 鏡筒質量
在評價函數中,將Mac#設置為2,輸入鏡筒質心位置(Hx)和質量(Hy)的值,并注意報告的數據值的變化:
切記:僅當Data = 0時才執行宏,以提高評價函數的評估速度。Ansys Zemax國內可靠代理商
光研科技南京有限公司是國內可靠的光學軟件和儀器光電供應商,提供企業定制化上門培訓服務,承接各類光學設計項目,并有一系列自主編寫出版的光學設計書籍。公司擁有一支高素質、高水平、實戰經驗豐富的管理,銷售以及研發團隊,從成立到現在已經為廣大企業,研究所以及高校提供了很多優秀的產品和服務,是光電圈內值得信賴的企業。追光逐夢,研以致用!以用戶的需求為起點,為客戶提供有價值的光學產品和服務一直都是光研科技南京有限公司的宗旨。
AnsysZemax光學軟件咨詢與訂購聯系方式
聯系人:南京光研 徐保平
手機號:15051861513
微信號:13627124798
您也可以掃一掃下面的二維碼直接咨詢

工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















