
發布
注冊
/
登錄ansys 網格體積的案例
CFD理論|網格體積的求解
如果源項在網格中是線性變化的,則可以通過中值定理來求解。
那么網格體積
如何求解呢?
網格體積
對于簡單的網格,比如直角三角形、正方形或其他四邊形,可以通過簡單的方法(比如一些基本的向量微積分)來計算網格的面積或體積。
但在實際劃分網格時,網格通常不是規則的方形或三角形,更多的是各種不規則的形狀。
我們需要一種方法可以計算這些網格體積,包括多面體網格、傾斜網格和擁有不同尺寸面的網格。
本文從散度理論推導網格體積的計算方法,這種方法可以應用于任何形狀的網格體積計算。
展開 網格尺寸與產生負體積的關系?
剛性圓柱體(敏感詞匯無法發表 實際為zidan)沖擊巖石的數值模型計算過程中出現多行:plasticity algorithm did not converge for mat272 for 1 elements,接著提示產生負體積報錯終止計算。
探究問題之前,為了盡快解決參數設置錯誤,建模時用的網格尺寸較大,修修改改后模型可以正常計算了。
當細化巖石網格進行深入分析時,計算卻總是出現上述問題。還請了解該問題的大佬解疑答惑,在此不勝感激。
有限體積方法處理非結構網格-方法框架
我們經常能夠看到一些講解通過有限體積進行數值計算的文章,有的還給出了詳細的代碼,只要一跑就能得到結果,但是美中不足的是這些文章大多數都是基于等距的結構網格而且還是一維的,學習一下基礎的原理是可以的,但是要在現實中用起來難免存在諸多限制。同時,我們也可以看到很多的商業軟件,比如Fluent很容易可以將一個和真實場景的幾何離散成網格然后求解,結果還可以花花綠綠的展示出來,看起來就非常高端。
這期文章主要講講如何采用有限體積方法計算非結構網格上的偏微分方程,與其他文章不同的是這里網格和方程是獨立開的,而且處理3維的方程,代碼主要基于python的numpy。
要說3維和一維的方法差距確實有,而且很大,而且要說清楚非常難,這里先從簡答的說起。簡單就從數學物理方程講吧,大多數方程可以寫成如下的形式。
鑒于每一項都有不同的數值特性,將這四項進行離散,每一項都可以得到如下的離散格式,離散過程采用的就是有限體積法,這里先不去講。
有了上面的公式之后是不是就可以給出迭代更新的公式了呢,只需要在全部計算域上對每個網格計算一下這個值,然后重復個幾十或者一百步就可以得到穩定的值,這個過程就叫收斂。
但是,一般來說為了使得迭代過程更加平滑,不會因為更新產生過大的動蕩我們一般把上一步的值和更新的值做一個權重來更新網格的值,比如這里都是0.5,當然你也可以選擇0到1之間的其他值,并不影響,只要給出兩者之間的權重就可以了,如果后面部分權重太小的話迭代步數會需要很多,可能不劃算。
知道了怎么去更新之后,就來說說具體的計算過程。
展開 有限體積方法處理非結構網格-多邊形和多面體的幾何的處理
面解決了,接下來就是計算體心了,類似于多邊形轉化為三角形再進行向量求面積,求面心,求面矢量,多面體需要轉化為像金字塔的多面體(底面的面積面矢量,面心都已知)之后再進行質心的計算
1.首先由上面的面心計算多面體幾何中心,直接加取平均即可
2.通過這個幾何中心和各個面的面心(上一步計算給出的)可以構造一個多面體并計算出他的質心(在基面和幾何中心的0.25處),這里通過面矢量和這兩個點也可以順便把這個有點像金字塔的幾何的體積同時求出。
3.體積加和就是整個網格的體積,第二部求得的質心進行對應的體積加權就可以得到網格的質心。
展開 
[案例分析]Fluent中動網格負體積成因分析與解決辦法——以圓柱俯仰震蕩為例
圖3 動網格設置
動區域設置如圖 4所示,wall即為中間的這個圓柱,然后這個centerof gravity location指重心位置,一般在旋轉運動中會使用到,這里我們不動它。剩下的Mesh options和Solver options我們都不動它們,下面初始化之后,直接進行動網格預覽,預覽前記得保存case,不然報錯了可就不能動啦。
圖4 動區域設置
5、預覽動網格運動
頻率f=5Hz,周期就是T=0.2s,我們給一個時間步長為T/100,來看看動網格更新的過程。嗯,出現了負體積了。出現了負體積了之后,這個軟件里面的時間就變成了預覽之后的真實時間,必須從新導入之前保存的case data才能重新進行嘗試。
6、負體積的成因
由上面的視頻可以發現,在圓柱運動的過程中,圓柱上方的網格被擠壓的越來越厲害,當圓柱擠壓的程度導致某一些網格線相互重疊交叉,負體積就會出現了,通俗點說就是網格變形的速度跟不上部件移動的速度,導致網格塌陷出現負體積。如圖 5所示,變形后的網格滋到了旁邊的網格里面去了(隨手一畫的)。
圖5 網格變形出現負體積示意
此外,如果網格質量不好,也就是說,本來他質量不怎么好,網格就存在缺陷,存在相互交叉的可能,然后一變形,馬上就壞掉了,因此,網格質量也是一個負體積的原因,要尤其關注生成一套質量高的網格。
7、解決辦法
1) 首先找到負體積的位置
找到負體積出現在哪里,找到病灶,才能治病。有些模型比較簡單,肉眼可見的地方去放大,比如我們這個模型,肯定是在圓柱邊界上方。圖 6為圓柱上方的負體積位置,白色的壁面和綠色的網格先出現了重疊,導致了負體積。
展開 基于ANSYS的大體積混凝土水化熱分析
何謂大體積混凝土,英文是concrete in mass,我國《大體積混凝土施工標準》GB50496-2018里規定:混凝土結構物實體最小幾何尺寸不小于1m的大體量混凝土,或預計會因混凝土中膠凝材料水化引起的溫度變化和收縮而導致有害裂縫產生的混凝土,稱之為大體積混凝土。----引自百度百科。
通俗來說,對于澆筑尺寸邊長大于1m的混凝土構筑物,都可以當做大體積混凝土。在實際工程中,大體積混凝土廣泛應用于船塢、船閘、橋墩、閘底板、大壩等工程。如下述圖片所示
大型水利樞紐--圖片源于網絡。
橋墩--圖片源于網絡。
船閘模型示例--圖片源于網絡。
澆筑中的基礎--圖片源于網絡。
大體積混凝土由于體積厚大,導熱系數較低,容易生產溫度裂縫。但由于水泥水化過程中,系統的溫度、生熱率、熱流率、熱邊界條件等參數隨時間都有明顯變化。下面說下ANSYS中如何進行水化熱分析。
利用ANSYS進行水化熱分析時,一般分兩步走:第1步,采用溫度場單元進行水化熱溫度場分析;第2步,將前面所得到的的溫度場分析結果轉為應力場,施以相應的邊界條件,然后進行應力場分析。
利用 ANSYS進行溫度場分析時,對于三維實體單元,通常采用SOLID70 ,通過查看幫助文檔或者教程,可知該單元有8 個節點,且每個節點上只有一個溫度自由度,具有三個方向的熱傳導能力,并能實現勻速熱流的傳遞。該單元可以用于三維靜態或瞬態的熱分析,同時此單元也可以進行結構分析。
solid70單元
用ANSYS計算大體積混凝土溫度場的目的是以此為基礎來計算溫度應力。因此計算大體積混凝土三維溫度場時可選取三維實體熱單元SOLID70,該單元可以在前處理器通過“ETCHG,TTS”命令進行單元轉換,原來的熱單元SOLID70 將自動轉換為結構單元SOLID45,以方便接下來的溫度應力計算。
展開 ANSYS提取具體三維單元的體積,面元的面積和線的長度
在ANSYS中,能提取具體三維單元的體積,面元的面積和線的長度。
如:*GET,E_VOLUME,ELEM,10,VOLU 為提取編號為10的單元的體積
*GET,a_area,AREA,50,AREA 為提取編號為50的面元的面積
*GET,l_length,LINE,100,LENG 為提取編號為100的線的長度
以上對應的GUI操作: Utility Menu>Parameters>Get Scalar Data 如果要一次性提取多個元素的相關參數,可以用命令 *VGET, ParR, Entity, ENTNUM, Item1, IT1NUM, Item2, IT2NUM, KLOOP 對應GUI操作:Utility Menu>Parameters>Get Array Data
輸入命令 alist,p 出選項框,選你要看的那個面積,提取選中的單元面積。
*cfopen,'area','txt',
*GET,MaxEleNum,ELEM,,NUM,MAX
*GET,MinEleNum,ELEM,,NUM,MIN
*do,i,MinEleNum,MaxEleNum,1
*if,esel(i),eq,1,then
*get,volu,elem,i,volu
*vwrite,i,volu
(f5.0,f15.12)
*end if
*enddo
*cfcols
展開 Ansys Workbench ACT插件,由窗口選中體單元,提取體積和表面積,計算幾何特征尺寸 ¥20
在Workbench界面,根據用戶在圖形窗口選定的網格體單元。由腳本程序依次提取,每個單元的角點數量和位置坐標;
2. 再由Workbench中python腳本調用ADPL經典界面,并自動運行特征值提取宏命令;
3. APDL宏命令會,根據Workbench選中單元體信息,依次由每個單元體的角點坐標,創建實體單元;
4. 再將實體單元合并,最后獲得幾何體積和表面積,并輸出。
5. 由Workbench腳本,讀取APDL宏輸出的幾何信息,并顯示。
Ansys Workbench網格控制之——全局網格控制
Ansys Workbench網格控制之——全局網格控制
在使用ANSYS Workbench進行網格劃分時,全局網格控制可以使用默認的設置,但要進行高質量的網格劃分,還需要用戶了解全局控制的常用設置,尤其是對于復雜的零部件。
網格全局控制的設置包含了7個組別,分別是Display(顯示)、Defaults(缺省設置)、Sizing(尺寸控制)、Quality(質量控制)、Inflation(膨脹控制)、Advanced(高級控制)、Statistics(網格信息)等信息,如下圖所示。
全局網格設置
1 顯示組
顯示組可以用于直觀地顯示網格質量,各選項的含義將在質量組中詳解。
顯示組設置
網格質量顯示
2 缺省設置組
缺省設置包括Physics Preference物理場選擇、Relevance關聯度、Element Midside Nodes網格中節點。
缺省設置組
2.1 Physics Preference物理環境選擇
劃分網格目標的物理環境包括結構分析(Mechanical)、電磁分析(Electromagnetics)、流體分析(CFD)、顯示動力學分析(Explicit)等
物理場選擇
不同物理場下默認設置如下圖
不同的物理環境的默認設置
2.2 Relevance關聯度
Relevance數值越小網格越粗疏,即可拖到也可輸入值,從-100至100代表網格由疏到密。
雖然Relevance Center是在尺寸參數控制選項里設置的,但由于Relevance需要與其配合使用,故在此一起介紹。
展開 Ansys Workbench網格控制之——全局網格控制
點擊上方藍字關注我們
在使用ANSYS Workbench進行網格劃分時,全局網格控制可以使用默認的設置,但要進行高質量的網格劃分,還需要用戶了解全局控制的常用設置,尤其是對于復雜的零部件。
網格全局控制的設置包含了7個組別,分別是Display(顯示)、Defaults(缺省設置)、Sizing(尺寸控制)、Quality(質量控制)、Inflation(膨脹控制)、Advanced(高級控制)、Statistics(網格信息)等信息,如下圖所示。
全局網格設置
1.顯示組
顯示組可以用于直觀地顯示網格質量,各選項的含義將在質量組中詳解。
顯示組設置
網格質量顯示
2.缺省設置組
缺省設置包括Physics Preference物理場選擇、Relevance關聯度、Element Midside Nodes網格中節點。
展開 ANSYS網格:球體如何劃分六面體網格
見下圖,球中心挖一個很小的球孔,然后切割為8塊,就可以 對球實現sweep網格劃分。
來源: ANSYS結構沖擊流體學習與交流
作者:劉世國

ANSYS-Meshing網格劃分教程-09面網格
01 在DM中導入mixingelbow(2D)
02 進入meshing,設置如下
generate mesh,劃分網格
mixingelbow.7z
ANSYS-Meshing網格劃分教程-04三通網格劃分
02 進入meshing模塊,設置如下:
generate mesh,劃分網格。
03 更改設置如下:
generate mesh,劃分網格。
厚度方向上只有一層單元:
04 更改設置如下:
generate mesh,劃分網格。
厚度方向上約有三層單元:
05 更改設置如下:
generate mesh,劃分網格(網格數量減少,厚度方向上有兩層單元)
tee.7z
ANSYS-Meshing網格劃分教程-06manifold網格劃分
02 進入meshing模塊,設置如下:
generate mesh,劃分網格。
Auto-Manifold.7z
ANSYS-Meshing網格劃分教程-08多區域劃分網格
02 進入meshing模塊,設置如下:
generate mesh,劃分網格
03 設置膨脹層(邊界層)
generate mesh,劃分網格
blockandpipes.7z