国产专区欧美精品,911国产精品,国产精品人人爽人人做我的可爱,欧美午夜影院一区

利用Python與HFSS聯合仿真設計一個微帶天線

2019-01-13 來源:微波射頻網 作者:CSDN 努力小菜籽 字號:

我們知道HFSS是一款電磁仿真商用軟件,用其進行天線的設計十分方便。而該軟件也預留了可以運行腳本的接口,使用者可以使用腳本對軟件進行控制,實現模型的建立、求解等等。由于后期可能會用到聯合仿真,而大多數聯合仿真的腳本都是使用的Matlab進行編程,網上也有不少現成的api,因為對python比較熟悉,且python除了數值計算其他的功能也相當強大,并且免費開源,于是決定用python寫一個建模的腳本(其實是我matlab學得太爛了),折騰了兩天,終于把微帶天線的模型建立與仿真的過程搞定了,當然是基于有Matthew Radway這位大牛的基礎上。這個例子也是接觸HFSS時手繪天線做的第一個例子,現在用代碼做一遍,也是很有意思的事情。下面分享給大家。

1、連接軟件

第一步當然要用腳本實現打開軟件了。關于這個步驟,HFSS幫助文檔中是這樣寫的

GetAppDesktop

Use:  GetAppDesktopis a function of    oAnsoftApp. This function does not take an input and it returns an object. The object is assigned to the variable   oDesktop.

Syntax:  GetAppDesktop()

Return Value:  Object.

Parameters:  None

Example:     

Set oDesktop = oAnsoftApp.GetAppDesktop()

給出了函數名,參數值,返回值,以及一個實例(這個幫助文檔寫得很不錯,但是后面閱讀過程中也發現了一些小錯誤,當然很可能是因為我用的是daoban)。這個返回值oAnsoftApp就是后面進行一系列操作要使用的對象,所有的操作的形式都是下面這樣:

oAnsoftApp. <CommandName> <args>

python中編寫了一個接口函數把這個函數封裝在里面。代碼如下(不是我寫的):

http://m.my-1688.com/uploadfile/2019/0113/20190113120702494.png

作者用了win32com.client.Dispatch()這個函數,這個函數是專門用來連接接口的,返回值中的那個oDesktop就是生成的對象。

實際調用代碼:

[oAnsoftApp, oDesktop] = hfss.setup_interface()

2、新建一個project

oProject = hfss.new_project(oDesktop)

這里就是用了上面生成的oDesktop對象新建了一個object,具體查閱help文檔和編寫api的工作和上一步一致,并且平時使用時直接使用接口調用即可。注意,下面進行的操作都在這個project中,所以下面操作的對象就是oProject了。這個時候HFSS里應該長這樣了。

3、保存project

養成良好習慣,新建的文件之后先保存,在編寫過程中因為沒有先保存,生成了一堆臨時文件,挺討厭的。這個傳人的參數可以包含路徑。

hfss.save_as_project(oDesktop,"E:/dj/test/microstrip_antenna.hfss")

4、新建一個design

這里傳人的參數為design的名字,設計模式。

oDesign = hfss.insert_design(oProject, "HFSSDesign1", "DrivenModal")

新建完成后發現和我們手動操作是一樣的。

5、建立模型

教程中首先新建了一個地板,并設置為PEC。這里也分別調用了這兩個函數,尺寸可以用字符串輸入,很方便靈活,不需要自己轉換為一堆小數點的數字。設置PEC表面首先需要獲得平面的faceid,再給這個表面設置邊界條件。

由于建模過程比較類似,這里就不逐個給出了,模型建立完畢如下圖(包括了設置邊界條件和設置端口):

6、設置求解和掃頻

這里求解函數傳人了中心頻點;掃頻傳入了掃頻方式,起始頻率和終止頻率,頻率間隔。

7、求解

對于每個setup進行求解。是不是和手動操作是一樣的?

hfss.solve(oDesign,setuplist)

8、退出HFSS

hfss.quit_application(oDesktop)

結束語:今天暫時研究到這兒,還有很多比如查看求解完成后的駐波、增益曲線等等還有設置主從邊界啦很多的api還沒有編寫,有時間會繼續完善。

做了個有趣的小玩意兒,分享給大家~

完整主函數源碼(api部分還不是很完整,哦,相當不完整,就先不給出了):

說明:本文中的微帶線設計案例來自李明洋老師的《HFSS電磁仿真設計應用詳解》一書的第10章----HFSS微帶天線設計實例。

部分api設計參考使用了Matthew Radway在github中分享的Interact with ANSYS HFSS via the HFSS Windows COM API。地址:http://mradway.github.io/hycohanz/
主題閱讀:微帶天線  Python  HFSS
主站蜘蛛池模板: 崇文区| 塔河县| 新竹市| 镇宁| 昭平县| 东城区| 广德县| 岱山县| 南安市| 东丰县| 定襄县| 兴仁县| 洪湖市| 封开县| 青冈县| 江城| 隆回县| 蓬安县| 东宁县| 玉溪市| 新干县| 阿瓦提县| 电白县| 扎赉特旗| 屯昌县| 偏关县| 乐陵市| 巴青县| 长宁区| 海丰县| 邻水| 嘉义市| 广平县| 松原市| 宝清县| 高碑店市| 甘孜县| 封开县| 杭锦旗| 岫岩| 忻城县|