
發布
注冊
/
登錄CFD網格優化的案例
一種優化CFD網格的深度強化學習框架-MeshDQN
1.背景介紹
計算流體動力學(Computational Fluid Dynamics,CFD)中的網格生成是實現穩定、準確模擬的關鍵步驟。然而,網格生成和自適應仍然是CFD工作流程中一個重要瓶頸。自適應網格劃分技術允許網格自動更新,為當前問題提供準確的解決方案。現有的經典自適應網格劃分技術要么需要求解器之外的附加計算,要么需要許多次的CFD模擬計算。當前基于機器學習技術的網格生成和優化技術通常需要大量的計算成本來生成訓練數據,并且在范圍上受限于訓練數據流機制。為了解決上述問題,卡內基梅隆研究團隊開發了一個基于圖神經網絡的通用深度強化學習(Deep Reinforcement Learning,DRL)框架,以不斷迭代的方式來優化CFD的網格。
展開 CFD前處理網格藝術 | CFD對計算網格的基本要求
數值計算的第一步是生成合適的計算網格,即將連續的計算域離散為網格單元,如二維時的三角形、四邊形、多邊形;三維情況下的四面體、三棱柱、六面體、金字塔、多面體等。網格生成技術在 CFD 中扮演著極為重要的角色。
利用數值計算方法得到的離散解是否比較滿意地逼近原偏微分方程組定解問的解,不僅取決于對原偏微分方程組所采用的離散化方法(即內點計算格式)及邊界條件的離散化方法(即邊界點計算格式),而且取決于離散點的分布情況。
另一方面,許多流體力學實際問題的邊界幾何形狀是非常復雜的,如戰斗機、運輸機全機構型。要得到高精度的數值解,邊界條件處理本身應保證適當的計算精度。而在邊界處理中,往往有些物理量是通過插值方法求得的。插值的精度直接影響邊界條件處理的精度,為此一般要求邊界附近的網格線盡可能與邊界正交,而且在物面邊界附近還需保證一定的網格節點密度,過稀的網格將導致計算精度的降低。
由此可知,對于數值求解偏微分方程(PDE)的定解問題而言,網格分布是十分重要的。在達到相同解的精度的前提下,合理的網格分布往往可以大大減少網格點的數目,從而大大節省所需要的計算機內存和計算時間。計算經驗表明,在某些問題中,不合適的網格分布有可能導致計算過程的不穩定或不收斂。
CFD對計算網格的基本要求
網格質量是網格生成技術重點關注的研究領域。
展開 CFD網格你應該了解的常識 附精通CFD動網格工程仿真與案例實戰下載
明確這些問題直接決定你劃分網格的策略和方法
選擇合適的網格劃分辦法
對于一個CFD的計算網格你需要明確,你所需要的最低的網格質量是多少?你所能接受的網格數是多少,你需要劃分的網格是結構網格還是非結構網格(這將決定你在劃分網格上所花費的時間)。
好的網格
如何去評價一個網格劃分的好壞呢?
劃分的網格必須能夠捕捉一定的物理場,比如邊界層中的流動(如果你關心的話),傳熱,流動尾跡,流動梯度等等。那么這些就會涉及到邊界層的劃分。
邊界層劃分準則:對于一般的湍流來講,邊界層必須要做,而且不同的湍流模型都會對邊界層的Y+提出要求。一般來講,邊界層的層數一般在10-15層左右,而且增長率一般在1.2-1.3,而且對于傳熱來講你的Y+應該控制在1左右,對于轉戾來講你的Y+也應該控制在1左右。
在一般的CFD求解器中都會對網格的質量提出要求,比如在ICEM中,就會提供一個綜合的評價要求,對于一般的流動會要求網格的綜合質量要大于0.3,ANSYS Meshing也會提供這樣的一個綜合評價要求。而在Fluent Meshing中則會單獨去評價網格的質量,比如從網格的斜率,網格的長寬比,等等,當然其他軟件也會提供這樣的評價標準。那么應該從哪幾個角度去評價一個網格的好壞呢。一般會從以下三個方面:
1.網格斜率
一般這個值不應該大于0.95,我們一般會取0.9,越小越好,正交性大于0.1
2.網格的長寬比
這個最直觀的就是網格的矮胖還是高瘦,在網格中,矮胖是比較受歡迎的。
展開 HyperMesh 在 CFD網格劃分領域的應用-Hypermesh軟件教程CAE流體網格劃分CFD
流體和不同的固體實體網格也是采用放在不同的組件里使用名字來設置邊界條件的。不同類型的體網格交界面處或外邊界處沒有設置邊界條件的地方,在導入CFD求解器時會自動生成外部邊界條件,往往導致出錯,建議合理的設置邊界條件,避免遺漏。設置完邊界條件后可以用尋找自由邊的方法看是否存在 free edge,以此觀察邊界條件的設置是否有誤。綜上,使用 HyperMesh生成網格時從開始就需要做好規劃,方便邊界條件的生成。
5結論
從上述案例中網格的生成過程可以看出, HyperMesh具有友好界面,具有較為強大的幾何處理功能,可以幫助快速生成高質量網格,并且可以實現邊界層生成以及流體邊界條件設置。
課程簡介學習收獲:
還在為CFD網格前處理發愁嗎?目前市場上hypermesh教程主要針對結構方面網格處理。本課程主要講解HyperMesh作為CFD仿真做前處理網格處理。
課程基于 HyperMesh2019講解并兼顧13/14/2017等版本。
能使學習者掌握 HyperMesh為CFD做前處理的基本思路和方法,CFD網格問題的處理、邊界層網格的控制復雜幾何的CFD處理、外流場網格以及周期邊界網格等實際問題的處理方式。
課程思路緊跟實際建模節奏,深入講解CFD前處理過程,使學習者最終可獨立借助 HyperMesh進行CFD前處理。
展開 
[教程]hypermesh CFD邊界層網格劃分CFD-1200: CFD Meshing with
CFD-1200: CFD Meshing with Automatic BL Thickness Reduction
1. Load the CFD User Profile
2. Open the Model File
安裝目錄下的: manifold_inner_cylinder.hm 網格文件。
3. Check That the Surface Elements Define a Closed Volume
4. Generate a BL Distributed Thickness Loading to Prevent Boundary Layer Interference
5. Generate the Boundary Layer and Tetrahedral Core Mesh
點Mesh生成邊界層體網格。
合理控制修改層數、第一層厚度、增長率等參數,使得邊界層不超出壁面
6. Mask Elements to Inspect the Boundary Layers’ Thickness on Thinner Areas
7. Arrange Volume and Surface Components Before Exporting the Mesh for CFD Solvers
展開 CFD專欄丨尋找最優解:CFD參數優化案例分享(一)
按照學科的數量可分為單學科或多學科優化(MDO-Multidisciplinary Design Optimization )
HyperStudy 參數驅動優化
多學科優化工具 HyperStudy 有兩種途徑驅動CFD模型:一種是內置的前處理接口SimLab,自動獲取變量和提取響應。另外一種是Parameterized File模式,用戶手動從求解器文件中提取變量和響應。后者是一種通用方法,也適用于非 HyperWorks 平臺的求解器。
支持DOE,響應面擬合,降階模型、隨機分析、多學科、多目標優化。
SimLab支持Inspire/Catia/NX/Creo雙向CAD參數傳遞,HyperWorks CFD支持HyperMorph網格變形參數。
展開 使用 CFD 仿真優化建筑設計 附精通CFD工程仿真與案例實戰下載
聚碳酸酯雨幕系統的 CFD 仿真,其中竣工條件導致意想不到的太陽輻射得熱量。產生的問題包括面板變形和 XPS 隔熱層的表面熔化。對雨幕改造的 CFD 分析成功地確定了允許的最大太陽輻射得熱量和最低的通風要求。圖片由 Steven Doggett 提供。
通過 CFD 分析,Built Environments 團隊能夠確定重新設計所需的最低通風要求和允許的最大太陽輻射得熱量。現場的數據驗證了仿真結果的正確性。最后,Doggett 指出,團隊成員發現他們“準確計算了他們在現場看到的情況”。
應對建筑仿真挑戰
建筑是一個非常實用且“腳踏實地”的行業。因此,Doggett 強調了在建筑物理和整個建筑行業中使用仿真時,對實際物理測試進行基準測試的重要性。我們需要進行基準測試來增加對仿真結果的信心。
Built Environments 團隊成員在 CFD 仿真中使用現場收集的真實數據。這樣,他們可以立即驗證條件,并確認不同的條件如何影響建筑設計。Doggett 表示,這讓他能夠“看到仿真的力量”,因為他可以“立即看到基準”。
仿真在建筑領域的應用也帶來了另一個挑戰:建筑分析中需要的大規模變化。以建筑物的小規模特征為例,正如前面提到的雨幕,它會影響整個建筑物的熱效率。Doggett 評論道,你可以通過使用二維和三維建模以及 COMSOL Multiphysics 的網格劃分功能來應對這種規模的變化。
盡管存在不少挑戰,但仿真仍能夠滿足各種建筑設計、施工和評估需求,有助于為未來的建筑設計奠定基礎。
下載地址:精通CFD工程仿真與案例實戰
展開 CFD專欄丨尋找最優解:CFD參數優化案例分享(一)
按照學科的數量可分為單學科或多學科優化(MDO-Multidisciplinary Design Optimization )
HyperStudy 參數驅動優化
多學科優化工具 HyperStudy 有兩種途徑驅動CFD模型:一種是內置的前處理接口SimLab,自動獲取變量和提取響應。另外一種是Parameterized File模式,用戶手動從求解器文件中提取變量和響應。后者是一種通用方法,也適用于非 HyperWorks 平臺的求解器。
支持DOE,響應面擬合,降階模型、隨機分析、多學科、多目標優化。
SimLab支持Inspire/Catia/NX/Creo雙向CAD參數傳遞,HyperWorks CFD支持HyperMorph網格變形參數。
展開 【CFD專欄】基于CFD仿真、元建模和貝葉斯推斷方法的離心泵優化設計
Simerics MP+軟件具備自動網格生成器和Navier-Stokes求解器,能夠有效地對離心泵空化進行物理建模。
通過優化過程,降低在較高流速的低壓區域而導致的空化問題。
通過敏感性分析,葉片尾緣角度對泵輸送的揚程影響最大。
通過實驗測試,驗證了CFD結果的準確性。
文章來源:合工仿真
Cadence Fidelity CFD尊重幾何并減少運行時間的保真 CFD 網格自適應
在 CFD 模擬中,影響解決方案質量的關鍵因素是網格劃分。不能解決流動變量局部變化的網格間距會引入離散化誤差。另一方面,如果網格過度細化,計算時間和工作量會不必要地增加。網格元素類型和數據結構也會影響生成網格所需的人工時間和技能以及每單位精度的成本。
圖 1. 基于局部誤差和基于輸出的自適應技術的比較。
如圖 1 所示,網格自適應(可以是基于局部錯誤的或基于輸出的)是一種用于幫助提高仿真效率的常用技術。非結構化網格自適應已用于減小網格尺寸以達到所需的求解精度。這種技術可以顯著改善處理時間、內存要求和所需的存儲空間。然而,在無法訪問底層 CAD 數據的情況下,適應僅限于提高離體網格分辨率。而 Fidelity CFD 中的網格自適應技術尊重幾何結構,提高網格質量,適應近壁剪切層,并減少改進 CFD 解決方案的運行時間。
挑戰
使用網格自適應改進網格質量的常見挑戰如下:
適應不解決正確的幾何。大多數自適應程序都內置在 CFD 求解器中。因此,它們僅適用于實際幾何形狀(即現有幾何形狀)的多面近似。適應后,一個人得到了錯誤幾何體的理想網格。
自適應會降低局部細化網格的網格質量。許多自適應過程使用分而治之的方法來豐富網格,從而將現有網格元素局部劃分為其他元素。雖然編程方便,但這種方法會導致網格質量隨著細化而穩步下降,降低魯棒性,增加運行時間,甚至可能增加離散化
在流動變量的梯度很大的近壁剪切層中的適應具有許多挑戰。蠻力方法通常在壁附近使用各向同性細化,導致網格大小爆炸。避免網格尺寸爆炸的常見策略是使用拉伸四面體來解決垂直于壁的大梯度,而不會過度細化平行于壁。然而,這種方法會導致網格質量大幅下降。
適應程序通常會導致運行時間過長。
展開 無網格!無網格CFD!
盡管在過去三十年算法的準確性和速度有了巨大進步,對復雜、真實世界模擬仿真來說,分網還是最耗時和CFD仿真過程可靠度最低的部分。無網格方法因此提供了一個可行的替代基于網格的流體計算方法,并且不需要傳統的網格結構,這樣就解決了很多分網相關的問題。下面,就來介紹當前CFD中主流的無網格方法。
什么是網格?
網格或格子定義為分析域或模型的離散單元格或單元,所有的流動變量和其他變量都在這些離散單元格中心求解。整個過程將物理域分解為更小的子域(單元/單元格)稱為分網,這些單元格分組形成邊界區域并且在這些區域施加邊界條件。不僅僅產生高質量網格并保持它是一項繁重任務,還可能有其他影響諸如:
收斂速率;
結果的準確性;
所需CPU時間。
盡管近年來有很多軟件有自動網格劃分功能,但大多數CFD從業者還是手動進行網格劃分。使用自動網格劃分方法用戶還是需要提供基本的輸入,如單元尺寸、需要劃分網格的區域、求解器來進行網格生成。可是這并非對所有案例都是可行的,對復雜幾何模型難于實現自動。因此,出現了CFD分析方法中的“無網格CFD”。
什么是無網格方法
?
無網格方法用于建立整個問題域的代數方程系統,而不使用域離散的預定義網格。問題域內節點是分散的,節點在邊界上也是分散的節點組來代表(不離散)問題域及其邊界。
展開 
怎樣才算是好的CFD網格 附I do like CFD下載
我們在進行CFD計算時,總是會遇到各種各樣的收斂問題,分析影響收斂的因素包括:網格劃分策略,模型選取,參數設置,邊界條件等等。在各種各樣的因素當中,網格問題通常占據了一半以上的比重,那么怎樣的網格才算是一個好的網格呢,今天我們就來扒一扒這個問題。
1. 能夠保持幾何所需要的重要細節(最基本)
(1)小的/不必要的特征可以抑制或適當簡化(如圓角等)
(2)簡化的原則取決于:這些細節對流動及傳熱或其它物理特性的重要性
如下圖:我們可能會認為網格肯定有問題,因為部分細節丟失了,但這取決于應用,這可能對結果有一些影響。如果您了解工程應用及物理性質,那您就會知道您需要什么程度的幾何細節。
展開 無網格法與無網格CFD技術
盡管在過去三十年算法的準確性和速度有了巨大進步,對復雜、真實世界模擬仿真來說,分網還是最耗時和CFD仿真過程可靠度最低的部分。無網格方法因此提供了一個可行的替代基于網格的流體計算方法,并且不需要傳統的網格結構,這樣就解決了很多分網相關的問題。下面,就來介紹當前CFD中主流的無網格方法。
什么是網格?
網格或格子定義為分析域或模型的離散單元格或單元,所有的流動變量和其他變量都在這些離散單元格中心求解。整個過程將物理域分解為更小的子域(單元/單元格)稱為分網,這些單元格分組形成邊界區域并且在這些區域施加邊界條件。不僅僅產生高質量網格并保持它是一項繁重任務,還可能有其他影響諸如:
收斂速率;
結果的準確性;
所需CPU時間。
盡管近年來有很多軟件有自動網格劃分功能,但大多數CFD從業者還是手動進行網格劃分。使用自動網格劃分方法用戶還是需要提供基本的輸入,如單元尺寸、需要劃分網格的區域、求解器來進行網格生成。可是這并非對所有案例都是可行的,對復雜幾何模型難于實現自動。因此,出現了CFD分析方法中的“無網格CFD”。
什么是無網格方法
?
無網格方法用于建立整個問題域的代數方程系統,而不使用域離散的預定義網格。問題域內節點是分散的,節點在邊界上也是分散的節點組來代表(不離散)問題域及其邊界。
展開 仿真筆記——無網格法與無網格CFD技術
盡管在過去三十年算法的準確性和速度有了巨大進步,對復雜、真實世界模擬仿真來說,分網還是最耗時和CFD仿真過程可靠度最低的部分。無網格方法因此提供了一個可行的替代基于網格的流體計算方法,并且不需要傳統的網格結構,這樣就解決了很多分網相關的問題。下面,就來介紹當前CFD中主流的無網格方法。
什么是網格?
網格或格子定義為分析域或模型的離散單元格或單元,所有的流動變量和其他變量都在這些離散單元格中心求解。整個過程將物理域分解為更小的子域(單元/單元格)稱為分網,這些單元格分組形成邊界區域并且在這些區域施加邊界條件。不僅僅產生高質量網格并保持它是一項繁重任務,還可能有其他影響諸如:
收斂速率;
結果的準確性;
所需CPU時間。
盡管近年來有很多軟件有自動網格劃分功能,但大多數CFD從業者還是手動進行網格劃分。使用自動網格劃分方法用戶還是需要提供基本的輸入,如單元尺寸、需要劃分網格的區域、求解器來進行網格生成。可是這并非對所有案例都是可行的,對復雜幾何模型難于實現自動。因此,出現了CFD分析方法中的“無網格CFD”。
什么是無網格方法
?
無網格方法用于建立整個問題域的代數方程系統,而不使用域離散的預定義網格。問題域內節點是分散的,節點在邊界上也是分散的節點組來代表(不離散)問題域及其邊界。
展開 CFD結構網格與非結構網格的真相
目前人們習慣利用網格形狀對結構網格 (Structural Mesh) 與非結構網格 (Unstructral Mesh) 進行區分,往往稱四邊形及六面體網格為結構網格,而將結構網格之外的網格統統稱之為非結構網格。雖然說這在大多數情況下不會有什么問題,但實際上如果深究的話,這種分類方式還是存在很多的問題。
那么,結構網格與非結構網格到底區別在哪里?
網格算法中的"結構網格",指的是網格節點間存在數學邏輯關系,相鄰網格節點之間的關系是明確的,在網格數據存儲過程中,只需要存儲基礎節點的坐標而無需保存所有節點的空間坐標。如圖1所示為典型的二維結構網格。對于二維結構網格,通常用i、j 來代表x 及y 方向的網格節點(對于三維結構,利用k 來代表z 方向)。對于如圖所示的網格,在進行網格數據存儲的過程中,只需要保存i=1,j=1位置的節點坐標以及x、y 方向網格節點間距,則整套網格中任意位置網格節點坐標均可得到。需要注意的是,結構網格的網格間距可以不相等,但是網格拓撲規則必須是明確的,如節點(3,4)與(3,5)是相鄰節點。
圖1 二維結構網格示例
圖1的網格也可以是非結構網格。如果在網格文件中存儲的是所有節點的坐標及節點間連接關系的話,那么這套網格即非結構網格。因此,所有的結構網格均可以轉化為非結構形式。相反,并非所有的非結構網格均能轉化為結構網格形式,因為滿足結構化的節點間拓撲關系不一定能夠找得到。僅僅從網格形狀來確定網格是結構網格還是非結構網格是不合適的,四邊形和六面體網格也可以是非結構網格,這取決于它們的網格節點存儲方式。
數值計算需要知道每一個節點的坐標,以及每一個節點的所有相鄰節點。
展開