Fidelity Pointwise中用于近體和離體網(wǎng)格的十六進制核心體素
抽象的:非結(jié)構(gòu)化網(wǎng)格劃分方法因其不斷提高的自動化程度而獲得關(guān)注,周轉(zhuǎn)速度比結(jié)構(gòu)化網(wǎng)格技術(shù)快得多,但在質(zhì)量和流動解決方案精度方面,流動域內(nèi)部的四面體仍然無法替代結(jié)構(gòu)化單元。與其選擇結(jié)構(gòu)化網(wǎng)格形式,不如用 Cadence? Fidelity? Pointwise? Mesh Generation 的六核體素網(wǎng)格替換大量非結(jié)構(gòu)化四面體,可以保留結(jié)構(gòu)化網(wǎng)格提供的截斷誤差消除。體素網(wǎng)格化從少量根體素元素開始,然后通過八叉樹框架將其細化為尺寸字段規(guī)范。體素元素被分類為切割、在規(guī)定的表面網(wǎng)格內(nèi)部或外部,從而導致元素集完全在表面網(wǎng)格邊界之外。
為什么要改進非結(jié)構(gòu)化 Tet 網(wǎng)格?
三十年前,結(jié)構(gòu)化(映射)網(wǎng)格是 CFD 研究和應(yīng)用中的主要網(wǎng)格類型。隨著幾何形狀復雜性的增加,多塊結(jié)構(gòu)化網(wǎng)格的構(gòu)建很快成為解決方案周轉(zhuǎn)的瓶頸。這些限制啟動了對更有效的網(wǎng)格方法(即非結(jié)構(gòu)化四面體網(wǎng)格)的研究,以自動填充一般空隙。
盡管這些方法的應(yīng)用自動化程度不斷提高,周轉(zhuǎn)速度比結(jié)構(gòu)化網(wǎng)格技術(shù)快得多,但在質(zhì)量和流動解決方案精度方面,在流域內(nèi)部使用四面體仍然不能很好地替代結(jié)構(gòu)化單元。此外,tet 網(wǎng)格的生成成本很高,而且它們的求解精度可能會降低。
二進制和八叉樹結(jié)構(gòu)
典型的空間二叉樹數(shù)據(jù)結(jié)構(gòu)是節(jié)點的層次網(wǎng)絡(luò),每個節(jié)點包含三個指針(父節(jié)點、左節(jié)點和右節(jié)點),節(jié)點角的六個實數(shù),每個節(jié)點中根以下的層數(shù)分裂方向,以及節(jié)點子節(jié)點的分裂方向。典型的空間八叉樹數(shù)據(jù)結(jié)構(gòu)類似,每個節(jié)點包含九個指針(父節(jié)點和八個子節(jié)點)、節(jié)點角的六個實數(shù)以及根以下的層數(shù)。
雖然二叉樹的節(jié)點包含較少的數(shù)據(jù),但需要更多的節(jié)點來表示與八叉樹相同的分區(qū)。通過使用存儲指向子節(jié)點的固定長度數(shù)組的單個指針的塊表示,可以進一步減小數(shù)據(jù)結(jié)構(gòu)的大小。這通過從節(jié)點中刪除七個指針來增加八叉樹節(jié)點的好處,而它僅通過單個指針減少二叉樹節(jié)點。
八叉樹數(shù)據(jù)結(jié)構(gòu)的另一個優(yōu)點是易于對數(shù)據(jù)結(jié)構(gòu)內(nèi)的節(jié)點位置進行編碼。當數(shù)據(jù)結(jié)構(gòu)從根節(jié)點遍歷到給定節(jié)點時,此位置代碼是八叉樹每個級別的子索引。
各向同性六角核心網(wǎng)格
一種避免四面體網(wǎng)格中幾何隨機性的技術(shù)是用一組笛卡爾對齊的六角立方體或體素替換各向同性四面體。這樣,棱鏡和六邊形單元仍然可以用來解決近體現(xiàn)象,而體素單元可以用來更好地解決一些離體區(qū)域包含梯度的問題。由于大小字段會在空間上發(fā)生變化,因此通過將體素重復細分為由八叉樹框架控制的八分圓來允許體素細化是合乎邏輯的。
八叉樹方法允許相鄰體素上的面不相交,因為沒有定義明確的連接。正如將要討論的那樣,通過將體素轉(zhuǎn)換為占據(jù)與體素相同空間的六角核心網(wǎng)格來強制執(zhí)行嚴格的細胞到細胞連接。
根體素
各向同性體素網(wǎng)格化已以三種相似但不同的模式實施到 Fidelity Pointwise 中。這些方法中的每一種都從構(gòu)建根體素系統(tǒng)開始,其中根體素尺寸很小,同時仍然允許體素大小在 x、y 和 z 方向上保持一致。根體素的初始尺寸是根據(jù)用戶設(shè)置的范圍框縱橫比計算的。
在外部模式下,塊范圍是用戶指定的,任意數(shù)量的用戶選擇的封閉和開放表面網(wǎng)格被插入到塊中,從而產(chǎn)生一個共形網(wǎng)格,其中包含外部和表面的體素和/或內(nèi)部的各向異性網(wǎng)格塊內(nèi)部。
圖 1. 外部模式體素網(wǎng)格
在內(nèi)部模式中,規(guī)定了一個封閉的外部邊界和零個或多個封閉和開放的內(nèi)部邊界,并且在外部邊界內(nèi)部和可能的內(nèi)部邊界外部形成體素。雖然這種類型的網(wǎng)格通常表示內(nèi)部流動幾何形狀,但它們也可以用于外部邊界需要遵守規(guī)定的網(wǎng)格或間距的情況,例如當兩個或多個塊彼此相鄰時。
圖 2. 內(nèi)部模式體素網(wǎng)格
體素細化
一旦根維度和范圍框被計算出來,根體素就會被遞歸地細化以匹配局部尺寸字段。在下面的大綱中,目標級別等于滿足大小字段所需的根體素的二元劃分數(shù)。
圖 3. 根體素的初始細化
圖 4. 跨層執(zhí)行和進一步的體素細化
體素分類
此時的網(wǎng)格將由完全包圍表面和邊界網(wǎng)格的矩形體素塊組成,每個體素都細化到大小字段指定的級別。在本節(jié)中,體素將被分類為切割邊界網(wǎng)格 (cut)、位于邊界網(wǎng)格外 (out) 或位于邊界內(nèi) (in)——后一種分類代表唯一的非丟棄集。
如果體素或三角形的任何部分通過相交或相鄰占據(jù)相同的空間,則體素單元切割三角形。每個三角形最終必須針對每個體素(笛卡爾形狀)進行交叉測試。
進/出體素:在上一節(jié)中未被識別為剪切的體素現(xiàn)在將被分類為進或出。只有少量體素,特別是每個相鄰體素區(qū)域一個,需要明確分類。所有其他體素將通過分類體素的遞歸泛洪填充分配進/出狀態(tài)。
圖 5. cut、out 和 in voxels 的分類
屬于不同組號的體素將對應(yīng)于體素的物理上不相交的區(qū)域。分類完成后,對分配給每個區(qū)域的體素數(shù)進行統(tǒng)計,并且標記出屬于包含少于體素總數(shù) 1% 的組的體素。這可以防止網(wǎng)格中出現(xiàn)非常小的體素袋(與四元組隔離沒有優(yōu)勢)。
體素轉(zhuǎn)換為六角核心形式
通過用單個六角形或一小組占據(jù)相同物理空間的四面體和金字塔替換每個體素矩形,將體素表示轉(zhuǎn)換為六角形核心形式(棱鏡不是從體素創(chuàng)建的)。
首先枚舉代表標記為 In 的所有體素角的 xyz 頂點列表。接下來,檢查每個體素與其相鄰體素的面部一致性。如果所有六個面都完全匹配相鄰的單元面(或表示邊界),則體素將導出為十六進制元素。對于所有其他情況,將至少有一個體素面孔,其鄰居的面孔是該面孔的子集或超集。當鄰居細化附加層時,將這些單元格轉(zhuǎn)換為一般元素可以簡單地通過用四個面替換體素中的一個面來進行。然而,轉(zhuǎn)換為四角形、金字塔形和六角形需要更復雜的邏輯。通常,只有不同細化級別的體素之間的層中的單元區(qū)域需要轉(zhuǎn)換為四面體和金字塔。
圖 6. 過渡金字塔和連接十六進制細化級別的四邊形
前沿分類和各向同性 Tet 生成
剩余的要用網(wǎng)格元素填充的空隙是“拉鏈”區(qū)域——那些由表面網(wǎng)格和六角形核心單元的邊界界定的區(qū)域。然而,可能存在多個封閉和開放的表面網(wǎng)格和六角形核心邊界,這極大地復雜化了代表各個網(wǎng)格區(qū)域的單元格的正確分組。
幸運的是,可以實施一些簡單的啟發(fā)式方法來識別應(yīng)該匹配哪些表面。首先,表面網(wǎng)格和六核邊界網(wǎng)格被獨立地劃分為流形前沿,定向使得方向上的法線點尚未被填充。對于六核網(wǎng)格,所有前沿都是封閉的,但如果在網(wǎng)格中插入了擋板,則表面網(wǎng)格上可能存在開放前沿。
參考
Steinbrenner, John P.、Wyman、Nick J.、Jefferies、Mike S. 和 Karman, Steve L.,“基于尺寸場的各向同性六角核心網(wǎng)格算法的實現(xiàn)”,AIAA 論文編號。2020-1408,2020 年 1 月。
文章來源:cadenc博客
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















