基于sph方法的多組分固體和流體模擬方法及系統的制作方法
【專利摘要】本發(fā)明公開一種基于SPH方法的多組分固體和流體模擬方法及系統,能模擬固體,多組分流體,固體和多組分流體的耦合,多孔介質流以及溶解。方法包括:將多組分流體的動量守恒公式中加入固體的偏應力張量的散度部分,保留壓強部分,計算每個粒子的整體壓強;利用標準的多組分流體計算方法更新體積分數,根據空間中固體和流體的體積分數以及相對速度計算出每個粒子所有組分的速度梯度;根據所述速度梯度利用固體的本構方程計算固體的偏應力張量,并根據屈服準則修正所述偏應力張量;利用固體的體積分數修正所述偏應力張量;計算不同粒子之間的粘滯力大小;根據所述偏應力張量和粘滯力大小,利用所述動量守恒公式進行多組分物理模擬。
【專利說明】
基于SPH方法的多組分固體和流體模擬方法及系統
技術領域
[0001] 本發(fā)明設及計算機圖形學物理模擬與擅染技術領域,具體設及一種基于SKl方法 的多組分固體和流體模擬方法及系統。
【背景技術】
[0002] 近十年來,設及流體和固體的基于物理的模擬在圖形學界越來越流行。而流體和 固體之間的相互作用也是圖形學領域的一個值得研究的難點之一。
[0003] 之前的工作設及流體和固體的相互禪合,如N. Akinci等人發(fā)表的論文"Versati Ie rigid-fluid coupling for incompressible SPH."處理了流體和剛體的相互作用,之后 他們發(fā)表的"Coupling elastic solids with SPH fluids."將方法擴展到彈性體。 T.Lenaerts等人發(fā)表論文"Mixing fluids and granular materials."處理了沙子和水之 間的多孔介質流問題。他們的方法只能對應特定的場景而沒有一個統一的框架來處理運些 所有的情況。此外,對于溶解等需要體積分數或質量分數來表述的效果也很難進行模擬。
[0004] 對于多組分流體,B.Ren等人發(fā)表的論文"Multiple-fluid SPH simulation using a mix化re model"利用混合模型,可W處理可混與不可混的流體的模擬。T. Yang等 人利用能量的方法可W模擬類似萃取,特征匹配W及流動性混合等效果。但是他們只考慮 了流體,對于固體的模擬他們都沒有設及。
[0005] 總的來說,之前的方法要么場景過于特定,要么雖然能處理可混與不可混之間的 流體,但是沒有擴展到固體的情況。
【發(fā)明內容】
[0006] 本發(fā)明需要解決的技術問題是,如何模擬固體和流體之間的相互作用的模擬,主 要設及的固體有彈塑性體和顆粒物質。此外,本技術保持了一個統一的框架,使得固體、多 組分流體、固體和多組分流體的禪合、多孔介質流、溶解的模擬,W及固體和流體組分之間 的可混與不可混的模擬在一個統一的框架下都可W進行,具有魯棒性,且易于實現。
[0007] -方面,本發(fā)明實施例提出一種基于SPH方法的多組分固體和流體模擬方法,包 括:
[000引S1、將多組分流體的動量守恒公式中加入固體的偏應力張量的散度部分,保留壓 強部分,并計算每個粒子的整體壓強;
[0009] S2、利用標準的多組分流體計算方法更新體積分數,根據空間中固體和流體的體 積分數W及相對速度計算出每個粒子所有組分的速度梯度;
[0010] S3、根據所述速度梯度利用固體的本構方程計算固體的偏應力張量,并根據屈服 準則修正所述偏應力張量;
[0011] S4、利用固體的體積分數修正所述偏應力張量;
[0012] S5、計算不同粒子之間的粘滯力大??;
[0013] S6、根據所述偏應力張量和粘滯力大小,利用所述動量守恒公式進行多組分物理 模擬。
[0014] 另一方面,本發(fā)明實施例提出一種基于SPH方法的多組分固體和流體模擬系統,包 括:
[0015] 第一計算單元,用于將多組分流體的動量守恒公式中加入固體的偏應力張量的散 度部分,保留壓強部分,并計算每個粒子的整體壓強;
[0016] 第二計算單元,用于利用標準的多組分流體計算方法更新體積分數,根據空間中 固體和流體的體積分數W及相對速度計算出每個粒子所有組分的速度梯度;
[0017] 第=計算單元,用于根據所述速度梯度利用固體的本構方程計算固體的偏應力張 量,并根據屈服準則修正所述偏應力張量;
[0018] 第一修正單元,用于利用固體的體積分數修正所述偏應力張量;
[0019] 第二修正單元,用于計算不同粒子之間的粘滯力大??;
[0020] 模擬單元,用于根據所述偏應力張量和粘滯力大小,利用所述動量守恒公式進行 多組分物理模擬。
[0021] 本發(fā)明實施例提供的基于SPH方法的多組分固體和流體模擬方法及系統,基于物 理模型中的質量守恒、動量守恒和固體的本構,可W模真實世界中的固體,多組分流體W及 多組分流體和固體之間的相互作用,在模擬固體時只需要設置粒子中固體的體積分數為1 即可,而多組分流體和固體之間的相互作用的模擬包括固體和多組分流體的禪合、多孔介 質流的模擬,W及固體和流體組分之間的可混與不可混的模擬。對于溶解的模擬,只需要修 改擴散方程中的基于體積分數的擴散部分,約束使體積分數不超過飽和濃度即可。另外,本 發(fā)明因為只設及額外的偏應力張量,所W額外的開銷也可W保證不會過大。
【附圖說明】
[0022] 圖1為本發(fā)明基于SPH方法的多組分固體和流體模擬方法一實施例的流程示意圖;
[0023] 圖2為本發(fā)明基于SPH方法的多組分固體和流體模擬系統一實施例的結構示意圖。
【具體實施方式】
[0024] 為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例 中的附圖,對本發(fā)明實施例中的技術方案進行清楚地描述,顯然,所描述的實施例是本發(fā)明 一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有 做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0025] 如圖1所示,本實施例公開一種基于SPH方法的多組分固體和流體模擬方法,包括:
[0026] S1、將多組分流體的動量守恒公式中加入固體的偏應力張量的散度部分,保留壓 強部分,并計算每個粒子的整體壓強;
[0027] S2、利用標準的多組分流體計算方法更新體積分數,根據空間中固體和流體的體 積分數W及相對速度計算出每個粒子所有組分的速度梯度;
[0028] S3、根據所述速度梯度利用固體的本構方程計算固體的偏應力張量,并根據屈服 準則修正所述偏應力張量;
[0029] S4、利用固體的體積分數修正所述偏應力張量;
[0030] S5、計算不同粒子之間的粘滯力大??;
[0031] S6、根據所述偏應力張量和粘滯力大小,利用所述動量守恒公式進行多組分物理 模擬。
[0032] 本發(fā)明首先針對混合流體的Navier-Stokes方程的動量守恒方程進行修改:
[0033]
[0034] 公式(1)是多組分流體的動量守恒方程,其中D/D(t)表示隨體導數,Pm為組分的混 合密度,Um為混合速度,t為時間,P為壓強,Tm為黏滯力張量,TDm為相對速度張量,g為重力加 速度。為了可W擴展到固體的模擬,同時為了保證多組分的壓強的連續(xù)性,本發(fā)明保留了壓 強分量,在等式右邊加入一個類似黏滯張量的混合固體偏應力張量TSm,使得在計算各個組 分的相互作用的時候考慮內部的固體特性。運樣整個動量守恒方程就變成了 :
[0035]
[0036] 對于運個混合固體偏應力張量TSm的計算,本發(fā)明針對彈塑性體和用來模擬顆粒物 質的模型一-亞塑性體模型的本構方程擴展并計算相應的偏應力張量。
[0037] 彈塑性體根據廣義胡克定律得到相應的偏應力張量:
[00;3 引
[0039] 其中O是應力張量,G是剪切模量,CO為旋轉張量,e為應變張量,eP為塑性應變張 量,符號表示a對時間求導,符號"b/"表示張量b的偏應力部分。e和O運兩個張量都可 W通過速度梯度直接計算出來。對于塑性應力的部分,本方法直接采用von Mises準則對偏 應為自長縣講^了條.
[0040]
[0041] 其中Y是屈服半徑。運樣對于彈塑性體的偏應力部分,首先計算其彈性部分,再根 據von Mises準則進行修正從準確的得到彈塑性體的偏應力張量。
[0042] 亞塑性體根據亞塑性本構得到相應的偏應力張景:
[0043]
[0044] 其中,C1、C2和C3是人為設定的參數W調整顆粒物質的性質,TH)表示張量的跡, 利用Drucker-Prager準則對偏應力張量進行修正: )
[0046] 其中,叫和k。為人為設定的參數,用來調整屈服的性質。為(/的第二主不變 量。
[0047] 由于彈塑性體和亞塑性體的本構都需要利用到速度梯度,對于可混的SPH粒子,本 方法利用平均的方法來計算每個組分的速度梯度:
[004引 (7)
[0049]
[0050] 其中,i和j表示粒子下標,Uk為組分k的絕對速度,Qk為組分k的體積分數,1?為質 量,Pj表示粒子j的密度,Wi j為SPH的核函數,Umk為組分相對于粒子中屯、的相對速度,Um為粒 子中屯、的速度,Uk = Umk+Um。
[0化1 ] 為下穩(wěn)巧忡,太力?巧伸巧族動最小二乘法進行離散;
[0化2]
(8)
[0053] XU為粒子i和粒子j的距離向量,運樣計算得到的不同組分的偏應力張量只適合獨 立組分的計算,在可混的情況下,計算混合偏應力張量的散度的時候,本方法同樣需要根據 體積分數進行平均化:
[0化4]
[005引其中k遍歷所有可能的組分,表示混合偏引力張量所對應的力,(化y表示第 k個組分算出來的偏應力張量。運樣就計算得到了混合的偏應力張量的散度(本質上就是運 個偏應力張量的力形式:滬f s")。
[0056]對于整體的黏滯力計算,本方法針對可混組分和不可混組分進行單獨分析,如果 兩種物質是不可混的,那么需要加強黏滯力防止穿透,如果是可混的,利用平均的方法平均 黏滯力:
[0化7]
[005引 Hu為i粒子和j粒子的相互黏滯力,丫 b為不可混情況的粘滯系數,丫 k為可混情況 的組分k的粘滯系數,JTU為黏滯變量,它和兩個粒子之間的距離成反比,和兩個粒子之間的 相對速度成正比。
[0059] 對于溶解的模擬,本方法修改了擴散方程,使得擴散方程不會使得溶質的濃度超 過飽和濃度,并且對于速度梯度的加權平均的方式,本方法也設置為當固體的體積分數小 于飽和濃度的時候,其加權系數成為零:
[0060]
[0061] 表達式(10)是對擴散速度的修改,其中,化為組分k的擴散系數,故組分k的體積分 數和飽和濃度的最小者,即故=(Os,ak),其中Os為飽和濃度。
[0062] 對于用于速度梯度的體積分數的平均,本方法將公式(9)中於參改 為:
[0063]
[0064] 如果運個表達式中(Qk)I-Qs或者(a〇廣as小于零,那么就另表達式(11)變成零。
[0065] 本發(fā)明根據物理學的守恒方程得到,可W在一個統一的框架下模擬彈塑性體,顆 粒物質,多組分流體,固體和多組分流體的禪合,多孔介質流體W及溶解等現象。本方法可 W擴展多個組分并且保證了魯棒性并且不需要非常大的開銷。
[0066] 本發(fā)明實施例提供的基于SPH方法的多組分固體和流體模擬方法,基于物理模型 中的質量守恒、動量守恒和固體的本構,可W模真實世界中的固體,多組分流體W及多組分 流體和固體之間的相互作用,在模擬固體時只需要設置粒子中固體的體積分數為1即可,而 多組分流體和固體之間的相互作用的模擬包括多組分流體的禪合和多孔介質流的模擬。對 于溶解的模擬,只需要修改擴散方程中的基于體積分數的擴散部分,約束使體積分數不超 過飽和濃度即可。
[0067] 可選地,在本發(fā)明基于SPH方法的多組分固體和流體模擬方法的另一實施例中,所 述Sl,包括:
[0068] 通過標準SKl的狀態(tài)方程計算每個粒子的整體壓強。
[0069] 可選地,在本發(fā)明基于SPH方法的多組分固體和流體模擬方法的另一實施例中,所 述S2,包括:
[0070] 根據SPH粒子中的每個組分相對于粒子總體速度的相對速度加上粒子的總體速度 得到的每個組分的絕對速度,W及固體的體積分數利用移動最小二乘法計算組分的速度梯 度。
[0071] 可選地,在本發(fā)明基于SPH方法的多組分固體和流體模擬方法的另一實施例中,所 述S3,包括:
[0072] 根據每個組分的速度梯度,利用彈塑性體的本構方程計算得到應力張量,之后求 解所述應力張量的偏量部分,得到彈塑性體每個組分的偏應力張量,最后使用von Mises準 則對所述彈塑性體每個組分的偏應力張量進行修正;或者
[0073] 根據每個組分的速度梯度,利用亞塑性體的本構方程計算得到應力張量,之后求 解所述應力張量的偏量部分,得到顆粒物質每個組分的偏應力張量,最后使用化UCker- Prager準則對所述顆粒物質每個組分的偏應力張量進行修正。
[0074] 可選地,在本發(fā)明基于SPH方法的多組分固體和流體模擬方法的另一實施例中,所 述S4,包括:
[0075] 對于步驟S3得到的固體獨有的偏應力張量,通過體積分數的加權平均得到SPH粒 子的偏應力張量。
[0076] 可選地,在本發(fā)明基于SPH方法的多組分固體和流體模擬方法的另一實施例中,所 述S5,包括:
[0077] 對于可混粒子,通過體積分數加權計算粒子之間的摩擦力和黏滯力;或者
[0078] 對于不可混粒子,直接使用設定好的粘滯系數計算粒子之間的摩擦力和黏滯力;
[0079] 其中,所述S6,包括:
[0080] 根據所述偏應力張量、摩擦力和粘滯力大小進行多組分物理模擬。
[0081] 如圖2所示,本實施例公開一種基于SPH方法的多組分固體和流體模擬系統,包括:
[0082] 第一計算單元I,用于將多組分流體的動量守恒公式中加入固體的偏應力張量的 散度部分,保留壓強部分,并計算每個粒子的整體壓強;
[0083] 第二計算單元2,用于利用標準的多組分流體計算方法更新體積分數,根據空間中 固體和流體的體積分數W及相對速度計算出每個粒子所有組分的速度梯度;
[0084] 第=計算單元3,用于根據所述速度梯度利用固體的本構方程計算固體的偏應力 張量,并根據屈服準則修正所述偏應力張量;
[0085] 第一修正單元4,用于利用固體的體積分數修正所述偏應力張量;
[0086] 第二修正單元5,用于計算不同粒子之間的粘滯力大??;
[0087] 模擬單元6,用于根據所述偏應力張量和粘滯力大小,利用所述動量守恒公式進行 多組分物理模擬。
[0088] 雖然結合附圖描述了本發(fā)明的實施方式,但是本領域技術人員可W在不脫離本發(fā) 明的精神和范圍的情況下做出各種修改和變型,運樣的修改和變型均落入由所附權利要求 所限定的范圍之內。
【主權項】
1. 一種基于SPH方法的多組分固體和流體模擬方法,其特征在于,包括: 51、 將多組分流體的動量守丨旦公式中加入固體的偏應力張量的散度部分,保留壓強部 分,并計算每個粒子的整體壓強; 52、 利用標準的多組分流體計算方法更新體積分數,根據空間中固體和流體的體積分 數以及相對速度計算出每個粒子所有組分的速度梯度; 53、 根據所述速度梯度利用固體的本構方程計算固體的偏應力張量,并根據屈服準則 修正所述偏應力張量; 54、 利用固體的體積分數修正所述偏應力張量; 55、 計算不同粒子之間的粘滯力大小; 56、 根據所述偏應力張量和粘滯力大小,利用所述動量守恒公式進行多組分物理模擬。2. 根據權利要求1所述的基于SPH方法的多組分固體和流體模擬方法,其特征在于,所 述Sl,包括: 通過標準SPH的狀態(tài)方程計算每個粒子的整體壓強。3. 根據權利要求1所述的基于SPH方法的多組分固體和流體模擬方法,其特征在于,所 述S2,包括: 根據SPH粒子中的每個組分相對于粒子總體速度的相對速度加上粒子的總體速度得到 的每個組分的絕對速度,以及固體的體積分數利用移動最小二乘法計算組分的速度梯度。4. 根據權利要求1所述的基于SPH方法的多組分固體和流體模擬方法,其特征在于,所 述S3,包括: 根據每個組分的速度梯度,利用彈塑性體的本構方程計算得到應力張量,之后求解所 述應力張量的偏量部分,得到彈塑性體每個組分的偏應力張量,最后使用von Mises準則對 所述彈塑性體每個組分的偏應力張量進行修正;或者 根據每個組分的速度梯度,利用亞塑性體的本構方程計算得到應力張量,之后求解所 述應力張量的偏量部分,得到顆粒物質每個組分的的偏應力張量,最后使用Drucker-Prager準則對所述顆粒物質每個組分的偏應力張量進行修正。5. 根據權利要求1所述的基于SPH方法的多組分固體和流體模擬方法,其特征在于,所 述S4,包括: 對于步驟S3得到的固體獨有的偏應力張量,通過體積分數的加權平均得到SPH粒子的 偏應力張量。6. 根據權利要求1所述的基于SPH方法的多組分固體和流體模擬方法,其特征在于,所 述S5,包括: 對于可混粒子,通過體積分數加權計算粒子之間的摩擦力和黏滯力;或者 對于不可混粒子,直接使用設定好的粘滯系數計算粒子之間的摩擦力和黏滯力; 其中,所述S6,包括: 根據所述偏應力張量、摩擦力和粘滯力大小,利用所述動量守恒公式進行多組分物理 模擬。7. -種基于SPH方法的多組分固體和流體模擬系統,其特征在于,包括: 第一計算單元,用于將多組分流體的動量守恒公式中加入固體的偏應力張量的散度部 分,保留壓強部分,并計算每個粒子的整體壓強; 第二計算單元,用于利用標準的多組分流體計算方法更新體積分數,根據空間中固體 和流體的體積分數以及相對速度計算出每個粒子所有組分的速度梯度; 第三計算單元,用于根據所述速度梯度利用固體的本構方程計算固體的偏應力張量, 并根據屈服準則修正所述偏應力張量; 第一修正單元,用于利用固體的體積分數修正所述偏應力張量; 第二修正單元,用于計算不同粒子之間的粘滯力大??; 模擬單元,用于根據所述偏應力張量和粘滯力大小,利用所述動量守恒公式進行多組 分物理模擬。
【文檔編號】G06F17/50GK105956262SQ201610280000
【公開日】2016年9月21日
【申請日】2016年4月28日
【發(fā)明人】胡事民, 嚴梟, 江云濤, 李晨鋒, 拉爾夫·羅伯特·馬丁
【申請人】清華大學