電磁散射仿真建模中面片法向量自適應(yīng)修改方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于數(shù)值仿真中的幾何建模優(yōu)化技術(shù),適用于計(jì)算電磁學(xué)、計(jì)算流體力學(xué) 等各種與矢量場(chǎng)仿真相關(guān)的學(xué)科,具體是一種電磁散射仿真建模中面片法向量自適應(yīng)修改 方法。
【背景技術(shù)】
[0002] 在很多涉及到矢量場(chǎng)仿真的學(xué)科當(dāng)中,仿真對(duì)象的表面外法向分量正確性是影響 仿真結(jié)果的重要因素。以計(jì)算電磁學(xué)中的積分方程方法為例,對(duì)于處理閉域問題的磁場(chǎng)積 分方程或混合積分方程來說,其公式內(nèi)含法向量元素,必須保證所有單元法向一致向外,這 個(gè)問題在高頻方法計(jì)算時(shí)影響更為明顯,如果單元法向不一致,會(huì)導(dǎo)致錯(cuò)誤的計(jì)算結(jié)果。
[0003] 在某些仿真軟件如ANSYS里,已經(jīng)提供了命令改變某個(gè)面片的法向量。然而當(dāng)模 型復(fù)雜,面元素繁多時(shí),由于其可視性很復(fù)雜,利用ANSYS本身查看修改法向量便很困難 了。即使利用其它仿真軟件如FEK0雖然清楚的顯示了模型各面片的外法向分量,手動(dòng)進(jìn)行 逐個(gè)修改依然非常麻煩,對(duì)于某些含腔和夾縫的精細(xì)結(jié)構(gòu),根本無法通過手動(dòng)的方式完成 法向量修改。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的在于提供一種電磁散射仿真建模中面片法向量自適應(yīng)修改方法,通 過程序代替人力實(shí)現(xiàn)對(duì)各種復(fù)雜模型的法向量修改。
[0005] 實(shí)現(xiàn)本發(fā)明目的的技術(shù)方案為:一種電磁散射仿真建模中面片法向量自適應(yīng)修改 方法,步驟如下: 步驟一:對(duì)于任意給定的某模型剖分文件,若給定的剖分文件中有四面體信息和表面 三角形信息,則直接轉(zhuǎn)到步驟二;若文件僅提供完整的三角形表面剖分信息,即三角形對(duì)應(yīng) 節(jié)點(diǎn)號(hào)和各節(jié)點(diǎn)對(duì)應(yīng)坐標(biāo)位置,將此剖分文件轉(zhuǎn)換成.P〇ly的形式;將形成的.P〇ly文件導(dǎo) 入tetgen軟件,鍵入/tetgen -p -yname.poly命令,在此剖分閉合面內(nèi)形成四面體,得 到一個(gè)存有表面三角形信息、四面體信息的文件; 步驟二:讀入得到的剖分文件信息,根據(jù)剖分文件中的表面三角形信息、四面體信息建 立八叉樹分組,得到每一個(gè)四面體所在的非空組號(hào)和組內(nèi)四面體對(duì)應(yīng)的全局編號(hào);對(duì)組內(nèi) 四面體進(jìn)行循環(huán),尋找表面三角形與四面體的一一對(duì)應(yīng)關(guān)系,即每一個(gè)表面三角形處于哪 一個(gè)四面體上; 步驟三:找出與表面三角形對(duì)應(yīng)的四面體后,從四面體中點(diǎn)向該表面三角形中點(diǎn)連接 一條向量,并與此表面三角形的法向量作點(diǎn)乘;若乘積大于〇,則此三角形外法向分量正 確,無需修改;若乘積小于〇,此三角形外法向分量錯(cuò)誤,調(diào)換此原剖分文件中三角形對(duì)應(yīng) 的三個(gè)節(jié)點(diǎn)中任意兩個(gè)的順序,完成法向量的修改。
[0006] 本發(fā)明與現(xiàn)有技術(shù)相比,其顯著優(yōu)點(diǎn):1、對(duì)于已剖分完成的網(wǎng)格文件,無論是否存 在體信息,均能成功修改法向量。2、引入了八叉樹算法,算法執(zhí)行效率非常高。3、算法本身 具有自適應(yīng)性,即使原剖分文件的法向量極度不均勻,仍能作出正確修改(見圖6、7)。4、應(yīng) 用范圍廣,對(duì)于幾乎所有涉及矢量場(chǎng)仿真的學(xué)科,此發(fā)明均能有應(yīng)用價(jià)值。
【附圖說明】
[0007] 圖1為本發(fā)明處理的原本模型示意圖。
[0008] 圖2為剖分后的模型示意圖。
[0009]圖3為八叉樹技術(shù)示意圖。
[0010]圖4為面法向量修改方法示意圖。
[0011]圖5為修改后的法向量示意圖。 圖6是法向量極度不均勻的模型示意圖。 圖7為法向量極度不均勻的模型修改后的示意圖。
【具體實(shí)施方式】
[0012] 一種電磁散射仿真建模中面片法向量自適應(yīng)修改方法,步驟如下: 第一步,面剖分文件的建立。利用如ANSYS、GMESH等剖分軟件對(duì)物體表面進(jìn)行面元(以 三角形單元為例)剖分。此時(shí)得到的物體外表面面元的法向分量可能是混亂的。
[0013] 第二步,體剖分信息的形成。利用如ANSYS、GMESH等剖分軟件對(duì)物體進(jìn)行體元(以 四面體為例)剖分。對(duì)比較復(fù)雜的模型ANSYS、GMESH等剖分軟件無法進(jìn)行體剖分時(shí),將面 元信息導(dǎo)入tetgen軟件形成內(nèi)部四面體,至此剖分的體、面元信息已經(jīng)全部得到。
[0014] 第三步,建立體、面元關(guān)系。通過建立八叉樹,快速找到剖分后的每個(gè)三角形與四 面體單元的對(duì)應(yīng)關(guān)系。
[0015] 第四步,法向量修改,得到法向量正確的面剖分文件。計(jì)算每個(gè)面元的法向量,并 與面元所在四面體中點(diǎn)指向面元中心點(diǎn)的矢量作點(diǎn)乘運(yùn)算。乘積大于0則為正確的法向 量,反之錯(cuò)誤,修改對(duì)應(yīng)三角形節(jié)點(diǎn)號(hào)使之正確。修改完后得到正確法向量的剖分文件,供 數(shù)值仿真用。
[0016] 下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述。
[0017] 以圖1所示的F22飛機(jī)模型為例,由于F22建模時(shí)沒有考慮到部分面片的法向量 正確性,導(dǎo)致一些面的法向量向內(nèi),一部分向外。這樣的模型剖分后無法得到正確的三角面 元法向量,導(dǎo)致仿真結(jié)果錯(cuò)誤。本發(fā)明分為以下幾步修改三角面元的法向量: 步驟一:將模型導(dǎo)入ANSYS,對(duì)模型進(jìn)行三角形面元剖分。面剖分后的網(wǎng)格如圖2所示, 圖中黑色代表面元法向量向外,白色代表面元法向量向內(nèi)。右側(cè)機(jī)身和機(jī)翼大部分法向量 都是錯(cuò)誤的。
[0018] 步驟二:在ANSYS中對(duì)此模型進(jìn)行體剖分。ANSYS軟件在體剖分過程中能夠保證體 網(wǎng)格與面網(wǎng)格的相容性。對(duì)于一些精細(xì)結(jié)構(gòu),ANSYS不能成功剖分出四面體,這時(shí)將已剖分 好的三角形面網(wǎng)格信息寫成.poly的格式導(dǎo)入tetgen軟件,鍵入./tetgen -p -y name, poly,此命令可在保留原表面三角形網(wǎng)格的情況下在三角形面元圍成的閉合面內(nèi)自動(dòng)生成 四面體。
[0019] 步驟三:第二步完成后,已經(jīng)得到了三角形面元與四面體的網(wǎng)格信息,想要修改法 向量,首先要得到每個(gè)三角形面元屬于哪個(gè)四面體。為了加速尋找三角形所在的四面體號(hào), 對(duì)剖分好的模型建立八叉樹分組。分組的過程如圖3所示,由于三維分組示意圖不夠直觀, 所以該圖只是三維分組的一個(gè)二維剖面。分組的步驟為: (1)首先用一個(gè)足夠大的立方體將目標(biāo)體包圍住。該立方體就定義為第零層的第一個(gè) 且是最后一個(gè)組,把該立方體等分為八個(gè)子立方體形成第一層組,然后再對(duì)每個(gè)子立方體 進(jìn)行與上一步相同的細(xì)分,并以此類推直到最底層立方體的尺寸達(dá)到合適的大小為止,一 般為021~之間。圖3所示是一個(gè)四層結(jié)構(gòu)。
[0020] (2)對(duì)四面體單元循環(huán),找出每個(gè)四面體中點(diǎn)坐標(biāo)所在的組,即定義此四面體在 此組中,同時(shí)建立組中四面體與四面體全局編號(hào)的關(guān)系。循環(huán)完成后,所有組中沒有四面體 的為空組,反之為非空組。
[0021] (3)對(duì)非空組內(nèi)四面體進(jìn)行循環(huán),建立所有面與所在四面體的對(duì)應(yīng)關(guān)系,同時(shí)找 出交界面與邊界面,邊界面即不被兩個(gè)四面體公用的面。此時(shí)的邊界面應(yīng)該與面剖分出的 三角形面元統(tǒng)一。至此八叉樹的任務(wù)已經(jīng)完成,八叉樹的引入使對(duì)應(yīng)關(guān)系的尋找速度提升 了數(shù)十倍。
[0022] (4)找到了每個(gè)三角形對(duì)應(yīng)的四面體,只需從四面體中點(diǎn)向?qū)?yīng)三角形中點(diǎn)作一 條向量(圖4中的向量5),計(jì)算出此時(shí)的三角形法向分量
【主權(quán)項(xiàng)】
1. 一種電磁散射仿真建模中面片法向量自適應(yīng)修改方法,其特征在于步驟如下: 步驟一:對(duì)于任意給定的某模型剖分文件,若給定的剖分文件中有四面體信息和表面 三角形信息,則直接轉(zhuǎn)到步驟二;若文件僅提供完整的三角形表面剖分信息,即三角形對(duì)應(yīng) 節(jié)點(diǎn)號(hào)和各節(jié)點(diǎn)對(duì)應(yīng)坐標(biāo)位置,將此剖分文件轉(zhuǎn)換成.poly的形式;將形成的.poly文件導(dǎo) 入tetgen軟件,鍵入/tetgen -p -yname.poly命令,在此剖分閉合面內(nèi)形成四面體,得 到一個(gè)存有表面三角形信息、四面體信息的文件; 步驟二:讀入得到的剖分文件信息,根據(jù)剖分文件中的表面三角形信息、四面體信息建 立八叉樹分組,得到每一個(gè)四面體所在的非空組號(hào)和組內(nèi)四面體對(duì)應(yīng)的全局編號(hào);對(duì)組內(nèi) 四面體進(jìn)行循環(huán),尋找表面三角形與四面體的一一對(duì)應(yīng)關(guān)系,即每一個(gè)表面三角形處于哪 一個(gè)四面體上; 步驟三:找出與表面三角形對(duì)應(yīng)的四面體后,從四面體中點(diǎn)向該表面三角形中點(diǎn)連接 一條向量,并與此表面三角形的法向量作點(diǎn)乘;若乘積大于〇,則此三角形外法向分量正 確,無需修改;若乘積小于〇,此三角形外法向分量錯(cuò)誤,調(diào)換此原剖分文件中三角形對(duì)應(yīng) 的三個(gè)節(jié)點(diǎn)中任意兩個(gè)的順序,完成法向量的修改。
【專利摘要】本發(fā)明公開了一種電磁散射仿真建模中面片法向量自適應(yīng)修改方法。本發(fā)明針對(duì)任意復(fù)雜模型的面剖分信息或體面剖分信息,能夠自動(dòng)提取出三角形面元正確的外法向分量。針對(duì)電大尺寸的模型,網(wǎng)格數(shù)量上百萬甚至千萬,在法向量修改過程中加入八叉樹分組加快循環(huán)速度,使得算法執(zhí)行速度有了幾個(gè)數(shù)量級(jí)的提升。本發(fā)明能完全代替?zhèn)鹘y(tǒng)繁瑣的人力修改法向量方法,并且簡(jiǎn)單易用,適用范圍廣。
【IPC分類】G06F17-50
【公開號(hào)】CN104809258
【申請(qǐng)?zhí)枴緾N201410031588
【發(fā)明人】陳如山, 丁大志, 樊振宏, 郝汀
【申請(qǐng)人】南京理工大學(xué)
【公開日】2015年7月29日
【申請(qǐng)日】2014年1月23日