本發(fā)明屬于電磁場(chǎng)數(shù)值求解技術(shù)領(lǐng)域,一種針對(duì)非曲線邊界二維模型的網(wǎng)格劃分及信息獲取方法。
背景技術(shù):
在電磁場(chǎng)領(lǐng)域,數(shù)值方法已經(jīng)是其求解計(jì)算最重要的方式之一,而且在大量電磁場(chǎng)工程應(yīng)用中如天線設(shè)計(jì),濾波器分析和目標(biāo)散射特性研究,由于工程目標(biāo)的復(fù)雜性,這些應(yīng)用中經(jīng)常得不到解析解,此時(shí)就必須應(yīng)用高頻近似方法和數(shù)值方法進(jìn)行求解分析,這些數(shù)值方法包括有限元法,有限差分法,有限體積法。
而網(wǎng)格信息生成是有限元法,有限差分法,有限體積法等數(shù)值方法求解的先決條件。目前針對(duì)二維網(wǎng)格信息的生成,主要采用兩種方式:1對(duì)于規(guī)則形狀的模型,采用手動(dòng)劃分生成,然后通過(guò)計(jì)算生成網(wǎng)格信息,而手工構(gòu)造一個(gè)有效的網(wǎng)格是一項(xiàng)費(fèi)時(shí),繁瑣,甚至及其困難的工作。對(duì)于一些非曲線邊界的二維模型甚至不可能完成;2運(yùn)用諸如ansys,hypermesh等軟件,而這些軟件一般基于區(qū)域遞歸分解的網(wǎng)格算法,將整個(gè)模型進(jìn)行網(wǎng)格劃分后,一個(gè)一個(gè)網(wǎng)格遞歸生成整個(gè)模型的網(wǎng)格信息,而這些必須基于計(jì)算機(jī)強(qiáng)大的計(jì)算能力,非常復(fù)雜,由于遞歸求解非常占用cpu,損耗內(nèi)存,況且這些商用軟件并不對(duì)外提供網(wǎng)格信息。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是克服現(xiàn)有技術(shù)在獲取非曲線邊界二維模型網(wǎng)格劃分及信息獲取存在的不足,提出的一種新的二維模型劃分及網(wǎng)格信息獲取方法,為以后的數(shù)值求解方法奠定基礎(chǔ),解決電磁場(chǎng)領(lǐng)域中的相關(guān)問題。該方法基于java設(shè)計(jì)模式中的組合模式和外觀模式,將原始模型劃分成若干個(gè)基本模型,并和模型數(shù)據(jù)庫(kù)中的模型匹配,采用該方法將求解問題中的模型進(jìn)行劃分,利用xml文件進(jìn)行原始模型配置,最后通過(guò)坐標(biāo)變換公式,從而獲取整個(gè)模型的單元網(wǎng)格參數(shù)。其技術(shù)方案為:
獲取非曲線邊界二維模型的網(wǎng)格單元信息,主要包括以下步驟:
a.建立一個(gè)模型數(shù)據(jù)庫(kù),初始包括三角形、矩形、梯形等。
b.將待劃分的模型劃分為若干個(gè)基本模型,并和模型數(shù)據(jù)庫(kù)中的模型進(jìn)行匹配;若匹配成功,則進(jìn)入步驟c;若匹配失敗,則再次進(jìn)行劃分直到匹配成功。
c.將匹配成功的模型的頂點(diǎn)坐標(biāo)信息以及預(yù)設(shè)的單元數(shù)配置在模型格式數(shù)據(jù)文件中,比如自定義的xml文件。
d.解析步驟c中的模型格式數(shù)據(jù)文件并讀取相應(yīng)的信息,計(jì)算生成需要的網(wǎng)格單元數(shù)據(jù),包括坐標(biāo)信息,單元編號(hào)信息,以及總的網(wǎng)格信息;
e.對(duì)步驟d所得到的網(wǎng)格信息進(jìn)行分析計(jì)算,輸出得到相應(yīng)的電場(chǎng)信息和s參數(shù)等。
f.將計(jì)算得到的網(wǎng)格單元數(shù)據(jù)的待劃分模型加入模型數(shù)據(jù)庫(kù),進(jìn)一步擴(kuò)充模型數(shù)據(jù)庫(kù)。
本發(fā)明的有益效果:
利用本發(fā)明可以快速精確的獲取非曲線邊界二維模型的網(wǎng)格信息,且相比于手工劃分,除了在效率上得到很大的提升,還能完成一些手工劃分不能解決的模型;相比于商用軟件,本發(fā)明采用的是分治思想的一種變形,只需和模型數(shù)據(jù)庫(kù)進(jìn)行匹配,后續(xù)的網(wǎng)格信息就可直接獲取,大大降低了其時(shí)間復(fù)雜度,減少了對(duì)cpu和內(nèi)存的占用。除此之外,同一模型本發(fā)明只需一次配置,后續(xù)可將該模型加入自建數(shù)據(jù)庫(kù),以后更復(fù)雜的模型將可以用自建數(shù)據(jù)庫(kù)的模型來(lái)進(jìn)行匹配,從而可以進(jìn)一步提高對(duì)其他模型的求解效率。
附圖說(shuō)明
圖1是電磁場(chǎng)問題中一種復(fù)雜的二維結(jié)構(gòu)模型。
圖2是模型區(qū)域編號(hào)圖。
圖3是基本模型圖。
圖4是復(fù)合基本模型圖。
圖5復(fù)合基本模型流程圖。
圖6是坐標(biāo)平移和旋轉(zhuǎn)示意圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例來(lái)詳細(xì)描述本發(fā)明的技術(shù)方案。
獲取計(jì)算電磁學(xué)中復(fù)雜二維模型的網(wǎng)格模型,包括以下步驟:
a.建立一個(gè)模型數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)包括直角三角形,矩形,梯形,如圖3和圖4。
二維情況我們一般用三角形單元進(jìn)行剖分,這里之所以將矩形,梯形加入,因?yàn)樗鼈兛梢杂扇切谓M合而成,如圖5流程圖所示。
b.將待劃分的模型(如圖1所示)劃分為若干基本模型,并和模型數(shù)據(jù)庫(kù)中的模型進(jìn)行匹配;若匹配成功,則進(jìn)入步驟c;若匹配失敗,則再次進(jìn)行劃分直到匹配成功。
本實(shí)施例最終劃分為6個(gè)基本模型,如圖2所示。
c.將劃分好的模型的頂點(diǎn)坐標(biāo)信息以及預(yù)設(shè)的單元數(shù)配置在本實(shí)施例定義的xml文件格式中,以下是本實(shí)施例圖2中的1定義的xml文件格式,其它均可這樣定義。
d.調(diào)用函數(shù)解析xml文件生成單元網(wǎng)格信息,計(jì)算生成需要的網(wǎng)格單元數(shù)據(jù),包括坐標(biāo)信息,單元編號(hào)信息,以及總的網(wǎng)格信息。
該函數(shù)包括兩部分:1解析xml文件,本實(shí)施例采用的是依賴dom4j這個(gè)jar包進(jìn)行解析,這只是其中的一種比較簡(jiǎn)便的解析方式,也可以采用其他的解析方式,這里不再說(shuō)明;2解析生成單元網(wǎng)格信息,本實(shí)施例采用的是循環(huán)控制,作為一種公知的算法,不再詳細(xì)闡述,這樣即可得到基本模型的網(wǎng)格單元數(shù)據(jù),包括坐標(biāo)信息,單元編號(hào)信息。
這里我們將對(duì)該函數(shù)怎樣獲得網(wǎng)格單元數(shù)據(jù),坐標(biāo)信息,單元編號(hào)信息做進(jìn)一步的補(bǔ)充,上一步我們得到了基本模型頂點(diǎn)的坐標(biāo),這樣我們可以用解析三角形的方式(距離坐標(biāo)公式,余弦定理等)可以得到這個(gè)三角形各條邊的長(zhǎng)度以及各個(gè)角的大小,另一方面,我們已經(jīng)知道了預(yù)設(shè)的劃分單元數(shù),這樣便可以得到這個(gè)模型的每個(gè)網(wǎng)格單元數(shù)據(jù),坐標(biāo)信息和單元標(biāo)號(hào)信息,對(duì)于模型剛好和坐標(biāo)軸重合的情況這是很好用循環(huán)控制得到的,但是模型一般都不是和坐標(biāo)軸重合的,這時(shí),我們就需要一定的坐標(biāo)平移和旋轉(zhuǎn)變換讓它與坐標(biāo)軸重合,下面就是本實(shí)施例對(duì)于坐標(biāo)平移和旋轉(zhuǎn)變換的一個(gè)應(yīng)用:
如圖6所示,坐標(biāo)系x'o'y'的原點(diǎn)在坐標(biāo)系xoy中的坐標(biāo)為a,b,x軸與x'軸之夾角為θ??梢哉J(rèn)為坐標(biāo)系x'o'y'原是與坐標(biāo)系xoy重合,后因?yàn)閛'分別平移了a、b之距離,并且坐標(biāo)系二坐標(biāo)軸o'x'與o'y'又相對(duì)ox與oy逆時(shí)針旋轉(zhuǎn)了θ角而得到的。
在二坐標(biāo)系之間引入一個(gè)輔助坐標(biāo)系x"o'y",使它的二坐標(biāo)軸o'x″與o'y″分別與ox、oy平行。
在x"o'y"系中有一點(diǎn)p,其坐標(biāo)為(x″,y″),則由坐標(biāo)系平移公式與坐標(biāo)系旋轉(zhuǎn)公式可得:
x=x″+a
y=y(tǒng)″+b
故有
x″=x'cosθ+y'sinθ
y″=y(tǒng)'cosθ-x'sinθ
即
x=x'cosθ+y'sinθ+a
y″=y(tǒng)'cosθ-x'sinθ+b
這樣我們便可以得到基本模型的網(wǎng)格單元數(shù)據(jù),包括坐標(biāo)信息,單元編號(hào)信息。
e.同理我們重復(fù)步驟a-d就可以得到圖2中其他子模型(2,3,4,5,6)的網(wǎng)格單元數(shù)據(jù),包括坐標(biāo)信息,單元編號(hào)信息,然后就可以通過(guò)這個(gè)基本模型的單元網(wǎng)格信息組合成本實(shí)施例模型的總的網(wǎng)格信息。
這一部分也是本發(fā)明的一種關(guān)鍵思想的體現(xiàn),類似于算法里的分治,將整個(gè)問題先劃分成子問題,然后再由子問題組合起來(lái)解決整個(gè)問題。由于采用的是由用戶輸入單元信息即預(yù)設(shè),這樣就能保證每個(gè)基本模型的單元是一樣的,讀取上面的文件,就可以知道每個(gè)模型一共有多少個(gè)單元,再編歷下一個(gè)單元的時(shí)候只需累加上一個(gè)文件的單元數(shù),這樣就能形成全局的,整個(gè)模型的單元編號(hào),而坐標(biāo)直接讀取文件即可,這樣就生成了整個(gè)模型所需要的網(wǎng)格單元信息;
f.對(duì)步驟d所得到的網(wǎng)格信息進(jìn)行分析計(jì)算,輸出相應(yīng)的電場(chǎng)信息和s參數(shù)等。
g.將已知網(wǎng)格單元數(shù)據(jù)的待劃分模型加入模型數(shù)據(jù)庫(kù),進(jìn)一步擴(kuò)充模型數(shù)據(jù)庫(kù)。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,本發(fā)明的保護(hù)范圍不限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明披露的技術(shù)范圍內(nèi),可顯而易見地得到的技術(shù)方案的簡(jiǎn)單變化或等效替換均落入本發(fā)明的保護(hù)范圍內(nèi)。