ABAQUS中的光滑粒子流體動力學 ( SPH ) 方法

翻譯自ABAQUS幫助文檔(章節15.2.1),未經許可,請勿轉載!

有限單元轉化成SPH粒子,可參考本人帖子:

                        

概述

光滑粒子流體動力學(SPH)方法是一種無網格數值方法。通常的有限元分析中需要定義節點和單元,而該方法用點的集合來描述給定的部件,無須定義單元。在SPH法中這些點通常被稱為粒子或擬顆粒。

圖1中對比了兩種方法。兩個離散模型描述的都是瓶子里裝的液體。左邊的模型是由流體占據的傳統四面體網格;在右邊,同樣的流體體積是由離散點的集合表示的。注意,后者情況下沒有網格連接這些點(粒子),它們無需像左邊傳統的有限元定義多節點單元從而保持連通性。在ABAQUS中除了直接定義SPH粒子外,還支持先定義傳統的連續單元,然后在分析開始時或在分析過程中將單元網格自動轉換成粒子。

ABAQUS中的光滑粒子流體動力學 ( SPH ) 方法的圖1

圖1 有限單元和SPH顆粒的分布

光滑質點流體動力學(SPH)是一種純拉格朗日方法,它允許通過插值性質直接離散化一個給定的連續性方程組而無需定義空間網格。SPH的主要優勢是無固定網格,對于流體流動、結構大變形和自由表面等難題,該方法處理得相對自然恰當。

SPH的核心并非基于在壓縮中彼此碰撞或在張力作用下表現出粘性行為的離散顆粒(球)。相反,它是將連續偏微分方程組巧妙離散化的一種方法,這一點與有限元法非常相似。SPH利用插值來近似域中任意點的場變量值,粒子某個變量值通過對相鄰粒子對應的值疊加求和來近似,這些粒子以下角標j來區分,其核函數為W(非零)如下。

ABAQUS中的光滑粒子流體動力學 ( SPH ) 方法的圖2

SPH的核心是核函數,它可以被理解為一種在一定光滑長度h范圍內其他臨近粒子對研究粒子影響程度的權函數,如圖2所示。其中,光滑長度h決定了對某個點的插值產生影響的粒子數目。

ABAQUS中的光滑粒子流體動力學 ( SPH ) 方法的圖3

圖2核函數示意圖

SPH方法自提出(Gingold和Monaghan,1977)以來得到了大量的理論支持,與該方法相關的出版物非常之多。大量的參考文獻見下文。

該方法可以使用ABAQUS / Explicit中的所有材料(包括用戶自定義材料),可以定義其他拉格朗日模型中的任何初始條件和邊界條件,也支持與其他拉格朗日部件的相互接觸,從而擴大了該方法應用范圍。

對于變形不明顯的問題,該方法不如拉格朗日有限元分析準確,對于變形較大的問題,該方法不如耦合歐拉-拉格朗日(CEL)方法準確。當模型的大部分節點都是SPH粒子時,不宜使用多CPU進行分析。

應用

ABAQUS中的光滑粒子流體動力學 ( SPH ) 方法的圖4

SPH分析對涉及極端變形的問題非常有效。例如:液體晃動,波浪工程,彈道學,噴涂,氣體流動,二次撞擊造成的閉塞和破碎等。在許多情況下,CEL法和SPH法都可以使用。在許多CEL分析中,材料所占體積明顯小于空穴,因而計算成本可能很高。此時,SPH分析是首選方法。例如,在較大空間內追蹤初次撞擊產生的碎片直到二次撞擊發生時,若采用CEL法分析則計算成本很大,而采用SPH分析不存在任何額外成本。

人工粘度

ABAQUS中的光滑粒子流體動力學 ( SPH ) 方法的圖5

SPH中的人工粘度與有限元方法中的體積粘度(bulk viscosity)意義相同。和其他拉格朗日有限單元一樣,粒子單元使用線性和二次粘度來抑制計算響應中的高頻噪聲。在少數情況下,ABAQUS的默認值不合適,你可以通過關鍵字更改人工粘度。

Input 輸入文件使用:          

使用下列語句來指定線性和二次人工粘度的比例因子:

*SECTION CONTROLS

 , , , 線性粘度比例因子, 二次粘度比例因子

初始條件

ABAQUS中的光滑粒子流體動力學 ( SPH ) 方法的圖6

“Initial conditions in Abaqus/Standard and Abaqus/Explicit,” Section 34.2.1中講述了所有可用于Explicit分析的初始條件。與力學分析相關的初始條件均可用于SPH分析。

邊界條件

ABAQUS中的光滑粒子流體動力學 ( SPH ) 方法的圖7

邊界條件的定義請參照 “Boundary conditions in Abaqus/Standard and Abaqus/Explicit,” Section 34.3.1.

載荷

ABAQUS中的光滑粒子流體動力學 ( SPH ) 方法的圖8

 “Applying loads: overview,” Section 34.4.1描述了所有可用的顯式動力分析的載荷類型。節點集中載荷可用,重力載荷是SPH中唯一可使用的分布式載荷。

材料選擇

ABAQUS中的光滑粒子流體動力學 ( SPH ) 方法的圖9

任何在Abaqus/Explicit中可用的材料模型均支持SPH分析。

單元

ABAQUS中的光滑粒子流體動力學 ( SPH ) 方法的圖10

SPH分析通過單節點PC3D單元實現。這些單元通過定義粒子在空間中的位置來構造研究的部件。

定義PC3D單元的方式類似于定義質點群。分布在模型表面或內部的粒子的坐標與有限單元節點的坐標含義相似。為使計算更加精確,應盡可能均勻地將這些粒子布置在空間中。

除了直接定義PC3D單元外,還可以先定義傳統連續介質有限單元(C3D8R, C3D6, C3D4),然后在分析開始時或在分析過程中將單元網格自動轉換成粒子。具體討論見“Finite element conversion to SPH particles,” Section 15.2.2

ABAQUS / Explicit中的SPH方法是通過三次樣條插值多項式實現的,其建立在經典的光滑粒子流體動力學理論之上,參考見下文。

SPH方法不支持二維分析。軸對稱可以利用楔形扇區和對稱邊界條件模擬。PC3D單元不支持沙漏或畸變控制,單元間沒有面或邊連接。

SPH核插值器

默認情況下,ABAQUS / Explicit中的SPH分析是通過一個三次樣條插值多項式實現的。此外,還可以選擇二次(Johnson et al,1996)或五次(Wendland,1995)插值。

ABAQUS中采用的是經典的光滑粒子流體動力學理論,當然還可以采用平均流修正的XSPH方法(參見Monaghan,1992),也可用 Randles 和Libersky修正的歸一化SPH(NSPH)方法。

以上這些控制選項將在“Using section controls for smoothed particle hydrodynamics (SPH)” in “Section controls,” Section 27.1.4中討論。

計算粒子體積

目前還無法自動計算粒子占據的體積。你需要指定一個特征長度用于計算粒子的體積,繼而計算粒子的質量。假設節點均勻地分布在空間中,每個粒子都與一個以粒子為中心的小立方體相關聯。當堆疊在一起,這些立方體將充滿整個部件。特征長度是立方體邊長的一半。從實際角度來看,一旦創建了節點,就可以將兩個節點間距離的一半作為特征長度。此外,如果部件的質量和密度已知,可以利用部件的體積除以粒子總數得到每個粒子所關聯的小立方體的體積。當特征長度是小立方體體積立方根的一半時比較合理。如果你將模型定義數據輸出到數據(.dat)文件中,那么你可以查閱到模型中相關集合的質量。(參見“Model and history definition summaries” in “Output,” Section 4.1.1).

Input 輸入文件使用:     

使用下列語句來定義SPH部件:

*ELEMENT, TYPE=PC3D, ELSET=particle_body

element number, node number

Repeat the data line as often as necessary.

*SOLID SECTION, ELSET=particle_body, MATERIAL=material_name

characteristic length associated with particle volume

光滑長度計算

雖然每個粒子單元在模型中只使用一個節點定義,SPH方法在球形影響區域內計算相鄰粒子的貢獻。這個球形影響區域的半徑即為光滑長度。光滑長度與上文所說的特征長度相互獨立,它控制著SPH法的插值性質。默認情況下,光滑長度自動計算。變形過程中,粒子產生相對運動,因此與某個粒子相鄰的粒子會(通常)發生變化。在每個Explicit增量步中,基于粒子云重新計算內部相連關系和運動學參數(如正應變和切應變,變形梯度等),然后應力以與減縮積分單元類似的方式計算,繼而基于SPH準則反算出粒子云中單元的節點力。

默認情況下,ABAQUS / Explicit在分析開始計算出一個光滑長度,使得在每個影響區域內的平均粒子數是30-50個。光滑長度在分析過程中保持不變。因此每個單元內粒子的平均數可能在分析過程中增加或減少,其取決于模型主要是壓縮還是膨脹,如果分析以壓縮為主,那么與某個單元關聯的粒子總數可能超過所允許的最大值,導致分析終止。默認情況下,每個單元關聯的粒子數最大為140。

控制選項在“Using section controls for smoothed particle hydrodynamics (SPH)” in “Section controls,” Section 27.1.4.中討論。

SPH區域

在分析的開始,ABAQUS會計算出一個矩形區域,在邊界內的粒子將被追蹤。這個固定的矩形區域比模型總尺寸大10%,其中心位于模型的幾何中心。隨著分析的進行,如果一個粒子飛出區域,它將成為一個自由飛行質點,不再參與SPH計算。如果之后粒子又重新飛入區域內,它將再次參與計算。

你可以修改區域邊界的尺寸,具體討論在 “Using section controls for smoothed particle hydrodynamics (SPH)” in “Section controls,” Section 27.1.4.

約束

ABAQUS中的光滑粒子流體動力學 ( SPH ) 方法的圖11

由于PC3D是拉格朗日單元,其節點也可以定義與其他單元、連接體等的約束。由于這些單元沒有面或邊,基于面定義的單元不能使用PC3D單元。因此,基于單元面定義的約束(如fasteners)不能用于粒子單元。

相互作用

ABAQUS中的光滑粒子流體動力學 ( SPH ) 方法的圖12

使用粒子定義的部件可以與其他有限單元定義的部件建立接觸關系。接觸關系類似于基于節點的面(與粒子相關聯)和基于單元的面(或解析剛體)之間的接觸關系。SPH支持通用接觸和接觸對。任何基于節點的面定義的接觸類型和準則都可用,包括cohesive behavior。支持定義不同的接觸特性。默認情況下,粒子不是通用接觸域中的一部分,這與一維單元(1-node elements)類似(例如point masses)。默認的粒子接觸厚度與在截面定義中指定的特征長度值相同;因此,為了實現接觸,粒子的接觸行為等效成一個球體,其半徑等于小立方體(與粒子相關聯的)的內接球的半徑。

對于PC3D單元,接觸厚度不能為0,否則計算難以收斂。推薦使用默認的或指定合理的接觸厚度。

允許在使用PC3D單元定義的不同部件間建立接觸關系。但是,只有當相互碰撞的SPH部件是由相同的流體材料組成時,接觸才有意義。例如水滴落入裝水的桶中。在與固體相關的應用中,比如子彈穿透裝甲板,建模時一個部件必須使用常規有限元定義。

粒子和歐拉體之間不能定義接觸。

Input 輸入文件使用:

使用下列語句來定義網格單元或解析剛體面與粒子定義的面之間的接觸:

*CONTACT

*CONTACT INCLUSIONS

node-based particle surface, element-based/analytical_surface

輸出

ABAQUS中的光滑粒子流體動力學 ( SPH ) 方法的圖13

PC3D單元能夠輸出連續介質單元所有的與力學相關的參數:應力,應變,能量,狀態變量,場,用戶自定義變量。Abaqus/Explicit分析中的所有節點變量均可輸出。

限制

ABAQUS中的光滑粒子流體動力學 ( SPH ) 方法的圖14

SPH法有以下限制:

· 該方法在變形不太嚴重,單元不扭曲時不如一般的拉格朗日有限元分析準確,在較大的變形時不如耦合歐拉-拉格朗日分析準確。SPH方法主要用于傳統有限元方法或CEL法使用受限時,或者計算成本很高時。

· 當材料處于拉應力狀態,粒子的運動將變得不穩定,導致所謂的拉伸失穩。這種不穩定性,與標準SPH法的插值技術密切相關,在模擬固體拉伸時尤其明顯。這使得粒子趨向于聚集在一起而表現出破碎行為(fracture-like behavior)。

· 使用粒子單元定義的部件的質量分布和使用連續單元(如C3D8R)定義的部件的質量分布有所不同。當使用粒子單元時,部件中所有粒子的體積都是相同的。因此,部件中所有粒子的節點質量是一樣的。如果節點的布置不是一個常規的立方排列,質量分布將會不準確,在部件的自由表面上尤其明顯。

· 面載荷不能用于PC3D單元。但是,分布載荷,例如壓力,可以先施加在其他有限元表面然后通過接觸關系作用到粒子單元上。

· 使用粒子單元定義的部件,如果它們沒有使用相同的截面屬性,那么它們不能定義接觸關系。因此,你不能使用SPH法構建出不同材料的混合體。

· 目前Abaqus/CAE不支持SPH,可以使用Abaqus/CAE先生成質量單元(mass elements),寫入輸入文件(.inp),然后手動編輯輸入文件,將質量單元轉換為粒子。也可以利用ABAQUS將單元轉化成粒子,參照 “Finite element conversion to SPH particles,” Section 15.2.2。此外,也可以先創建C3D8R單元,然后利用腳本將單元轉換為粒子,參照www.3ds.com/support/knowledge-base

· 對于通過一個實體截面定義的部件,重力荷載和質量縮放必須施加在該實體截面的所有單元上,不能僅定義到某個單元子集上。

對于具有下列特征之一的模型,ABAQUS將采用單線程進行計算:

· 分析過程中,單元根據相關準則逐漸轉化為粒子時

· PC3D單元對應著多個實體截面

· 采用NSPH時

·  預定義場變量(包括溫度)隨材料屬性變化

如果使用多線程(CPU)進行計算,SPH分析將受到以下限制:

· 不支持SPH從面節點的接觸輸出(Contact output)。

· 不支持單元的歷史輸出。

· 不支持能量歷史輸出,模型總體能量除外。

· 多線程運算時,不能啟用動態負載平衡(Dynamic load balancing)功能

· 建議每個并行域至少有10000個粒子。

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

12
5
28