一種基于歐拉-拉格朗日耦合方法的流體仿真方法
【專利摘要】本發(fā)明公開了一種基于歐拉-拉格朗日耦合方法的流體仿真方法。其以實(shí)現(xiàn)高效的流體仿真為目的,結(jié)合歐拉法和拉格朗日法求解N-S方程進(jìn)行流體仿真的核心思想,在SPH和LBM的流體仿真基礎(chǔ)上,圍繞多方法耦合的計(jì)算方法展開研究。首先利用基于歐拉網(wǎng)格的LBM方法進(jìn)行大規(guī)模流場建模,構(gòu)建流體仿真的主體部分,然后利用基于拉格朗日粒子思想的SPH方法仿真諸如浪花、水珠等流體細(xì)節(jié),并通過設(shè)計(jì)耦合算法整合LBM流體與SPH流體,實(shí)現(xiàn)逼真、快速、兼顧細(xì)節(jié)的大規(guī)模流體仿真。
【專利說明】一種基于歐拉-拉格朗日耦合方法的流體仿真方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種基于歐拉-拉格朗日耦合方法的流體仿真技術(shù)。
【背景技術(shù)】
[0002] 目前,流體仿真朝著多學(xué)科,多角度,多平臺(tái)的方向飛速發(fā)展,但是礙于現(xiàn)有硬件 水平的限制和仿真算法的局限性,對(duì)流體模型進(jìn)行精確、迅速、逼真的還原還存在諸多困 難。近年來,滿足工程和科研要求的真實(shí)流體仿真?zhèn)涫車鴥?nèi)外學(xué)者和科研機(jī)構(gòu)的關(guān)注?;?于物理的真實(shí)感流體仿真研究對(duì)于從事流體相關(guān)的科研工作者和計(jì)算機(jī)圖形學(xué)的研究者 來說無疑面臨著巨大的挑戰(zhàn),也具有巨大的吸引力。
[0003] 基于物理的流體仿真方法主要分為兩種:基于網(wǎng)格思想的歐拉方法和基于粒子思 想的拉格朗日方法。拉格朗日方法中SPH方法多用于流體的細(xì)節(jié)彰顯和模擬小規(guī)模流體, 由于流體細(xì)節(jié)的精細(xì)刻畫、流體仿真的速度和流體仿真規(guī)模這三者具有不可調(diào)和的矛盾, 在進(jìn)行精細(xì)流體細(xì)節(jié)渲染的同時(shí)很難保證實(shí)現(xiàn)大規(guī)模流體仿真。
[0004] LBM方法是基于歐拉思想的典型網(wǎng)格方法,具有天然的并行性,且邊界條件容易處 理,適合于大尺度、低精度、規(guī)則邊界的流體仿真,如山洪地質(zhì)災(zāi)害、泥石流、大規(guī)模水面等。 通過精細(xì)網(wǎng)格劃分或非規(guī)則網(wǎng)格劃分可以拓展LBM流體仿真范圍,但是由此帶來的穩(wěn)定性 損失和效率下降將使LBM失去其固有優(yōu)勢。因此,與其他方法相結(jié)合,發(fā)揮LBM方法天然優(yōu) 勢的混合方法正逐漸引起越來越多學(xué)者的關(guān)注。
[0005] 為了解決上述問題,本發(fā)明提出一種基于歐拉-拉格朗日耦合方法的流體仿真技 術(shù),以實(shí)現(xiàn)兼顧速度、規(guī)模和細(xì)節(jié)的流體仿真為目標(biāo),圍繞基于物理的流體仿真方法展開研 究,首先用LBM方法進(jìn)行大規(guī)模的流場建模,并利用PLSM方法提取和追蹤流體表面,然后在 已有LBM仿真流體的基礎(chǔ)上,應(yīng)用SPH方法刻畫流體諸如水花、泡沫的細(xì)節(jié),通過設(shè)計(jì)耦合 算法將SPH流體和LBM流體集成到同一場景中,實(shí)現(xiàn)了兼顧細(xì)節(jié)的大規(guī)模交互場景的實(shí)時(shí) 逼真繪制。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明解決的技術(shù)問題是:克服了現(xiàn)有的流體仿真方法的效率問題,提供了一種 基于歐拉-拉格朗日耦合方法的流體仿真技術(shù),解決了流體仿真規(guī)模與細(xì)節(jié)的矛盾,滿足 了對(duì)流體運(yùn)動(dòng)過程進(jìn)行實(shí)時(shí)模擬的需要。
[0007] 本發(fā)明采用的技術(shù)方案為:一種基于歐拉-拉格朗日耦合方法的流體仿真方法, 包括以下四個(gè)步驟:
[0008] 步驟(1)、大規(guī)模流體的物理仿真:利用求解N-S方程的LBGK控制方程,采用DnQm 多維離散網(wǎng)格模型,進(jìn)行大規(guī)模流場建模,這是流體仿真的主體部分。
[0009] 步驟⑵、流體自由表面追蹤:應(yīng)用PLSM方法構(gòu)建流體自由表面。輸出步驟⑴中 得到的流體網(wǎng)格,用PLSM方法標(biāo)記流體運(yùn)動(dòng)界面在LBM網(wǎng)格內(nèi)部的位置,追蹤流體界面,以 此作為流體的近似表面。
[0010] 步驟(3)、流體細(xì)節(jié)仿真:通過SPH方法來對(duì)流體細(xì)節(jié)進(jìn)行物理仿真,模擬流體運(yùn) 動(dòng)過程中產(chǎn)生的諸如浪花、水珠等細(xì)節(jié)。
[0011] 步驟(4)、集成仿真場景、進(jìn)行算法耦合。把步驟(1)、(2)、(3)中LBM流體和SPH 仿真的流體集成到同一個(gè)場景中,利用耦合算法進(jìn)行LBM和SPH算法的參數(shù)傳遞,例如密 度、速度、位置等。根據(jù)耦合算法控制流體仿真過程中SPH粒子的生成時(shí)機(jī)。
[0012] 本發(fā)明的原理在于:
[0013] (1)通過LBM方法模擬大規(guī)模流體運(yùn)動(dòng),利用空間網(wǎng)格對(duì)流體的運(yùn)動(dòng)狀態(tài)進(jìn)行計(jì) 算,以此發(fā)揮LBM方法適合模擬大規(guī)模、低精度流體的特點(diǎn),并能在保證流體仿真規(guī)模的同 時(shí)保證速度優(yōu)勢。
[0014] (2)為了快速精確的追蹤流體的表面,本發(fā)明利用PLSM方法通過距離函數(shù)來近似 代表流體液面的空間位置。該方法通過使用PLSM追蹤的流體表面在網(wǎng)格節(jié)點(diǎn)中的位置,然 后分析PLSM方法進(jìn)行液面追蹤時(shí)造成的耗散誤差,通過補(bǔ)償粒子的方法彌補(bǔ)流體液面處 被錯(cuò)誤平滑掉的流體信息。接著用快速行進(jìn)算法得到流體液面,采用OpenGL對(duì)流體液面進(jìn) 行繪制,保持了邊界的銳度并且可以直接以此作為大規(guī)模流體表面的近似代表。這樣得到 的流體表面,保持了良好的真實(shí)性,并具有非常高的效率。
[0015] (3)為了對(duì)流體進(jìn)行逼真的細(xì)節(jié)刻畫,本發(fā)明提出了一種基于LBM和SPH的耦合流 體仿真方法。該方法在LBM流體的基礎(chǔ)上,通過SPH方法模擬諸如浪花、泡沫等流體細(xì)節(jié),并 設(shè)計(jì)LBM-SPH的耦合算法控制細(xì)節(jié)生成位置和生成時(shí)機(jī),達(dá)到良好的流體真實(shí)視覺表現(xiàn)。
[0016] 本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)在于:
[0017] 1、本發(fā)明提出的高效數(shù)據(jù)組織方式,流體仿真過程中的流體參數(shù)可在各個(gè)方法間 無障礙的傳遞,保證了算法的魯棒性。
[0018] 2、高效率的網(wǎng)格方法,本發(fā)明利用PLSM對(duì)流體液面進(jìn)行追蹤,由于LBM和PLSM同 屬網(wǎng)格方法,LBM的空間網(wǎng)格可以被PLSM方法重用,因此有效地減少了計(jì)算時(shí)間。
[0019] 3、結(jié)合不同流體仿真方法的優(yōu)勢,既發(fā)揮了 LBM方法速度快、可仿真大規(guī)模流場 的優(yōu)勢,又發(fā)揮了 SPH方法擅長刻畫流體細(xì)節(jié)的優(yōu)勢。
[0020] 4、快速的液面追蹤和繪制,利用PLSM方法可對(duì)流體液面進(jìn)行追蹤和補(bǔ)償,提高了 算法效率。
【專利附圖】
【附圖說明】
[0021] 圖1基于歐拉-拉格朗日耦合方法的流體仿真流程圖;
[0022] 圖2二維LBM示意圖;
[0023] 圖3算法劃分示意圖;
[0024] 圖4修正網(wǎng)格示意圖;
[0025] 圖5 PLSM與LBM耦合后仿真的水滴下落過程;
[0026] 圖6仿真結(jié)果與真實(shí)照片對(duì)比;
[0027] 圖7渲染后耦合方法的仿真結(jié)果。
【具體實(shí)施方式】
[0028] 圖1給出了基于歐拉-拉格朗日耦合方法的流體仿真的總體處理流程,下面結(jié)合 其他附圖及【具體實(shí)施方式】進(jìn)一步說明本發(fā)明。
[0029] 本發(fā)明提供一種基于歐拉-拉格朗日耦合方法的流體仿真技術(shù),具體實(shí)施為 LBM-SPH耦合的流體仿真,主要步驟介紹如下:
[0030] 1.大規(guī)模流體的物理仿真
[0031] 本發(fā)明采用LBM方法來模擬大規(guī)模流體的運(yùn)動(dòng),LBM由上世紀(jì)70年代提出并發(fā)展 的格子氣自動(dòng)機(jī)(Lattice Gas Automata,LGA)發(fā)展而來,因此可把LBM看做是描述流體運(yùn) 動(dòng)的一個(gè)物理模型。LBM方法改善了傳統(tǒng)的LGA方法中諸如噪聲、指數(shù)復(fù)雜性等問題。在LBM 中,用粒子分布函數(shù)替代LGA中粒子本身進(jìn)行演化,直接采用格子Boltzmann方程(LBE)作 為演化方程,根據(jù)其分布函數(shù)計(jì)算流體的密度和速度。
[0032] 連續(xù)的Boltzmann方程表示為:
[0033]
【權(quán)利要求】
1. 一種基于歐拉-拉格朗日耦合方法的流體仿真方法,其特征在于包括以下四個(gè)步 驟: 步驟(1)、大規(guī)模流體的物理仿真:利用求解納維-斯托克斯方程(Navier-stokes, N-S)的Lattice Bhatnagar-gross-krook(LBGK)控制方程,米用η維離散空間的m速度 (DnQm)多維離散網(wǎng)格模型,進(jìn)行大規(guī)模流場建模,這是流體仿真的主體部分; 步驟(2)、流體自由表面追蹤:應(yīng)用Particle Level Set Method (PLSM)方法構(gòu)建流 體自由表面;輸出步驟(1)中得到的流體網(wǎng)格,用PLSM方法標(biāo)記流體運(yùn)動(dòng)界面在Lattice Boltzmann Method(LBM)網(wǎng)格內(nèi)部的位置,追蹤流體界面,以此作為流體的近似表面; 步驟(3)、流體細(xì)節(jié)仿真:通過Smoothed Particle Hydrodynamics (SPH)方法來對(duì)流 體細(xì)節(jié)進(jìn)行物理仿真,首先建立流體仿真物理模型,包括流體求解區(qū)域和邊界條件,其中邊 界條件為PLSM追蹤到的流體界面;然后設(shè)定SPH初始條件,確立粒子生成位置,初始化粒子 屬性信息;再然后,將控制流體運(yùn)動(dòng)的N-S方程離散化,用離散了的控制方程近似表達(dá)粒子 屬性變量及其導(dǎo)數(shù)形式;接下來,根據(jù)時(shí)間步長積分形式開始累加,更新求解區(qū)域的粒 子位置、速度、密度信息,計(jì)算粒子屬性在一個(gè)時(shí)間步長內(nèi)的變化量;緊接著At+l,計(jì)算下 一時(shí)刻的速度變化量和新的位置信息,更新SPH粒子系統(tǒng);最后,用新的速度和位置信息計(jì) 算瞬時(shí)變量;重復(fù)以上各步驟,直到指定結(jié)束時(shí)刻和計(jì)算達(dá)到收斂條件,仿真結(jié)束;以此模 擬流體運(yùn)動(dòng)過程中產(chǎn)生的浪花、水珠細(xì)節(jié); 步驟(4)、集成仿真場景、進(jìn)行算法耦合;把步驟(1)、(2)、(3)中LBM流體和SPH仿真 的流體集成到同一個(gè)場景中,利用耦合算法進(jìn)行LBM和SPH算法的參數(shù)傳遞,包括密度、速 度、位置;根據(jù)耦合算法控制流體仿真過程中SPH粒子的生成時(shí)機(jī); 步驟(5)、運(yùn)用快速行進(jìn)算法(Fast Marching Mehod,F(xiàn)MM)對(duì)PLSM追蹤出來的網(wǎng)格進(jìn) 行遍歷,并用三角面片填充,SPH渲染的流體細(xì)節(jié)直接用OpenGL繪制成粒子球。
2. 根據(jù)權(quán)利要求1所述的基于歐拉-拉格朗日耦合方法的流體仿真方法,其特 征在于:步驟(1)中所述的大規(guī)模流體的物理仿真方法,該方法使用空間場內(nèi)的均勻 網(wǎng)格表示流場,利用DnQm網(wǎng)格模型表示流體在網(wǎng)格格點(diǎn)處的屬性,將納維一斯托克斯 (Navier-Stokes,N-S)方程轉(zhuǎn)化為只與時(shí)間相關(guān)的離散形式的LBGK方程形式求解,具體 過程為假設(shè)流體運(yùn)動(dòng)具有平衡態(tài),分子之間的碰撞過程會(huì)促使流體分布函數(shù)趨近于平衡 態(tài),在流體趨于平衡態(tài)的過程中,從空間、時(shí)間和速度的角度將連續(xù)矢量離散成沿各個(gè)特 定的方向的標(biāo)量值,將連續(xù)的流體運(yùn)動(dòng)看作為兩個(gè)離散步驟--碰撞(Collision)和遷移 (Stream),通過離散時(shí)間At驅(qū)動(dòng)流體在網(wǎng)格格點(diǎn)處的碰撞或遷移過程以實(shí)現(xiàn)流體模擬過 程。
3. 根據(jù)權(quán)利要求1所述的基于歐拉-拉格朗日耦合方法的流體仿真方法,其特征在于: 步驟(3)中所述的流體細(xì)節(jié)仿真,該方法使用一組離散粒子表示流體,利用平滑核函數(shù)近 似表示粒子的物理參數(shù),將納維一斯托克斯(Navier-Stokes,N-S)方程轉(zhuǎn)化為只與時(shí)間相 關(guān)的離散形式的微分方程,再利用積分方法求解;描述流體運(yùn)動(dòng)的控制方程可以由一系列 拉格朗日型偏微分方程表示,這些方程遵循能量守恒定律;N-S方程可用時(shí)間全導(dǎo)數(shù)形式 表示如下: Dp _ dup l)t~ P~dx^ 動(dòng)量方程為: DVa _ 1 οσ',β Dt ~~p ' δχμ 能量方程: De _ σαβ dua Dt p ox1' 其中,α,β表示坐標(biāo)方向,p表示流體密度,t表示時(shí)間,u為流體速度,x為空間位 置,σ為總應(yīng)力張量,對(duì)于給定的粒子i,宏觀密度可根據(jù)SPH方法用支持域內(nèi)粒子密度累 加得到: 7=1 其中,光滑核函數(shù)為: ffij = W (| Xi-Xj I, h) = ff (Rij, h) Ru表示粒子i和j之間的相對(duì)距離;是兩個(gè)粒子的絕對(duì)距離;h是光滑長度, 直接影響SPH方法的求解精度。
【文檔編號(hào)】G06T15/00GK104268943SQ201410508371
【公開日】2015年1月7日 申請(qǐng)日期:2014年9月28日 優(yōu)先權(quán)日:2014年9月28日
【發(fā)明者】郝愛民, 李帥, 高陽 申請(qǐng)人:北京航空航天大學(xué), 北京天人同達(dá)軟件科技有限公司