2020年6月26日 星期五

如何讀取HFSS模擬資料

HFSS模擬完成之後,如果要寫一個自動化程式讀取資料,有下面兩種方法:
  1. 將資料生成Table並以csv檔格式輸出,再讀取csv檔並解析資料到list當中。
  2. 利用GetSolutionDataPerVariation()直接讀取資料。
當資料量大的時候,第一種方法相當耗時,因為需要檔案的寫入/讀取及解析。第二種方法則是透過GetSolutionDataPerVariation()直接讀取,程式碼如下:

import ScriptEnv
ScriptEnv.Initialize("Ansoft.ElectronicsDesktop")
oDesktop.RestoreWindow()
oProject = oDesktop.GetActiveProject()
oDesign = oProject.GetActiveDesign()
oDesktop.ClearMessages("","",2)

oModule = oDesign.GetModule("ReportSetup")
arr = oModule.GetSolutionDataPerVariation(  
"Modal Solution Data", 
"Setup1 : Sweep", 
['Domain:=', 'Sweep'],
['Freq:=', ['All']], 
["dB(S(1,1))"])

AddWarningMessage(str(arr[0].GetRealDataValues("dB(S(1,1))")))

GetSolutionDataPerVariation()需要填入5個參數,Help對參數格式的解釋並不清楚。建議用錄製的方式生成包含變數的報告,如下圖。在呼叫GetSolutionDataPerVariation()的時候就知道填入參數的形式了。



執行上面的範例碼可以將S11的實部輸出到Message Manager視窗當中,如下圖。



沒有留言:

張貼留言