python 與HFSS聯(lián)合仿真的教程講解
看了很多其他人寫的,python與HFSS聯(lián)合仿真的博客,但說實話,都沒有說到點子上。今天,給大家說說我的思路。
python與HFSS聯(lián)合仿真,有3種思路。下邊一一介紹。第一種在HFSS中,選擇tools-->record script to file ,選擇導出到py文件即可。HFSS就會將你接下來的操作,轉換為代碼。
而你以后使用的時候,只需要改一下參數(shù)就可以了。
需要注意的是,這個python不可以直接用python編譯器運行的,因為ScripEnv庫,是HFSS自己的庫。
如果要仿真這個python文件,是在HFSS的tools-->run script。建議大家從新建文件錄制,并且錄制到最后的保存文件。(CSDN博客MNVCAT原創(chuàng))錄制之后,建議大家打開這個python文件,自己看一看。
有一個小小的問題,HFSS在腳本的開頭自動生成的注釋,有中文“月”存在,直接運行的話,會報類似于“/xe6”之類的錯,大家手動刪除漢字就行。(如果你細心,看下邊的兩個圖,也會發(fā)現(xiàn)的)
第二種就是當你百度“python加HFSS”時,會遇到的一個叫做“hycohanz”的庫。
但是我在使用過程中,遇到了許多問題。這個庫,它調(diào)用了imp,而imp在python3.4之后就已經(jīng)被import代替,如果自己去修改“hycohanz”的源碼,會很麻煩。
而如果使用pythono3.4以下的版本,要調(diào)用win32庫,在加載win32庫之后,也會遇到一個“missing _init_.py win32com.gen_py”,而這個gen.py根本不存在。無疾而終。
第三種也是最簡單的。就是使用python提供的軟件接口+HFSS的錄制功能。這個思路是看到知乎上的一篇文章啟發(fā)的思路的。在這個思路里,要用到python提供的win32庫,所以,
第一步,先pip install win32,將win32庫安裝。
第二步,使用HFSS的錄制功能,將想要自動化完成的功能轉化為代碼,這步就是第一種思路。
第三步,給大家演示如下
這是原來的錄制文件
這是修改之后的文件(各位不要直接把我的圖復制粘貼走,我已經(jīng)寫到實驗報告里了)
可以看出來,原理就是將win32與HFSS的接口,兩兩對上。
第四步,就是運行這個修改好的python文件了。
好了,python與HFSS聯(lián)合仿真就是這樣。
補充:hfss和python_天線仿真軟件哪個好?例如HFSS?
就我目前的經(jīng)驗來說,我常用的三款電磁仿真軟件是HFSS, CST和Feko。
先說結論:沒有哪款軟件是最好的,找最符合自己應用需求的才是王道。
HFSS應該是最好用的天線仿真軟件,尤其適用于電小尺寸天線和口徑面積在2個波長以內(nèi)的天線。CST適用于電尺寸稍大的天線,尤其是寬帶天線,CST中集成的時域算法可以用對天線進行時域分析,寬帶天線的時域分析是特別重要的一點。FEKO一般用來仿電大尺寸天線,尤其是發(fā)射面天線。
根據(jù)我個人的經(jīng)驗,分別介紹一下,希望對題主有幫助:
HFSS: HFSS基于FEM算法也就是有限元,是一種頻域分析算法,常用于電小尺寸復雜結構天線的設計,尤其是諧振天線,比如我最近在設計植入在人體中的窄帶天線,在HFSS中仿真設計很方便,很容易就找到諧振點,但是應用基于時域算法的CST,天線就很難找到諧振點。
CST: 個人認為CST的主要賣點就是他們獨有的時域算法FIT,有限時域積分,可以用來算中型的電大尺寸天線,尤其是可以用來評估寬帶天線的時域特性,分析寬帶天線的發(fā)射接收波形。
FEKO: MOM和快算多極子起家,集成了PO、UTD等散射及繞射算法,最近加入了FDTD算法。主要拿來算大尺寸天線,尤其是反射面天線。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章:
1. js select支持手動輸入功能實現(xiàn)代碼2. 如何在PHP中讀寫文件3. java加載屬性配置properties文件的方法4. PHP正則表達式函數(shù)preg_replace用法實例分析5. 什么是Python變量作用域6. 《Java程序員修煉之道》作者Ben Evans:保守的設計思想是Java的最大優(yōu)勢7. CSS3中Transition屬性詳解以及示例分享8. php redis setnx分布式鎖簡單原理解析9. bootstrap select2 動態(tài)從后臺Ajax動態(tài)獲取數(shù)據(jù)的代碼10. vue使用moment如何將時間戳轉為標準日期時間格式
