本發(fā)明屬于計算流體力學(簡稱cfd)的網格生成領域,具體涉及一種跨數(shù)模縫隙的網格生成方法,采用本發(fā)明方法可以實現(xiàn)物面網格線在數(shù)模縫隙處不發(fā)生沉降,從而保證生成高精度的物面網格。
背景技術:
數(shù)??p隙與曲面的生成和連接之間的數(shù)學原理有關,因此數(shù)模在生成時候縫隙不能避免。然而在cfd技術領域,由于復雜數(shù)模曲面間往往存在縫隙,很多應用(如:網格的生成等)都不能高質量完成。生成物面網格線的時候一部分的投影點會掉入縫隙,這樣生成物面網格線的時候在縫隙處會出現(xiàn)沉降現(xiàn)象,網格生成的時候在數(shù)??p隙邊界會產生一系列的雜亂的網格,極大影響網格質量。上述應用中希望在數(shù)模表面生成的網格都具有較高的質量,而目前尚未有一種有效的方法來消除數(shù)模縫隙在網格生成過程中的不良影響,并且由此而獲得高質量的網格。
技術實現(xiàn)要素:
為了克服現(xiàn)有技術的上述缺點,本發(fā)明提出了一種跨數(shù)??p隙的網格生成方法,用于生成高質量的表面網格,解決目前因數(shù)模有縫隙質量低而影響網格生成質量的難題。
本發(fā)明解決其技術問題所采用的技術方案是:一種跨數(shù)??p隙的網格生成方法,包括如下步驟:
步驟一、對落入數(shù)模縫隙的投影點進行定位,確定投影到數(shù)模縫隙里的離散點的個數(shù),同時獲得數(shù)模縫隙兩側離縫隙邊緣最近的兩點a和b;
步驟二、利用兩點a和b在數(shù)模縫隙處生成直線ab;
步驟三、運用線性插值插入新的點代替原來落入數(shù)??p隙中的投影點。
與現(xiàn)有技術相比,本發(fā)明的積極效果是:本發(fā)明旨在解決目前數(shù)模面間縫隙在多個應用領域中產生較大負面影響的技術難題,提供了一種跨數(shù)??p隙以消除消極影響的網格生成方法。本發(fā)明實現(xiàn)了對落入數(shù)??p隙的投影點的定位和參數(shù)的獲取,并以此為基礎,給出了基于在縫隙處生成新的直線方法,以及基于在直線上插入新的替代點來保證物面網格線在數(shù)??p隙處不發(fā)生沉降現(xiàn)象的實現(xiàn)方法,采用本發(fā)明的網格生成方法在有縫隙的數(shù)模表面生成了高質量的網格,確保了物面網格線在數(shù)??p隙處不發(fā)生沉降,使得物面網格線在數(shù)??p隙處能平滑過渡。本發(fā)明方法可廣泛用于數(shù)模表面高精度網格生成等對網格質量有要求的領域。
附圖說明
本發(fā)明將通過例子并參照附圖的方式說明,其中:
圖1為物面網格線的生成示意圖;
圖2為物面網格線沉降及質量較差網格示意圖;
圖3為點的檢測與判定的一種實施例示意圖;
圖4為點的檢測與判定的另一種實施例示意圖;
圖5為生成直線并插入新的點示意圖;
圖6為f6標模算例顯示效果示意圖。
具體實施方式
本發(fā)明根據數(shù)??p隙上方生成物面網格線的離散點投影落入數(shù)??p隙中的特點,檢測篩選獲得所需要的投影點的參數(shù),找到數(shù)模上用來生成物面網格線且離數(shù)??p隙邊緣最近的兩個投影點,通過這兩個點生成直線。然后在上述連接物面網格線上兩點而生成的直線上,根據所獲得的點的參數(shù),運用線性插值插入新的點代替原來落入數(shù)??p隙中的投影點,新生成的點在數(shù)??p隙之上緊貼數(shù)模表面,避免了用來生成物面網格線的投影點落入數(shù)??p隙,由此避免了物面網格線的時候在縫隙處出現(xiàn)沉降現(xiàn)象,從而保證了網格的生成質量。
本發(fā)明方法具體包括如下步驟:
步驟一、數(shù)??p隙附近所需投影點的判定及參數(shù)獲取
物面網格線本質上是一條數(shù)模表面的曲線,其具體生成過程首先是在數(shù)模上畫一條所需直線,其次是將這條直線用離散方程離散成眾多的離散點,最后將這些離散點通過射線投影的方法投影到數(shù)模表面再彼此連接,從而形成一條緊貼數(shù)模表面的物面網格線,如圖1所示。
由于有一個將離散點向數(shù)模表面投影的過程,所以如果離散點正好處于數(shù)模縫隙之上那么就無法投影到數(shù)模表面,而是投影到了縫隙之中,這樣生成的物面網格線出現(xiàn)沉降,如圖2(a)所示,由此導致生成的網格質量差,如圖2(b)所示。
在實際操作過程中會遇到兩種情況,這兩種情況相互耦合分離,可以先后進行判定。一種情況是需要畫物面網格線的數(shù)模面在投影方向上為單層,數(shù)??p隙上方的離散點在投影的時候不會投影在任何面上。這種情況可將離散點投影到數(shù)模表面的點的返回值和投影到縫隙里的點的返回值設為不同值,根據返回值作為判定條件,從而得到投影到縫隙里的離散點的個數(shù)d1(與投影到數(shù)模表面的點的返回值不同的返回值個數(shù)即為投影到縫隙里的離散點的個數(shù)d1),圖3所示例子中d1的值為2。同時獲得數(shù)??p隙兩側離縫隙邊緣最近的兩點a1,b1如圖3所示。
另一種情況則是,需要畫物面網格線的數(shù)模面在投影方向上不為單層。數(shù)??p隙上方的離散點在投影的時候會投影到縫隙下方的數(shù)模面上如圖4所示。這種情況下,上述判定方法不能夠辨別離散點是否投影到了需要畫物面網格線的那層數(shù)模面上,因此我們需要找到一種新的判定條件。針對這一情況,可以將離散點在數(shù)模表面的相鄰投影點之間線段長度比值作為判定的條件。一旦相鄰投影點之間線段長度比值大于等于設定值j則開始記點,其中j的取值范圍為[2,5],當相鄰投影點之間線段長度比值小于等于設定值k則停止記點,其中k的取值范圍為[1/5,1/2],從而得到投影到縫隙里的離散點的個數(shù)d2,圖4所示例子d2的值為2,并獲得數(shù)模縫隙兩側離縫隙邊緣最近的兩點a2,b2如圖4所示。
步驟二、在縫隙處生成新的直線
在判定點和得到所需點的參數(shù)之后,在點a1,b1之間生成直線,和在點a2,b2之間生成直線的方法是一樣的??p隙邊界兩點用a,b表示,連接兩點生成直線ab。如圖5所示。三維空間已知兩點的直線生成方程為:
方程里x1,y1,z1和x2,y2,z2是a,b兩點在三維空間里的坐標,帶入方程便可以獲得直線。
步驟三、用線性插值插入新的點
根據所獲得的參數(shù)在直線ab上運用線性插值插入新的點替換原來落入數(shù)??p隙的投影點,如圖5所示。線性插值方程為:
方程里x,y,z是點的三維空間坐標,n是投影落入數(shù)模縫隙點的個數(shù),m為變量,是投影落入數(shù)??p隙的點的編號,編號取區(qū)間為[1,n]的正整數(shù)。
由方程得到在直線上需要插入的點的坐標f(x,y,z),根據坐標在直線ab的相應位置插入新的點,新插入的點和原來沒有落入縫隙中的投影點配合,避免了物面線在縫隙處發(fā)生沉降,由此實現(xiàn)了在有縫隙數(shù)模面上生成高質量網格。
有縫隙數(shù)模面網格生成實例
在spider軟件中,以f6標模算例為例,綜合目標為在數(shù)模尾部較大縫隙處生成平滑性較好、質量較高的網格,網格類型為結構網格,給定的網格線離散點數(shù)為41,得到的物面網格線如圖6(a)所示??梢钥吹?,物面網格線在數(shù)模縫隙處平滑過渡,沒有出現(xiàn)沉降現(xiàn)象。圖6(b)為運用本發(fā)明方法在數(shù)??p隙處生成的網格,可以看到網格光滑性較好,計算結果未出現(xiàn)非正常抖動。
從上述生成實例可以看出,采用本發(fā)明方法,能有效地實現(xiàn)如下設計目標:
能消除投影點落入數(shù)??p隙的影響、使物面網格線在數(shù)??p隙處不發(fā)生沉降、能生成光滑性較好的高質量網格。