optiSLang與SPEOS 擴散參數優化應用
優化模擬目的
如何抓取正確的材料光學屬性參數,來模擬實際的材料行為一直是很大的困擾,BSDF量測機台受限於校正與量測角度,時常會有誤差。因此透過量測數據(曲線)當作目標,讓優化軟體去尋找合適的參數會是比較容易解決的作法。
優化環境設置
設定擴散板材料為體散射,表面使用散射材料,模擬準直光線通過擴散板後的光強度分布結果。但SPEOS的材料是用材質檔案來管理的,無法作為軟體的變量來使用因此要透過其他方法來抓變量,因此使用Python的語法來生成新的材質檔案,將擴散係數和高斯角,設定為兩個可控變量。
.擴散板模擬架構,模擬霧度量測的效果。
參數(變量)設定與抓取
將模擬一次的周期用語法完成,一個Loop的Workflow為:給予參數>取代材料參數>另存為新材質檔>取代擴散板的材質為新材質檔>運行模擬。在優化的過程中,系統會給予參數變量並執行一次Loop,最後取得結果。
目標(曲線)的設定與抓取
因為目標不是單一數值,而是剖面線,因此將剖面線上的數值透過SPEOS的Template檔案,從0度到85度去抓取出21個數值當作目標。
將模擬出來的個點數值除以最亮點,已取得這個目標曲線的歸一化分布值。
用一個算式去評斷模擬結果是否達到目標,即:
歸一化的0度結果 -1
歸一化的2度結果 -0.95
歸一化的4度結果 -0.83
歸一化的8度結果 -0.56 ……
理論上所有結果加起來為0時,就代表模擬結果會符合目標曲線,為考慮到正負號的誤差,將所有結果取平方,總和後再開根號,算式如下:
優化目標:上述公式結果逼近於0。
OptisLang for Workbench設定
安裝OptisLang時可額外再選取安裝for Workbench版本。操作與Workbench的設定一致,但優化的工具選取Optislang的工具列。
開啟參數(變量)設定,Thickness固定,gaussian角5度到30度,Diffusion變量0.1到1。
設定一個Object,內容描述為前面的Meri function,目標為Min,尋求趨近於0的最小值。
optiSLang優化結果判讀
執行優化後,optiSLang會測試各樣的參數,列出每一次的design point來找到最符合目標的參數組合。列出尋優的過程與Best Design point: Diffusion: 0.5 Gaussian: 15會有最接近曲線的結果。
從COP和響應面來看,Gaussian的參數對中心亮度結果有很大的正相關,而Diffuser的參數對大角度的結果來說比較有關聯,對中心亮度幾乎沒影響。
套入最佳的參數進行模擬,可以發現優化後的結果和目標的表現一致,證明透過優化的方式,已經找到最佳的擴散材質參數。
實際案例測試
驗證工作流可行之後,我們以實際案例來測試我們是否可以透過優化來得到參數目標。下圖是已知Lambertion的光源穿過厚度1mm擴版的時候數據分布的量測結果。
我們將這個目標曲線歸一化,計算出目標曲線各點的規一化數據,之後我們在將原本的目標參數,更改為新的目標,取得新的Meri Function公式,並匯入到OptisLang的設定進行優化,預期目標一樣接近於0。
將實際的Model建構出來,將模擬環境改為實際案例,導入一樣的語法來優化。
優化後最佳參數是Diffusion: 1.382和Gaussian: 28.75度。從COP和響應面來看,這兩個參數對整體結果來說具有很大的正相關,Diffuser的參數對45度到60度的結果影響較大,而整體來說Gaussian還是和結果比較相關的變因。
重新模擬之後,比較優化前後的數據,新的參數模擬結果(黃線)與目標曲線(藍線)接近吻合,相較原始的數值(橘線)差異很大,證實已找到符合實際材料的參數。