女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

全面介紹主調(diào)模塊,以及GUI模塊的編寫(xiě)

iIeQ_mwrfnet ? 來(lái)源:老貓電磁館 ? 作者:況澤靈 ? 2021-06-30 15:23 ? 次閱讀

摘要:本節(jié)主要介紹主調(diào)模塊,以及GUI模塊的編寫(xiě)。

主調(diào)模塊

終于到了主調(diào)模塊了,之前的章節(jié)主要介紹了參數(shù)計(jì)算,波導(dǎo)查值,以及HFSS封裝和調(diào)用等,所有準(zhǔn)備工作已就緒,只差一個(gè)“主體”將這些模塊調(diào)用起來(lái),實(shí)現(xiàn)這個(gè)功能的便是主調(diào)模塊main.py。

這一步的編寫(xiě)相對(duì)比較簡(jiǎn)單,按我個(gè)人習(xí)慣,還是采用了面向?qū)ο蟮?a href="http://www.asorrir.com/v/tag/1315/" target="_blank">編程思路,寫(xiě)一個(gè)叫Horn的對(duì)象,首先通過(guò)對(duì)象的初始化功能將輸入?yún)?shù)導(dǎo)入進(jìn)來(lái),然后調(diào)用“波導(dǎo)查值”模塊確定波導(dǎo)尺寸、“參數(shù)計(jì)算”模塊計(jì)算喇叭尺寸,再調(diào)用“HFSS調(diào)用模塊”,通過(guò)規(guī)定一系列建模動(dòng)作(如第三節(jié)所述),完成HFSS建模和運(yùn)算。

示意代碼如下,如果對(duì)于建模的動(dòng)作有不太明白了,請(qǐng)看上一篇文章的講解。

import paraCalc

import wg

import sim

class Horn:

def __init__(self, freq, HPE, HPH, wg_name=None):

self.freq = freq

self.HPE = HPE

self.HPH = HPH

self.wg_name = wg_name

self.wg_a, self.wg_b, self.horn_a, self.horn_b, self.horn_l = None, None, None, None, None

def wg_size(self):

if self.wg_name is None:

self.wg_a, self.wg_b = wg.check_by_freq(self.freq)

else:

self.wg_a, self.wg_b = wg.check_by_name(self.wg_name)

return self.wg_a, self.wg_b

def para(self):

self.wg_size()

if (self.wg_a or self.wg_b) is None:

print(‘Input error!’)

else:

self.horn_a, self.horn_b, self.horn_l = paraCalc.calc(self.freq, self.HPE, self.HPH, self.wg_a, self.wg_b)

def realize_in_hfss(self):

h = sim.HFSS()

# 設(shè)置變量

h.set_variable(‘wg_a’, self.wg_a)

h.set_variable(‘wg_b’, self.wg_b)

h.set_variable(‘wg_l’, self.wg_a*1.5)

h.set_variable(‘horn_a’, self.horn_a)

h.set_variable(‘horn_b’, self.horn_b)

h.set_variable(‘horn_l’, self.horn_l)

h.set_variable(‘wg_t’, 0.5)

h.set_variable(‘a(chǎn)b’, 75/self.freq)

# 波導(dǎo)內(nèi)腔

h.create_centered_rectangle(‘wg_a’, ‘wg_b’, 0, ‘wg_in’)

h.create_centered_rectangle(‘wg_a’, ‘wg_b’, ‘wg_l’, ‘wg_in_’)

h.connect(‘wg_in’, ‘wg_in_’)

# 喇叭內(nèi)腔

h.create_centered_rectangle(‘wg_a’, ‘wg_b’, ‘wg_l’, ‘horn_in’)

h.create_centered_rectangle(‘horn_a’, ‘horn_b’, ‘wg_l+horn_l’, ‘horn_in_’)

h.connect(‘horn_in’, ‘horn_in_’)

# 波導(dǎo)外形

h.create_centered_rectangle(‘(wg_a+wg_t*2)’, ‘(wg_b+wg_t*2)’, ‘-wg_t’, ‘wg’)

h.create_centered_rectangle(‘(wg_a+wg_t*2)’, ‘(wg_b+wg_t*2)’, ‘wg_l’, ‘wg_’)

h.connect(‘wg’, ‘wg_’)

# 喇叭外形

h.create_centered_rectangle(‘(wg_a+wg_t*2)’, ‘(wg_b+wg_t*2)’, ‘wg_l’, ‘horn’)

h.create_centered_rectangle(‘(horn_a+wg_t*2)’, ‘(horn_b+wg_t*2)’, ‘horn_l+wg_l’, ‘horn_’)

h.connect(‘horn’, ‘horn_’)

# 布爾運(yùn)算生成喇叭,然后設(shè)為PEC

h.unite(‘horn’, ‘wg’)

h.unite(‘horn_in’, ‘wg_in’)

h.subtract(‘horn’, ‘horn_in’)

h.set_material(‘horn’)

# 生成區(qū)域并賦予輻射邊界

h.create_region(‘a(chǎn)b’)

h.assign_radiation_region()

h.insert_radiation_setup()

# 設(shè)置端口

h.create_centered_rectangle(‘wg_a’, ‘wg_b’, 0, ‘port’)

h.assign_port(‘port’)

h.insert_analysis_setup(self.freq)

# 創(chuàng)建報(bào)告

h.create_reports()

# 保存工程并運(yùn)行

h.save_prj()

h.run()

if __name__ == ‘__main__’:

f, E, H = 10, 30, 20

a_horn = Horn(f, E, H)

a_horn.realize_in_hfss()

以上代碼可能沒(méi)有太多需要解釋的,可以看到的是,定義好HFSS接口后,調(diào)用過(guò)程就很輕松愉快了。

圖形交互界面模塊

開(kāi)篇提到過(guò),Python實(shí)現(xiàn)圖形界面的方法有很多,除了Tkinter屬于自帶包外,其他著名的包如PyQt、wxPython等都需要額外安裝,考慮到我們的小程序功能單一,界面也不需要太花哨,采用Python自帶的Tkinter是一種較為經(jīng)濟(jì)快捷的選擇。

由于第一次寫(xiě)界面,代碼質(zhì)量可能有點(diǎn)差,實(shí)現(xiàn)效果也不怎么樣,好在我們要做的東西功能簡(jiǎn)單,不會(huì)影響使用。(自我安慰。。。)

不廢話,直接上代碼。

from tkinter import Tk, Label, StringVar, Entry, Button, Frame, TOP

import main

root = Tk()

root.title(‘最佳喇叭計(jì)算 by kuangzl’)

root.geometry(‘420x280’)

root.resizable(width=False, height=False)

tip = Label(root, text=‘由波束寬度計(jì)算喇叭尺寸,

使得該尺寸下增益最大化’, height=3,

font=(‘Microsoft YaHei UI’, 12, ‘italic’))

tip.pack(side=TOP)

frm = Frame(root)

frm.pack()

Label(frm, text=‘中頻(GHz):’).grid(row=0, column=0)

Label(frm, text=‘E面(deg):’).grid(row=1, column=0)

Label(frm, text=‘H面(deg):’).grid(row=2, column=0)

Label(frm, text=‘波導(dǎo)寬(mm):’).grid(row=0, column=2)

Label(frm, text=‘波導(dǎo)窄(mm):’).grid(row=1, column=2)

Label(frm, text=‘喇叭寬(mm):’).grid(row=2, column=2)

Label(frm, text=‘喇叭窄(mm):’).grid(row=3, column=2)

Label(frm, text=‘喇叭長(zhǎng)(mm):’).grid(row=4, column=2)

def calc():

f = float(v1.get())

E = float(v2.get())

H = float(v3.get())

horn = main.Horn(f, E, H)

horn.para()

v4.set(horn.wg_a)

v5.set(horn.wg_b)

v6.set(horn.horn_a)

v7.set(horn.horn_b)

v8.set(horn.horn_l)

def hfss():

f = float(v1.get())

E = float(v2.get())

H = float(v3.get())

horn = main.Horn(f, E, H)

horn.para()

horn.realize_in_hfss()

v1 = StringVar()

Entry(frm, textvariable=v1, width=8).grid(row=0, column=1, padx=10, pady=5)

v2 = StringVar()

Entry(frm, textvariable=v2, width=8).grid(row=1, column=1, padx=10, pady=5)

v3 = StringVar()

Entry(frm, textvariable=v3, width=8).grid(row=2, column=1, padx=10, pady=5)

v4 = StringVar()

Label(frm, textvariable=v4, width=10).grid(row=0, column=3)

v5 = StringVar()

Label(frm, textvariable=v5, width=10).grid(row=1, column=3)

v6 = StringVar()

Label(frm, textvariable=v6, width=10).grid(row=2, column=3)

v7 = StringVar()

Label(frm, textvariable=v7, width=10).grid(row=3, column=3)

v8 = StringVar()

Label(frm, textvariable=v8, width=10).grid(row=4, column=3)

Button(frm, text=‘calc’, command=calc).grid(row=4, column=0)

Button(frm, text=‘hfss’, command=hfss).grid(row=4, column=1)

root.mainloop()

這段代碼實(shí)現(xiàn)的效果是這樣的:

小結(jié)

至此,該小程序已經(jīng)完成了九成以上,作為自用已經(jīng)毫無(wú)問(wèn)題了!但如果還想將程序分享出來(lái),則須打包成可執(zhí)行文件(如exe),這一步貌似很簡(jiǎn)單,卻有不少的坑,我將在下一節(jié)詳細(xì)介紹。

本篇即到此為止,下一篇將會(huì)是終篇,謝謝各位觀看(*^_^*)!

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 封裝
    +關(guān)注

    關(guān)注

    128

    文章

    8459

    瀏覽量

    144720
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4886

    瀏覽量

    70217
  • hfss
    +關(guān)注

    關(guān)注

    32

    文章

    167

    瀏覽量

    50791
  • GUI
    GUI
    +關(guān)注

    關(guān)注

    3

    文章

    674

    瀏覽量

    40713

原文標(biāo)題:用Python實(shí)現(xiàn)喇叭天線設(shè)計(jì)小工具(四)

文章出處:【微信號(hào):mwrfnet,微信公眾號(hào):微波射頻網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    藍(lán)牙低功耗模塊的原理和應(yīng)用介紹

    隨著物聯(lián)網(wǎng)技術(shù)的快速發(fā)展,藍(lán)牙低功耗模塊在連接各種設(shè)備和傳輸數(shù)據(jù)方面發(fā)揮著重要作用。今天將為您介紹藍(lán)牙低功耗模塊的工作原理以及其廣泛的應(yīng)用領(lǐng)域。 藍(lán)牙低功耗
    的頭像 發(fā)表于 05-21 15:56 ?112次閱讀

    國(guó)產(chǎn)SiC碳化硅功率模塊全面取代進(jìn)口IGBT模塊的必然性

    國(guó)產(chǎn)SiC模塊全面取代進(jìn)口IGBT模塊的必然性 ——傾佳電子楊茜 BASiC基本半導(dǎo)體一級(jí)代理傾佳電子(Changer Tech)-專(zhuān)業(yè)汽車(chē)連接器及功率半導(dǎo)體(SiC碳化硅MOSFET單管,SiC
    的頭像 發(fā)表于 05-18 14:52 ?200次閱讀
    國(guó)產(chǎn)SiC碳化硅功率<b class='flag-5'>模塊</b><b class='flag-5'>全面</b>取代進(jìn)口IGBT<b class='flag-5'>模塊</b>的必然性

    博世GTM IP模塊架構(gòu)介紹

    上篇文章我們介紹了博世GTM IP模塊的核心功能及基礎(chǔ)結(jié)構(gòu)模塊。本篇文章將繼續(xù)解析GTM模塊架構(gòu),重點(diǎn)介紹I/O
    的頭像 發(fā)表于 03-07 17:50 ?754次閱讀
    博世GTM IP<b class='flag-5'>模塊</b>架構(gòu)<b class='flag-5'>介紹</b>

    儲(chǔ)能變流器PCS中碳化硅功率模塊全面取代IGBT模塊

    在儲(chǔ)能變流器(PCS)中,碳化硅(SiC)功率模塊全面取代傳統(tǒng)IGBT模塊的趨勢(shì)主要源于其顯著的技術(shù)優(yōu)勢(shì)、成本效益以及系統(tǒng)級(jí)性能提升。SiC模塊
    的頭像 發(fā)表于 02-05 14:37 ?542次閱讀

    數(shù)據(jù)I/O模塊的概念、特點(diǎn)以及作用

    ? 本文簡(jiǎn)單介紹了數(shù)據(jù)I/O模塊的概念、特點(diǎn)以及作用。 一、數(shù)據(jù) I/O 模塊是什么 1. 承接內(nèi)外數(shù)據(jù)交互的“橋梁” 數(shù)據(jù) I/O 模塊
    的頭像 發(fā)表于 01-21 11:10 ?718次閱讀

    SFP模塊的監(jiān)控與故障排除技巧

    模塊的第一步是了解其基本參數(shù),包括光功率、溫度、電壓和數(shù)據(jù)速率等。這些參數(shù)可以通過(guò)設(shè)備的管理界面或?qū)S玫谋O(jiān)控工具來(lái)獲取。 2. 使用管理界面 大多數(shù)網(wǎng)絡(luò)設(shè)備都提供了管理界面,如命令行界面(CLI)或圖形用戶(hù)界面(GUI),用于查看SFP
    的頭像 發(fā)表于 01-16 18:11 ?842次閱讀

    SiC MOSFET分立器件及工業(yè)模塊介紹

    BASiC國(guó)產(chǎn)SiC碳化硅MOSFET分立器件及碳化硅功率SiC模塊介紹
    發(fā)表于 01-16 14:32 ?1次下載

    智慧光迅VOLT光模塊介紹

    顛覆你對(duì)中小場(chǎng)景網(wǎng)絡(luò)搭建的傳統(tǒng)認(rèn)知,感受到一絲絲來(lái)自全光網(wǎng)絡(luò)的震撼。 01 產(chǎn)品介紹 VOLT光模塊的外觀相體型稍大于普通的SFP光模塊,采用了標(biāo)準(zhǔn)的GPON協(xié)議,可以注冊(cè)基于GPON協(xié)議的ONU或者光AP。為了應(yīng)用各種復(fù)雜場(chǎng)景
    的頭像 發(fā)表于 12-03 09:32 ?2154次閱讀
    智慧光迅VOLT光<b class='flag-5'>模塊</b><b class='flag-5'>介紹</b>

    40G光模塊介紹及常見(jiàn)問(wèn)題探討

    模塊廠家提供40G光模塊,應(yīng)用于數(shù)據(jù)中心,云計(jì)算,高性能計(jì)算場(chǎng)景,廣泛兼容華為,華三,思科,銳捷等光纖模塊品牌,助您實(shí)現(xiàn)高速數(shù)據(jù)傳輸。本文介紹40G光
    的頭像 發(fā)表于 11-25 11:56 ?737次閱讀

    唯創(chuàng)知音SoundSticker V7.0 賀卡模塊介紹

    模塊
    WT-深圳唯創(chuàng)知音電子有限公司
    發(fā)布于 :2024年10月25日 17:36:28

    EtherCAT總線IO模塊功能及安裝介紹

    XD系列插片式遠(yuǎn)程IO模塊,成套系統(tǒng)主要由耦合器、各種功能IO模塊、電源輔助模塊以及終端模塊組成。有多種通訊協(xié)議總線的耦合器,例如PROFI
    的頭像 發(fā)表于 07-14 09:14 ?1404次閱讀
    EtherCAT總線IO<b class='flag-5'>模塊</b>功能及安裝<b class='flag-5'>介紹</b>

    插片式遠(yuǎn)程 IO模塊:熱電阻溫度采集模塊與PLC配置案例

    XD系列成套系統(tǒng)主要由耦合器、各種功能I/O模塊、電源輔助模塊以及終端模塊組成。有多種通訊協(xié)議總線的耦合器,例如Profinet、EtherCAT、Ethernet/IP、Cclink
    的頭像 發(fā)表于 07-12 09:34 ?712次閱讀
    插片式遠(yuǎn)程 IO<b class='flag-5'>模塊</b>:熱電阻溫度采集<b class='flag-5'>模塊</b>與PLC配置案例

    AC/DC電源模塊的原理、特點(diǎn)以及其在實(shí)際應(yīng)用中的重要性

    取出來(lái),并將其轉(zhuǎn)換為穩(wěn)定的直流電源,供給各種不同功率需求的設(shè)備使用。本文將介紹AC/DC電源模塊的原理、特點(diǎn)以及其在實(shí)際應(yīng)用中的重要性。 AC/DC電源模塊的原理、特點(diǎn)
    的頭像 發(fā)表于 06-11 14:11 ?1000次閱讀
    AC/DC電源<b class='flag-5'>模塊</b>的原理、特點(diǎn)<b class='flag-5'>以及</b>其在實(shí)際應(yīng)用中的重要性

    常用的電源模塊有哪些

    常用的電源模塊有哪些 電源模塊是電子設(shè)備中不可或缺的組成部分,它們將輸入的電壓轉(zhuǎn)換為設(shè)備所需的電壓,以保證設(shè)備的正常運(yùn)行。本文將詳細(xì)介紹常用的電源模塊類(lèi)型、特點(diǎn)
    的頭像 發(fā)表于 06-10 16:28 ?2888次閱讀

    藍(lán)牙模塊怎么使用?一篇全面指南!

    、基礎(chǔ)知識(shí) 藍(lán)牙模塊是什么? 藍(lán)牙模塊是一種集成了藍(lán)牙功能的電路板,它可以將數(shù)字信號(hào)轉(zhuǎn)換為藍(lán)牙信號(hào)進(jìn)行傳輸。這種模塊通常包括一個(gè)微控制器,以及用于發(fā)射和接收藍(lán)牙信號(hào)的無(wú)線電頻率(RF)
    的頭像 發(fā)表于 05-29 13:53 ?3631次閱讀