【優(yōu)秀碩士博士論文】基于navier-stokes方程的煙霧湍流效果模擬_第1頁(yè)
【優(yōu)秀碩士博士論文】基于navier-stokes方程的煙霧湍流效果模擬_第2頁(yè)
【優(yōu)秀碩士博士論文】基于navier-stokes方程的煙霧湍流效果模擬_第3頁(yè)
【優(yōu)秀碩士博士論文】基于navier-stokes方程的煙霧湍流效果模擬_第4頁(yè)
【優(yōu)秀碩士博士論文】基于navier-stokes方程的煙霧湍流效果模擬_第5頁(yè)
已閱讀5頁(yè),還剩74頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

碩士學(xué)位論文題目基于NAVIERSTOKES方程的煙霧湍流效果模擬專(zhuān)業(yè)計(jì)算機(jī)應(yīng)用技術(shù)研究方向計(jì)算機(jī)圖形學(xué)授予學(xué)位日期2014年6月30日基于NAVIERSTOKES方程的煙霧湍流效果模擬計(jì)算機(jī)應(yīng)用技術(shù)專(zhuān)業(yè)湍流是自然界最常見(jiàn)的一種流體現(xiàn)象,它使流體產(chǎn)生豐富的流動(dòng)細(xì)節(jié)。流體湍流的模擬被廣泛地應(yīng)用于系統(tǒng)仿真、游戲特效、電影特效等領(lǐng)域中。基于物理的湍流模擬十分困難,雖然它能生成逼真的效果,但是在實(shí)際模擬中,其實(shí)時(shí)性與真實(shí)性之間的矛盾還遠(yuǎn)遠(yuǎn)沒(méi)有得到解決。本文即嘗試著在保證效率的同時(shí),從提高煙霧真實(shí)性入手,來(lái)模擬煙霧的湍流效果。本文以湍流為研究對(duì)象,詳細(xì)分析了湍流的生成條件和原因,在充分研究相關(guān)噪聲、湍流模型、湍流能量譜、湍流流動(dòng)工作的基礎(chǔ)上,建立了以網(wǎng)格系統(tǒng)和粒子系統(tǒng)相結(jié)合的方式來(lái)模擬湍流流動(dòng)的算法,并且減少了計(jì)算湍流時(shí)粒子系統(tǒng)與網(wǎng)格系統(tǒng)之間的耦合,在滿(mǎn)足湍流效果的真實(shí)性的同時(shí)保證了湍流效率。本文算法的核心思想是通過(guò)一個(gè)真實(shí)的基于統(tǒng)計(jì)學(xué)上的K湍流模型結(jié)合柯?tīng)柲曷宸蚨?、高效的粒子系統(tǒng)和小波噪聲技術(shù)來(lái)精確模擬煙霧流動(dòng)的湍流細(xì)節(jié)。相比已有的算法,本文工作的優(yōu)點(diǎn)在于減少湍流粒子系統(tǒng)與網(wǎng)格系統(tǒng)之間的耦合,在保證湍流流動(dòng)真實(shí)性的同時(shí)也兼顧了湍流的效率,使流體湍流的實(shí)時(shí)應(yīng)用成為可能。本文工作的主要內(nèi)容包括(1)運(yùn)用小波噪聲技術(shù)替代柏林噪聲??朔亓衷肼曚秩緢?chǎng)景存在的細(xì)節(jié)損失和鋸齒等問(wèn)題。(2)在湍流模擬中引入了K兩方程湍流模型,并且使用柯?tīng)柲曷宸蚨啥x的湍流能量譜來(lái)合成湍流。(3)最后把網(wǎng)格系統(tǒng)與粒子系統(tǒng)結(jié)合起來(lái)。應(yīng)用K湍流模型的粒子只需要采樣所在位置網(wǎng)格系統(tǒng)的速度。這樣降低了網(wǎng)格系統(tǒng)與粒子系統(tǒng)之間的耦合,使湍流在低分辨率的網(wǎng)格下仍然能夠順利地產(chǎn)生,進(jìn)而通過(guò)控制粒子數(shù)目的大小來(lái)人工控制湍流產(chǎn)生的規(guī)模。在保證煙霧效率的同時(shí),通過(guò)加入湍流提高了煙霧湍流的真實(shí)性。實(shí)驗(yàn)結(jié)果證明,在低分辨率三維網(wǎng)格下,通過(guò)使用基于NAVIERSTOKES方程結(jié)合K湍流模型的粒子方法模擬出流體湍流的效果能夠滿(mǎn)足應(yīng)用需求。當(dāng)網(wǎng)格在低分辨率下發(fā)生變化時(shí),湍流效果仍然十分穩(wěn)定。在湍流效果相同時(shí),效率也比高分辨率下網(wǎng)格方法有了明顯的提高。關(guān)鍵詞湍流,粒子,K模型,網(wǎng)格,真實(shí)性,效率SMOKETURBULENCEEFFECTSIMULATIONBASEDONNAVIERSTOKESEQUATIONMAJORCOMPUTERAPPLICATIONSTECHNOLOGYPOSTGRADUATEXIANGYUTUTORZHANGYANCITURBULENCEISTHEMOSTCOMMONPHENOMENONINTHENATUREITPRESENTSABUNDANTFLUIDDETAILSTHESIMULATIONOFTURBULENCEFLUIDISWIDELYUSEDINSYSTEMSIMULATION,COMPUTERGAMEEFFECTS,MOVIEEFFECTSANDSOMEOTHERFIELDSITISVERYDIFFICULTTOSIMULATETURBULENCEFLUIDBASEDONPHYSICALMETHODSALTHOUGHITCANPRODUCEREALEFFECTS,CONTRADICTIONBETWEENREALTIMEANDREALITYISFARBEYONDSOLVEDTHISPAPERTRIESTOIMPROVESMOKEREALITYINCONDITIONOFKEEPINGITSEFFECTSWHENSIMULATINGSMOKETURBULENCETHISPAPERMAKESASTUDYOFTURBULENCEALGORITHMS,ANALYZESITSGENERATINGCONDITIONSANDFACTORS,ESTABLISHESASIMULATIONALGORITHMCOMBINEDGRIDSYSTEMWITHPARTICLESYSTEMAFTERSUFFICIENTRESEARCHESONRELATEDNOISE,TURBULENCEMODELS,TURBULENCEENERGYSPECTRUMANDTURBULENCEFLUID,ANDREDUCESCOUPLINGBETWEENPARTICLESYSTEMANDGRIDSYSTEMWHENCOMPUTINGTURBULENCETHEREFORE,ITMEETSBOTHREALITYANDEFFICIENCYOFTURBULENCEATTHESAMETIMETHECOREALGORITHMOFTHISPAPERISTHATTOSIMULATETURBULENCEDETAILSOFSMOKEFLUIDACCURATELYBYKTURBULENCEMODELCOMBINEDWITHKOLMOGOROVLAW,EFFICIENTPARTICLESYSTEMANDWAVELETNOISETECHNOLOGYCOMPAREDWITHEXISTINGALGORITHM,THEADVANTAGESOFTHISPAPERAREASFOLLOWSITREDUCEDCOUPLINGBETWEENTURBULENCEPARTICLESYSTEMANDGRIDSYSTEM,ENSUREDREALITYANDREALTIMEOFTURBULENCEFLOWATTHESAMETIMEANDMADEITSREALTIMEAPPLICATIONOFFLUIDTURBULENCEPOSSIBLETHEMAINCONTENTOFTHISPAPERINCLUDES1DISCARDINGPERLINNOISE,ITUSESWAVLETNOISEINSTEADSOITCOULDOVERCOMEDETAILLOSSANDALIASINGOFPERLINNOISEWHENRENDERINGSCENE2LEADINGKTWOEQUATIONSTURBULENCEMODELINTOTURBULENCESIMULATION,ITSYNTHESISTURBULENCEWITHENERGYSPECTRUMDEFINEDBYKOLMOGOROVSLAW3FINALLY,ITCOMBINESGRIDSYSTEMANDPARTICLESYSTEMTOGETHERPARTICLESINKTURBULENCEMODELONLYNEEDTOSAMPLEVELOCITIESOFGRIDSYSTEMINTHEIRCORRESPONDINGPOSITIONSINTHISWAY,ITREDUCESCOUPLINGBETWEENGRIDSYSTEMANDPARTICLESYSTEMANDGENERATESTURBULENCEINLOWERGRIDRESOLUTIONSUCCESSFULLYANDTHENITCANCONTROLTURBULENCESCALEARTIFICIALLYBYDECIDINGNUMBEROFPARTICLESWHILEMAINTAININGSMOKEEFFICIENCYITIMPROVESSMOKEREALITYBYADDINGTURBULENCEEFFECTTHEEXPERIMENTALRESULTSSHOWTHATITCANMEETAPPLICATIONREQUIREMENTBASEDONUSINGNAVIERSTOKEEQUATIONCOMBINEDWITHKMODELPARTICLESWHENGRIDRESOLUTIONCHANGING,TURBULENCEEFFECTISSTILLSTABLEFRAMERATEISALSOIMPROVEDCOMPAREDWITHHIGHRESOLUTIONGRIDMETHODATTHESAMEEFFECTKEYWORDSTURBULENCE,PARTICLE,MODEL,GRID,REALITY,EFFICIENCY目錄目錄11緒論511課題研究背景512國(guó)內(nèi)外研究現(xiàn)狀6121歷史發(fā)展6122湍流方法7123最新進(jìn)展10124湍流模擬的難點(diǎn)1113本文主要工作1114本文組織結(jié)構(gòu)122流體計(jì)算算法概述1421背景簡(jiǎn)介1422NAVIERSTOKES方程的介紹1523NAVIERSTOKES方程的數(shù)值求解16231HELMHOLTZHODGE分解17232計(jì)算平流項(xiàng)18233計(jì)算粘度擴(kuò)散項(xiàng)19234初始化和邊界條件20235優(yōu)缺點(diǎn)2024湍流模型介紹21241湍流粘度恒定模型21242混合尺寸模型22243單方程模型2225小結(jié)233湍流小波噪聲的算法與實(shí)現(xiàn)2431噪聲函數(shù)在湍流模擬中的作用2432小波噪聲生成步驟2633小波算法理論實(shí)現(xiàn)26331正交性27332上采樣28333小波和下采樣30334構(gòu)建噪聲帶32335小數(shù)部分的縮放與平移36336在多維空間中的噪聲36337投影噪聲3734特別注意的問(wèn)題38341噪聲方差38342噪聲求值3935小結(jié)404實(shí)時(shí)湍流算法的實(shí)現(xiàn)4141湍流K模型4142能量譜42421能量頻譜43422湍流大小尺寸43423柯?tīng)柲曷宸颍↘OLMOGOROV)定律4443湍流的合成44431細(xì)節(jié)湍流合成的重要性質(zhì)44432湍流速度場(chǎng)的合成4544流場(chǎng)的組合4745煙霧的繪制5046實(shí)現(xiàn)細(xì)節(jié)51461穩(wěn)定性51462初始狀態(tài)52463湍流相干性5247小結(jié)545實(shí)驗(yàn)結(jié)果及其分析5551實(shí)驗(yàn)環(huán)境5552實(shí)驗(yàn)結(jié)果與分析55521小波噪聲55522后處理方法流動(dòng)效果57523對(duì)比實(shí)驗(yàn)一62524對(duì)比實(shí)驗(yàn)二64525對(duì)比實(shí)驗(yàn)三6653本文局限性討論676總結(jié)與展望69參考文獻(xiàn)71作者在讀期間的科研成果74聲明75致謝76圖11現(xiàn)實(shí)天空中的湍流5圖21JOSSTAM的網(wǎng)格半拉格朗日平流法14圖22粒子的平流15圖23求解NS方程示意圖21圖31小波噪聲四個(gè)步驟25圖32可改善的均勻二次B樣條曲線29圖33一維上的小波噪聲34圖342J3時(shí)一維影響函數(shù)的衰減過(guò)程36圖41能量的流動(dòng)43圖42頻譜、噪聲與速度場(chǎng)的結(jié)合46圖43湍流的合成示意圖47圖44算法流程示意圖48圖45煙霧后處理方法50圖46紋理坐標(biāo)T1或T2變形示意圖53圖51兩種噪聲的比較56圖52后處理方法下的煙霧效果圖57圖53后處理方法下粒子對(duì)應(yīng)時(shí)刻的速度值58圖54湍流運(yùn)動(dòng)60圖55整個(gè)煙霧場(chǎng)景圖59圖56后處理方法第100幀煙霧不同視圖61圖57323232普通網(wǎng)格方法求解NS方程三維煙霧62圖58646464普通網(wǎng)格方法求解NS方程三維煙霧63圖59不同分辨率下的煙霧64圖510不同分辨率下的煙霧湍流效率走勢(shì)圖65圖511三種煙霧不同條件下幀率對(duì)比661緒論11課題研究背景無(wú)論在自然界或者是電影中,煙霧、水和火的效果隨處可見(jiàn)。它們不可思議的流動(dòng)細(xì)節(jié)使得這些物理現(xiàn)象看上去十分生動(dòng)有趣。如圖11所示,天空中的云產(chǎn)生的湍流和飛機(jī)降落時(shí)產(chǎn)生的尾流,它們的旋渦狀效果十分明顯。日常生活中,物體燃燒生成的火焰就是由不均勻的熱空氣生成的小漩渦產(chǎn)生的。在火山或者是大型爆炸的煙氣羽流中,可以看到不同規(guī)模大小從數(shù)米到數(shù)百米的氣浪或者濃煙。在流體中,比較經(jīng)典的例子就是激流了,從細(xì)小的浪花到巨大的漩渦,它們的運(yùn)動(dòng)極其復(fù)雜。這些復(fù)雜和炫目的運(yùn)動(dòng)使得它們成為了電影和電腦游戲中最具挑戰(zhàn)性的部分。大多數(shù)流動(dòng)的紊亂效果都可以被描述為它們的湍流性質(zhì)。在高速運(yùn)動(dòng)和低粘度的流動(dòng)中,流動(dòng)會(huì)迅速地變得非常不穩(wěn)定,一連串的漩渦運(yùn)動(dòng)會(huì)把穩(wěn)流撕裂成湍流流動(dòng)。實(shí)際上,即使流體處于很小的不穩(wěn)定狀態(tài)也會(huì)導(dǎo)致在大規(guī)模流動(dòng)時(shí)產(chǎn)生明顯的變化,所以湍流流動(dòng)是難以控制和預(yù)測(cè)的,這是流體模擬面臨的一個(gè)普遍問(wèn)題,即需要非常高的模擬分辨率和大量的計(jì)算時(shí)間。雖然當(dāng)今的電影畫(huà)面可以展示出相當(dāng)真實(shí)的動(dòng)畫(huà)場(chǎng)景,但是流體模擬中實(shí)時(shí)性和真實(shí)性之間的矛盾還遠(yuǎn)遠(yuǎn)沒(méi)有解決。為了獲得高質(zhì)量的視覺(jué)效果,動(dòng)畫(huà)設(shè)計(jì)師們必須對(duì)實(shí)現(xiàn)進(jìn)行嚴(yán)格的控制,為此他們不得不進(jìn)行許多特別的操作。圖11現(xiàn)實(shí)天空中的湍流流體每一幀的流動(dòng)模擬效果通常時(shí)間非常短暫而且極大地依賴(lài)于需要人工調(diào)整的粒子系統(tǒng)和額外的層次渲染。在計(jì)算機(jī)圖形學(xué)中,為了解決上述問(wèn)題,科學(xué)工作者使用了許多方法。其中,大量的前期工作集中于減少數(shù)值粘度,因?yàn)閿?shù)值粘度的存在會(huì)減弱小型湍流的效果。這可以通過(guò)流體中精確的平流來(lái)解決1。雖然這種方法已經(jīng)有成功的運(yùn)用,但是流體實(shí)時(shí)性和真實(shí)性之間的矛盾這個(gè)基本問(wèn)題卻依然沒(méi)有解決。12國(guó)內(nèi)外研究現(xiàn)狀流體模擬在工程和物理相關(guān)領(lǐng)域已經(jīng)有了相當(dāng)長(zhǎng)的歷史。它們?cè)谟?jì)算機(jī)圖形學(xué)中的應(yīng)用也變得越來(lái)越重要。但是流體模擬在計(jì)算機(jī)圖形學(xué)和計(jì)算流體力學(xué)的應(yīng)用中存在著巨大的差異。因此,雖然以上兩者在理論方法上十分類(lèi)似,但是,它們?cè)谟龅降膯?wèn)題時(shí)所站的角度和解決問(wèn)題的方法卻完全不同。本章將總結(jié)流體模擬在計(jì)算機(jī)圖形學(xué)和計(jì)算流體力學(xué)中的發(fā)展歷史和最新進(jìn)展,并且主要介紹流體湍流的模擬。WILCOX2和POPE3的著作對(duì)湍流理論有詳細(xì)的講解,而B(niǎo)RIDON4也為流體模擬在計(jì)算機(jī)圖形學(xué)中的應(yīng)用寫(xiě)了一本詳細(xì)的專(zhuān)著。121歷史發(fā)展NAVIERSTOKES(納維斯托克斯)方程對(duì)流體力學(xué)做了詳細(xì)的解釋?zhuān)乾F(xiàn)代流體力學(xué)的基礎(chǔ)。為了在數(shù)值計(jì)算中解出這些方程,必須對(duì)這些方程進(jìn)行離散化處理。許多工程上的應(yīng)用都是基于有限元法(FEM)5或者有限差分法(FDM)6,以及有限體積法(FVM)。其中,有限差分法可以運(yùn)用于結(jié)構(gòu)固定的網(wǎng)格(GRIDS)上,而有限元法更適合在不規(guī)則的網(wǎng)格(MESHES)上進(jìn)行計(jì)算。如果能夠提前預(yù)知流體的運(yùn)動(dòng),后者可以把計(jì)算資源集中于對(duì)流體流動(dòng)細(xì)節(jié)要求很高的最關(guān)鍵部分,但是它的缺點(diǎn)在于需要前期的大量計(jì)算和分離網(wǎng)格這個(gè)多余的步驟。MAC(MARKERANDCELL)方法7改進(jìn)了有限差分方法,他把流體的速度信息存儲(chǔ)在格子(CELL)的表面而不是中心來(lái)進(jìn)行計(jì)算,這提高了計(jì)算導(dǎo)數(shù)的精度。盡管大多數(shù)方法都是通過(guò)直接離散化NAVIERSTOKES方程來(lái)對(duì)流體模擬進(jìn)行數(shù)值計(jì)算,但是不同的方法之間存在不同的規(guī)則。基于全拉格朗日的光滑粒子流體動(dòng)力學(xué)(SMOOTHEDPARTICLEHYDRODYNAMICS,SPH)方法通過(guò)粒子之間的交互并結(jié)合可壓縮的內(nèi)核來(lái)模擬了流體力學(xué)8。MLLER等人用這個(gè)方法解決了自由表面問(wèn)題,這使得SPH在計(jì)算機(jī)圖形學(xué)領(lǐng)域得以流行9。但是為了保證粒子在復(fù)雜場(chǎng)景中的穩(wěn)定性,就不得不選擇更小的時(shí)間步長(zhǎng)。另一方面,離散格子玻爾茲曼方法(LATTICEBOLTZMANNMETHODS,LBM)基于的是玻爾茲曼氣體動(dòng)力學(xué)10,它直接在規(guī)則的網(wǎng)格上使用模型模擬流量和流動(dòng)的碰撞。雖然這種方法在計(jì)算機(jī)圖形學(xué)中并不常用,但是它們已經(jīng)被成功地運(yùn)用于液體的模擬中11。122湍流方法在流體動(dòng)力學(xué)中,湍流是流體流動(dòng)的常見(jiàn)狀態(tài)之一,它描述的是流動(dòng)區(qū)域中一種紊亂和隨機(jī)性的變化過(guò)程。當(dāng)流體流速很小的時(shí)候,流體的流動(dòng)穩(wěn)定,流線清晰可見(jiàn)且沒(méi)有混合,這被稱(chēng)為層流;當(dāng)流速增大時(shí),流體開(kāi)始慢慢混合,流體流線變得模糊,直到流線徹底消失,流動(dòng)中形成了許多小漩渦,此時(shí)的流體就被稱(chēng)為湍流或者亂流。這其中包括了低動(dòng)能擴(kuò)散、高動(dòng)能對(duì)流、壓力的快速變化以及速度在時(shí)間和空間上的變化。小尺度下的湍流模擬在數(shù)值計(jì)算上付出的高額代價(jià)使得研究者不得不尋找合適的湍流模擬的模型。在這些模型中,他們把湍流流動(dòng)從流體整體的流動(dòng)中分離出來(lái),在基于流體整體流動(dòng)的基礎(chǔ)上,再單獨(dú)從統(tǒng)計(jì)學(xué)的角度來(lái)分析湍流的特點(diǎn)。湍流模型理論在工程的應(yīng)用上已經(jīng)有了很長(zhǎng)的歷史,它們通常是用來(lái)估計(jì)湍流對(duì)流體整體流動(dòng)的影響。比如風(fēng)力作用于機(jī)翼上或者是湍流在管道流動(dòng)衰減過(guò)程中的影響。而在計(jì)算機(jī)圖形學(xué)中,湍流模擬主要的目的是為了增強(qiáng)流體本身的細(xì)節(jié),使得流體在視覺(jué)上更加真實(shí)。下面將簡(jiǎn)單介紹湍流的建模和湍流的合成模型。1221湍流模擬在計(jì)算流體力學(xué)(COMPUTERFLUIDDYNAMICS,CFD)中經(jīng)典的流體模型是模擬湍流的粘度,即在平均流量中引入虛擬擴(kuò)散的湍流12。最簡(jiǎn)單經(jīng)典的湍流模型可以通過(guò)混合不同尺寸大小的模型來(lái)描述非平凡的流動(dòng)1314?;旌铣叽缒P鸵呀?jīng)成功地應(yīng)用于描述邊界層的流動(dòng)中,比如航空工業(yè)。但是它們依賴(lài)手工輸入混合尺寸,這使得模型并不能夠獨(dú)立于場(chǎng)景之外而且它只能夠模擬幾種已知類(lèi)型的流動(dòng)。為了解決這個(gè)問(wèn)題,有人提出了對(duì)流擴(kuò)散模型,在不考慮具體場(chǎng)景的情況下,此模型用一系列微分方程來(lái)模擬湍流的動(dòng)態(tài)狀態(tài)。在航空領(lǐng)域中廣泛應(yīng)用的SPALARTALMARAS模型15直接用一個(gè)偏微分方程(PDE)來(lái)模擬湍流粘度。兩方程模型(TWOEQUATIONMODEL),模擬了代表湍流性質(zhì)的參數(shù),比如湍流勢(shì)能和湍流耗散系數(shù)。K模型16和K模型17通用性強(qiáng)而且很簡(jiǎn)單,所以直到現(xiàn)在仍然是在工程上和計(jì)算流體力學(xué)中使用最為廣泛的湍流模型。但是,這些模型在預(yù)測(cè)湍流和穩(wěn)定性方面嚴(yán)重地依賴(lài)于流體的類(lèi)型。因此,JONES和CHEN于1994年對(duì)此模型進(jìn)行了改進(jìn),這使得它們的穩(wěn)定性有了較大幅度的提高18。經(jīng)典湍流模型的類(lèi)型受到如下兩個(gè)基本要素的限制。1)它依賴(lài)于雷諾茲平均數(shù)(REYNOLDSAVERAGING)來(lái)分離平均流動(dòng)和湍流,但是這樣可能并不完善,特別是在描述諸如湍流變化和相干漩渦(COHERENTEDDIES)的時(shí)候。鑒于此,SMAGORINSKY在湍流模型19中引入了大渦模擬(LARGEEDDYSIMULATIONS,LES)。LES模型用更精確的頻譜濾波器來(lái)分離平均流動(dòng)和湍流,它可以直接模擬相干漩渦。LES模型最初用于氣象學(xué)中描述空氣的內(nèi)部流動(dòng),但是現(xiàn)在經(jīng)過(guò)改進(jìn)可以用于計(jì)算流體力學(xué)的諸多應(yīng)用中了20。LES模型最新的一個(gè)改進(jìn)是分離了渦模擬(DETACHEDEDDYSIMULATIONSDES)21,這個(gè)模型更加適合于模擬相干漩渦。2)經(jīng)典模型所提供的信息。當(dāng)湍流粘度足以描述平均流動(dòng)的虛擬擴(kuò)散時(shí),卻并沒(méi)有提供各向異性流動(dòng)和能量交換的信息。雷諾茲應(yīng)力傳輸模型(REYNOLDSSTRESSTRANSPORTMODELS)解決了上面的這個(gè)問(wèn)題。它不僅模擬湍流粘度,而且還模擬了整個(gè)湍流的應(yīng)力張量(TURBULENTSTRESSTENSOR)2223。在此基礎(chǔ)上,如同通用郎之萬(wàn)函數(shù)(GENERALLANGEVINEQUATION)24這樣的密度方程直接使用粒子方法描述了湍流的高階統(tǒng)計(jì)學(xué)性質(zhì)。而橢圓松弛方法(ELLIPTICRELAXATION)25卻在湍流模型中用全局優(yōu)化法代替了流動(dòng)局部對(duì)流擴(kuò)散的處理方法。雖然,所有的這些方法比經(jīng)典的湍流模型在理論上擁有更高階的預(yù)測(cè)精度,但是它們的計(jì)算復(fù)雜度也隨之增加,這也導(dǎo)致了程序開(kāi)銷(xiāo)的增大。因此,它們主要是用于計(jì)算流體力學(xué)的研究領(lǐng)域和高品質(zhì)的模擬仿真中。隨著近些年來(lái)計(jì)算機(jī)計(jì)算能力的不斷增長(zhǎng),LES和雷諾茲應(yīng)力傳輸模型的應(yīng)用逐漸變得廣泛起來(lái)。在上世紀(jì)70年代到80年代,計(jì)算流體力學(xué)中的湍流模型的基本原理陸續(xù)被提出并且得到了較好的發(fā)展,接下來(lái),將會(huì)結(jié)合具體的話題進(jìn)行討論,特別是在湍流比較成熟的領(lǐng)域。近些年來(lái),比較流行的湍流話題有可壓縮流體中的湍流模擬26,湍流轉(zhuǎn)變模擬2728。其中,非常吸引人一種的趨勢(shì)是用LES方法實(shí)現(xiàn)多尺寸湍流模擬技術(shù)29,以及用自適應(yīng)尺寸來(lái)模擬湍流(SCALEADAPTIVESIMULATIONSAS)30。1222湍流合成在計(jì)算機(jī)圖形學(xué)中,早期的湍流方法是用統(tǒng)一的場(chǎng)來(lái)合成湍流,再對(duì)合成的湍流放大或者對(duì)基礎(chǔ)流體模擬中合成的湍流進(jìn)行替換。JOSSTAM在1993年把柯?tīng)柲曷宸蝾l譜(KOLMOGOROVSPECTRUM)產(chǎn)生的無(wú)散度湍流引入了湍流合成中31。這個(gè)方法曾經(jīng)被用來(lái)模擬核彈的爆炸32和火焰的燃燒33。BRIDSON提出用旋度矢量噪聲場(chǎng)來(lái)產(chǎn)生無(wú)散度的速度場(chǎng)34。他們通過(guò)潛在的場(chǎng)來(lái)顯式地計(jì)算物體周?chē)牧鲃?dòng)。但是,這些方法卻沒(méi)有考慮湍流空間和時(shí)間的分布以及湍流本身的動(dòng)力學(xué)問(wèn)題。因此,這可能會(huì)導(dǎo)致合成的湍流不太真實(shí)。近期,為了獲得更好的湍流特性,研究者引入了更加復(fù)雜的流體統(tǒng)計(jì)方法。KIM用小波分解來(lái)確定局部湍流的強(qiáng)度35,并且使用與小波頻譜匹配的旋度噪聲來(lái)合成湍流。這個(gè)方法假設(shè)流體基礎(chǔ)解法可以解出湍流動(dòng)力學(xué)的方程,但是實(shí)際情況卻非完全如此,比如在復(fù)雜場(chǎng)景或者是非常不精確的粗網(wǎng)格下求解湍流會(huì)存在問(wèn)題。SCHECHTER36和NARAIN37用傳輸模型來(lái)導(dǎo)出湍流參數(shù)。這雖然提高了湍流動(dòng)力學(xué)性質(zhì),但是他們需要極大簡(jiǎn)化能量傳輸模型或者是做更強(qiáng)的條件假設(shè),比如用不同尺度混合模型來(lái)逼近它們的單方程(ONEEQUATION)能量模型。THEODOREKIM提出了一種把網(wǎng)格和粒子以及兩方程模型結(jié)合的算法38。在此算法中,首先通過(guò)模擬低分辨率下的小波分解來(lái)確定湍流細(xì)節(jié)的位置和能量特性;然后,再把湍流的細(xì)節(jié)合并到大規(guī)模的流體中,形成帶有湍流流動(dòng)的流體。但是,此方法卻無(wú)法實(shí)時(shí)模擬湍流,這需要后期一步一步演示渲染。因此,能夠模擬一種實(shí)時(shí)流動(dòng)的湍流是十分重要的。123最新進(jìn)展流體模擬中的湍流方法和漩渦表示法是計(jì)算機(jī)圖形學(xué)中很活躍的一個(gè)領(lǐng)域。下面主要討論湍流合成的最新進(jìn)展。當(dāng)一些文章還在關(guān)注和討論基于旋度噪聲紋理和漩渦的合成時(shí),其它合成湍流的方法也在最近幾年被提了出來(lái)。CHEN提出了一種混合湍流的方法,這種方法在基于粒子系統(tǒng)的基礎(chǔ)上合成湍流39。但是,該方法并不是基于羅納德均勻NAVIERSTOKES方程(REYNOLDSAVERAGEDNAVIERSTOKESEQUATION,RANS)湍流模型,他用PDF方法在粒子系統(tǒng)上解出了郎之萬(wàn)方程40。最后,更新的速度直接作為粒子細(xì)節(jié)運(yùn)動(dòng)的速度,這避免了旋度噪聲合成中存在的相干性以及兩方程湍流模型中存在的穩(wěn)定性問(wèn)題。但是,通過(guò)插值隨機(jī)郎之萬(wàn)方程速度求得的速度作為實(shí)體粒子的運(yùn)動(dòng)速度時(shí),合成的運(yùn)動(dòng)既不是無(wú)散度的又不是空間相干的。這無(wú)法滿(mǎn)足產(chǎn)生真實(shí)漩渦或者是湍流的必備條件。另外,ZHAO提出了作用于上采樣網(wǎng)格上的隨機(jī)外力來(lái)合成湍流的方法41。他可以通過(guò)預(yù)計(jì)算一個(gè)給定的能量頻譜來(lái)得到無(wú)散度的外力場(chǎng),這種方法不需要一系列分離的標(biāo)記物。例如,合成旋度紋理需要的漩渦基元或者是紋理坐標(biāo)。但是,合成的外力不能夠直接作用于流場(chǎng),相反,它是用于預(yù)計(jì)算的場(chǎng)。如果這種方法用于尺寸稍大一些的湍流中,這種暫時(shí)的不一致將會(huì)導(dǎo)致湍流中出現(xiàn)人工痕跡和人工的擾動(dòng)。雖然如此,如果外力場(chǎng)可以在程序運(yùn)行時(shí)更新,這個(gè)方法也為湍流合成提供了一種比較有吸引力的思路。THEODOREKIM提出了一種利用湍流提高存在于流體模擬中的顯式空間分辨率的方法。先前的方法集中于提高湍流的潛在速度場(chǎng)。KIM發(fā)現(xiàn)當(dāng)流動(dòng)被自由表面湍流驅(qū)動(dòng),并且超過(guò)某個(gè)頻率后,這會(huì)直接在液體表面形成波浪的效果,這樣只需液體模擬的表面,進(jìn)而減少了流體模擬的維度。他通過(guò)利用CLOSESTPOINTMETHOD(CPM)42技術(shù)成功地跨過(guò)了這個(gè)生成液體表面時(shí)所面臨的巨大障礙。CPM方法直接對(duì)三維擴(kuò)張場(chǎng)域進(jìn)行操作,這個(gè)操作需要三維運(yùn)算符,由于表面運(yùn)算符不是天然的三維生成形態(tài),因此,可以利用逆阿貝爾變換(INVERSEABELTRANSFORM)來(lái)構(gòu)建一個(gè)這種可行的運(yùn)算符。然后,再利用擴(kuò)張場(chǎng)域的平流方法來(lái)減少巨大的模糊性。最后,利用兩個(gè)湍流耦合方法來(lái)生成高分辨率的液體表面波浪。124湍流模擬的難點(diǎn)從上文湍流方法介紹和實(shí)際中所遇到的困難可以看出,湍流模擬的難點(diǎn)主要有以下三點(diǎn)1湍流噪聲的選取。柏林噪聲(PERLINNOISE)是計(jì)算機(jī)圖形學(xué)領(lǐng)域中最為常用的噪聲,但是它頻率帶寬較寬,倘若應(yīng)用于湍流或者其它圖像圖形處理中會(huì)產(chǎn)生細(xì)節(jié)失真和鋸齒等不好的效果。因此需要找到一種新型的噪聲替代柏林噪聲;2湍流流動(dòng)模型和能量譜的選擇。眾所周知,湍流流動(dòng)模型有許多種類(lèi),選擇模型對(duì)湍流進(jìn)行模擬直接關(guān)系到湍流流動(dòng)的最終效果,而能量譜的正確選擇能夠準(zhǔn)確反映湍流的能量變化。因此,需要選擇正確的湍流流動(dòng)模型和能量譜;3湍流模擬的具體方法。流體湍流效果模擬中實(shí)時(shí)性和真實(shí)性之間存在著的巨大矛盾。目前,在網(wǎng)格方法中,無(wú)法直接求解湍流流動(dòng)方程,因此,改方法并不能夠?qū)崟r(shí)和逼真地模擬出湍流的效果。為此,后來(lái)又引入了兩方程模型,但是它在實(shí)際應(yīng)用中也因?yàn)檫^(guò)于復(fù)雜而缺少進(jìn)展。網(wǎng)格和粒子方法是模擬流體流動(dòng)的主流方法,而模擬湍流又不能夠缺少兩方程模型的參與。所以,需要找到一種能夠把流體流動(dòng)模擬與兩方程模型結(jié)合起來(lái)的辦法。13本文主要工作傳統(tǒng)的湍流流動(dòng)模擬方法雖然能夠模擬出湍流效果,但是它在實(shí)時(shí)性和真實(shí)性之間的矛盾卻沒(méi)有有效地得到解決。絕大多數(shù)時(shí)候,效果的實(shí)現(xiàn)者不得不在這二者之間選擇一邊或者更有側(cè)重點(diǎn)。本文嘗試初步找到這兩者之間的平衡點(diǎn)。本文主要工作包括(1)本文模擬流體使用了經(jīng)典的NAVIERSTOKES方程,然后以JOSSTAM求解NAVIERSTOKES方程的經(jīng)典歐拉網(wǎng)格法方法為基礎(chǔ),并且把流體的不可壓縮性作為NAVIERSTOKES方程求解的假設(shè)條件,用計(jì)算機(jī)在GPU上求解出加入了限制條件NAVIERSTOKES方程,這是本文的基礎(chǔ)。(2)運(yùn)用小波噪聲(WAVELETNOISE)技術(shù)替代了傳統(tǒng)流體模擬中所使用的柏林噪聲。本文所運(yùn)用的小波噪聲技術(shù)可以很好地解決柏林噪聲存在的模擬流動(dòng)的細(xì)節(jié)損失和鋸齒較大等問(wèn)題,克服了柏林噪聲存在的缺陷。(3)在流體模擬中引入了K湍流模型這個(gè)兩方程模型,它使用了與湍流粘度類(lèi)似的定義,即混合長(zhǎng)度模型,但是它卻用了湍流勢(shì)能項(xiàng)K和湍流擴(kuò)散項(xiàng)來(lái)定義。K湍流模型可以有效地模擬小規(guī)模的湍流,這些湍流無(wú)法直接用高分辨率的速度網(wǎng)格直接實(shí)現(xiàn),因?yàn)樗c流體的計(jì)算效率和網(wǎng)格分辨率有直接關(guān)系。相反,用基于統(tǒng)計(jì)學(xué)性質(zhì)的湍流來(lái)合成湍流可以克服湍流在分辨率上的問(wèn)題。(4)在結(jié)合前面(1)、(2)、(3)的基礎(chǔ)上,運(yùn)用GPU強(qiáng)大的并行處理能力,運(yùn)用拉格朗日方法把粒子系統(tǒng)作為載體,模擬出真實(shí)可見(jiàn)的湍流效果。本文使用朗格朗日粒子系統(tǒng)的本質(zhì)是直接把拉格朗日標(biāo)記方法用于湍流的模擬,這樣可以直接繞開(kāi)網(wǎng)格高分辨率的效率問(wèn)題。在粒子系統(tǒng)中,它可以精確地通過(guò)粒子數(shù)量來(lái)控制湍流細(xì)節(jié)的模擬,從而可以直接精確地在需要的地方合成湍流。(5)本文最后使用常用的后處理方法把以上計(jì)算湍流所得到的數(shù)據(jù)進(jìn)行模擬渲染和可視化。本文使用拉格朗日方法來(lái)表示湍流的細(xì)節(jié),但是忽略了相鄰?fù)牧髦g的相互影響。這大大地提高了程序的效率,這樣在現(xiàn)有計(jì)算條件下,能夠通過(guò)改變粒子的相對(duì)數(shù)量來(lái)更好地有效計(jì)算流體運(yùn)動(dòng)的細(xì)節(jié)。本文把湍流細(xì)節(jié)和大規(guī)模地基礎(chǔ)流動(dòng)完全分開(kāi)大規(guī)模地基礎(chǔ)流動(dòng)是在低分辨率網(wǎng)格下進(jìn)行計(jì)算的,而湍流的細(xì)節(jié)則是在粒子系統(tǒng)中進(jìn)行計(jì)算的。而能量傳輸模型對(duì)大規(guī)模流動(dòng)只有非常低的耦合度,這保證了低分辨率的基礎(chǔ)流動(dòng)不會(huì)對(duì)細(xì)節(jié)產(chǎn)生不利影響。14本文組織結(jié)構(gòu)全文一共分為六個(gè)章節(jié)。第一章為緒論,從計(jì)算機(jī)圖形學(xué)基礎(chǔ)和湍流基礎(chǔ)以及它們的發(fā)展現(xiàn)狀和存在的問(wèn)題等方面入手,主要闡述了本文研究背景、國(guó)內(nèi)外研究現(xiàn)狀、本文主要工作以及當(dāng)前存在的一些問(wèn)題;第二章對(duì)流體模擬以及湍流模擬的相關(guān)算法和基本原理做了比較詳細(xì)的解釋?zhuān)约皩?duì)NAVIERSTOKES方程的一般解法以及湍流的基本模型進(jìn)行了介紹,它們是本文后續(xù)工作的基礎(chǔ)和關(guān)鍵;第三章首先詳細(xì)闡述噪聲函數(shù)和小波噪聲在湍流模擬中的作用,然后解釋生成湍流所需小波噪聲的原理和生成的算法和過(guò)程以及需要注意的問(wèn)題;第四章在第三章小波噪聲的基礎(chǔ)上,詳細(xì)闡述了湍流模型、湍流能量譜、湍流的合成算法的詳細(xì)流程,并且給出了湍流實(shí)現(xiàn)的幾個(gè)關(guān)鍵細(xì)節(jié);第五章是對(duì)實(shí)驗(yàn)結(jié)果的分析和對(duì)比以及對(duì)本文工作不足之處的討論;第六章將對(duì)本文工作做一個(gè)全面的總結(jié),并指出本文所用方法存在的不足之處,并對(duì)湍流模擬的進(jìn)一步發(fā)展做出展望。2流體計(jì)算算法概述21背景簡(jiǎn)介在數(shù)學(xué)上模擬流體,必須要有一個(gè)正確的表達(dá)式來(lái)表示流體的瞬時(shí)狀態(tài)。其中,流體的速度是最為重要的一個(gè)變量,因?yàn)樗鼪Q定了流體本身以及它所攜帶的物質(zhì)如何流動(dòng)。流體的速度是關(guān)于空間和時(shí)間的變量,因此,它是一個(gè)矢量,構(gòu)建一個(gè)速度場(chǎng)就是構(gòu)建一個(gè)矢量場(chǎng)。歐拉方法用網(wǎng)格表示速度場(chǎng),如圖21所示。因此,流體模擬最關(guān)鍵的部分是及時(shí),準(zhǔn)確地確定當(dāng)前瞬時(shí)的速度場(chǎng)。22NAVIERSTOKES方程的介紹DXDY0,0N,0N,N0,NUX,TTUX,TX圖21JOSSTAM的網(wǎng)格半拉格朗日平流法1PVTFUU(21)0(22)NAVIERSTOKES方程包括了流體動(dòng)力學(xué)的三個(gè)基本控制方程連續(xù)性方程、動(dòng)量方程、能量方程。這三個(gè)方程都遵循基本的物理學(xué)定律1質(zhì)量守恒定律;2牛頓第二定律;3能量守恒定律。它們滿(mǎn)足粘度不可壓縮流體動(dòng)量守恒的運(yùn)動(dòng)方程。它們是由CLAUDELOUISNAVIER和GEORGEGABRIELSTOKES分別于1821年和1845年推導(dǎo)得出的。由于三種方程在形式上是類(lèi)似的,故本文僅給出了NAVIERSTOKES的連續(xù)性方程,如公式(21)所示,它是描述流動(dòng)物質(zhì)運(yùn)動(dòng)的方程。其中,U保存的是流體的速度信息,這里的速度可以是一維、二維或者三維矢量信息;表示的是流體的密度信息,流體的密度會(huì)隨著流體的流動(dòng)時(shí)刻變化;V是流體的粘度,一般流體,比如水的粘度非常小,如果流體沒(méi)有粘度,那么它的值為0;P表示流體的壓力;F表示流體受到的任何外力,這對(duì)流體的持續(xù)流動(dòng)也十分重要;表示的是梯度算子;表示的是散度算子;2表示的是拉普拉斯算子。公式(22)是流體的不可壓縮的約束條件。從公式(21)可以看出等號(hào)左邊是流體運(yùn)動(dòng)速度關(guān)于時(shí)間的加速度。而等號(hào)右邊第一項(xiàng)是平流項(xiàng),其中流體的速度可以使流體沿著流動(dòng)輸送物體、流體本身的密度以及其它的物理量。比如流動(dòng)的水里面攜帶有紅色的液體顏料,液體本身攜帶了另外的液體,這時(shí)流體本身輸送了其它的流體,所以它被稱(chēng)為平流項(xiàng)。如圖22所示。圖22粒子的平流等號(hào)右邊第二項(xiàng)為壓力項(xiàng),流體分子在運(yùn)動(dòng)時(shí),傾向于彼此相互擠壓和碰撞。當(dāng)對(duì)流體施加外力時(shí),外力并不會(huì)被立即地傳導(dǎo)到整個(gè)流體中,而是依靠分子間的相互碰撞來(lái)傳導(dǎo)力,進(jìn)而產(chǎn)生了壓力。壓力是流體受力的一種,而等號(hào)右邊第二項(xiàng)代表的是壓力的加速度,稱(chēng)為壓力項(xiàng)。等號(hào)右邊第三項(xiàng)被稱(chēng)為擴(kuò)散項(xiàng),比如根據(jù)日常生活經(jīng)驗(yàn)可以得知,蜂蜜比其它很多液體更加黏稠。因此,蜂蜜流動(dòng)得十分緩慢,而自來(lái)水或者酒精卻流動(dòng)得很快。粘度是液體本身流動(dòng)性快慢的衡量標(biāo)準(zhǔn),粘度越大,在相同受力時(shí),液體運(yùn)動(dòng)越緩慢。當(dāng)沒(méi)有粘度時(shí),粘度設(shè)為0。粘度對(duì)液體運(yùn)動(dòng)產(chǎn)生阻礙,造成了動(dòng)量的擴(kuò)散,從而引起速度的擴(kuò)散。所以,這第三項(xiàng)被稱(chēng)為擴(kuò)散項(xiàng)。等號(hào)右邊第四項(xiàng)被稱(chēng)為外力項(xiàng),這是由外力作用于流體上而產(chǎn)生的加速度。外力有很多種,它可以是局部的,也可以是整體的。局部所施加的外力影響流體的某個(gè)特定區(qū)域,例如,空調(diào)風(fēng)對(duì)指定方向空氣的吹動(dòng),而比如像重力,是屬于整體力,它均勻地作用于所有物體。23NAVIERSTOKES方程的數(shù)值求解JOSSTAM于1999年用MAC離散方法,引入了帶有一階壓力投影的半拉格朗日平流法(SEMILAGRANGIANADVECTION)43。這是無(wú)條件穩(wěn)定的,雖然這個(gè)解法在計(jì)算機(jī)圖形學(xué)模擬技術(shù)中數(shù)值耗散十分嚴(yán)重,但是它仍然是本文的基本方法和基礎(chǔ)引用。JOSSTAM為了把NAVIERSTOKES方程應(yīng)用于計(jì)算機(jī)圖形學(xué)流體模擬中,首先需要把它轉(zhuǎn)換成用數(shù)值積分法更容易求解的形式。從公式(21)以及(22)中可以看出NAVIERSTOKES方程是關(guān)于速度U、粘度V、壓力P和外力F的方程式。數(shù)值求解這個(gè)方程需要用到以下一些方法231HELMHOLTZHODGE分解根據(jù)矢量微積分學(xué)的基礎(chǔ)知識(shí),在笛卡爾坐標(biāo)系上的任意矢量,都可以被分解為基本矢量分量的和。同樣的,對(duì)于一個(gè)在D中的矢量場(chǎng)W,能夠唯一地分解成為公式(23)的形式PWU(23)其中,U的散度為0,而且與D平行,即在上UN0。(關(guān)于它的證明細(xì)節(jié),詳見(jiàn)CHORIN和MARSDEN1993的第13節(jié))HELMHOLTZHODGE分解已經(jīng)證明了任何一個(gè)矢量場(chǎng)可以分解為一個(gè)無(wú)散度的矢量場(chǎng)和一個(gè)標(biāo)量場(chǎng)的梯度之和,而且無(wú)散度的矢量場(chǎng)在邊界上為0。因此,可以利用以上兩個(gè)結(jié)果來(lái)求解NAVIERSTOKES方程,在每個(gè)時(shí)間點(diǎn)上計(jì)算平流、擴(kuò)散和外力來(lái)更新速度的值。得到一個(gè)散度為非0的速度場(chǎng)W。但是,從NAVIERSTOKES方程中不可壓縮性的假設(shè)出發(fā),結(jié)果必須是一個(gè)散度為0的速度。因此,運(yùn)用HELMHOLTZHODGE分解減去壓力場(chǎng)的梯度就可以得到需要的散度為0的速度PU(24)根據(jù)公式(23),把散度算子應(yīng)用于公式(23)兩邊,可以得到2W(25)因?yàn)楣剑?2)中0U,所以公式(25)可以簡(jiǎn)化為2P(26)公式(26)是流體壓力的POISSON(泊松)方程,有被稱(chēng)為POISSON壓力方程。這說(shuō)明已知W,可以通過(guò)公式(26)得到P。所以,如公式(26)所示,還需要找到一個(gè)計(jì)算W的方法。眾所周知,有兩個(gè)矢量M和N,可以通過(guò)計(jì)算M和N的點(diǎn)積,求得矢量M在N的一個(gè)單位矢量上的投射。所以,點(diǎn)積就是把矢量M投射到N方向上所得到的分量。因此,使用HELMHOLTZHODGE分解定理可以定義一個(gè)投影算符P,它的意思是把一個(gè)矢量場(chǎng)W投影到它無(wú)散度的分量U上。把P帶入方程(23)中,就可以得到PP根據(jù)P的定義,。所以,0。這樣就可以簡(jiǎn)化NAVIERSTOKES方程了。把投影算符帶入公式(21)得12VTFUU(27)由于0,公式(27)左邊的導(dǎo)數(shù)也是無(wú)散度的,所以,有/PTTU。同時(shí),P0P,所以去掉壓力項(xiàng)得到簡(jiǎn)化的方程(28)。2VTFUU(28)從公式(28)可以看出,等號(hào)右邊的公式從左到右依次為平流項(xiàng)、擴(kuò)散項(xiàng)和外力項(xiàng)。通過(guò)這三項(xiàng)得到一個(gè)散度速度場(chǎng)W,再對(duì)它進(jìn)行投影運(yùn)算得到一個(gè)新的無(wú)散度的速度場(chǎng)U。只需要從公式(26)中解出P,然后再帶入公式(24)中從W減去梯度P就行了。但是這并不是像公式(28)那樣,計(jì)算它們各個(gè)分量,然后再把它們加起來(lái),而是經(jīng)過(guò)狀態(tài)上的變換來(lái)合成并求得最終的解。或者說(shuō),以上每個(gè)分量都是求解最終結(jié)果的一個(gè)步驟,都是取上一個(gè)結(jié)果的場(chǎng)作為輸入,而產(chǎn)生的新場(chǎng)作為輸出。可以為每個(gè)步驟定義各自的算子,它們分別是平流項(xiàng)A、擴(kuò)散項(xiàng)D、外力項(xiàng)F以及投影項(xiàng)P。SPAU(29)從公式(29)可以看出從右到左分別依次計(jì)算首先,計(jì)算平流項(xiàng),然后是擴(kuò)散項(xiàng),接著是外力項(xiàng),最后是投影項(xiàng),如圖23所示。232計(jì)算平流項(xiàng)流體本身的速度使得流體沿著流動(dòng)傳送流體本身以及在流體中的其它量,比如密度、壓力等。如果要計(jì)算平流量,就必須更新每個(gè)坐標(biāo)節(jié)點(diǎn)上的值。在計(jì)算平流時(shí),JOSSTAM把每個(gè)網(wǎng)格單元看成是一個(gè)粒子。所以,計(jì)算平流就變成了更新一個(gè)粒子系統(tǒng)了,這樣就會(huì)使計(jì)算變得更加容易。假設(shè)每個(gè)粒子在一個(gè)時(shí)間段T中,沿著速度場(chǎng)的方向移動(dòng)了R距離,那么TTTRU(210)這就是著名的歐拉方法,對(duì)于顯式積分的微分方程來(lái)說(shuō),它是一個(gè)簡(jiǎn)單可行的方法。但是,歐拉方法有兩個(gè)問(wèn)題第一是在流體模擬中,使用顯式的方法計(jì)算平流會(huì)造成流體在T比較大的時(shí)候不能夠保持其本身的穩(wěn)定性,如果TU比單個(gè)網(wǎng)格單元的尺寸還要大,穩(wěn)定性問(wèn)題還會(huì)被“放大”。第二個(gè)是與GPU本身有關(guān),在模擬片元程序時(shí),它不能夠“移動(dòng)”正在寫(xiě)的片元的位置。因此,JOSSTAM使用了逆向和隱式積分法。他不是通過(guò)粒子“移動(dòng)”來(lái)計(jì)算平流量,而是通過(guò)每個(gè)網(wǎng)格單元,逆時(shí)追蹤粒子軌跡,得到它先前的位置,再?gòu)?fù)制先前位置的量(這個(gè)量可以是任何需要求解的物理量)。假設(shè)Q是需要求得的物理量,那么,QXTXTU(211)這不僅對(duì)于任何時(shí)間段和速度都是穩(wěn)定的,而且,在GPU上都能夠很容易地實(shí)現(xiàn)。由于速度傳送流體本身或是在流體中的其他量。因此,這個(gè)過(guò)程就是平流。JOSSTAM把這個(gè)方法命名為半拉格朗日平流法,如圖21所示。233計(jì)算粘度擴(kuò)散項(xiàng)正如前面介紹的,液體的粘度會(huì)對(duì)它自身的流動(dòng)造成阻礙,這樣最終會(huì)導(dǎo)致速度的擴(kuò)散。粘度擴(kuò)散的公式如下2VTU(212)同平流一樣,要找到求解這個(gè)方程的方法。最容易的方法就是顯式的方法2,XTTVXTUU(213)在方程(213)中,2是方程(23)拉普拉斯算子的不連續(xù)形式。如同計(jì)算平流的顯式歐拉方法一樣,對(duì)于T和的值比較大時(shí)就很不穩(wěn)定。根據(jù)JOSSTAM的方法,對(duì)公式(213)使用隱式解法得2,VTXTIU(214)在公式(214)中,I是單位矩陣。此公式對(duì)任何時(shí)間和粘度都是穩(wěn)定的。它是速度的泊松方程。因?yàn)椴此煞匠淌降男问绞蔷仃嚪匠淌紸XB,這里的X是要解的數(shù)值矢量,在泊松壓力方程和粘度擴(kuò)散方程中,X是壓力項(xiàng)P或速度項(xiàng)U,而A是一個(gè)矩陣,B是一個(gè)常數(shù)矢量。求解壓力和粘度擴(kuò)散時(shí)都會(huì)用到泊松方程,所以對(duì)泊松方程的求解十分關(guān)鍵。在這里最好的方法還是迭代法。在數(shù)值計(jì)算中,雅克比(JACOBI)迭代是最常用的方法,因此把方程(23)離散后,重寫(xiě)為1,1,KKIJIJIJIJIJIJXXAB(215)其中,A和是常數(shù)。這個(gè)方程需要在GPU上反復(fù)循環(huán)運(yùn)行很多次,但是開(kāi)銷(xiāo)并不是很大。234初始化和邊界條件任何有限域的微積分都需要考慮到邊界條件。邊界條件確定了積分或者微分在起點(diǎn)和終點(diǎn)上數(shù)值計(jì)算所得到的值。與此同時(shí),任何流體都必須有一個(gè)初始條件來(lái)推動(dòng)整個(gè)流體模擬的運(yùn)轉(zhuǎn)。對(duì)于本文來(lái)說(shuō),已經(jīng)假定好了初始流體的初始速度和各處的壓強(qiáng)。在不停地循環(huán)求解NAVIERSTOKES方程每個(gè)時(shí)間步長(zhǎng)中,都需要求解速度項(xiàng)和壓力項(xiàng)。本文使用了最簡(jiǎn)單的邊界條件,把速度項(xiàng)和壓力項(xiàng)在邊界上都設(shè)置為0,這樣保證了當(dāng)煙霧湍流流動(dòng)到邊界后不會(huì)對(duì)邊界里的煙霧湍流流動(dòng)造成任何影響。235優(yōu)缺點(diǎn)以上就是對(duì)NAVIERSTOKES方程基礎(chǔ)解法的簡(jiǎn)單介紹。圖23是求解NS方程過(guò)程的簡(jiǎn)單示意圖。NAVIERSTOKES方程的基礎(chǔ)解法,簡(jiǎn)化和省去了NAVIERSTOKES方程中某些比較復(fù)雜而又不易解出的各項(xiàng),使得NAVIERSTOKES方程第一次在計(jì)算機(jī)中真外力平流擴(kuò)散散度壓力梯度流體模擬圖23求解NS方程示意圖正有了解。但是,這樣求解出來(lái)的流體,由于簡(jiǎn)化和省去了一些項(xiàng)使得流體的流動(dòng)效果看上去不真實(shí),分層比較嚴(yán)重。因此,為了豐富流動(dòng)的細(xì)節(jié),使流體流動(dòng)看起來(lái)更加真實(shí),需要使用湍流來(lái)增加流體流動(dòng)的細(xì)節(jié)。24湍流模型介紹湍流模型致力于預(yù)測(cè)湍流的波動(dòng)性質(zhì),它以平均速度場(chǎng)作為基礎(chǔ)。對(duì)于諸如羅納德均勻NAVIERSTOKES方程等平均的模擬方法來(lái)說(shuō),雷諾茲應(yīng)力張量(REYNOLDSSTRESSTENSOR)是其中一個(gè)非常重要的變量。因此當(dāng)今研究湍流的很大一部分工作便會(huì)集中于雷諾茲壓力張量的精確計(jì)算和其通用的算法。在本小節(jié)中,經(jīng)典的湍流模型基于的是湍流粘度。它在計(jì)算流體力學(xué)工程應(yīng)用上使用十分地頻繁。對(duì)湍流粘度進(jìn)行建模有許多不同的方法,其中絕大多數(shù)方法都是基于經(jīng)驗(yàn)和主觀上的假設(shè)。這些方法可以按照建模變量的數(shù)量和它們的完整度來(lái)分類(lèi)。241湍流粘度恒定模型本文模型都是基于對(duì)湍流流體中粘度的計(jì)算而建立。最簡(jiǎn)單的建模方法是假設(shè)流體中的粘度VT為恒定,但該模型只能夠模擬簡(jiǎn)單的流動(dòng)。一種改進(jìn)的方法是將粘度VT表示為多個(gè)不同尺寸大小的漩渦模型系數(shù)的混合。但是,此方法卻仍然受到漩渦尺寸以及比例的限制并無(wú)法解決湍流中湍流尺寸不一的問(wèn)題。242混合尺寸模型SMAGORINSKY、BALDWIN和LOMAX共同提出的混合尺寸模型是模擬湍流中很常見(jiàn)的一種模型。它是通過(guò)對(duì)邊界層流中顯式湍流粘度的通用化而得來(lái)的。它被定義為2|TMVL(216)其中,LM是混合尺寸長(zhǎng)度,05/IJIJJIUX是平均流動(dòng)場(chǎng)的旋轉(zhuǎn)張量(ROTATIONTENSOR)?;旌铣叽玳L(zhǎng)度對(duì)前面提到的問(wèn)題的幾何性進(jìn)行了編碼,它的精確性取決于準(zhǔn)確的尺寸值。LM的解析式只能適用于幾種簡(jiǎn)單類(lèi)型的湍流,比如適用于具有線性性質(zhì)的邊界條件中。而對(duì)于復(fù)雜的邊界條件,用此方法生成湍流的運(yùn)動(dòng)將是不可預(yù)測(cè)的。因此,這個(gè)模型并不完整,還需要對(duì)它進(jìn)行進(jìn)一步地完善。243單方程模型SPALARTALLMARAS單方程模型是湍流模型中比較完整使用非常廣泛的一種模型。它是可以直接解出湍流的粘度的一種傳輸方程,可以解決模擬一些比較復(fù)雜的流動(dòng),它在相當(dāng)范圍內(nèi)的各種流動(dòng)中使用都能夠得到較好的效果。它是在分子水平上的粘度使用經(jīng)驗(yàn)主義、維度分析理論、伽利略不變式和選擇性依賴(lài)建模而成的。此模型并不依賴(lài)于較高的網(wǎng)格分辨率,它只要求能夠精確捕捉到速度場(chǎng)梯度的袋鼠模型,因此,在粗網(wǎng)格下,以及湍流精度要求不高的情況下,計(jì)算湍流能夠取得較好的效果。它的微分方程形式如公式15TJIJDJKJVKKUTCTXLXX(217)的流動(dòng)。其中,粘度系數(shù)被定義為05TV(218)SPALARTALLMARAS對(duì)于大量的分離流動(dòng),無(wú)剪切流以及衰變湍流效果不好。由于是單方程模型,相對(duì)于兩方程模型來(lái)說(shuō),使得使用者對(duì)模型變量的控制不能做到隨心所欲。25小結(jié)本章首先對(duì)NAVIERSTOKES方程的解法和特點(diǎn)進(jìn)行了較為詳細(xì)地闡述,它是本文網(wǎng)格流體流動(dòng)的基礎(chǔ)。然后再對(duì)與本文相關(guān)的湍流模擬中歷史上使用的幾種模型做了簡(jiǎn)單的介紹,并且簡(jiǎn)單地分析了各個(gè)湍流模型的特點(diǎn)。為本文后面章節(jié)中引入的兩方程K湍流模型做了必要的鋪墊。3湍流小波噪聲的算法與實(shí)現(xiàn)31噪聲函數(shù)在湍流模擬中的作用噪聲的使用在流體模擬乃至湍流模擬中都十分重要。它的作用是使在計(jì)算機(jī)圖形學(xué)中模擬的運(yùn)動(dòng)過(guò)程顯得更加接近自然界的無(wú)序過(guò)程和隨機(jī)過(guò)程。由于本文需要生成湍流效果,而這本身就屬于流體流動(dòng)細(xì)節(jié)的范疇,這使得對(duì)噪聲的要求就變得更加重要,本文使用的噪音需要能夠體現(xiàn)湍流細(xì)節(jié)和盡量減少人工鋸齒痕跡?,F(xiàn)今計(jì)算機(jī)圖形學(xué)中使用最廣泛的噪聲是柏林噪聲44。它是由KENPERLIN發(fā)明的,自從被引入計(jì)算機(jī)圖形學(xué)以來(lái),它就成為了計(jì)算機(jī)圖形學(xué)中不可或缺的重要噪聲。它由在不同頻譜范圍內(nèi)的有限噪聲帶構(gòu)成。這些噪聲帶被當(dāng)作模塊用來(lái)構(gòu)建復(fù)雜的噪聲類(lèi)型,這可以通過(guò)在頻譜中控制不同噪聲帶的權(quán)重來(lái)實(shí)現(xiàn)。例如,粉紅噪聲中它的每個(gè)頻帶與它的頻率成反比。因?yàn)檫@個(gè)方法中每個(gè)頻帶使用的是單一的權(quán)重,所以它并不支持細(xì)節(jié)頻譜的成形。相反,LEWIS45引入了WIENER插值法(WIENERINTERPOLATIONMETHOD)來(lái)構(gòu)建一個(gè)包含隨機(jī)頻譜的紋理。這使控制噪聲的特點(diǎn)變得更加容易,但是也顯著地增加了很多開(kāi)銷(xiāo)。盡管研究者已經(jīng)掌握構(gòu)建和定義噪聲的許多方法46,柏林噪聲最原始的版本依然被廣泛應(yīng)用。因?yàn)?,它效率很高,生成?jiǎn)單,頻帶覆蓋了足夠?qū)挼念l譜可控制的應(yīng)用領(lǐng)域。每個(gè)柏林帶寬是帶寬受限的,所以它只包含在2的N次方周?chē)念l帶。但是,每個(gè)頻帶又包含了較寬的頻率。由于柏林噪聲的帶寬限制不是非常嚴(yán)格,所以它會(huì)導(dǎo)致存在一些問(wèn)題。柏林帶寬在接近那奎斯特極限的地方包含了低頻(包含了圖像中的細(xì)節(jié))和高頻(造成鋸齒)兩種頻率。如果把接近那奎斯特極限的這部分頻率剔除會(huì)導(dǎo)致細(xì)節(jié)失真,但是包含這部分又會(huì)造成人工鋸齒的存在。平衡這兩者之間的關(guān)系使很多程序員進(jìn)退兩難。由于一般情況下鋸齒比細(xì)節(jié)的丟失更加明顯,很多時(shí)候大家都會(huì)選擇減小頻帶的寬度來(lái)保證沒(méi)有鋸齒。這造成的后果就是,當(dāng)拉近場(chǎng)景時(shí),紋理的細(xì)節(jié)和幾何細(xì)節(jié)并不同步。LEWIS曾經(jīng)引入過(guò)稀疏卷積法來(lái)提高噪聲的帶寬受限性質(zhì),但是,這仍然不能根本解決細(xì)節(jié)丟失和產(chǎn)生鋸齒之間的矛盾。更值得注意的一個(gè)問(wèn)題是,當(dāng)渲染場(chǎng)景的時(shí)候,即使三維的噪聲滿(mǎn)足帶寬受限的要求,但是倘若在二維表面對(duì)三維噪聲進(jìn)行采樣時(shí),采樣的結(jié)果在二維表面上并不滿(mǎn)足帶寬受限的性質(zhì)。由于柏林噪聲所存在的鋸齒和細(xì)節(jié)丟失問(wèn)題在湍流模擬中會(huì)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論